Top Banner
Analysis Modeling Dynamic Modeling
16

Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Dec 22, 2015

Download

Documents

Timothy Turner
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: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Analysis Modeling

Dynamic Modeling

Page 2: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Requirements analysis

• Results in static and dynamic models– Scenario models: use cases (static), swimlane

diagrams (dynamic)– Class diagrams (static)– Flow oriented diagrams (dynamic)– Behavioral models: sequence diagrams (dynamic),

state diagrams (dynamic)• These models bridge the gap between

requirements and implementation (code)

Page 3: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Activity/Swimlane diagrams

• Help us visualize the flows associated with use cases• A swimlane diagram has multiple actors; an activity diagram is the same thing, but no concrete actors are distinguished

Page 4: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Other syntax

• Concurrency can be modeled by fork/join• We can include one diagram inside of another

– Enables reuse

Fork/Branch

Join

Page 5: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Swimlane diagrams

• Start circle• Ends in bulls-eye• Decisions are diamonds (must always have a guard on all branches)

Page 6: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Sequence diagrams

• Used to model interactions between classes/objects

• Emphasis on time ordering• Message passing between objects

Page 7: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Sequence Diagram Example

• messages are methods of the classes

Synchronous messageAsynchronous messageReturn message

Page 8: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Messages in sequence diagrams

• Messages, along horizontal lines, correspond to operations in your class diagram; i.e. they are method calls

• Three main types– Synchronous: expects return– Asynchronous: does not expect return– Return argument: dashed line

Synchronous messageAsynchronous messageReturn message

Page 9: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Sequence Diagram: option

Page 10: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Sequence diagram: Alternate/else

Page 11: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Sequence diagram: loop

Page 12: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

State diagrams

• Once sequence diagrams have been constructed for each use case, a state diagram can be built for

the system• Can model the:

– State of each class– State of the system as viewed from the outside

reading

locked

selecting

password entered

comparing

password = incorrect & numberOfTries < maxTries

password = correct

activation successful

key hit

do: validatePassword

numberOfTries > maxTries

timer < lockedTime

timer > lockedTime

Page 13: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

State diagram syntax

13

State Name (verb in current tense)

(Optional) actions happening during state

Name Examples:sortingvalidatingupdating status…

[age > 20]

[age <= 20]

Guards: Use to describe event that causes a state transition happens (ALL transitions should have guards)

[age <= 20]/setFlag(false)

Action: If something happens while transitioning to another state. (Optional)

Page 14: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Quiz Review

• What does a swimlane diagram visually model?

• What does a sequence diagram model?• What goes on the arrows in a sequence

diagram? What are the three different types of arrows?

• What goes in a state for a state diagram?• What can go on an arrow for a state diagram?

Page 15: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

In-class exercises

• Let’s do a swimlane diagram for making a withdrawal at an ATM– the system should or should not be an actor? – see the use case we did earlier

• Let’s do a sequence diagram for making a withdrawal at an ATM

• What are some states for an ATM?– For the class CheckingAccount?– For the machine itself as viewed by a customer?– What are the triggers and transitions between theses states?

• Complete the exercise here: http://www.cs.gmu.edu/~kdobolyi/cs321/hwk04.html

• Due next class

Page 16: Analysis Modeling Dynamic Modeling. Requirements analysis Results in static and dynamic models – Scenario models: use cases (static), swimlane diagrams.

Team Exercise

• Examine the Quiz Game description/use cases• In your teams, come up with at least:

– One swimlane diagram – One sequence diagram – One state diagram for a class– One state diagram for the system

• Turn in this assignment through svn