SlideShare a Scribd company logo
1 of 36
2009 copyright Leslie Munday University
Use Case Modeling With Activity
And Use Case Diagrams
Requirements Discipline Activity
5 November 2019
Leslie Munday 2008
Precursor
īŽ In order to understand the material in this
course, you should have equivalent
knowledge of a UML modeling tool and of
the following:
īŽ An Introduction To Business Use Cases.
īŽ Working with AUC documents.
11/5/2019 2
Leslie Munday 2008
Use Case And Activity Diagrams
īŽ In this presentation we will learn:
īŽ what are the components of a use case diagram.
īŽ how the use case diagram components are related.
īŽ what is the difference between an application use case
diagram and a business use case diagram.
īŽ what are the different components of an activity
diagram.
īŽ what are the relationships between the different
components.
īŽ how to represent a business use case with an activity
diagram.
īŽ how to represent an application use case with an
activity diagram.
11/5/2019 3
Leslie Munday 2008
īŽ Activity - The specification of an executable statement that includes 1 or more actions
and may result in a change in the state of the system.
īŽ Application – the software part of the system under discussion.
īŽ Artifact – Any complete piece of a model.
īŽ Business Actor – Someone who gets benefit from the business use case.
īŽ Component – Anything that can be placed on a diagram.
īŽ Diagram – A graphical depiction of all or part of a model.
īŽ Model – A complete description of a system from a particular perspective.
īŽ Object - An entity with a well-defined boundary and identity that encapsulates state
and behavior.
īŽ Postcondition – the state of the system after a use case has executed.
īŽ Precondition – the state of the system prior to a use case executing.
īŽ Relationship – shows communication between an actor and a use case.
īŽ State - A condition or situation during the life of an object during which it satisfies
some condition, performs some activity, or waits for some event.
īŽ Package – A container for grouping artifacts.
īŽ System – the item under discussion, it may comprise hardware, software or both.
īŽ System Actor - Someone or something, outside the system that interacts with the
system.
īŽ Use Case – A set of actions a that yields an observable result of value to a particular
actor.
Terms Used In This Presentation
11/5/2019 4
Leslie Munday 2008
Use Case History
īŽ 1986 - Ivar Jacobson introduces the
concept of use cases to Ericsson.
īŽ 1987 – Objectory AB, founded by Jacobson.
īŽ 1995 – Rational buys Objectory.
īŽ 1995 – Use cases are introduced into the
Unified Modeling Language 0.9 proposal.
īŽ 1997 – UML 1.0 adopted by OMG.
īŽ 1998 – Rational Unified Process is evolved
from the Objectory process.
11/5/2019 5
Leslie Munday 2008
Activity Diagram History
īŽ The activity diagram is a derivation of the state
transition diagram. (State transition diagrams, (STD)
as their name suggests contain states connected by
transitions.)
īŽ A transition is triggered by an event.
īŽ A state is the result of the execution of an event.
īŽ With the emergence of use cases a diagram was
required that also shows events and actions.
īŽ Actions were added to the STD to create the activity
diagram.
īŽ Think of it as a hybrid of a state transition diagram
and a flowchart.
īŽ In UML 2.x the activity diagram has evolved into an
automated token executing machine, which allows for
modeling of complex operations.
11/5/2019 6
Leslie Munday 2008
Overview
īŽ The notation used in this presentation is based upon
that specified in the UML 1.x specifications, not UML
2.x.
īŽ The notation is specific to modeling use cases.
Where the definition of a component is not relevant
to this goal, I either ignore it or redefine it
appropriately.
īŽ The objective is to define a notation that is
consistent, easy to use and does not allow
ambiguous modeling rules (one way and one way
only to represent a concept) yet will not restrain you
from expressing everything that is required in your
use case model.
11/5/2019 7
Leslie Munday 2008
Why Do We Need Notation?
īŽ Don’t the UML specifications specify how to draw these
diagrams? No, they define the semantics of the symbols used in
the diagrams, but do not commit to a consist use on diagrams.
īŽ UML tries to be all things to all people. It is impossible to use in
consistent and unambiguous manner unless guidelines are built
around the semantics in order to constrain their rules.
īŽ For example, Rational recommends that the primary actor in a
use case is identified with a directed association. UML contains
no such rules or guidelines.
īŽ I was taught that when two threads are created, from a fork,
(which run concurrently) that neither thread could continue
(return to the main path) until both threads reached a join.
īŽ According to the UML specifications, concerning forks and joins,
either can be used without the other. In my understanding this
does not make sense because the threads will never complete,
hence the use case will never end.
11/5/2019 8
Leslie Munday 2008
The Use Case Diagram
īŽ There are two types of use case diagram:
īŽ business use case (BUC) diagram.
īŽ application use case (AUC) diagram.
īŽ The business use case diagram describes the
activities performed by any number of
business workers (people) in order to achieve
a business goal (whether they are manual or
automated is not specified in the BUC).
īŽ The application use case describes the
activities performed by the software in order to
achieve a system goal.
11/5/2019 9
Leslie Munday 2008
Use Case Diagram Overview
īŽ A use case diagram
contains actors, use cases
and relationships between
them.
īŽ If a use case diagram
becomes difficult to read
on a single page, then
break it into 2 diagrams.
īŽ I recommend, especially for
systems with a large
number of use cases,
showing actors connecting
to a single use case, by
duplicating the actor. In
this manner restructuring
the use case diagram is
much simpler.
11/5/2019 10
Leslie Munday 2008
Common To Use Case Diagrams
īŽ Indicate the primary actor using
an arrowhead on the
relationship entering the use
case.
īŽ Indicate secondary actors by
using no arrowheads on the
relationship line.
īŽ Included use cases have an
arrowhead entering the use
case and the relationship
contains the stereotype
<<include>>.
īŽ Extending use cases have an
arrowhead entering the use
case being extended and the
relationship contains the
stereotype <<extend>>.
11/5/2019 11
Leslie Munday 2008
Business Use Case Diagrams
īŽ The primary actor is the stakeholder that is getting benefit from the BUC.
īŽ The secondary actors are people outside the business, that interact with the
activity of the BUC.
īŽ Some modeling tools will distinguish a BUC from an AUC by placing a line
through the use case shape; alternatively give the BUC a stereotype named
‘Business’.
īŽ Some guidelines distinguish between business actors and system actors; rarely
do I find this necessary. (If a role of the same name appears in both
organizations; business and system, but they perform different roles, then
distinguishing between business and system actors may be necessary.)
11/5/2019 12
Leslie Munday 2008
Application Use Case Diagrams
īŽ The primary actor is the role that initiates the
execution of the AUC.
īŽ The secondary actors are applications or people
outside of the AUC that interact with the use case.
11/5/2019 13
Leslie Munday 2008
Using Inheritance In Use Cases
īŽ When two or more roles are the
primary actor of a use case,
create a common role and use
the ‘generalization’ relationship
to inherit that role’s capabilities.
īŽ The systems and business
process analysts both inherit
everything the analyst role
does.
īŽ I have rarely found a need to
use the ‘generalization’
relationship between use cases.
If anything I have found that it
adds ambiguity to the use
cases.
11/5/2019 14
Leslie Munday 2008
The Activity Diagram Components
īŽ Initial Node
īŽ Control Flow
īŽ Action or Activity
īŽ Object Flow
īŽ Branch
īŽ Merge
īŽ Fork
īŽ Join
īŽ Final Node
11/5/2019 15
Leslie Munday 2008
Initial Node
īŽ This represents the
start of the flow of
an activity diagram.
īŽ An activity diagram
contains a single
start node.
īŽ The name of the
initial node is
entered on the
node. It takes the
form of an adjective.
11/5/2019 16
Leslie Munday 2008
Control Flow
īŽ A control flow connects any combination of:
īŽ activities
īŽ branches
īŽ merges
īŽ forks
īŽ joins
īŽ A control flow has direction, which is indicated by the arrow
head – you may only traverse the control flow in the
direction of the arrow.
īŽ A control flow may not enter an initial state.
īŽ A control flow may not exit a final node.
īŽ A control flow is the representation of an occurrence of an
event.
īŽ The name of the event is entered on the control flow. It
takes the form of something has been done, noun-
verb(past-tense)
11/5/2019 17
Leslie Munday 2008
Activity And Action
īŽ The activity represents
the actions that occur as
a result of an incoming
event from a control flow.
īŽ The name of the activity
is entered on the activity
and takes the form of
something being done,
present tense verb-noun
11/5/2019 18
Leslie Munday 2008
Branch
īŽ The branch is used to show alternative paths in the
activity diagram.
īŽ Label the decision node with a question(?).
īŽ Do not label the merge, (unless you have a good
reason to).
īŽ One control flow enters the decision node and two or
more alternative control flows exit the decision node.
īŽ Only one of the paths may be transitioned as the
result of an event occurring.
īŽ Each exiting control flow contains the condition under
which it is taken (called a guard), dependent upon the
answer to the question. These guards must be
mutually exclusive.
īŽ The guards on exiting control flows must cover all
possible outcomes of the question being asked by the
branch.
īŽ The simplest way to ensure all possible outcomes are
covered is to phrase the branch question such that the
only possible answers are ‘Yes’ or ‘No’. Note, this can
add extra branches to the diagram.
īŽ Two or more control flows enter the merge node
and one control flow exits.
11/5/2019 19
Leslie Munday 2008
Fork
īŽ The fork may be represented by vertical or
horizontal bars.
īŽ The fork represents that the flow through the
diagram has split into 2 paths that are running
in parallel (multitasking).
īŽ The fork has a single control flow on entry and
several control flows exiting.
īŽ Use a fork when there is no requirement on
the order of activities in a flow.
īŽ For example, the Dematerializer receives an
event that the door is shut. It now suspends the
cargo and creates a vacuum, but these actions
may be performed in parallel, so we model them
with a fork.
11/5/2019 20
Leslie Munday 2008
Join
īŽ For every fork there should be a join (if not
your activity diagram is broken).
īŽ The join may be represented by vertical or
horizontal bars.
īŽ A join simply shows that when the parallel
activities have finished that they then
come back to join a single flow again.
īŽ The join has several control flows entering
and a single control flow on exit.
īŽ The exiting control flow cannot be
executed until every incoming control flow
has completed.
īŽ There is no need to label the fork or join.
11/5/2019 21
Leslie Munday 2008
Final Node
īŽ The final node represents the termination of
the activity diagram.
īŽ There may be several termination states in
a single diagram.
īŽ Label the final node with an adjective.
11/5/2019 22
Leslie Munday 2008
The Use Case Details
īŽ How does the activity diagram relate to the
use case template?
īŽ Each component of the activity diagram
represents a detail in the use case, as follows:
īŽ Precondition – Initial state.
īŽ User step – Event.
īŽ System action – Activity.
īŽ Alternate flow – Decision.
īŽ Alternate flow returning to the basic flow – Merge.
īŽ System activities running in parallel – Fork.
īŽ Parallel activities joining the basic flow – Join.
īŽ Postcondition – Final node.
11/5/2019 23
Leslie Munday 2008
Mapping To The Use Case?
īŽ Precondition
īŽ Actor input
īŽ System Step
īŽ Alternative or extension
flow
īŽ Basic Flow
īŽ Returning alternate flow
īŽ Parallel activities
īŽ Postcondition
11/5/2019 24
Leslie Munday 2008
Dematerialize Cargo Example 1
īŽ Precondition
īŽ The system is ready to transport
cargo.
īŽ Basic Flow
1. The system receives a command
to open the door to the
Dematerializer.
2. The system opens the door to
the Dematerializer.
3. The system receives a command
to transport the cargo.
4. The Transmitter is ready to
transmit and the system closes
the door to the Dematerializer.
īŽ Alternate Flow
1. At step 4, the Transmitter is not
ready to transmit, and the
system waits for the transmitter
to be ready to transmit.
2. The Transmitter is ready to
transmit and the use case
continues from step 4.
11/5/2019 25
Leslie Munday 2008
Dematerialize Cargo Example 2
īŽ Basic Flow (continued)
6. The system sends the
deconstructed cargo to the
Transmitter and sends the
cargo blueprint to the
Blueprint Manager.
7. The system removes the
vacuum from the
Dematerializer.
8. The vacuum is removed and
the use case ends.
īŽ Postcondition
īŽ The system is ready to
transmit cargo.
īŽ Extension Flow
1. At step 8, the system is set to
shutdown when the cargo is
transmitted, and the systems
performs a shutdown.
2. The system shutsdown and
the use case ends.
īŽ Postcondition
ī‚§ The system is shutdown
11/5/2019 26
Leslie Munday 2008
Advanced Notation
īŽ In addition to the basic activity diagram
components there are:
īŽ Objects and object flows.
īŽ Swimlanes.
īŽ Objects are used to identify potential
analysis classes.
īŽ Swimlanes can be used on BUC activity
diagrams to group activities or indicate roles
that perform an activity.
11/5/2019 27
Leslie Munday 2008
Swimlanes
īŽ Consider the following activity diagram which
describes the ‘Exploring Automation Requirements’
workflow from the business modeling discipline.
īŽ ‘Set And Adjust Goals’ activity is performed by the
business process analyst.
īŽ ‘Define Automation Requirements’ activity is
performed by the business designer.
īŽ The activities performed by the same role (or
department) are positioned such that they all fall
into the same vertical column.
īŽ Beware: swimlanes can become very expensive to
maintain, you might want to consider using
stereotypes to identify the role.
11/5/2019 28
Leslie Munday 2008
Swimlane Example Diagram
11/5/2019 29
Leslie Munday 2008
Another Swimlane Example
īŽ This example
demonstrates
how swimlanes
can be used to
define the steps
of a business
use case that
are to be
automated.
11/5/2019 30
Leslie Munday 2008
Object
īŽ Objects represent external
information that is being
manipulated by the use case.
īŽ Every use case activity should be
reading from or writing to at least
one object, (otherwise how can
you test that the activity executed).
īŽ Any data manipulated by an
activity, should be shown as being
input from an object.
īŽ The results are output to an object.
īŽ The object takes the name of an
instance of its class.
11/5/2019 31
Leslie Munday 2008
AUC With Objects
īŽ The ‘Opening Door’
activity sends an
‘open’ command to
the ‘door’ object.
īŽ The ‘Waiting For
Transmitter’ activity
reads the status of
the ‘transmitter’
object.
īŽ The objects are
instances of the
‘Door’ and
‘Transmitter’
classes.
11/5/2019 32
Leslie Munday 2008
Why Model Use Cases?
īŽ Gives an overview of your use case steps without having
to read the details.
īŽ Performing a simulated execution, aids identifying missing
or misplaced steps in the use case.
īŽ Shows the alternative paths through the use case with the
basic flow.
īŽ Allows for a consistent and unambiguous method for
specifying the steps in the use case.
īŽ It’s a faster way to get the basic flow from the
stakeholders (they will thank you in the long term).
11/5/2019 33
Leslie Munday 2008
Naming Conventions
īŽ Name events in the past tense with text that describes what happened in order to
trigger the event. Text of the form of ‘Verb Noun’ is appropriate, (or ‘Noun Verb’ if
preferred, but be consistent).
īŽ Activities should be named in the present tense with text that describes what is
currently happening. Text of the form ‘Doing Something With Noun’ is appropriate.
īŽ The control flows exiting a fork synchronization bar are effectively the same as the
control flow entering the fork and do not need to be named.
īŽ The control flow exiting a join synchronization bar is effectively a combination of all
entering control flows. It is not necessary to label the exiting control flow.
īŽ Use ‘Capitalized Words’ for names of activities, events and guards.
īŽ The start state should be labeled such that it describes a precondition of the activity
diagram (i.e. the state of the system or business prior to the occurrence of the event
that control flows out of this state).
īŽ Label the end state with text that describes the postcondition of the system/business
when the end state is reached.
īŽ Label a decision with text representing the question being asked, followed by a ‘?’.
īŽ It is not necessary to label a merge, fork or join.
11/5/2019 34
Leslie Munday 2008
Activity Diagram Semantics
īŽ Every activity diagram should have exactly one start state.
īŽ Every activity diagram should contain one or more end states.
īŽ Every activity should have at least one entering control flow and one exiting control
flow. (An activity with no entering control flow will never be executed. An activity with
no exiting control flow will never terminate.)
īŽ Ensure that the labels on the control flows exiting a decision cover every possible
outcome to the question being asked by the decision node.
īŽ Ensure that no two exiting control flows from a decision can take the same answer to
the question.
īŽ Use the [guard] field to label the outgoing control flows from a decision; because the
text does not represent an event, it represents a guard on the incoming event.
īŽ Avoid placing activities (or any other activity diagram component) within activities. If
you feel the need to break your activity into smaller sub-activities (the general semantic
meaning of placing activities within activities) it suggests that the activities are too
complex and their scope should be re-visited.
īŽ For every fork synchronization bar there should be a corresponding join synchronization
bar. The join synchronization bar allows every activity on a parallel path in the fork, to
complete. The omission of a join synchronization bar indicates that the activity diagram
can end with an activity not completed.
11/5/2019 35
Leslie Munday 2008
Exercise
īŽ Create a use case diagram that shows a
customer making a withdrawal and a deposit
with an ATM.
īŽ Model The ATM example use case With An
Activity Diagram.
īŽ There are no ‘right’ answers.
īŽ There is no industry standard for modeling
use cases.
11/5/2019 36

More Related Content

What's hot

Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modellingBenazir Fathima
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGERaval Chirag
 
Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbelnubiafernandez8
 
Activity diagram tutorial
Activity diagram tutorialActivity diagram tutorial
Activity diagram tutorialDeclan Chellar
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modelingShahid Riaz
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysisMahesh Bhalerao
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationmewaseem
 
Uml with detail
Uml with detailUml with detail
Uml with detailHamza Khan
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Uml
UmlUml
Umlparag
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagramRamakant Soni
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSAshita Agrawal
 

What's hot (20)

Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbel
 
Activity diagram tutorial
Activity diagram tutorialActivity diagram tutorial
Activity diagram tutorial
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Object oriented analysis and design unit- iii
Object oriented analysis and design unit- iiiObject oriented analysis and design unit- iii
Object oriented analysis and design unit- iii
 
Object oriented analysis and design unit- ii
Object oriented analysis and design unit- iiObject oriented analysis and design unit- ii
Object oriented analysis and design unit- ii
 
Uml with detail
Uml with detailUml with detail
Uml with detail
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Uml
UmlUml
Uml
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 
Uml
UmlUml
Uml
 
Class diagram
Class diagramClass diagram
Class diagram
 
CBAM
 CBAM CBAM
CBAM
 
State Diagrams
State DiagramsState Diagrams
State Diagrams
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 

Similar to Use Case and Activity Diagrams Modeling Notation

Use Case and Activity Diagrams Modeling Notation
Use Case and Activity Diagrams Modeling NotationUse Case and Activity Diagrams Modeling Notation
Use Case and Activity Diagrams Modeling NotationLeslie Munday
 
Realizing an Application Use Case
Realizing an Application Use CaseRealizing an Application Use Case
Realizing an Application Use CaseLeslie Munday
 
Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)Gajeshwar Bahekar
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxTangZhiSiang
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture icairo university
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxKimberly Jones
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ansdhivyarangasamy
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEWrizki adam kurniawan
 
How to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS WordHow to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS WordLeslie Munday
 
Session07-Diagram.pdf
Session07-Diagram.pdfSession07-Diagram.pdf
Session07-Diagram.pdfPeterTran514407
 
Use Case Analysis and Diagramming
 Use Case Analysis and Diagramming Use Case Analysis and Diagramming
Use Case Analysis and DiagrammingOrnella Dunn
 
Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyEswar Publications
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case DiagramsMarwa Ali Eissa
 
Lecture 3 cst205 cst281-oop
Lecture 3 cst205 cst281-oopLecture 3 cst205 cst281-oop
Lecture 3 cst205 cst281-oopktuonlinenotes
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLyndaravind
 

Similar to Use Case and Activity Diagrams Modeling Notation (20)

Use Case and Activity Diagrams Modeling Notation
Use Case and Activity Diagrams Modeling NotationUse Case and Activity Diagrams Modeling Notation
Use Case and Activity Diagrams Modeling Notation
 
Realizing an Application Use Case
Realizing an Application Use CaseRealizing an Application Use Case
Realizing an Application Use Case
 
Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptx
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
 
Ooad quest and ans
Ooad quest and ansOoad quest and ans
Ooad quest and ans
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
 
How to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS WordHow to Complete a Use Case Templlate with MS Word
How to Complete a Use Case Templlate with MS Word
 
Session07-Diagram.pdf
Session07-Diagram.pdfSession07-Diagram.pdf
Session07-Diagram.pdf
 
Use Case Analysis and Diagramming
 Use Case Analysis and Diagramming Use Case Analysis and Diagramming
Use Case Analysis and Diagramming
 
Use Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and TaxonomyUse Case Modeling in Software Development: A Survey and Taxonomy
Use Case Modeling in Software Development: A Survey and Taxonomy
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case Diagrams
 
Lecture 3 cst205 cst281-oop
Lecture 3 cst205 cst281-oopLecture 3 cst205 cst281-oop
Lecture 3 cst205 cst281-oop
 
UML Design
UML DesignUML Design
UML Design
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Use Cases
Use CasesUse Cases
Use Cases
 
Use Cases
Use CasesUse Cases
Use Cases
 

More from Leslie Munday

Using Agile In A Quality Driven Environment
Using Agile In A Quality Driven EnvironmentUsing Agile In A Quality Driven Environment
Using Agile In A Quality Driven EnvironmentLeslie Munday
 
Models vs Diagrams
Models vs DiagramsModels vs Diagrams
Models vs DiagramsLeslie Munday
 
Requirements and Traceability With Pictures
Requirements and Traceability With PicturesRequirements and Traceability With Pictures
Requirements and Traceability With PicturesLeslie Munday
 
Using Styles and Properties with MS Word
Using Styles and Properties with MS WordUsing Styles and Properties with MS Word
Using Styles and Properties with MS WordLeslie Munday
 
An Analysis Of A Jigsaw Puzzle
An Analysis Of A Jigsaw PuzzleAn Analysis Of A Jigsaw Puzzle
An Analysis Of A Jigsaw PuzzleLeslie Munday
 
Create A Use Case Document with ReqPro
Create A Use Case Document with ReqProCreate A Use Case Document with ReqPro
Create A Use Case Document with ReqProLeslie Munday
 
An Analysis of the BABOK
An Analysis of the BABOKAn Analysis of the BABOK
An Analysis of the BABOKLeslie Munday
 
Requirements management and traceability for IIBA
Requirements management and traceability for IIBARequirements management and traceability for IIBA
Requirements management and traceability for IIBALeslie Munday
 
Analysis Of A Shopping Expedition Part II
Analysis Of A Shopping Expedition Part IIAnalysis Of A Shopping Expedition Part II
Analysis Of A Shopping Expedition Part IILeslie Munday
 
Working With Styles And Properties
Working With Styles And PropertiesWorking With Styles And Properties
Working With Styles And PropertiesLeslie Munday
 
Administrating Req Pro
Administrating Req ProAdministrating Req Pro
Administrating Req ProLeslie Munday
 
Managing Requirement With A Rmp
Managing Requirement With A RmpManaging Requirement With A Rmp
Managing Requirement With A RmpLeslie Munday
 
Capture A Common Vocabulary
Capture A Common VocabularyCapture A Common Vocabulary
Capture A Common VocabularyLeslie Munday
 
Introduction To ReqPro
Introduction To ReqProIntroduction To ReqPro
Introduction To ReqProLeslie Munday
 

More from Leslie Munday (14)

Using Agile In A Quality Driven Environment
Using Agile In A Quality Driven EnvironmentUsing Agile In A Quality Driven Environment
Using Agile In A Quality Driven Environment
 
Models vs Diagrams
Models vs DiagramsModels vs Diagrams
Models vs Diagrams
 
Requirements and Traceability With Pictures
Requirements and Traceability With PicturesRequirements and Traceability With Pictures
Requirements and Traceability With Pictures
 
Using Styles and Properties with MS Word
Using Styles and Properties with MS WordUsing Styles and Properties with MS Word
Using Styles and Properties with MS Word
 
An Analysis Of A Jigsaw Puzzle
An Analysis Of A Jigsaw PuzzleAn Analysis Of A Jigsaw Puzzle
An Analysis Of A Jigsaw Puzzle
 
Create A Use Case Document with ReqPro
Create A Use Case Document with ReqProCreate A Use Case Document with ReqPro
Create A Use Case Document with ReqPro
 
An Analysis of the BABOK
An Analysis of the BABOKAn Analysis of the BABOK
An Analysis of the BABOK
 
Requirements management and traceability for IIBA
Requirements management and traceability for IIBARequirements management and traceability for IIBA
Requirements management and traceability for IIBA
 
Analysis Of A Shopping Expedition Part II
Analysis Of A Shopping Expedition Part IIAnalysis Of A Shopping Expedition Part II
Analysis Of A Shopping Expedition Part II
 
Working With Styles And Properties
Working With Styles And PropertiesWorking With Styles And Properties
Working With Styles And Properties
 
Administrating Req Pro
Administrating Req ProAdministrating Req Pro
Administrating Req Pro
 
Managing Requirement With A Rmp
Managing Requirement With A RmpManaging Requirement With A Rmp
Managing Requirement With A Rmp
 
Capture A Common Vocabulary
Capture A Common VocabularyCapture A Common Vocabulary
Capture A Common Vocabulary
 
Introduction To ReqPro
Introduction To ReqProIntroduction To ReqPro
Introduction To ReqPro
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸Delhi Call girls
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂ī¸
CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂ī¸CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂ī¸
CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂ī¸anilsa9823
 
CALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfWilly Marroquin (WillyDevNET)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto GonzÃĄlez Trastoy
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
call girls in Vaishali (Ghaziabad) 🔝 >āŧ’8448380779 🔝 genuine Escort Service 🔝✔ī¸âœ”ī¸
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂ī¸
CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂ī¸CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂ī¸
CALL ON âžĨ8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂ī¸
 
CALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON âžĨ8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Use Case and Activity Diagrams Modeling Notation

  • 1. 2009 copyright Leslie Munday University Use Case Modeling With Activity And Use Case Diagrams Requirements Discipline Activity 5 November 2019
  • 2. Leslie Munday 2008 Precursor īŽ In order to understand the material in this course, you should have equivalent knowledge of a UML modeling tool and of the following: īŽ An Introduction To Business Use Cases. īŽ Working with AUC documents. 11/5/2019 2
  • 3. Leslie Munday 2008 Use Case And Activity Diagrams īŽ In this presentation we will learn: īŽ what are the components of a use case diagram. īŽ how the use case diagram components are related. īŽ what is the difference between an application use case diagram and a business use case diagram. īŽ what are the different components of an activity diagram. īŽ what are the relationships between the different components. īŽ how to represent a business use case with an activity diagram. īŽ how to represent an application use case with an activity diagram. 11/5/2019 3
  • 4. Leslie Munday 2008 īŽ Activity - The specification of an executable statement that includes 1 or more actions and may result in a change in the state of the system. īŽ Application – the software part of the system under discussion. īŽ Artifact – Any complete piece of a model. īŽ Business Actor – Someone who gets benefit from the business use case. īŽ Component – Anything that can be placed on a diagram. īŽ Diagram – A graphical depiction of all or part of a model. īŽ Model – A complete description of a system from a particular perspective. īŽ Object - An entity with a well-defined boundary and identity that encapsulates state and behavior. īŽ Postcondition – the state of the system after a use case has executed. īŽ Precondition – the state of the system prior to a use case executing. īŽ Relationship – shows communication between an actor and a use case. īŽ State - A condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event. īŽ Package – A container for grouping artifacts. īŽ System – the item under discussion, it may comprise hardware, software or both. īŽ System Actor - Someone or something, outside the system that interacts with the system. īŽ Use Case – A set of actions a that yields an observable result of value to a particular actor. Terms Used In This Presentation 11/5/2019 4
  • 5. Leslie Munday 2008 Use Case History īŽ 1986 - Ivar Jacobson introduces the concept of use cases to Ericsson. īŽ 1987 – Objectory AB, founded by Jacobson. īŽ 1995 – Rational buys Objectory. īŽ 1995 – Use cases are introduced into the Unified Modeling Language 0.9 proposal. īŽ 1997 – UML 1.0 adopted by OMG. īŽ 1998 – Rational Unified Process is evolved from the Objectory process. 11/5/2019 5
  • 6. Leslie Munday 2008 Activity Diagram History īŽ The activity diagram is a derivation of the state transition diagram. (State transition diagrams, (STD) as their name suggests contain states connected by transitions.) īŽ A transition is triggered by an event. īŽ A state is the result of the execution of an event. īŽ With the emergence of use cases a diagram was required that also shows events and actions. īŽ Actions were added to the STD to create the activity diagram. īŽ Think of it as a hybrid of a state transition diagram and a flowchart. īŽ In UML 2.x the activity diagram has evolved into an automated token executing machine, which allows for modeling of complex operations. 11/5/2019 6
  • 7. Leslie Munday 2008 Overview īŽ The notation used in this presentation is based upon that specified in the UML 1.x specifications, not UML 2.x. īŽ The notation is specific to modeling use cases. Where the definition of a component is not relevant to this goal, I either ignore it or redefine it appropriately. īŽ The objective is to define a notation that is consistent, easy to use and does not allow ambiguous modeling rules (one way and one way only to represent a concept) yet will not restrain you from expressing everything that is required in your use case model. 11/5/2019 7
  • 8. Leslie Munday 2008 Why Do We Need Notation? īŽ Don’t the UML specifications specify how to draw these diagrams? No, they define the semantics of the symbols used in the diagrams, but do not commit to a consist use on diagrams. īŽ UML tries to be all things to all people. It is impossible to use in consistent and unambiguous manner unless guidelines are built around the semantics in order to constrain their rules. īŽ For example, Rational recommends that the primary actor in a use case is identified with a directed association. UML contains no such rules or guidelines. īŽ I was taught that when two threads are created, from a fork, (which run concurrently) that neither thread could continue (return to the main path) until both threads reached a join. īŽ According to the UML specifications, concerning forks and joins, either can be used without the other. In my understanding this does not make sense because the threads will never complete, hence the use case will never end. 11/5/2019 8
  • 9. Leslie Munday 2008 The Use Case Diagram īŽ There are two types of use case diagram: īŽ business use case (BUC) diagram. īŽ application use case (AUC) diagram. īŽ The business use case diagram describes the activities performed by any number of business workers (people) in order to achieve a business goal (whether they are manual or automated is not specified in the BUC). īŽ The application use case describes the activities performed by the software in order to achieve a system goal. 11/5/2019 9
  • 10. Leslie Munday 2008 Use Case Diagram Overview īŽ A use case diagram contains actors, use cases and relationships between them. īŽ If a use case diagram becomes difficult to read on a single page, then break it into 2 diagrams. īŽ I recommend, especially for systems with a large number of use cases, showing actors connecting to a single use case, by duplicating the actor. In this manner restructuring the use case diagram is much simpler. 11/5/2019 10
  • 11. Leslie Munday 2008 Common To Use Case Diagrams īŽ Indicate the primary actor using an arrowhead on the relationship entering the use case. īŽ Indicate secondary actors by using no arrowheads on the relationship line. īŽ Included use cases have an arrowhead entering the use case and the relationship contains the stereotype <<include>>. īŽ Extending use cases have an arrowhead entering the use case being extended and the relationship contains the stereotype <<extend>>. 11/5/2019 11
  • 12. Leslie Munday 2008 Business Use Case Diagrams īŽ The primary actor is the stakeholder that is getting benefit from the BUC. īŽ The secondary actors are people outside the business, that interact with the activity of the BUC. īŽ Some modeling tools will distinguish a BUC from an AUC by placing a line through the use case shape; alternatively give the BUC a stereotype named ‘Business’. īŽ Some guidelines distinguish between business actors and system actors; rarely do I find this necessary. (If a role of the same name appears in both organizations; business and system, but they perform different roles, then distinguishing between business and system actors may be necessary.) 11/5/2019 12
  • 13. Leslie Munday 2008 Application Use Case Diagrams īŽ The primary actor is the role that initiates the execution of the AUC. īŽ The secondary actors are applications or people outside of the AUC that interact with the use case. 11/5/2019 13
  • 14. Leslie Munday 2008 Using Inheritance In Use Cases īŽ When two or more roles are the primary actor of a use case, create a common role and use the ‘generalization’ relationship to inherit that role’s capabilities. īŽ The systems and business process analysts both inherit everything the analyst role does. īŽ I have rarely found a need to use the ‘generalization’ relationship between use cases. If anything I have found that it adds ambiguity to the use cases. 11/5/2019 14
  • 15. Leslie Munday 2008 The Activity Diagram Components īŽ Initial Node īŽ Control Flow īŽ Action or Activity īŽ Object Flow īŽ Branch īŽ Merge īŽ Fork īŽ Join īŽ Final Node 11/5/2019 15
  • 16. Leslie Munday 2008 Initial Node īŽ This represents the start of the flow of an activity diagram. īŽ An activity diagram contains a single start node. īŽ The name of the initial node is entered on the node. It takes the form of an adjective. 11/5/2019 16
  • 17. Leslie Munday 2008 Control Flow īŽ A control flow connects any combination of: īŽ activities īŽ branches īŽ merges īŽ forks īŽ joins īŽ A control flow has direction, which is indicated by the arrow head – you may only traverse the control flow in the direction of the arrow. īŽ A control flow may not enter an initial state. īŽ A control flow may not exit a final node. īŽ A control flow is the representation of an occurrence of an event. īŽ The name of the event is entered on the control flow. It takes the form of something has been done, noun- verb(past-tense) 11/5/2019 17
  • 18. Leslie Munday 2008 Activity And Action īŽ The activity represents the actions that occur as a result of an incoming event from a control flow. īŽ The name of the activity is entered on the activity and takes the form of something being done, present tense verb-noun 11/5/2019 18
  • 19. Leslie Munday 2008 Branch īŽ The branch is used to show alternative paths in the activity diagram. īŽ Label the decision node with a question(?). īŽ Do not label the merge, (unless you have a good reason to). īŽ One control flow enters the decision node and two or more alternative control flows exit the decision node. īŽ Only one of the paths may be transitioned as the result of an event occurring. īŽ Each exiting control flow contains the condition under which it is taken (called a guard), dependent upon the answer to the question. These guards must be mutually exclusive. īŽ The guards on exiting control flows must cover all possible outcomes of the question being asked by the branch. īŽ The simplest way to ensure all possible outcomes are covered is to phrase the branch question such that the only possible answers are ‘Yes’ or ‘No’. Note, this can add extra branches to the diagram. īŽ Two or more control flows enter the merge node and one control flow exits. 11/5/2019 19
  • 20. Leslie Munday 2008 Fork īŽ The fork may be represented by vertical or horizontal bars. īŽ The fork represents that the flow through the diagram has split into 2 paths that are running in parallel (multitasking). īŽ The fork has a single control flow on entry and several control flows exiting. īŽ Use a fork when there is no requirement on the order of activities in a flow. īŽ For example, the Dematerializer receives an event that the door is shut. It now suspends the cargo and creates a vacuum, but these actions may be performed in parallel, so we model them with a fork. 11/5/2019 20
  • 21. Leslie Munday 2008 Join īŽ For every fork there should be a join (if not your activity diagram is broken). īŽ The join may be represented by vertical or horizontal bars. īŽ A join simply shows that when the parallel activities have finished that they then come back to join a single flow again. īŽ The join has several control flows entering and a single control flow on exit. īŽ The exiting control flow cannot be executed until every incoming control flow has completed. īŽ There is no need to label the fork or join. 11/5/2019 21
  • 22. Leslie Munday 2008 Final Node īŽ The final node represents the termination of the activity diagram. īŽ There may be several termination states in a single diagram. īŽ Label the final node with an adjective. 11/5/2019 22
  • 23. Leslie Munday 2008 The Use Case Details īŽ How does the activity diagram relate to the use case template? īŽ Each component of the activity diagram represents a detail in the use case, as follows: īŽ Precondition – Initial state. īŽ User step – Event. īŽ System action – Activity. īŽ Alternate flow – Decision. īŽ Alternate flow returning to the basic flow – Merge. īŽ System activities running in parallel – Fork. īŽ Parallel activities joining the basic flow – Join. īŽ Postcondition – Final node. 11/5/2019 23
  • 24. Leslie Munday 2008 Mapping To The Use Case? īŽ Precondition īŽ Actor input īŽ System Step īŽ Alternative or extension flow īŽ Basic Flow īŽ Returning alternate flow īŽ Parallel activities īŽ Postcondition 11/5/2019 24
  • 25. Leslie Munday 2008 Dematerialize Cargo Example 1 īŽ Precondition īŽ The system is ready to transport cargo. īŽ Basic Flow 1. The system receives a command to open the door to the Dematerializer. 2. The system opens the door to the Dematerializer. 3. The system receives a command to transport the cargo. 4. The Transmitter is ready to transmit and the system closes the door to the Dematerializer. īŽ Alternate Flow 1. At step 4, the Transmitter is not ready to transmit, and the system waits for the transmitter to be ready to transmit. 2. The Transmitter is ready to transmit and the use case continues from step 4. 11/5/2019 25
  • 26. Leslie Munday 2008 Dematerialize Cargo Example 2 īŽ Basic Flow (continued) 6. The system sends the deconstructed cargo to the Transmitter and sends the cargo blueprint to the Blueprint Manager. 7. The system removes the vacuum from the Dematerializer. 8. The vacuum is removed and the use case ends. īŽ Postcondition īŽ The system is ready to transmit cargo. īŽ Extension Flow 1. At step 8, the system is set to shutdown when the cargo is transmitted, and the systems performs a shutdown. 2. The system shutsdown and the use case ends. īŽ Postcondition ī‚§ The system is shutdown 11/5/2019 26
  • 27. Leslie Munday 2008 Advanced Notation īŽ In addition to the basic activity diagram components there are: īŽ Objects and object flows. īŽ Swimlanes. īŽ Objects are used to identify potential analysis classes. īŽ Swimlanes can be used on BUC activity diagrams to group activities or indicate roles that perform an activity. 11/5/2019 27
  • 28. Leslie Munday 2008 Swimlanes īŽ Consider the following activity diagram which describes the ‘Exploring Automation Requirements’ workflow from the business modeling discipline. īŽ ‘Set And Adjust Goals’ activity is performed by the business process analyst. īŽ ‘Define Automation Requirements’ activity is performed by the business designer. īŽ The activities performed by the same role (or department) are positioned such that they all fall into the same vertical column. īŽ Beware: swimlanes can become very expensive to maintain, you might want to consider using stereotypes to identify the role. 11/5/2019 28
  • 29. Leslie Munday 2008 Swimlane Example Diagram 11/5/2019 29
  • 30. Leslie Munday 2008 Another Swimlane Example īŽ This example demonstrates how swimlanes can be used to define the steps of a business use case that are to be automated. 11/5/2019 30
  • 31. Leslie Munday 2008 Object īŽ Objects represent external information that is being manipulated by the use case. īŽ Every use case activity should be reading from or writing to at least one object, (otherwise how can you test that the activity executed). īŽ Any data manipulated by an activity, should be shown as being input from an object. īŽ The results are output to an object. īŽ The object takes the name of an instance of its class. 11/5/2019 31
  • 32. Leslie Munday 2008 AUC With Objects īŽ The ‘Opening Door’ activity sends an ‘open’ command to the ‘door’ object. īŽ The ‘Waiting For Transmitter’ activity reads the status of the ‘transmitter’ object. īŽ The objects are instances of the ‘Door’ and ‘Transmitter’ classes. 11/5/2019 32
  • 33. Leslie Munday 2008 Why Model Use Cases? īŽ Gives an overview of your use case steps without having to read the details. īŽ Performing a simulated execution, aids identifying missing or misplaced steps in the use case. īŽ Shows the alternative paths through the use case with the basic flow. īŽ Allows for a consistent and unambiguous method for specifying the steps in the use case. īŽ It’s a faster way to get the basic flow from the stakeholders (they will thank you in the long term). 11/5/2019 33
  • 34. Leslie Munday 2008 Naming Conventions īŽ Name events in the past tense with text that describes what happened in order to trigger the event. Text of the form of ‘Verb Noun’ is appropriate, (or ‘Noun Verb’ if preferred, but be consistent). īŽ Activities should be named in the present tense with text that describes what is currently happening. Text of the form ‘Doing Something With Noun’ is appropriate. īŽ The control flows exiting a fork synchronization bar are effectively the same as the control flow entering the fork and do not need to be named. īŽ The control flow exiting a join synchronization bar is effectively a combination of all entering control flows. It is not necessary to label the exiting control flow. īŽ Use ‘Capitalized Words’ for names of activities, events and guards. īŽ The start state should be labeled such that it describes a precondition of the activity diagram (i.e. the state of the system or business prior to the occurrence of the event that control flows out of this state). īŽ Label the end state with text that describes the postcondition of the system/business when the end state is reached. īŽ Label a decision with text representing the question being asked, followed by a ‘?’. īŽ It is not necessary to label a merge, fork or join. 11/5/2019 34
  • 35. Leslie Munday 2008 Activity Diagram Semantics īŽ Every activity diagram should have exactly one start state. īŽ Every activity diagram should contain one or more end states. īŽ Every activity should have at least one entering control flow and one exiting control flow. (An activity with no entering control flow will never be executed. An activity with no exiting control flow will never terminate.) īŽ Ensure that the labels on the control flows exiting a decision cover every possible outcome to the question being asked by the decision node. īŽ Ensure that no two exiting control flows from a decision can take the same answer to the question. īŽ Use the [guard] field to label the outgoing control flows from a decision; because the text does not represent an event, it represents a guard on the incoming event. īŽ Avoid placing activities (or any other activity diagram component) within activities. If you feel the need to break your activity into smaller sub-activities (the general semantic meaning of placing activities within activities) it suggests that the activities are too complex and their scope should be re-visited. īŽ For every fork synchronization bar there should be a corresponding join synchronization bar. The join synchronization bar allows every activity on a parallel path in the fork, to complete. The omission of a join synchronization bar indicates that the activity diagram can end with an activity not completed. 11/5/2019 35
  • 36. Leslie Munday 2008 Exercise īŽ Create a use case diagram that shows a customer making a withdrawal and a deposit with an ATM. īŽ Model The ATM example use case With An Activity Diagram. īŽ There are no ‘right’ answers. īŽ There is no industry standard for modeling use cases. 11/5/2019 36