Unified modeling language: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 19: Line 19:
* [[UML class diagram|Class and object diagram]]s to specify the semantic information structure of a system. Object diagrams are instances of class diagrams.
* [[UML class diagram|Class and object diagram]]s to specify the semantic information structure of a system. Object diagrams are instances of class diagrams.


* [[UML activity diagram]]s to specify workflows. UML 2.0 brought important additions to this.
* [[UML activity diagram]]s to specify [[workflow]]s. UML 2.0 brought important additions to this.


* UML State diagrams to describe the dynamic behaviour of an object in a system.
* UML State diagrams to describe the dynamic behaviour of an object in a system.

Revision as of 16:58, 29 June 2010

Definition

  • “The Unified Modeling Language (UML) is a non-proprietary, object modeling and specification language used in software engineering. UML includes a standardized graphical notation that may be used to create an abstract model of a system: the UML model.” (Wikipedia:Unified Modeling Language).
  • UML is not a method by itself, however it was designed to be compatible with any sort of object-oriented software development methods. As such it can be used to describe almost any sort of information processing architecture (including what learners do since learners can be modelled in terms of human information processing or what happens in an organization since an organization can be described in terms of information flows and procedures).

Modeling and diagram types

With UML you can model most every phase and object of the software development process. Technically speaking, a UML model consists of elements such as packages, classes, and associations. The corresponding UML diagrams are graphical representations of parts of the UML model. UML diagrams contain graphical elements (nodes connected by paths) that represent elements in the UML model.

According to Koper (2004), UML provides a collection of models and graphs to describe the structural and behavioural semantics of any complex information system.

There are two version of UML in use: UML 1.4 and UML 2. UML 2 models are more complex and their semantics may have changed. Some of the models provided in UML 1.4 are:

  • UML use case models and scenario's to capture the user requirements and functionality of the system. Scenarios are instances of use cases.
  • Class and object diagrams to specify the semantic information structure of a system. Object diagrams are instances of class diagrams.
  • UML State diagrams to describe the dynamic behaviour of an object in a system.
  • UML Interaction diagrams (sequence and collaboration diagrams) to model how groups of objects collaborate in some behaviour.
  • UML Physical diagrams (deployment and component diagrams) to model the implementation structure of a system.

In UML 2.0 there are 13 types of diagrams. Some, like activity diagrams, are quite different from UML1.4, others (like use case) less. The specification provides the following taxonomy:

The taxonomy of UML structure and behavior diagrams

“Structure diagrams show the static structure of the objects in a system. That is, they depict those elements in a specification that are irrespective of time. The elements in a structure diagram represent the meaningful concepts of an application, and may include abstract, real-world and implementation concepts. For example, a structure diagram for an airline reservation system might include classifiers that represent seat assignment algorithms, tickets, and a credit authorization service. Structure diagrams do not show the details of dynamic behavior, which are illustrated by behavioral diagrams. However, they may show relationships to the behaviors of the classifiers exhibited in the structure diagrams.
Behavior diagrams show the dynamic behavior of the objects in a system, including their methods, collaborations, activities, and state histories. The dynamic behavior of a system can be described as a series of changes to the system over time. (OMG-UML, 2005: 684).”

Diagram types:

  • UML behavioral modeling (behavior diagrams) allow to model what processes and activities must happen in the system being modeled
    • UML activity diagram (useful to model pedagogic activities)
    • Interaction diagram
      • Sequence diagram
      • Communication diagram
      • Interaction overview diagram
      • Timing diagram
    • UML use cases (useful to model learner interactions with a system)
    • State machine diagram
  • UML structural modelling (structure diagrams) allow to model components of a system
    • UML class diagram
    • Composite structure diagram
    • Component diagram
    • Object diagram
    • Package diagram

UML in education

Design of educational software

Since UML is general formalism to describe information processing phenomena (like what people do, how systems are built, how programs interact etc.), UML can be used for educational software design, e.g. see Fle3's UML diagrams or Giesbers et al. (2007).

Description of pedagogical scenarios
Definition of pedagogical modeling languages
  • Some educational modelling languages are also described as UML diagram, e.g. the semantic information model of IMS Learning Design (and former EML) has been expressed in UML. “The semantic, conceptual model has been expressed as a series of UML models, from which several bindings were generated automatically. E.g. for the IMS Learning Design specification a XML schema has been derived that keeps the semantics in the tag-names. However other bindings (RDF Schema/OWL, Topic Maps, SGML schema's, relational database schema's) could in principle be generated as well. This implies that the UML model is the dominant part of the specification; it captures the semantic structure and allows other representations to be generated from it. [.... ] It is expected that the semantic model underlying LD, as expressed in UML, is a critical component for the realisation of the Educational Semantic Web, because it provides a tested, generic and (within the IMS community) accepted semantic notation. Whether this model is implemented in XML, RDF-Schema, OWL,Topic Maps etc. depends which tools and technologies are used at any moment in time.” (Koper, 2004).
  • coUML is a multi-purpose modeling language that can be used to design courses from global to detailed level.
Definition of pedagogical use cases
Pedagogical workflow

Software tools

See Wikipedia's list of UML tools

UML Drawing tools
  • Violet - SourceForge site. Java-based UML editor. Tested: it works fine, but is not feature complete. It can be used for training and not too advanced diagrams. E.g. objects are missing from activity diagrams.
  • ArgoUML ArgoUML is the leading open source UML modeling tool and includes support for all standard UML 1.4 diagrams. (Note: Some UML 2.0 languages are quite different)
  • There exist some UML editor extensions to the Eclips IDE, e.g. Violet UML Editor (not tested)
General-purpose drawing tools with UML support
  • DIA - DIA (Wikipedia). Dia is free software/open source general-purpose diagramming software and has special objects to draw UML diagrams. Can export to various formats.
UML drawings generators
  • MetaUML, UML for LaTeX/MetaPost. Implements a subset of UML 2.0, i.e. curently (June 2008) subsets for Class, activity, use case, state machine and package diagrams. Important: Consult the manual since examples do not show the full potential of MetaUML.
UML-based code generators

Links

Official / Standards

Overview articles

Tutorials

UML websites

Examples

References

  • Arlow, J., & Neustadt, I. (2002). UML and the Unified Process, London: Pearson Education.
  • Booch, G., Jacobson, I., & Rumbaugh, J. (1998). Unified Modelling Language User Guide, Boston, MA: Addison-Wesley.
  • Fowler, M. (2000). UML distilled (3rd ed.). Upper Saddle River, NJ: Addison-Wesley. ISBN 0321193687
  • Giesbers, B., van Bruggen, J., Hermans, H., Joosten-ten Brinke, D., Burgers, J., Koper, R., & Latour, I. (2007). Towards a methodology for educational modelling: a case in educational assessment. Educational Technology & Society, 10 (1), 237-247. PDF
  • Joosten-ten Brinke, D., van Bruggen, J., Hermans, H., Burgers, J., Giesbers, B., Koper, R., & Latour, I. (in press). Modeling assessment for re-use of traditional and new types of assessment. Computers in Human Behaviour.
  • Koper, R. (2004). Use of the Semantic Web to Solve Some Basic Problems in Education: Increase Flexible, Distributed Lifelong Learning, Decrease Teacher's Workload. Journal of Interactive Media in Education, 2004 (6). Special Issue on the Educational Semantic Web. ISSN:1365-893X [1]
  • OMG-UML (2005). Unified Modeling Language (UML), version 2.1.2. retrieved 17:00, 5 June 2008 (UTC) from http://www.omg.org/technology/documents/formal/uml.htm
    • There are two specifications that comprise the UML 2.1.2 specification: Superstructure and Infrastructure. There are also two specifications that relate to the UML2 specification (Diagram Interchange and Object Constraint Language).
  • Pilone, Dan and Neil Pitman (2005). UML 2.0 in a Nutshell, O'Reilly Media, ISBN 0596007957 (this is the best book Daniel K. Schneider bought, better than the first edition which wasn't very clear).