20
1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

11

CS 691z/791zTopics in Software

Engineering

Chapter 13: Activity Diagrams &Chapter 19: Basic Statecharts

[Arlow and Neustadt, 2002]March 8, 2007

Page 2: 1 CS 691z/791z Topics 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

Page 3: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

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]:

Page 4: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

44

Activity Diagrams: .Actions & Subactivities

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

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

Page 5: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

55

Activity Diagrams: Transitions

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

Transitions in activity diagrams occur when the states finish their work

Page 6: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

66

Activity Diagrams: Decisions

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

Page 7: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

77

Activity Diagrams: Forks and Joins

Fig. 13.7 [Arlow &Neustadt, 2002]

Activity diagramsallow modeling concurrent

workflows

Page 8: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

88

Activity Diagrams: Swimlanes

Fig. 13.8 [Arlow &Neustadt, 2002]

Swimlanes are typically used for use cases,business

modeling,and workflowmodeling

Page 9: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

99

Activity Diagrams: Object Flows

Fig. 13.9 [Arlow &Neustadt, 2002]

Activities may input

and output objects

and may modifyobject states

Page 10: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1010

Activity Diagrams: Signals

Fig. 13.10 [Arlow & Neustadt, 2002]

A signal is a package of information transferred asynchronously between objects

Page 11: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1111

Statecharts There are two main modeling elements in statecharts:

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

Neustadt]

Page 12: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1212

Statecharts: Syntax

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

Page 13: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

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

Page 14: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1414

Statecharts: Events….

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

Page 15: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1515

Statecharts: .Events…

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

Page 16: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1616

Statecharts: ..Events..

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

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

Page 17: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1717

Statecharts: …Events.

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

Page 18: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1818

Statecharts: ….Events

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

Page 19: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

1919

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

2002]

Page 20: 1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007

2020

Extra: Analysis classes vs. Design

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