![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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062421/56649d485503460f94a2425a/html5/thumbnails/20.jpg)
2020
Extra: Analysis classes vs. Design
classesFig.15.2 [Arlow & Neustadt, 2002]Fig.15.2 [Arlow & Neustadt, 2002]