UML
Overview and History
UML Definition
A language for specifying, visualizing, constructing, documenting
- the artifacts of software systems
- business modelling
- non-software systems.
Predecessor three amigos
- Object Modeling Technique(OMT) by General Electric, James Rumbaugh
- Book
- class model diagram - structural aspects
- state chart diagram - behavioral aspects
- data flow diagram - functional aspects
- Booch by Grady Booch
- Object-oriented software engineering (OOSE) by Ivar Jacobson
UML "unified" achieves
- It ends many of differences
- It unifieds different systems's perspectives
- Business vs software
- Development phases
- internal concepts.
UML usage
- design is concerned with the solution to that problem.
- analysis is concerned with the problem being solved.
This courses will discuss three or four diagrams.
Review of UML and views of a model
The following diagrams
Structural diagram shows pieces of the system and the relationships among them
- Class
Behavior diagram concerns the executions of the system
- Use case
- statechart
- activity
- interaction - sequence and collaboration
implementation
- component
- deployment
Benefits of design diagram
Pro
- Communication
- Support of existing methods
- Tool support
Con
- Maintainability
Diagrams for Analysis and Design
Class Model Diagram and Object Diagram
- Dependencies: dashed line with an arrowhead
- Associations: solid line without arrowheads
- Aggregation embellishment to the association: solid line with a diamond.
- Generalization: a solid line with triangle.
The only difference with Class Model Diagram: Object diagram contains title "className:instance name"