Unified Modeling Language: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Eric Evers
No edit summary
imported>Howard C. Berkowitz
No edit summary
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
Unified Modeling Language
{{subpages}}
 
The '''Unified Modeling Language (UML}''' is a standard for diagramming program design and development.
UML is a standard for diagramming program design and development.


The main types of diagrams that belong to UML are:
The main types of diagrams that belong to UML are:


  class diagrams --------- to show the relationships between objects and classes
  class diagrams --------- to show the relationships between objects and classes
  sequence diagrams ------ to show time dependency of information flow
                          [[Unified_Modeling_Language/Class_diagram|In Detail + Examples]]
  sequence diagrams ------ to show time dependency of information flow  
                          [[Erlang_programming_language/Tutorials/Processes|Example]]
  collaboration diagrams - to show time dependency of information flow between objects
  collaboration diagrams - to show time dependency of information flow between objects
  use case diagrams ------ to show a high level example of system functionality as it relates to  
  use case diagrams ------ to show a high level example of system functionality as it relates to  
                           information flow between a system and its users
                           information flow between a system and its users
  state diagrams --------- to show how messages change the state of objects over time
  state diagrams --------- to show how messages change the state of objects over time
                          [[State_diagram|Example]]
  component diagrams ----- to show how objects are contained
  component diagrams ----- to show how objects are contained
  deployment diagrams ---- to show time dependencies in deployment
  deployment diagrams ---- to show time dependencies in deployment
Line 17: Line 19:
James Rumbaugh, Ivar Jacobson and Grady Booch are together considered the main
James Rumbaugh, Ivar Jacobson and Grady Booch are together considered the main
contributors to UML historically. Together they formed Rational Software.
contributors to UML historically. Together they formed Rational Software.
Class Diagrams use implements, composition and aggregation relationships.
----------------------------------------------------
Implementation example:  A fedora is a (type of) hat.
Arrowhead type:          Unfilled closed triangle.
Arrow direction:        From example to category.
+--------+
| hat    |
+--------+
    / \
    |
    |
+--------+
| fedora |
+--------+
 
------------------------------------------------------------------
Composition example:  A heart is a non-removable part of a person.
Arrowhead type:      Solid diamond.
Arrow direction:      From part to whole.
+--------+
| person |
+--------+
    ♦
    |
    |
+--------+
| heart  |
+--------+
----------------------------------------------------------
Aggregation example:  A hat is a removable part of a person.
Arrowhead type:      Unfilled-diamond(lozenge).
Arrow direction:      From part to whole.
+--------+
| person |
+--------+
    ◊
    |
    |
+--------+
|  hat  |
+--------+
----------------------------------------------------------
Inner Class example:  Tree_search is an inner class of tree. 
Arrowhead type:      Oplus(plus in a circle).
Arrow direction:      From part to whole.
Purpose:              Tree_search is a Search, but Tree_Search
                      is an inner class of tree.
                      Only trees need a tree_search class
                      so it is hidden. Some languages do not
                      support inner classes. Java does.
+--------+  +---------+
| tree  |  | search  |
+--------+  +---------+
    ⊕        / \
    |        |
    |        |
+-------------+
| tree_search |
+-------------+

Latest revision as of 14:01, 25 January 2009

This article is a stub and thus not approved.
Main Article
Discussion
Definition [?]
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Class diagram [?]
 
This editable Main Article is under development and subject to a disclaimer.

The Unified Modeling Language (UML} is a standard for diagramming program design and development.

The main types of diagrams that belong to UML are:

class diagrams --------- to show the relationships between objects and classes
                         In Detail + Examples
sequence diagrams ------ to show time dependency of information flow 
                         Example
collaboration diagrams - to show time dependency of information flow between objects
use case diagrams ------ to show a high level example of system functionality as it relates to 
                          information flow between a system and its users
state diagrams --------- to show how messages change the state of objects over time
                         Example
component diagrams ----- to show how objects are contained
deployment diagrams ---- to show time dependencies in deployment
entity relationship diagrams -

James Rumbaugh, Ivar Jacobson and Grady Booch are together considered the main contributors to UML historically. Together they formed Rational Software.