Unified Modeling Language: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Eric Evers
No edit summary
mNo edit summary
 
(5 intermediate revisions by 2 users 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
                          [[Unified_Modeling_Language/Class_diagram|In Detail + Examples]]
  sequence diagrams ------ to show time dependency of information flow  
  sequence diagrams ------ to show time dependency of information flow  
                           [[Erlang_programming_language/Tutorials/Processes|Example]]
                           [[Erlang_programming_language/Tutorials/Processes|Example]]
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
Line 20: Line 20:
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.
[[Category:Suggestion Bot Tag]]
 
----------------------------------------------------
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 16:01, 2 November 2024

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.