copyright w. howden1 lecture 4: sequence interaction diagrams

29
Copyright W. Howden 1 Lecture 4: Sequence Interaction Diagrams

Post on 20-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 1

Lecture 4: Sequence Interaction Diagrams

Page 2: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 2

Behavioral vs Static Models

• Describe interactions between entities

• Sequence Diagrams• Collaboration

Diagrams• Message Sequence

Charts• State Charts

• Describe structure of complex entities

• Class Diagrams• Entity-relationship

models

Page 3: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 3

Sequence Diagrams - Components

• Objects– Actors, subsystems, class instances

• Messages– One object sends a message to another message

• Each diagram describes a scenario, or what happens during a use of the system

• System described by a collection of diagrams

Page 4: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 4

: Member : GUI : DomainLogic : DataBase

setMemberData()

setMemberData(dateeData, name)

getMemberData(name)

upDateMemberData(memberData)

Set member data scenario

Preceded by and followed by LogOn and LogOff scenarios

Page 5: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 5

Applicability• System/Actor interaction

– Requirements elaboration

• Subsystem interactions– Requirements elaboration and design

• Subsystem design– Object properties and class visibility

Page 6: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 6

System Actor Interaction

• Investigate the interactions the user has with the system

• Specify the needed user interface forms– Specify contents/capabilities of GUI before

graphical design

• Following example note: In the actor/system interaction we see self-messages notation

Page 7: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

7

Page 8: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 8

Subsystems Interaction

• Show the messages that the subsystems send back and forth

• Enforce a layers architecture

• Identify the subsystems interface/proxy

• In the following example we see the alternatives notation, which allows multiple related flows to be included in

Page 9: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

9

Page 10: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 10

Additional Examples

• Get a Date Scenario– Includes conditionals allowing alternative paths

in same scenario/ISD

• Start up Scenario– Shows interactions with system

• Log On Scenario

• Exit/Log Off Scenario

Page 11: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

11

Page 12: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 12

: User : Start : GUI : System

DatingSystem

Execute(main)

create()

Start up scenario

At this point follow LogOn/LogOff scenarios

show()

Page 13: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

13

Page 14: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 14

: User : GUI : DomainLogic : DataBase : System

display Start/End

End

Log Off scenario

exit()

Page 15: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 15

Additional Notation

• Focus of Control– Indicate when an object’s lifestream is “active”

• Data return from a sent message

• Iteration of message

Page 16: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 16

: Member : GUI : DomainLogic : DataBase

getDate()

displayOptionChoice()

dsiplayDaterPreferencesForm()

daterPreferences()

getDate()

memberData:=getFirst()

memberData:=*getNext()

searchResult

[null] displaySorry()

[notNull] displayDateProps()

Page 17: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 17

Systematic Object Identification for Sequence Diagrams

• Rational Software approach (Rational now part of IBM and source of Rational Unified Process)

• Four kinds of objects– Actor– Boundary/Form– Entity/Data– Control

Page 18: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 18

Boundary Objects

• Place where the actors interface with the system

• Referred to as forms by some methods

Page 19: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 19

Entity

• Data type objects

• Place where information is stored

• Data Bases

Page 20: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 20

Control

• Coordinates the activities of the use case

• Often identified with a use case, with one per use case

• Possible controller objects in O/O– Use Case, Role, System/subsystem, and

Business

Page 21: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 21

Actor Control Entity/Data 1 Entity/Data 2

Open

Form

Enter information

Save/Process

Save/Process

Create

Populate

Access/Retrieve

Message1

Page 22: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 22

Additional Notations – Message Synchronization

• Synchronous: sender waits until receiver has processed message

• Procedure call: receiver is ready to receive call, sender waits for return from call. A kind of synchronous

• Asynchronous: sender sends message and then continues regardless of status of receiver

• Balking: if receiver is not ready to receive message it is abandoned

Page 23: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 23

Application to Distributed Systems

• Sequence diagrams show collections of interactions between components in system, like subsystem interaction diagrams

• Can use to develop specifications for components, with individual state diagrams

Page 24: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 24

DS Scenarios For Distributed System

• Scenario 1– User who is a member logs on and asks for a date. A

date is found. Client relies on server to supply first and subsequent records from member Data base.

• Scenario 2– User logs on who is not a member. Then a user who is

a member logs on. The client eventually asks the server for the next record and nil is returned since there are no more. Client displays a sorry-no-date message.

Page 25: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

25

Page 26: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 26

Page 27: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 27

Developing a State Model Specification for a Component

• Factor the sequence diagrams, e.g. for the Client, get all the client lifelines

• Decide where the states are– E.g. For Client, each new GUI Frame?

• Not always an exact match with the traces

– After each message received

Page 28: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 28

Page 29: Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams

Copyright W. Howden 29