SlideShare a Scribd company logo
Short Introduction into UML Use Cases, State Charts and Activity Charts
UML Overview Behavioral Elements Model  Management Foundation Use Cases State Machines Activity Graphs Collaborations Common Behavior
Use Case Modeling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is use case modeling? ,[object Object]
Use Case Modeling:  Core Elements
Use Case Modeling:  Core Relationships << extend >>
Use Case Modeling:  Core Relationships  (cont’d) << include >>
[object Object],[object Object],[object Object],[object Object],[object Object],Use Case Diagram Tour
Use Case Diagram Fig. 3-53,  UML Notation Guide
Use Case Relationships Fig. 3-54,  UML Notation Guide
Actor Relationships Fig. 3-55,  UML Notation Guide
Use Case Description: Change Flight ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
When to model use cases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case Modeling Tips ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: Online HR System
Online HR System: Use Case Relationships
Online HR System: Update Benefits Use Case   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
State Machines Overview ,[object Object],[object Object],[object Object],[object Object]
Automata ,[object Object],[object Object],ON ON ON ON OFF
State Machine (Automaton) Diagram ,[object Object],Lamp On Lamp Off off on off on
Outputs and Actions ,[object Object],on off Lamp On print(”on”) Lamp  Off off on Moore  automaton on off Lamp On Lamp  Off off on/ print(”on”) Mealy  automaton
Extended State Machines ,[object Object],ctr : Integer off on Lamp On Lamp Off off on/ ctr := ctr + 1
A Bit of Theory ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Basic UML Statechart Diagram Ready /ctr := 0 stop State Trigger Action Initial  pseudostate Transition Final  state Done “ top” state top stop
What Kind of Behavior? ,[object Object],[object Object],time threshold
Event-Driven Behavior ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Behavior of What? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Basic State Machine Concepts Statecharts and Objects Advanced Modeling Concepts Wrap Up
Object Behavior - General Model ,[object Object],Handle Request Initialize Object Terminate Object Wait for Request Handling depends on  specific request type void:offHook ();   {busy = true;   obj.reqDialtone();   …   };
Object Behavior and State Machines ,[object Object],Handle Event Initialize Object Terminate Object Wait for Event on off Lamp On Lamp  Off off on/print(”on”) stop
Object and Threads ,[object Object],[object Object],Handle Request Initialize Object Terminate Object Wait for Request Handle Request Initialize Object Terminate Object Wait for Request
Passive Objects: Dynamic Semantics ,[object Object],[object Object],Handle Request Initialize Object Terminate Object Wait for Request
Active Objects and State Machines ,[object Object],start/^master.ready() anActiveObject #currentEvent : Event + start ( ) + poll ( ) + stop ( ) created ready start/^master.ready() poll/^master.ack() stop/ poll/defer ready created start ready
Active Objects: Dynamic Semantics ,[object Object],[object Object],[object Object],[object Object],ActiveObject:
The Run-to-Completion Model ,[object Object],Active1 Active2 hi hi lo
Basic State Machine Concepts Statecharts and Objects Advanced Modeling Concepts Wrap Up
State Entry and Exit Actions ,[object Object],entry/lamp.on(); exit/lamp.off(); LampOn e1 e2
Order of Actions: Simple Case ,[object Object],[object Object],Resulting action sequence: printf(“exiting”); printf(“to off”); lamp.off(); printf(“exiting”); printf(“needless”); lamp.off(); off/printf(“needless”); off/printf(“to off”); LampOff entry/lamp.off(); exit/printf(“exiting”); LampOn entry/lamp.on(); exit/printf(“exiting”);
Internal Transitions ,[object Object],off/null; Internal transition triggered by  an “off” event LampOff entry/lamp.off(); exit/printf(“exiting”);
State (“Do”) Activities ,[object Object],[object Object],[object Object],do/while (true) alarm.ring(); “ do” activity Error entry/printf(“error!”)
Guards ,[object Object],[object Object],Selling Unhappy Happy bid  [(value >= 100) & (value < 200)]  /sell bid  [value >= 200]  /sell bid  [value < 100]  /reject
Static Conditional Branching ,[object Object],[(value >= 100) & (value < 200)]  /sell [value >= 200]  /sell [value < 100]  /reject Selling Unhappy Happy bid
Dynamic Conditional Branching ,[object Object],bid / gain := calculatePotentialGain(value) [(gain >= 100) & (gain < 200)]  /sell [gain >= 200]  /sell [gain < 100]  /reject Dynamic choicepoint Selling Unhappy Happy
Hierarchical State Machines ,[object Object],[object Object],LampFlashing flash/ 1sec/ 1sec/ FlashOff entry/lamp.off() FlashOn entry/lamp.on() off/ LampOff entry/lamp.off() LampOn entry/lamp.on() on/ on/ on/
“ Stub” Notation ,[object Object],LampFlashing flash/ on/ FlashOn FlashOff off/ LampOff entry/lamp.off() LampOn entry/lamp.on() on/ on/
Group Transitions ,[object Object],LampFlashing Default transition to the initial pseudostate Group transition 1sec/ 1sec/ FlashOff entry/lamp.off() FlashOn entry/lamp.on() off/ LampOff entry/lamp.off() LampOn entry/lamp.on() on/ flash/ on/
Completion Transitions ,[object Object],[object Object],completion  transition (no trigger) Committing Phase1 Phase2 CommitDone
Triggering Rules ,[object Object],[object Object],[object Object],LampFlashing off/ FlashOff FlashOn on/ on/
Deferred Events ,[object Object],off/ on/ LampOff entry/lamp.off() off/defer Deferred event LampOn entry/lamp.on()
Order of Actions: Complex Case ,[object Object],initS2 E/actE Actions execution sequence: exS11     exS1    actE      enS2    initS2    enS21 S1 exit/exS1 S11 exit/exS11 S2 entry/enS2 S21 entry/enS21
History ,[object Object],[object Object],Diagnosing Diagnostic1 Diagnostic2 suspend/ Step11 Step12 Step21 Step22 resume/ H*
Orthogonality ,[object Object],Child Adult Retiree age Poor Rich financialStatus
Orthogonal Regions ,[object Object],Child Adult Retiree age Poor Rich financialStatus Poor Rich financialStatus Child Adult Retiree age
Orthogonal Regions - Semantics ,[object Object],[object Object],Outlaw LawAbiding Poor Rich financialStatus legalStatus robBank/ robBank/
Interactions Between Regions ,[object Object],sane : Boolean flying : Boolean Catch22 sanityStatus flightStatus (flying)/ Crazy entry/sane := false; Sane entry/sane := true; request Grounding/ Flying entry/flying := true; Grounded entry/flying := false; (sane)/ (~sane)/
Transition Forks and Joins ,[object Object],Staff Member employee Child Adult Retiree age Manager
Common Misuse of Orthogonality ,[object Object],Child Adult Retiree Child Adult Retiree Person1 Person2 Person1 Person2
Basic State Machine Concepts Statecharts and Objects Advanced Modeling Concepts Wrap Up
Wrap Up: Statecharts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Wrap Up: Statecharts (cont’d) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Activity Diagram Applications ,[object Object],[object Object],[object Object],[object Object]
Activity Diagrams Based on State Machines ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Kinds of Steps in Activity Diagrams Action ,[object Object],Subactivity ,[object Object]
Action (State) ,[object Object],[object Object],Action
Subactivity (State) ,[object Object],[object Object],[object Object],Subactivity
Example POEmployee.sortMail Deliver Mail POEmployee sortMail() Check Out Truck Put Mail In Boxes Deliver Mail
Activity Graph as Method ,[object Object],[object Object],POEmployee sortMail() POEmployee.sortMail POEmployee.deliverMail deliverMail() «realize» Check Out Truck Put Mail In Boxes PO Employee Deliver Mail Method
Dynamic concurrency ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Action/Subactivity *
Object Flow (State) ,[object Object],[object Object],[object Object],Class [State]
Object Flow (State) ,[object Object],[object Object],[object Object],Order [Taken] Take Order Fill Order
Coordinating Steps ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],Coordinating Steps Calculate Cost Charge Account Get Authorization [cost < $50] [cost >= $50]
[object Object],[object Object],Coordinating Steps State machine notation Inspect Install Foundation Build Frame Install Electricity in Foundation Put On Roof Install Electricity In Frame Install Electricity Outside Install Walls * *
Convenience Features (Synch State) ,[object Object],[object Object],Activity diagram notation Build Frame Install Foundation Install Electricity in Foundation Put On Roof Install Electricity In Frame Install Electricity Outside Install Walls Inspect
Convenience Features (Synch State) ,[object Object]
Convenience Features ,[object Object],[object Object],Register Bug Evaluate Impact Fix Bug Revise Plan Release Fix Test Fix [ priority = 1] Register Bug Evaluate Impact Fix Bug Revise Plan Release Fix Test Fix [ priority = 1] [else]
Convenience Features ,[object Object],[object Object],[object Object],[object Object],Register Bug Evaluate Impact Fix Bug Revise Plan Release Fix Test Fix [ priority = 1] Management Support Engineering
Convenience Features ,[object Object],Signal ,[object Object],[object Object],[object Object],Coffee Pot Wake Up Get Cups Turn on Coffee Pot Coffee Done Drink Coffee Signal
Case Study Adapted from Kobryn, “UML 2001” Communications of the ACM October 1999 partition Submission Team Task Force Revision Task Force Issue RFP Evaluate initial submissions Submit specification draft Collaborate with competitive submitters Develop technology specification action state RFP [issued] [optional] control flow Finalize specification Specification [initial proposal] input value Begin object flow initial state join of control conditional fork fork of control Specification [final proposal]
Case Study Adapted from Kobryn, “UML 2001” Communications of the ACM October 1999 Evaluate initial submissions Evaluate final submissions Vote to recommend Enhance specification Implement specification Revise specification Finalize specification Specification [final proposal] Specification [adopted] Recommend revision Specification [revised] [NO] [YES] [else] [Enhanced] decision final state guard Collaborate with competitive submitters
When to Use Activity Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object]
Activity Diagram Modeling Tips ,[object Object],[object Object],[object Object]
Activity Diagram Modeling Tips From UML User Guide: Request Return Get Return Number Ship Item Item [returned] Receive Item Restock Item Credit Account Item [available] Customer Telesales Warehouse Accounting
Activity Modeling Tips Request Return Get Return Number Ship Item Item [returned] Receive Item Restock Item Credit Account Item [available] Customer Telesales Warehouse Accounting
Activity Diagram Modeling Tips ,[object Object],[object Object],[object Object],[object Object]
Activity Diagram Modeling Tips Well-nested:
Activity Diagram Modeling Tips Not well-nested: Apply structured coding principles. (Be careful with goto’s!)
Activity Diagram Modeling Tips Can be translated to well-nested diagram on earlier slide:
Wrap Up: Activity Diagrams ,[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Viewers also liked

Case study bpr
Case study bprCase study bpr
Case study bpr
Vaso Gorou
 
Three state transition diagram flow chart slides power point
Three state transition diagram flow chart slides power pointThree state transition diagram flow chart slides power point
Three state transition diagram flow chart slides power point
SlideTeam.net
 

Viewers also liked (20)

Case study bpr
Case study bprCase study bpr
Case study bpr
 
Performance Management study using ARIS, Blesiou Athina, NTUA
Performance Management study using ARIS, Blesiou Athina, NTUAPerformance Management study using ARIS, Blesiou Athina, NTUA
Performance Management study using ARIS, Blesiou Athina, NTUA
 
Web Kaupp Anim
Web Kaupp AnimWeb Kaupp Anim
Web Kaupp Anim
 
432
432432
432
 
New models
New modelsNew models
New models
 
03 fsm how_toimplementai_state_20161006_jintaeks
03 fsm how_toimplementai_state_20161006_jintaeks03 fsm how_toimplementai_state_20161006_jintaeks
03 fsm how_toimplementai_state_20161006_jintaeks
 
Ch02 3133
Ch02 3133Ch02 3133
Ch02 3133
 
Online shopping
Online shoppingOnline shopping
Online shopping
 
E r diagram
E r diagramE r diagram
E r diagram
 
Umar Erd
Umar ErdUmar Erd
Umar Erd
 
Erd
ErdErd
Erd
 
Entity relationship diagram for dummies
Entity relationship diagram for dummiesEntity relationship diagram for dummies
Entity relationship diagram for dummies
 
TD-635-10-PSBO
TD-635-10-PSBOTD-635-10-PSBO
TD-635-10-PSBO
 
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
 
Three state transition diagram flow chart slides power point
Three state transition diagram flow chart slides power pointThree state transition diagram flow chart slides power point
Three state transition diagram flow chart slides power point
 
Entity Relationship Diagrams
Entity Relationship DiagramsEntity Relationship Diagrams
Entity Relationship Diagrams
 
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagram
 
Uml
UmlUml
Uml
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
Erd
ErdErd
Erd
 

Similar to C:\documents and settings\student\desktop\swaroop uml

M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
Dang Tuan
 
Intention Oriented Model Interaction
Intention Oriented Model InteractionIntention Oriented Model Interaction
Intention Oriented Model Interaction
Yasir Karam
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
jsm1979
 
Use Case Model
Use Case ModelUse Case Model
Use Case Model
Ali Nguyen
 
Use Cases A Comprehensive Look
Use Cases A Comprehensive LookUse Cases A Comprehensive Look
Use Cases A Comprehensive Look
telab
 
Introduction to Simulation
Introduction to SimulationIntroduction to Simulation
Introduction to Simulation
chimco.net
 

Similar to C:\documents and settings\student\desktop\swaroop uml (20)

uml.ppt
uml.pptuml.ppt
uml.ppt
 
Unit three Advanced State Modelling
Unit three Advanced State ModellingUnit three Advanced State Modelling
Unit three Advanced State Modelling
 
Software System Engineering - Chapter 14
Software System Engineering - Chapter 14Software System Engineering - Chapter 14
Software System Engineering - Chapter 14
 
Introducing Uml And Development Process
Introducing Uml And Development ProcessIntroducing Uml And Development Process
Introducing Uml And Development Process
 
Tech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM WorkflowsTech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM Workflows
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
 
Intention Oriented Model Interaction
Intention Oriented Model InteractionIntention Oriented Model Interaction
Intention Oriented Model Interaction
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
 
Jar chapter 4, part 1
Jar chapter 4, part 1Jar chapter 4, part 1
Jar chapter 4, part 1
 
Intro to UML - Use Case diagrams
Intro to UML - Use Case diagramsIntro to UML - Use Case diagrams
Intro to UML - Use Case diagrams
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
02_IT4557.pptx
02_IT4557.pptx02_IT4557.pptx
02_IT4557.pptx
 
Use Case Model
Use Case ModelUse Case Model
Use Case Model
 
Use Cases A Comprehensive Look
Use Cases A Comprehensive LookUse Cases A Comprehensive Look
Use Cases A Comprehensive Look
 
Introduction to Simulation
Introduction to SimulationIntroduction to Simulation
Introduction to Simulation
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 

Recently uploaded

The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 

Recently uploaded (20)

Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
Extraction Of Natural Dye From Beetroot (Beta Vulgaris) And Preparation Of He...
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 

C:\documents and settings\student\desktop\swaroop uml

  • 1. Short Introduction into UML Use Cases, State Charts and Activity Charts
  • 2. UML Overview Behavioral Elements Model Management Foundation Use Cases State Machines Activity Graphs Collaborations Common Behavior
  • 3.
  • 4.
  • 5. Use Case Modeling: Core Elements
  • 6. Use Case Modeling: Core Relationships << extend >>
  • 7. Use Case Modeling: Core Relationships (cont’d) << include >>
  • 8.
  • 9. Use Case Diagram Fig. 3-53, UML Notation Guide
  • 10. Use Case Relationships Fig. 3-54, UML Notation Guide
  • 11. Actor Relationships Fig. 3-55, UML Notation Guide
  • 12.
  • 13.
  • 14.
  • 16. Online HR System: Use Case Relationships
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Basic UML Statechart Diagram Ready /ctr := 0 stop State Trigger Action Initial pseudostate Transition Final state Done “ top” state top stop
  • 25.
  • 26.
  • 27.
  • 28. Basic State Machine Concepts Statecharts and Objects Advanced Modeling Concepts Wrap Up
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Basic State Machine Concepts Statecharts and Objects Advanced Modeling Concepts Wrap Up
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. Basic State Machine Concepts Statecharts and Objects Advanced Modeling Concepts Wrap Up
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. Example POEmployee.sortMail Deliver Mail POEmployee sortMail() Check Out Truck Put Mail In Boxes Deliver Mail
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. Case Study Adapted from Kobryn, “UML 2001” Communications of the ACM October 1999 partition Submission Team Task Force Revision Task Force Issue RFP Evaluate initial submissions Submit specification draft Collaborate with competitive submitters Develop technology specification action state RFP [issued] [optional] control flow Finalize specification Specification [initial proposal] input value Begin object flow initial state join of control conditional fork fork of control Specification [final proposal]
  • 80. Case Study Adapted from Kobryn, “UML 2001” Communications of the ACM October 1999 Evaluate initial submissions Evaluate final submissions Vote to recommend Enhance specification Implement specification Revise specification Finalize specification Specification [final proposal] Specification [adopted] Recommend revision Specification [revised] [NO] [YES] [else] [Enhanced] decision final state guard Collaborate with competitive submitters
  • 81.
  • 82.
  • 83. Activity Diagram Modeling Tips From UML User Guide: Request Return Get Return Number Ship Item Item [returned] Receive Item Restock Item Credit Account Item [available] Customer Telesales Warehouse Accounting
  • 84. Activity Modeling Tips Request Return Get Return Number Ship Item Item [returned] Receive Item Restock Item Credit Account Item [available] Customer Telesales Warehouse Accounting
  • 85.
  • 86. Activity Diagram Modeling Tips Well-nested:
  • 87. Activity Diagram Modeling Tips Not well-nested: Apply structured coding principles. (Be careful with goto’s!)
  • 88. Activity Diagram Modeling Tips Can be translated to well-nested diagram on earlier slide:
  • 89.

Editor's Notes

  1. Slides will use abbreviations for simplicity. Sleight-of-hand will be explained next.
  2. Triggerless transitions is what makes activity graphs more useful for control and data flow. This is the sleight-of-hand mentioned on the previous slide.
  3. No standard notation yet for the name of an action, to indicate what kind of object and operation are being invoked. No standard notation for connecting an action state to the object it invokes an operation on. Likewise for the decomposition of a subactivity state into another state machine. The action state is polymorphic, the subactivity state is not.
  4. Make Deliver Mail polymorphic by using it as a method on an object. Can override the Deliver Mail Method with a new one on specializations of POEmployee. Not shown: use the top-level diagram (sorting and delivering mail) as a method, and make Put Mail In Boxes into an operation, then the entire application is polymorphic. The system is completely object-oriented when all steps are actions and all activity graphs are methods on an object.
  5. Concurrency expression is a set of lists of arguments, one list of arguments for one parallel invocation. No standard for how these are accessed. The UML Reference manual says they are passed as arguments to the current event (p 437). But the completion event is not actually created and queued.
  6. More about semantics of dashed line in pitfalls section. A step parameter refers to the parameters of the operations invoked by action states. Take Order and Fill Order can be subactivity states, whereupon the parameters are in the first/last action state in the subactivity graph, recursively.
  7. Use merge instead of dummy state before join.
  8. Synch state keep track at runtime of the difference in the number of times an incoming trigger has been traversed compared to an outgoing transition. It is Petri-like in this respect. This number can be bounded. An asterisk means no bound. In workflow systems these are called parallel synchronized or chained processes .
  9. Implementers of executing systems must take care that the join is aware that some or all the threads will not arrive. Modelers might want to attach a note to the join to remind readers of the same.
  10. Signal receipt is a natural way to model a wait state. Dashed line notation is specifically for use with the signal icons. Can you rotate icons when flow drawn horizontally?
  11. Diagram assumes that: 1) Receive Item and the OFS Item can be traversed in parallel. Same for Credit Account and Item OFS. 2) Restock item will not start until its Item input has arrived. 3) State machine can terminate with hanging Item OFS. These are natural assumptions for an object flow language, but UML is state machine based.
  12. Forks and joins are implicit composite states.