Sie sind auf Seite 1von 8

J.W. Schmidt, F.

Matthes, TU Hamburg-Harburg

3.0 Object-Oriented Modeling Using UML


Subject/Topic/Focus:
m

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]

Object-Oriented Modeling Using UML

Last change: Dezember 7, 1999

3.0.1

Evolution of OO Development Methods


70/80ies
structured programming

80/90ies
object-oriented programming

structured design

object-oriented design

structured analysis

object-oriented analysis

Object-Oriented Modeling Using UML

3.0.2

3.01

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

History of OOAD leading to UML


1970 1980 First object-oriented languages (Simula-67, Smalltalk). More than 50 different OOAD languages cause the users trouble to find complete and appropriate tools. New iterations of methods appear. Booch 93, OOSE (Jacobson), OMT-2 (Rumbaugh) Unification, UML 0.9 by Booch, Rumbaugh Standardization, UML 1.1 by Booch, Rumbaugh, Jacobson 1997 Object Management Group (OMG) adapts UML as OOAD standard Evolving standard in version 1.3

1992

1995

1999

Object-Oriented Modeling Using UML

3.0.3

History of UML
Industrialization UML 1.3 UML 1.1
public feedback

Standardization

UML 0.9 & 0.91

Unified method 0.8

Unification

Booch 93

OMT - 2

Other methods
Object-Oriented Modeling Using UML

Booch 91

OMT - 1

OOSE

Fragmentation
3.0.4

3.02

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

The Unified Modeling Language


m

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.

Object-Oriented Modeling Using UML

3.0.5

UML Diagrams (1)


m

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:

Actor, Use (case)


Involvement, Extension, Inclusion, Generalization

Class Association, Generalization Object Message, Lifeline State, Sub-State Transition Activity Guard, Synchronization Package Dependency Processor, Node Dependency
3.0.6

Object-Oriented Modeling Using UML

3.03

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

UML Diagrams (2)


workflows Use Case Diagrams scenarios

Activity Diagrams inter-class behavior

structures

Interaction Diagrams

Class Diagrams structuring

interaction sequences between objects

intra-class behavior Package Diagrams State Diagrams

Object-Oriented Modeling Using UML

3.0.7

Unified Process and UML


Transition Construction Elaboration Inception

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

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Diagrams and Process

Iteration

Object-Oriented Modeling Using UML

3.0.9

Diagrams and Process


Use Case Diagrams

Inception

Elaboration

Object-Oriented Modeling Using UML

3.0.10

3.05

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Diagrams and Process


Class & Package Diagrams

Class 1

Class 2

Inception

Class 3

Elaboration

Object-Oriented Modeling Using UML

3.0.11

Diagrams and Process


Interaction Diagrams (Scenarios)

Object

Object

Object

Object

Inception

Elaboration

Object-Oriented Modeling Using UML

3.0.12

3.06

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Diagrams and Process


Activity Diagrams (Workflow, Interclass Behavior)

Activity 1

Activity 2

Inception
Activity 3 Activity 4

Elaboration
Activity 5

Object-Oriented Modeling Using UML

3.0.13

Diagrams and Process


State Transition Diagrams (Intraclass Behavior)

State 1

Inception
State 2 State 3

Elaboration
State 4

Object-Oriented Modeling Using UML

3.0.14

3.07

J.W. Schmidt, F. Matthes, TU Hamburg-Harburg

Texts and Process


Source Code

//: 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

Object-Oriented Modeling Using UML

3.0.15

Diagrams and Process


Deployment Diagrams

Unit Server Application

Object Database

Inception

Elaboration
Configure Users Network Interface

Construction

Transition
Object-Oriented Modeling Using UML 3.0.16

3.08

Das könnte Ihnen auch gefallen