speci cation and documentation techniques: graphical notations (4)se3ra3/2016/ln17-2016.pdf · ·...
TRANSCRIPT
Last lectureActivity Diagrams
Specification and Documentation Techniques:Graphical Notations (4)
CS/SE 3RA3
Ryszard Janicki
Department of Computing and Software, McMaster University, Hamilton,Ontario, Canada
Ryszard Janicki Graphical Notations (4) 1/15
Last Lecture: Use Case Diagrams
Use case diagram: example
operation interactionenvironment component
Check Request
Initiator <<extend>>Unauthorized
AskConstraints
CollectConstraints
ParticipantUnauthorized
Deny Requestvariant
operation
DetermineSchedule
C fli t<<include>>
MergeConstraints
R l
software component
Scheduler
ConflictResolver
ResolveConflictsParticipant
suboperation
operation performer
Last lectureActivity Diagrams
UML activity diagrams
Activity diagrams are specialized state machine diagrams anda modified version of classical flowcharts.
Activity diagrams illustrate the dynamic nature of a system bymodeling the flow of control from activity to activity.
An activity represents an operation on some class in thesystem that results in a change in the state of the system.
Typically, activity diagrams are used to model workflow orbusiness processes and internal operation.
Basic elements in activity diagrams are activities, branches(conditions or selections), transitions, forks and joins (tomodel parallelism), and swim lines.
Swim lanes are useful when a designer wants to express howrelated activities can be grouped
Ryszard Janicki Graphical Notations (4) 4/15
Last lectureActivity Diagrams
Most important graphical notations
Conceptual structures: entity-relationship diagrams
Information flows: context diagrams and dataflowdiagrams
System behaviors: state machine diagrams
System operations: use case diagrams
Modeling scenarios and workflows : activity diagrams
You will have to use all of them in Assignment 2, some ofthem for the midterm and all of them for the exam.
Ryszard Janicki Graphical Notations (4) 8/15
Graphical notations: pros and contras
Diagrammatic notations: pros & consp
Formal declaration of different system facets + informal annotations of properties for higher precision
Graphical declaration => overview & structuring of important aspects d d i easy to understand, communicate surface-level analysis, supported by tools (e.g. query engines)
Semi formal specification > Semi-formal specification => language semantics may be vague (different interpretations)
only surface-level aspects formalized not item properties only surface-level aspects formalized, not item properties limited forms of analysis functional and structural aspects only functional and structural aspects only
=> formal specification needed for mission-critical aspects