Unified modeling language: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
(Added UML resource page (I wrote the section and all examples, video tutorials coming soon), also added link to UML examples)
 
(4 intermediate revisions by one other user not shown)
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.
Line 85: Line 85:
* [http://argouml.tigris.org/ 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)
* [http://argouml.tigris.org/ 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. [http://alexdp.free.fr/violetumleditor/page.php Violet UML Editor] (not tested)
* There exist some UML editor extensions to the Eclipse IDE, e.g. [http://alexdp.free.fr/violetumleditor/page.php Violet UML Editor] (not tested)
 
* [https://www.lucidchart.com/pages/examples/uml_diagram_tool Lucidchart] is a SaaS that supports UML shape libraries
; UML Drawing plus code generators
: There exist many commercial tools
: [http://www.magicdraw.com/md_academic_program Magic draw] is popular and has an academic free version (for teaching, upon request only). There used to be community edition which is no longer available it seems.


; General-purpose drawing tools with UML support
; General-purpose drawing tools with UML support


* [http://live.gnome.org/Dia DIA] - [http://en.wikipedia.org/wiki/Dia_(software) 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.
* [http://live.gnome.org/Dia DIA] - [http://en.wikipedia.org/wiki/Dia_(software) 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.
** [http://en.wikipedia.org/wiki/Wikipedia:How_to_draw_a_diagram_with How to draw a diagram with Dia] (Wikipedia)
** [http://en.wikipedia.org/wiki/Wikipedia:How_to_draw_a_diagram_with How to draw a diagram with Dia] (Wikipedia)
** Dia in [[User:Daniel K. Schneider|Daniel K. Schneider]]'s opinion a fairly nice job for just drawing. Some elements are missing though (e.g. activity diagram signals).
** Dia in [[User:Daniel K. Schneider|Daniel K. Schneider]]'s opinion a fairly nice job for just drawing. Some elements are missing though (e.g. activity diagram signals).
Line 134: Line 139:
* [http://www.cetus-links.org/oo_uml.html Architecture and Design: Unified Modeling Language (UML)] from Cetus-links.org. Good meta-index.
* [http://www.cetus-links.org/oo_uml.html Architecture and Design: Unified Modeling Language (UML)] from Cetus-links.org. Good meta-index.
* [http://www-306.ibm.com/software/rational/uml/ Unified Modeling Language] at IBM.
* [http://www-306.ibm.com/software/rational/uml/ Unified Modeling Language] at IBM.
 
* [https://www.lucidchart.com/pages/uml/ Lucidchart UML resource page]
=== Examples ===
=== Examples ===


Line 170: Line 175:


[[fr:Unified modeling language]]
[[fr:Unified modeling language]]
[[Category: Taxonomies]]

Latest revision as of 18:18, 21 November 2012

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 Eclipse IDE, e.g. Violet UML Editor (not tested)
  • Lucidchart is a SaaS that supports UML shape libraries
UML Drawing plus code generators
There exist many commercial tools
Magic draw is popular and has an academic free version (for teaching, upon request only). There used to be community edition which is no longer available it seems.
General-purpose drawing tools with UML support
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).