Top Banner
Collaboration Diagrams Collaboration Diagrams Dumitru Radoiu Dumitru Radoiu Spring 2009 PETRU MAIOR UNIVERSITY
32

8. Collaboration Diagrams.pdf

Jan 16, 2016

Download

Documents

Sonakshi Mathur
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 8. Collaboration Diagrams.pdf

Collaboration DiagramsCollaboration Diagrams

Dumitru RadoiuDumitru RadoiuSpring 2009

PETRU MAIOR UNIVERSITY

Page 2: 8. Collaboration Diagrams.pdf

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

Page 3: 8. Collaboration Diagrams.pdf

Use Case Model

diagnose car

Mechanicfix car

drive car Car owner

Page 4: 8. Collaboration Diagrams.pdf

Use case

di

Mechanic

diagnose car

Page 5: 8. Collaboration Diagrams.pdf

High Level Class Diagram

[talk]

Mechanic

Diagnosis Car

:Diagnosis0..1 1:Diagnosis

:Mechanic

1

0..1

uses> diagnosis>

:Car0..1

1fixes>

Page 6: 8. Collaboration Diagrams.pdf

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

Page 7: 8. Collaboration Diagrams.pdf

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

Page 8: 8. Collaboration Diagrams.pdf

Sequence Diagram

[talk]

Mechanic

Diagnosis Car

[talk]

Mechanic

Mechanic

Diagnosis Car

Turn OnTurn On

Set to checkDiagnose

Fix the problem

Turn Off

Turn Off

Page 9: 8. Collaboration Diagrams.pdf

Agenda 

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

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Page 10: 8. Collaboration Diagrams.pdf

High Level Class Diagram

:Diagnosis0..1 1

uses>diagnosis>

:Car:Mechanic

1 0..1

:Mechanic 0..11 fixes>

Page 11: 8. Collaboration Diagrams.pdf

Sequence Diagram

Mechanic

Diagnosis Car

Turn OnMechanic Turn On

Set to checkDiagnose

Fix the problem

Turn OffTurn Off

Turn Off

Page 12: 8. Collaboration Diagrams.pdf

Collaboration Diagram

:Diagnosis

:Car:Mechanic

4: Diagnose()

:Mechanic

Page 13: 8. Collaboration Diagrams.pdf

Agenda 

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

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Page 14: 8. Collaboration Diagrams.pdf

Notation

Object

Object : Class

:Class

Page 15: 8. Collaboration Diagrams.pdf

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

Page 16: 8. Collaboration Diagrams.pdf

…to depict relationships between objects

:InventoryApplocation:Location

<<local>><<parameter>>

con:DatabaseConnection

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

Page 17: 8. Collaboration Diagrams.pdf

Agenda 

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

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Page 18: 8. Collaboration Diagrams.pdf

Message types

:Compiler :FileSystemLoad(File)

Synchronous

:Compiler :LinkerLink(ProgramName,Options)

(wait)

Asynchronousy(continue)

:DialogOne

Flat(unimportant)

:Mechanic

g

(unimportant)

:DialogTwo

Page 19: 8. Collaboration Diagrams.pdf

Message Sequencing

:Compiler :FileSystem1:Message1

ge2

2:M

essa

g

Mes

sage

4

:Compiler :Linker3:Message3

4:M

:Compiler

Page 20: 8. Collaboration Diagrams.pdf

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

Page 21: 8. Collaboration Diagrams.pdf

Guard Conditions

1:Compile(Project)

:FileSystem

1:Compile(Project)

3a:NotifyOfSuccess

[Project Loaded]

:Compiler:Editor

:ErrorDialog

Page 22: 8. Collaboration Diagrams.pdf

Creating Instances

:ObjectA :ObjectB<<new>>Constructor

<<create>>

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

<<create>>

:GradingSystem : Student<<new>>

Page 23: 8. Collaboration Diagrams.pdf

Iterations (repeating processes)

:ObjectA:ObjectB1.* Message

*

1.* Message

:Student:ObjectB

*

Page 24: 8. Collaboration Diagrams.pdf

Iterations (repeating processes)

Loop through each grade

Calculate GPA

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

2: GPA=GPA/Count(Grades)

:Student:Grade

*

Page 25: 8. Collaboration Diagrams.pdf

Agenda 

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

• Notation

• Different Types of Messages

• Model a Collaboration Diagram: Case Study

Page 26: 8. Collaboration Diagrams.pdf

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

Page 27: 8. Collaboration Diagrams.pdf

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

Page 28: 8. Collaboration Diagrams.pdf

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

Page 29: 8. Collaboration Diagrams.pdf

Identify the elements

Domain Classes Control Classes Interface Class

:Teacher :Security :WebSite

Domain Classes

:Grades

y

:Database

:Student

Page 30: 8. Collaboration Diagrams.pdf

2. Model the Relationships Between these Elements

:Teacher

:Securityuses >

<<local>>

:Student :Database:WebSite

uses >

uses >

<<local>>

<<local>>:Student :Database:WebSite

uses ><<parameter>>

:Grades

Page 31: 8. Collaboration Diagrams.pdf

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

Page 32: 8. Collaboration Diagrams.pdf