Beruflich Dokumente
Kultur Dokumente
Matthes, TU Hamburg-Harburg
Introduction to UML
Summary:
m m m
History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process
Literature:
m
[Fowler99]
3.0.1
80/90ies
object-oriented programming
structured design
object-oriented design
structured analysis
object-oriented analysis
3.0.2
3.01
1992
1995
1999
3.0.3
History of UML
Industrialization UML 1.3 UML 1.1
public feedback
Standardization
Unification
Booch 93
OMT - 2
Other methods
Object-Oriented Modeling Using UML
Booch 91
OMT - 1
OOSE
Fragmentation
3.0.4
3.02
Booch and Rumbaugh started working towards a Unified Modeling Language (UML) in 1994 under the auspices of Rational Inc. UML only offers a model notation, not a methodology for how to do good modeling. UML is used by the development method Objectory (Jacobson at Rational). UML was proposed by Rational Inc. and by Hewlett-Packard as a standard for object-oriented analysis and design and was adopted by the OMG. Vendors modify their CASE tools to make them consistent with UML.
3.0.5
Use Case Diagrams Class Diagrams Interaction Diagrams State Diagrams Activity Diagrams Package Diagrams Deployment Diagrams
Nodes: Links: Nodes: Links: Nodes: Links: Nodes: Links: Nodes: Links: Nodes: Links: Nodes: Links:
Class Association, Generalization Object Message, Lifeline State, Sub-State Transition Activity Guard, Synchronization Package Dependency Processor, Node Dependency
3.0.6
3.03
structures
Interaction Diagrams
3.0.7
Methodology
Software development is a process in phases. This process has to follow a methodology. Each phase is supported by graphs & diagrams. There are different kinds of documents and various usage of them. UML is an essential language for diagrams, offering computer support as well as the right patterns for the various stages of refinement and viewpoints.
Object-Oriented Modeling Using UML 3.0.8
3.04
Iteration
3.0.9
Inception
Elaboration
3.0.10
3.05
Class 1
Class 2
Inception
Class 3
Elaboration
3.0.11
Object
Object
Object
Object
Inception
Elaboration
3.0.12
3.06
Activity 1
Activity 2
Inception
Activity 3 Activity 4
Elaboration
Activity 5
3.0.13
State 1
Inception
State 2 State 3
Elaboration
State 4
3.0.14
3.07
//: Shapes.java import java.util.*; class Shape { void draw() {} void erase() {} } class Circle extends Shape { void draw() { System.out.println("Circle.draw()"); } void erase() { System.out.println("Circle.erase()"); } } public static void main(String args[]) { Shape s[] = new Shape[9]; // Fill up the array with shapes: for(int i = 0; i < s.length; i++) s[i] = randShape(); // Make polymorphic method calls: for(int i = 0; i < s.length; i++) s[i].draw(); } }
Inception
Elaboration
Construction
3.0.15
Object Database
Inception
Elaboration
Configure Users Network Interface
Construction
Transition
Object-Oriented Modeling Using UML 3.0.16
3.08