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

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

    20-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    0

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

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]