8. collaboration diagrams.pdf

Post on 16-Jan-2016

237 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Collaboration DiagramsCollaboration Diagrams

Dumitru RadoiuDumitru RadoiuSpring 2009

PETRU MAIOR UNIVERSITY

Object-Oriented World

time

OO Analysis OO Design OO Programming

Create the vocabulary

Give vocabulary

Program the model

RequirementsDeliverables

vocabulary ocabu a ybehavior (model the system)

ode

Activity UML Diagram

Understand System Usage Use Case Diagram

Identify Classes High Level Class DiagramIdentify Classes High Level Class Diagram

Define Workflows Activity Diagram

Use Case Model

diagnose car

Mechanicfix car

drive car Car owner

Use case

di

Mechanic

diagnose car

High Level Class Diagram

[talk]

Mechanic

Diagnosis Car

:Diagnosis0..1 1:Diagnosis

:Mechanic

1

0..1

uses> diagnosis>

:Car0..1

1fixes>

Start

Activity Diagram

Start

Name of StateTurn Off Diagnosis

Diagnosis equipment problem[error]

Name of StateDisplay Error

Car electronic

Name of StateTurn On Diagnosis

[valid]

[error]

Car electronic problem Name of StateTurn On Car

[error][valid]

Name of StateTurn Off Car

Name of StateDiagnoseName of StateFix Problem

Object-Oriented World

time

OO Analysis OO Design OO Programming

Create the vocabulary

Give vocabulary

Program the model

RequirementsDeliverables

vocabulary ocabu a ybehavior (model the system)

ode

A ti it UML DiActivity UML Diagram

Identify interactions among objects

Sequence and Collaboration Diagrams

l hAnalyze state changes Sate Diagrams

Refine class diagrams Class Diagrams

Sequence Diagram

[talk]

Mechanic

Diagnosis Car

[talk]

Mechanic

Mechanic

Diagnosis Car

Turn OnTurn On

Set to checkDiagnose

Fix the problem

Turn Off

Turn Off

Agenda 

• Why We Model Collaboration Diagrams• Why We Model Collaboration Diagrams

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

High Level Class Diagram

:Diagnosis0..1 1

uses>diagnosis>

:Car:Mechanic

1 0..1

:Mechanic 0..11 fixes>

Sequence Diagram

Mechanic

Diagnosis Car

Turn OnMechanic Turn On

Set to checkDiagnose

Fix the problem

Turn OffTurn Off

Turn Off

Collaboration Diagram

:Diagnosis

:Car:Mechanic

4: Diagnose()

:Mechanic

Agenda 

• Why We Model Collaboration Diagrams• Why We Model Collaboration Diagrams

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Notation

Object

Object : Class

:Class

Notation: Associations can be carried from class diagrams as

Roleclass diagrams as association roles

ObjectA ObjectBParent Child

Association

ObjectA ObjectBParent Child

Message flow; communication must originate from the Parentfrom the Parent

…to depict relationships between objects

:InventoryApplocation:Location

<<local>><<parameter>>

con:DatabaseConnection

InventoryApp has a <<local>> variable which accepts a <<parameter>>, a location instance

Agenda 

• Why We Model Collaboration Diagrams• Why We Model Collaboration Diagrams

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Message types

:Compiler :FileSystemLoad(File)

Synchronous

:Compiler :LinkerLink(ProgramName,Options)

(wait)

Asynchronousy(continue)

:DialogOne

Flat(unimportant)

:Mechanic

g

(unimportant)

:DialogTwo

Message Sequencing

:Compiler :FileSystem1:Message1

ge2

2:M

essa

g

Mes

sage

4

:Compiler :Linker3:Message3

4:M

:Compiler

Multiple Messages

:Teacher :Student2:AddStudent(Name)

(nam

e)

1.1:LoadStudents()

Load

Cla

ss(

1 2:LoadClassInfo()

:Class : FileSystem

1: 1.2:LoadClassInfo()1.3:LoadRoom()

:Class y

Guard Conditions

1:Compile(Project)

:FileSystem

1:Compile(Project)

3a:NotifyOfSuccess

[Project Loaded]

:Compiler:Editor

:ErrorDialog

Creating Instances

:ObjectA :ObjectB<<new>>Constructor

<<create>>

G di S : Student<<new>>1:CreateStudent (Name)

<<create>>

:GradingSystem : Student<<new>>

Iterations (repeating processes)

:ObjectA:ObjectB1.* Message

*

1.* Message

:Student:ObjectB

*

Iterations (repeating processes)

Loop through each grade

Calculate GPA

1.* [1..N]: GPA+=Grade[ ]

2: GPA=GPA/Count(Grades)

:Student:Grade

*

Agenda 

• Why We Model Collaboration Diagrams• Why We Model Collaboration Diagrams

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Model a Collaboration Diagram: Case Study

1. Identify the elements that belong in your diagram2. Model the relationships between these elements3. Model the instance level diagram

distribute

Use Case Model

record grades <<include>>

electronically

save grades

upgrade grades

g

<<include>>pg gTeacher <<include>>

load grades<<include>>

logon

i d

<<include>>

Administrator

view grades

generate Studentgeneratereport cards

Student

Class Diagram

Teacher Grades ReportCardmaintains > < contains

Teacher Grades p

^ displays

WebSite

uses >^ grants access to

^ generates

Administrator

SecurityStudent < uses

grants access to

y

uses > uses

Identify the elements

Domain Classes Control Classes Interface Class

:Teacher :Security :WebSite

Domain Classes

:Grades

y

:Database

:Student

2. Model the Relationships Between these Elements

:Teacher

:Securityuses >

<<local>>

:Student :Database:WebSite

uses >

uses >

<<local>>

<<local>>:Student :Database:WebSite

uses ><<parameter>>

:Grades

3. Model an Instance-Level Diagram

1:Logon(UID PWD)1.1:Validate(UID,PWD)1 2 [ ] Di l M ()

:SecurityWebSite:Teacher

1:Logon(UID,PWD)

2:[menu displayed] LoadStudent(Name)

1.2a:[pass] DisplayMenu()1.2b:[fail] Logout()

:SecurityWebSite:Teacher

: Student<<new>> :Database2.2:LoadStudentInfo(Name)

: Student<<new>>

:Grade

top related