Unified_Modeling_Language Unified_Modeling_Language

Unified Modeling Language - Definition and Overview

Related Words: Casting, Chasing, Conformation, Creation, Embossing, Engraving, Formation

In software engineering, Unified Modeling Language (UML) is a non-proprietary, third generation modeling and specification language. The UML is an open method used to specify, visualize, construct and document the artifacts of an object-oriented software-intensive system under development. The UML represents a compilation of "best engineering practices" which have proven successful in modeling large, complex systems, especially at the architectural level.

UML integrates the concepts of Booch, OMT, OOSE and Class-Relation by fusing them into a single, common and widely usable modeling language. UML aims to be a standard modeling language which can model concurrent and distributed systems.

UML is an industry standard, created under the auspices of the Object Management Group (OMG). OMG had called for information on object-oriented methodologies, that might create a rigorous software modeling language. Many industry leaders had responded in earnest to help create the standard.

There are three prominent models of the UML system development:

Functional Model
Showcases the functionality of the system from the user's Point of View. Includes Use Cases Diagrams.
Object Model
Showcases the structure and substructure of the system using objects, attributes, operations, and associations. Includes Class Diagrams.
Dynamic Model
Showcases the internal behaviour of the system. Includes Sequence Diagrams, Activity Diagrams, Statechart Diagrams.

It is important to distinguish between a UML model, and a UML diagram, or set of diagrams, including Use Case Diagram, Collaboration Diagram, Activity Diagram, Sequence Diagram, Deployment Diagram, Component Diagram, Class Diagram, StateChart Diagram—a UML diagram is a graphical representation of the information in the model, but the model exists independently. XMI in its current version provides interchange for the model, but not for the diagrams.

UML uses a graphical notation which has text equivalents in Java and other object-oriented languages, and also ontological equivalents which are high-level enough to merit articles in Wikipedia. To show the degree of development of this language, it is possible to state concepts such as political processes in UML notation. Thus, it is possible to translate these schemas into executable programming languages.

UML is not a methodology and does not force one, but it is a requisite for the Rational Unified Process.

Contents

UML specification versions

There are several versions of UML specification. The current official version is UML 1.5 (http://www.omg.org/technology/documents/formal/uml.htm). OMG is currently upgrading UML to Version 2.0 which differs from version 1.5 very much. UML 2.0 is in finalization stage (http://www.omg.org/gettingstarted/process4-Finalize.htm) and is expected to be released soon. Many modeling tools vendors already support, up to some extent, UML 2.0

UML Use Case Diagram

Image:UMLUSE.PNG

This diagram describes the functionality of the (simple) Restaurant System. The Food Critic actor can Eat Food, Pay for Food, or Drink Wine. Only the Chef Actor can Cook Food. Use Cases are represented by an oval and Actors are stick figures. The box defines the boundaries of the Restaurant System, i.e. the use cases shown are part of the system being modelled, the actors are not.

The OMG defines a graphical notation for use cases; but it refrains from defining any written format for describing use cases in detail. Many people thus suffer under the misapprehension that a use case is its graphical notation; when in fact it is the written description of scenarios regarding a business task which provides the true value of a use case.

UML Class Diagram

Image:Restaurant-UML.gif

This diagram describes the structure of a simple Restaurant System. UML shows is_a relationships with a triangle; and containers with diamond shape. Additionally, the role of the relationship may be specified as well as the cardinality (in the diagram above, the roles are accidentally on the wrong end of the lines --- for example, seats should be at the association end that terminates on Patrons --- see Fowler and Scott, UML Distilled, 2nd Edition, page 56 or Mellor and Balcer, Executable UML, page 214). The Restaurant System has any number of Food dishes, and one Kitchen, Dining Area, and any number of staff. All of these objects are associated to one Restaurant. (This model did not include a washroom.)

UML Sequence Diagram

Image:Restaurant-UML-SEQ.gif

This diagram describes the sequences of messages of the (simple) Restaurant System. This diagram represents a Patron ordering food, eating the food, drinking wine, then paying for the food. The dotted lines extending downwards indicate the timeline. The arrows represent messages (stimuli) from an actor or object to other objects. For example, the Patron sends message 'pay' to the Cashier.

  • IS-A
  • HAS
  • USES
  • DEPENDS-ON
  • There is a cardinality notation which corresponds to Database modeling cardinality , eg: 1, 0..1, 1..*
  • There are specialized classes for common uses, such as Role, Use Case
  • The concept of a stereotype is built-in to the language. It qualifies the symbol it is attached to.

UML Collaboration Diagram

UML Statechart Diagram

See Harel Statechart.

UML Activity Diagram

UML Deployment Diagram

Extensions to UML

See also

Open Source and Free Software UML programs

  • ArgoUml, a UML design tool (homepage (http://argouml.tigris.org/))
  • Dia, Can be used to draw many kinds of diagrams including UML (homepage (http://www.gnome.org/projects/dia/))
  • Gaphor aimed at the GNOME Desktop, written in Python (homepage (http://gaphor.sourceforge.net))
  • UMLet, a very simple UML tool written in Java (homepage (http://www.umlet.com))
  • Umbrello UML modeler, Powerful but user friendly UML tool. Part of KDE. (homepage (http://uml.sf.net/))
  • Violet is intended for students, teachers, and authors who need to produce simple UML diagrams quickly. GPL (homepage (http://horstmann.com/violet))
  • UMLpad (GPL) (http://web.tiscali.it/ggbhome/umlpad/umlpad.htm)
  • EMF (http://download.eclipse.org/tools/emf/scripts/home.php) is a modelling framework which includes much of UML1.1, and which can be used in Eclipse.

Proprietary UML programs

  • Borland Together product family which includes a standalone modeling tool supporting UML 2.0 and editions for JBuilder, Eclipse and Visual Studio.NET (homepage (http://www.borland.com/together))
  • Jude (UML Tool), Java and UML Developers' Environment (homepage (http://objectclub.esm.co.jp/Jude/))
  • Jumli, written in Java, supports C++/C#/Java and parses/generates source code (homepage (http://www.jumli.de/))
  • MagicDraw UML is a visual UML modeling and CASE tool with teamwork support. It has free Community Edition (homepage (http://www.magicdraw.com))
  • Microsoft Visio provides support for the creation of UML models. (homepage (http://office.microsoft.com/en-gb/assistance/CH010266691033.aspx))
  • Objecteering/UML Modeler a free UML Modeler containing 9 official UML diagrams and UML syntactic validation. The full commercial version includes requirements modeling, code generation, round-trip mode, eclipse integration and team work facilities. (homepage (http://www.objecteering.com))
  • OmniGraffle is a Mac OS X based diagramming and charting tool that includes support for UML along with other diagram types such as boolean gates and circuit engineering. A free demo of the basic version is available (homepage (http://www.omnigroup.com/applications/omnigraffle/))
  • omondo UML, an Eclipse plugin for UML, both in a limited free (login required) and full commercial version (homepage (http://www.omondo.com/))
  • Poseidon for UML, a professional UML tool with a free Community Edition. It evolved out of the open source project ArgoUml. See (homepage (http://www.gentleware.com/)).
  • Rational Rose / Rational RoseRT / Rational Architect, UML modeling tools (Rational homepage (http://www.rational.com/), Pages on Rose (http://www-130.ibm.com/developerworks/rational/products/rose))
  • Unimodeler, Linux tool that supports 9 UML diagrams and postscript printing (homepage (http://www.unimodeler.com/))
  • Visual Paradigm is offering UML modeling tools supporting the latest UML notations. There is the standalone VP-UML (http://www.visual-paradigm.com/vpuml.php) and SDE (http://www.visual-paradigm.com/sde.php) as an UML editor integrated into popular IDEs.

External links

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.


Example Usage of Modeling

bigcas910: @LoKeys910 just a compliment bro, i can see why she Modeling, she is really a beautiful girl, thats all I was saying
topix_al: EOCC gets 3D Modeling certificate program - http://bit.ly/78eYAN #Enterprise #Alabama
mimigucci: sux cuz comparison is not the route. but sumtymes I jus cnt help it. Modeling is a high degree of learning.
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.