Unified Modeling Language: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Eric Evers
mNo edit summary
imported>Eric Evers
No edit summary
Line 19: 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 |
+-------------+

Revision as of 12:22, 17 November 2008

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
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.