31
1 Object Oriented Design Object Oriented Design Tools, UML Tools, UML

4.o o design tools=uml -_lecture 4

Embed Size (px)

DESCRIPTION

d

Citation preview

Page 1: 4.o o design tools=uml -_lecture 4

1

Object Oriented Design Object Oriented Design Tools, UML Tools, UML

Page 2: 4.o o design tools=uml -_lecture 4

2

An Introduction to An Introduction to Using the Unified Modeling Using the Unified Modeling

Language (UML)Language (UML)

Page 3: 4.o o design tools=uml -_lecture 4

3

UMLUML::OverviewOverview

Use of Models Brief History of UML UML Modeling Diagrams Inside the UML Demo Reference Resources

Page 4: 4.o o design tools=uml -_lecture 4

4

Purpose of Modeling

“Modeling captures essential parts of the system.”

Dr. James Rumbaugh

Visual Modeling is modelingusing standard graphical notations

Page 5: 4.o o design tools=uml -_lecture 4

5

UML:Software Modeling Language

What is UML? UML stands for Unified Modeling Language A standard language notation for visualizing, specifying,

constructing, and documenting a software design. Unified Modeling Language ("UML") is the industry standard

"language" for describing, visualizing, and documenting object-oriented (OO) systems.

Uses concepts from Data Modeling (Entity Relationship Diagrams) Business Modeling (work flow) Object Modeling Component Modeling

Page 6: 4.o o design tools=uml -_lecture 4

6

UML:Software Modeling Language

UML Creators Grady Booch, James Rumbaugh, and Ivar

Jacobson

Page 7: 4.o o design tools=uml -_lecture 4

7

What UML is and is not?

Standard modeling language

Defines a semantic metamodel

Process independent

Visual programming language

A tool interface, storage, or run-time model

A standard process

IS IS NOT

Page 8: 4.o o design tools=uml -_lecture 4

8

UML History

Jacobson was from objectory company

Odell – Is applications

Specialist

http://www.vinci.org/uml/history.html

http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/history_of_uml.htm

Page 9: 4.o o design tools=uml -_lecture 4

9

Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.

Provide extensibility and specialization mechanisms to extend the core concepts.

Design Goals for UML

Page 10: 4.o o design tools=uml -_lecture 4

10

Be independent of particular programming languages and development processes.

Provide a formal basis for understanding the modeling language.

Support higher-level development concepts such as collaborations, frameworks, patterns and components.

Integrate best practices.

Design Goals for UML

Page 11: 4.o o design tools=uml -_lecture 4

11

UML Diagrams

Page 12: 4.o o design tools=uml -_lecture 4

12

UML:Diagrams

UML is a collection of a variety of diagrams for differing purposes.

Each type of diagram models a particular aspect of OO design in an easy to understand, visual manner.

The UML standard specifies exactly how the diagrams are to be drawn and what each component in the diagram means.

Page 13: 4.o o design tools=uml -_lecture 4

13

UML Diagrams

UML modeling Diagrams are as follows: Use case Interaction

Sequence Collaboration

Class State Transition Component Deployment

Page 14: 4.o o design tools=uml -_lecture 4

14

UML Diagrams

State

Component

Class

DeploymentComponent

Use Case

Relationship

Actor

Object

Page 15: 4.o o design tools=uml -_lecture 4

15

UML Diagrams: Use Case diagram

A set of use cases and actors and their relationships.

Important for organizing and modeling system behaviors.

Crucial for requirements management and communication with end users using their own domain terminology.

Uses very few symbols, all software independent.

Page 16: 4.o o design tools=uml -_lecture 4

16

Use Case DiagramActor - Person, Organization, orSystemUse Case

System

Interaction

Information Flow

Page 17: 4.o o design tools=uml -_lecture 4

17

UML Diagrams

Object diagram A set of objects (instances of classes) and their

relationships. A static snapshot of a dynamic view of the system. Reperesent real or prototypical cases.

Class Diagram A set of classes, interfaces, collaborations, and

relationships Reflects the static design of a system.

Page 18: 4.o o design tools=uml -_lecture 4

18

Class DiagramClass

Attribute

Methods

Relationship

Page 19: 4.o o design tools=uml -_lecture 4

19

UML DiagramsSequence & Collaboration

Composed of objects and messages dispatched between them.

Shows a dynamic view of the system. Sequence Diagram exposes time ordering of messages. Collaboration Diagram exposes exposes structural

organization of messages. In some tools (i.e. Rational Rose), these diagrams can be

interchanged from the same underlying information.

Page 20: 4.o o design tools=uml -_lecture 4

20

Sequence DiagramObjects

Method Invocation

Messages

Page 21: 4.o o design tools=uml -_lecture 4

21

Collaboration DiagramObjects

Relationship

MessageReturn Value

Page 22: 4.o o design tools=uml -_lecture 4

22

UML DiagramsState transition or statechart

Represents a state machine, composed of states and transitions.

Addresses the dynamic view of the system.

Useful for reactive behaviors.

Important for modeling interfaces, classes, or collaborations.

Page 23: 4.o o design tools=uml -_lecture 4

23

State Transition DiagramState

Final State

Initial StateTransition

Page 24: 4.o o design tools=uml -_lecture 4

24

UML DiagramsActivity diagram

Addresses a dynamic view of the system.

Important for modeling system functions.

Emphasizes the flow of objects and synchronization of the flow in support of parallel processing.

An extension of the old "flow chart" diagram combined with Petri nets.

Page 25: 4.o o design tools=uml -_lecture 4

25

UML Diagrams

Component Diagram Shows organization and dependencies among a set of

components. Components are composed of one or more classes or

interfaces. A static view of the system implementation.Deployment diagram Shows the configuration of run-time processing nodes

in the system. Nodes contain one or more components. Address a static deployment view of the system.

Page 26: 4.o o design tools=uml -_lecture 4

26

Component DiagramComponents Dependencies

Page 27: 4.o o design tools=uml -_lecture 4

27

Deployment DiagramComponents

Page 28: 4.o o design tools=uml -_lecture 4

28

UML Modeling

Page 29: 4.o o design tools=uml -_lecture 4

29

UML Modeling Serial View

Page 30: 4.o o design tools=uml -_lecture 4

30

Internet UML Resources

UML Revision Task Force uml.shl.com

Object Management Group www.omg.org

Rational Software Corp.'s UML Resource Center http://www.rational.com/uml/index.jtmpl

Lockheed Martin Advanced Concepts Center http://www.lmco.com/acc/

Addison-Wesley's Object Technology Series http://www.awl.com/cseng/otseries/

Software Development Magazine http://www.sdmagazine.com/uml/

UML resource page http://home.pacbell.net/ckobryn/uml.htm

Page 31: 4.o o design tools=uml -_lecture 4

31

References Ambler, Scott W, “How the UML Models

Fit Together” Communications of ACM, Oct 1999 The Unified Modeling Language Reference

Manual Fowler, Martin; Scott Kendall, “UML

Distilled Second Edition” “UML in a Nutshell”, O’Reilly