1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic...

Preview:

Citation preview

11

CS 691z/791zTopics in Software

Engineering

Chapter 13: Activity Diagrams &Chapter 19: Basic Statecharts

[Arlow and Neustadt, 2002]March 8, 2007

22

Outline

Activity diagrams: Actions and subactivity states TransitionsDecisions, forks, and joinsSwimlanes and object flowsSignals

Basic statecharts:SyntaxStatesTransitionsEvents

33

Activity Diagrams: Actions & Subactivities.

Actitivity diagrams:Actitivity diagrams: A form of “OO flowcharts,” a particular case of A form of “OO flowcharts,” a particular case of

statechartsstatecharts Attached to modeling elements to describe behaviorAttached to modeling elements to describe behavior Typically related to use cases, classes, components, Typically related to use cases, classes, components,

collaborations, operations & methodscollaborations, operations & methods Contain actions (atomic, uninterruptible, Contain actions (atomic, uninterruptible,

instantaneous) and sub-activities (non-atomic, instantaneous) and sub-activities (non-atomic, interruptible, may take time) interruptible, may take time)

Examples of actions, Examples of actions, Fig. 13.2 [Arlow & Neustadt]:Fig. 13.2 [Arlow & Neustadt]:

44

Activity Diagrams: .Actions & Subactivities

Actions: Start and stop states, Fig. 13.3 [Arlow & Neustadt, 2002]

Subactivities: Examples, Fig. 13.4 [Arlow & Neustadt, 2002]

55

Activity Diagrams: Transitions

Transitions in activitydiagrams, Fig. 13.5 [Arlow &Neustadt, 2002]

Transitions in activity diagrams occur when the states finish their work

66

Activity Diagrams: Decisions

Decisions in activitydiagrams, Fig. 13.6[Arlow & Neustadt, 2002]

77

Activity Diagrams: Forks and Joins

Fig. 13.7 [Arlow &Neustadt, 2002]

Activity diagramsallow modeling concurrent

workflows

88

Activity Diagrams: Swimlanes

Fig. 13.8 [Arlow &Neustadt, 2002]

Swimlanes are typically used for use cases,business

modeling,and workflowmodeling

99

Activity Diagrams: Object Flows

Fig. 13.9 [Arlow &Neustadt, 2002]

Activities may input

and output objects

and may modifyobject states

1010

Activity Diagrams: Signals

Fig. 13.10 [Arlow & Neustadt, 2002]

A signal is a package of information transferred asynchronously between objects

1111

Statecharts There are two main modeling elements in statecharts:

states and transitions. Example of a simple state machine, Fig. 19.2 [Arlow &

Neustadt]

1212

Statecharts: Syntax

Summary of UML state syntax, Fig.19.3 [Arlow & Neustadt, 2002]

1313

Statecharts: Transitions

Summary of UML transition syntax, Fig.19.4 [Arlow & Neustadt, 2002]

Where: Event = internal or external occurrence that triggers the

transition Guard condition = boolean expression, when true transition

allowed Action = some operation that takes place when the transition

fires

1414

Statecharts: Events….

Events can be of four types:Call eventSignal eventChange eventTime event

1515

Statecharts: .Events…

Example of a call event, Fig.19.6 [Arlow & Neustadt, 2002]

1616

Statecharts: ..Events..

Example of signal eventFig.19.7 [Arlow & Neustadt, 2002]

Modeling the receipt a signalFig.19.8 [Arlow & Neustadt, 2002]

1717

Statecharts: …Events.

Example of a change event, Fig.19.9 [Arlow & Neustadt, 2002]

1818

Statecharts: ….Events

Example of a time event, Fig.19.10 [Arlow & Neustadt, 2002]

1919

Statecharts: What next?An advanced statechart [Ch. 20, Fig. 20.4, Arlow & Neustadt,

2002]

2020

Extra: Analysis classes vs. Design

classesFig.15.2 [Arlow & Neustadt, 2002]Fig.15.2 [Arlow & Neustadt, 2002]

Recommended