Citizendium - a community developing a quality comprehensive compendium of knowledge, online and free. Click here to join and contribute—free
Many thanks June 2014 donors; special to Darren Duncan. July 2014 donations open; need minimum total $100. Let's exceed that. Donate here. Donating gifts yourself and CZ. -- June 2014 Election Results --




Unified Modeling Language

From Citizendium, the Citizens' Compendium

(Difference between revisions)
Jump to: navigation, search
m
Line 12: Line 12:
                           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|State diagram]]
+
                           [[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

Revision as of 17:20, 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.

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 |
+-------------+
Views
Personal tools