4.o o design tools=uml -_lecture 4

Preview:

DESCRIPTION

d

Citation preview

1

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

2

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

Language (UML)Language (UML)

3

UMLUML::OverviewOverview

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

4

Purpose of Modeling

“Modeling captures essential parts of the system.”

Dr. James Rumbaugh

Visual Modeling is modelingusing standard graphical notations

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

6

UML:Software Modeling Language

UML Creators Grady Booch, James Rumbaugh, and Ivar

Jacobson

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

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

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

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

11

UML Diagrams

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.

13

UML Diagrams

UML modeling Diagrams are as follows: Use case Interaction

Sequence Collaboration

Class State Transition Component Deployment

14

UML Diagrams

State

Component

Class

DeploymentComponent

Use Case

Relationship

Actor

Object

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.

16

Use Case DiagramActor - Person, Organization, orSystemUse Case

System

Interaction

Information Flow

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.

18

Class DiagramClass

Attribute

Methods

Relationship

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.

20

Sequence DiagramObjects

Method Invocation

Messages

21

Collaboration DiagramObjects

Relationship

MessageReturn Value

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.

23

State Transition DiagramState

Final State

Initial StateTransition

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.

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.

26

Component DiagramComponents Dependencies

27

Deployment DiagramComponents

28

UML Modeling

29

UML Modeling Serial View

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

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

Recommended