SlideShare una empresa de Scribd logo
1 de 64
UsingActivityDiagrams toModel Use Cases VisuallyPart 1: TheBasics by Declan Chellar
START POINT
TheStart Point representstheEVENT that triggersthe use case.
LabeltheStart Point to makethe INTENT and TRIGGER of the use case explicit.
Actor elects to AddCustomer
Actor elects to AddCustomer END POINT
Actor elects to AddCustomer LabeltheEnd Point to EXPLICITLY confirm that theintent of the use case has beenachieved.
Actor elects to AddCustomer Customeradded
Actor elects to AddCustomer This makesitclear to thereader that the use case is complete and that nothingfurther is needed in order to fulfiltheintent. Customeradded
Actor elects to AddCustomer NOT a goodlabelforanEnd Point End of process
To reachtheEnd Point…
… you need to model STEPS.
Link thestepswith TRANSITIONS.
Transitions use arrowheads to show thedirection of  processflow.
I like to put a note againstanystep that achievesthegoal of the use case. Goal  X achieved
Goal  X achieved … becauseitmightnotbethelaststep.
Themostcommonroutefromthestartpoint to theendpoint has manynames.
Buttheyeffectively mean thesamething.
Combine anywordontheleftwithanyphraseontheright. PRIMARY… …PATH BASIC… …FLOW TYPICAL… …COURSE OF EVENTS …SCENARIO
Often in a use case theSystem has to make a decisionbasedonbusiness rules...
The actual decisiontakes place within a STEP
System determines whether X or Y The actual decisiontakes place within a STEP
System determines whether X or Y A DECISION POINT is then used to helpthereadernavigatethediagram.
DECISION POINT
DecisionPointscontaintextwhich describes thenature of thedecision to bemade.
So wasit X or Y?
Decisionpointsallowtheflow to branchawayfromthePrimaryPath.
Transitionscomingout of DecisionPointsmust have a GUARD. [Condition 2] [Condition 1]
[IT WAS “Y”] [IT WAS “X”] A Guardneeds to explicitly describe a conditionwhichmustbe true in order to proceeddown that path.
IftheflowrejoinsthePrimaryPath, it is known as anAlternatePath. [Condition 2] [Condition 1]
[Condition 2] [Condition 1] WithAlternatePaths, thegoal of the Use Case is stillachieved.
There are othernamesforAlternatePaths. [Condition 2] [Condition 1]
Combine anywordontheleftwithanyphraseontheright. ALTERNATE… …PATH ALTERNATIVE… …FLOW SECONDARY… …COURSE OF EVENTS …SCENARIO [Condition 2] [Condition 1]
[Condition 2] [Condition 1] You can show howpathsrejoinbyusing a MERGE POINT.
[Condition 2] [Condition 1] You can show howpathsrejoinbyusing a MERGE POINT.
I don’tlikeMergePointsbecausetheytake up spacewithoutaddingclarity. [Condition 2] [Condition 1]
I prefer to modelmergingpathslikethis. [Condition 2] [Condition 1]
MergePoints can sometimesbeparticularlysuperfluous. [Condition 2] [Condition 1]
[Condition 2] [Condition 1] I thinkit is neater to show themergethisway.
Iftheflowdoes NOT rejointhePrimaryPath, it is known as anExceptionPath. [Condition 2] [Condition3] [Condition 1]
WithExceptionPaths, thegoal of the Use Case is NOT achieved. [Condition 2] [Condition3] [Condition 1] Goal  X achieved
WithExceptionPaths, thegoal of the Use Case is NOT achieved. [Condition 2] [Condition3] [Condition 1] Uh, oh! Goal  X achieved
I like to use colour to highlightthedifferentpaths. [Condition 2] [Condition3] [Condition 1]
[Condition 2] [Condition3] [Condition 1]
[Condition 2] [Condition3] [Condition 1]
This makesiteasy to identify test scenarios at a glance. [Condition3] [Condition 2] [Condition 1]
I alsolike to labeltheGuards in order to easilyidentifythepaths. A1: [Condition 2] E1: [Condition 3] P: [Condition 1]
And I like to labeltheStepsforeasybackwardreferencefrom Business Rules and a Logical Data Model. P1: A1: [Condition 2] E1: [Condition 3] P: [Condition 1] P2: A1.1: E1.1:
PrimaryPath: 	P1, P2. P1: A1: [Condition 2] E1: [Condition 3] P: [Condition 1] P2: A1.1: E1.1:
PrimaryPath: 	P1, P2. AlternatePath 1: 	P1, A1.1, P2. P1: A1: [Condition 2] E1: [Condition 3] P: [Condition 1] P2: A1.1: E1.1:
PrimaryPath: 	P1, P2. AlternatePath 1: 	P1, A1.1, P2. ExceptionPath 1: 	P1, E1.1. P1: A1: [Condition 2] E1: [Condition 3] P: [Condition 1] P2: A1.1: E1.1:
In some Use Cases, you willneed to modelparallelsteps [Condition 2] [Condition3] [Condition 1]
[Condition 2] [Condition3] [Condition 1] X A B In thisexample, steps A and B mustbothstartafterstep X finishes and mustbothfinishbeforethe Use Case ends.
[Condition 2] [Condition3] [Condition 1] X A B Butwe do notcareabouttheorder in which A and B happen.
A and B couldevenhappen at thesame time. [Condition 2] [Condition3] [Condition 1] X A B
In thisexample, B mustfollow A, butwe do notcarewhen C happens in relation to (A + B). [Condition 2] [Condition3] [Condition 1] A C B
In some Use Cases, you willneed to modelrepeatedsteps. [Condition 2] [Condition3] [Condition 1] A B
[Condition 2] [Condition3] [Condition 1] Foreach X: A In thisexample, you repeat (A + B) untilthere is no more X. B
[Condition 2] [Condition3] [Condition 1] Foreach X: A Forexample, you might do thiswhenaddingpassengers to a holidaybooking. B
Let’sreviewtheshapes
START POINT DECISION POINT [Condition] END POINT GUARD STEP PARALLEL STEPS Foreach X: TRANSITION REPEATED STEPS
www.chellar.com/blog

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Activity diagram-UML diagram
Activity diagram-UML diagramActivity diagram-UML diagram
Activity diagram-UML diagram
 
Uml class Diagram
Uml class DiagramUml class Diagram
Uml class Diagram
 
UML
UMLUML
UML
 
SE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMSE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAM
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Activity diagram
Activity diagramActivity diagram
Activity diagram
 
Activity diagram
Activity diagramActivity diagram
Activity diagram
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Software design
Software designSoftware design
Software design
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 

Similar a Activity diagram tutorial

Copy of dti2143/dam31303 chap 1 problem solving and program design
Copy of dti2143/dam31303 chap 1 problem solving and program designCopy of dti2143/dam31303 chap 1 problem solving and program design
Copy of dti2143/dam31303 chap 1 problem solving and program designalish sha
 
C# Tutorial MSM_Murach chapter-05-slides
C# Tutorial MSM_Murach chapter-05-slidesC# Tutorial MSM_Murach chapter-05-slides
C# Tutorial MSM_Murach chapter-05-slidesSami Mut
 
Railway Orientated Programming In C#
Railway Orientated Programming In C#Railway Orientated Programming In C#
Railway Orientated Programming In C#Tama000
 
Implementing the Adapter Design Pattern
Implementing the Adapter Design PatternImplementing the Adapter Design Pattern
Implementing the Adapter Design PatternProdigyView
 
Use of Classes and functions#include iostreamusing name.docx
 Use of Classes and functions#include iostreamusing name.docx Use of Classes and functions#include iostreamusing name.docx
Use of Classes and functions#include iostreamusing name.docxaryan532920
 
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2Philip Schwarz
 
Testing survival Guide
Testing survival GuideTesting survival Guide
Testing survival GuideThilo Utke
 

Similar a Activity diagram tutorial (11)

Copy of dti2143/dam31303 chap 1 problem solving and program design
Copy of dti2143/dam31303 chap 1 problem solving and program designCopy of dti2143/dam31303 chap 1 problem solving and program design
Copy of dti2143/dam31303 chap 1 problem solving and program design
 
OLT open script
OLT open script OLT open script
OLT open script
 
C# Tutorial MSM_Murach chapter-05-slides
C# Tutorial MSM_Murach chapter-05-slidesC# Tutorial MSM_Murach chapter-05-slides
C# Tutorial MSM_Murach chapter-05-slides
 
Railway Orientated Programming In C#
Railway Orientated Programming In C#Railway Orientated Programming In C#
Railway Orientated Programming In C#
 
Implementing the Adapter Design Pattern
Implementing the Adapter Design PatternImplementing the Adapter Design Pattern
Implementing the Adapter Design Pattern
 
Savitch ch 02
Savitch ch 02Savitch ch 02
Savitch ch 02
 
AUTOCAD RAHUL
AUTOCAD  RAHULAUTOCAD  RAHUL
AUTOCAD RAHUL
 
Use of Classes and functions#include iostreamusing name.docx
 Use of Classes and functions#include iostreamusing name.docx Use of Classes and functions#include iostreamusing name.docx
Use of Classes and functions#include iostreamusing name.docx
 
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2
 
Testing survival Guide
Testing survival GuideTesting survival Guide
Testing survival Guide
 
TDD
TDDTDD
TDD
 

Más de Declan Chellar

Business analysis is about more than software requirements
Business analysis is about more than software requirementsBusiness analysis is about more than software requirements
Business analysis is about more than software requirementsDeclan Chellar
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteDeclan Chellar
 
Defining process scope
Defining process scopeDefining process scope
Defining process scopeDeclan Chellar
 
BPMN in Pegasystems' PRPC Flow Rules
BPMN in Pegasystems' PRPC Flow RulesBPMN in Pegasystems' PRPC Flow Rules
BPMN in Pegasystems' PRPC Flow RulesDeclan Chellar
 
Process Model versus PRPC Discovery Map
Process Model versus PRPC Discovery MapProcess Model versus PRPC Discovery Map
Process Model versus PRPC Discovery MapDeclan Chellar
 
Activity Diagram tutorial part 3
Activity Diagram tutorial part 3Activity Diagram tutorial part 3
Activity Diagram tutorial part 3Declan Chellar
 
Tracing Data Requirements
Tracing Data RequirementsTracing Data Requirements
Tracing Data RequirementsDeclan Chellar
 
The Importance of Data Analysis in Producing a Robust Physical Data Model
The Importance of Data Analysis in Producing a Robust Physical Data ModelThe Importance of Data Analysis in Producing a Robust Physical Data Model
The Importance of Data Analysis in Producing a Robust Physical Data ModelDeclan Chellar
 
Activity diagram tutorial part 2
Activity diagram tutorial part 2Activity diagram tutorial part 2
Activity diagram tutorial part 2Declan Chellar
 
A Tale Of Two Projects
A Tale Of Two ProjectsA Tale Of Two Projects
A Tale Of Two ProjectsDeclan Chellar
 

Más de Declan Chellar (11)

Business analysis is about more than software requirements
Business analysis is about more than software requirementsBusiness analysis is about more than software requirements
Business analysis is about more than software requirements
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 Palette
 
Defining process scope
Defining process scopeDefining process scope
Defining process scope
 
Iliad Book 1
Iliad Book 1Iliad Book 1
Iliad Book 1
 
BPMN in Pegasystems' PRPC Flow Rules
BPMN in Pegasystems' PRPC Flow RulesBPMN in Pegasystems' PRPC Flow Rules
BPMN in Pegasystems' PRPC Flow Rules
 
Process Model versus PRPC Discovery Map
Process Model versus PRPC Discovery MapProcess Model versus PRPC Discovery Map
Process Model versus PRPC Discovery Map
 
Activity Diagram tutorial part 3
Activity Diagram tutorial part 3Activity Diagram tutorial part 3
Activity Diagram tutorial part 3
 
Tracing Data Requirements
Tracing Data RequirementsTracing Data Requirements
Tracing Data Requirements
 
The Importance of Data Analysis in Producing a Robust Physical Data Model
The Importance of Data Analysis in Producing a Robust Physical Data ModelThe Importance of Data Analysis in Producing a Robust Physical Data Model
The Importance of Data Analysis in Producing a Robust Physical Data Model
 
Activity diagram tutorial part 2
Activity diagram tutorial part 2Activity diagram tutorial part 2
Activity diagram tutorial part 2
 
A Tale Of Two Projects
A Tale Of Two ProjectsA Tale Of Two Projects
A Tale Of Two Projects
 

Último

the Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentationthe Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentationbrynpueblos04
 
2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)Delhi Call girls
 
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka Mor
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka Morcall Now 9811711561 Cash Payment乂 Call Girls in Dwarka Mor
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka Morvikas rana
 
Pokemon Go... Unraveling the Conspiracy Theory
Pokemon Go... Unraveling the Conspiracy TheoryPokemon Go... Unraveling the Conspiracy Theory
Pokemon Go... Unraveling the Conspiracy Theorydrae5
 
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...Cara Menggugurkan Kandungan 087776558899
 
2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)Delhi Call girls
 
2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)Delhi Call girls
 
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...PsychicRuben LoveSpells
 
WOMEN EMPOWERMENT women empowerment.pptx
WOMEN EMPOWERMENT women empowerment.pptxWOMEN EMPOWERMENT women empowerment.pptx
WOMEN EMPOWERMENT women empowerment.pptxpadhand000
 
2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)Delhi Call girls
 
LC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdfLC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdfpastor83
 

Último (14)

the Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentationthe Husband rolesBrown Aesthetic Cute Group Project Presentation
the Husband rolesBrown Aesthetic Cute Group Project Presentation
 
2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Jasola (Delhi)
 
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka Mor
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka Morcall Now 9811711561 Cash Payment乂 Call Girls in Dwarka Mor
call Now 9811711561 Cash Payment乂 Call Girls in Dwarka Mor
 
Pokemon Go... Unraveling the Conspiracy Theory
Pokemon Go... Unraveling the Conspiracy TheoryPokemon Go... Unraveling the Conspiracy Theory
Pokemon Go... Unraveling the Conspiracy Theory
 
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Tingre Nagar ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
KLINIK BATA Jual obat penggugur kandungan 087776558899 ABORSI JANIN KEHAMILAN...
 
(Aarini) Russian Call Girls Surat Call Now 8250077686 Surat Escorts 24x7
(Aarini) Russian Call Girls Surat Call Now 8250077686 Surat Escorts 24x7(Aarini) Russian Call Girls Surat Call Now 8250077686 Surat Escorts 24x7
(Aarini) Russian Call Girls Surat Call Now 8250077686 Surat Escorts 24x7
 
2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Dashrath Puri (Delhi)
 
2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Mukherjee Nagar (Delhi)
 
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
$ Love Spells^ 💎 (310) 882-6330 in West Virginia, WV | Psychic Reading Best B...
 
(Anamika) VIP Call Girls Navi Mumbai Call Now 8250077686 Navi Mumbai Escorts ...
(Anamika) VIP Call Girls Navi Mumbai Call Now 8250077686 Navi Mumbai Escorts ...(Anamika) VIP Call Girls Navi Mumbai Call Now 8250077686 Navi Mumbai Escorts ...
(Anamika) VIP Call Girls Navi Mumbai Call Now 8250077686 Navi Mumbai Escorts ...
 
WOMEN EMPOWERMENT women empowerment.pptx
WOMEN EMPOWERMENT women empowerment.pptxWOMEN EMPOWERMENT women empowerment.pptx
WOMEN EMPOWERMENT women empowerment.pptx
 
2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)
2k Shots ≽ 9205541914 ≼ Call Girls In Palam (Delhi)
 
LC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdfLC_YouSaidYes_NewBelieverBookletDone.pdf
LC_YouSaidYes_NewBelieverBookletDone.pdf
 

Activity diagram tutorial