Professional Documents
Culture Documents
CONFIDENTIALITY: 2010 BA ValueBASE LLP, The concepts and methodologies contained herein are proprietary to BA ValueBASE LLP. Duplication,
reproduction or disclosure of information in this document without the express written permission of BA ValueBASE LLP is prohibited.
Learning Objectives
Understanding:
Use Case Diagram
Use Case Model
2011 BA ValueBASE LLP
USE CASE
Actor
The Actor can be divided into two sub-categories according to there relation with the Use case:
Primary Actor: A primary actor is one having a goal requiring the assistance of the system.
Eg. For Create Order' Use Case, the Order Entry Clerk will be the primary actor as it uses this
functionality to complete its action.
Secondary Actor: A secondary actor is one from which the system needs assistance.
Eg. For the same Create Order' Use Case, a database administrator can be a secondary actor who
will define the roles of different order entry clerks.
2011 BA ValueBASE LLP
Actors are people or other systems to whom the system provides value.
To identify actors it is important to identify the purpose and boundary of the system and to
know whom it provides value.
To find to whom system provides value for, try finding answers to these questions:
In ATM application, the people or system interacting with the ATM system are
Customers to withdraw cash, deposit cash, check balance, print statements and
request for Cheque book
Customers, Bank Personnel and Banking System are the actors of the system.
Use Case is
Use Cases tells the story of how the system and its actors collaborate to deliver something of
value for at least one of the actors.
To identify use cases, identify the actors need or value from the system.
Focusing on actor value is key in identifying use cases. Trying to answer these questions will
enable identifying use cases:
For each actor you have identified, what are the goals that the system will fulfill?
Will the actor need to inform the system about sudden, external changes?
Can all features be performed by the use cases you have identified?
What use cases will start, stop, configure, support, and maintain the system?
What occurrences must the system track and inform the actors about?
Does the use-case model represent the interests of all the stakeholders?
2011 BA ValueBASE LLP
Identify the functionality of the system that provides a value to the actor.
E.g.: Withdraw Money in ATM Application will be a use case.
Group the set of related functionality of the system that provides a value to the actor.
E.g.: Create, Update and View Bank Account in Banking Application will be grouped together to create a
Maintain Bank Account use case.
Do NOT identify use cases for menu that will just act as a dispatcher to Include other use cases and has no
functionality on its own.
E.g.: In a Banking Application if Search is a menu option and it has search for bank accounts, customers and
transactions. Perform Search CANNOT be a use case on its own that includes Perform Customer Search,
Perform Transactions Search etc. The search functionality will be handled by individual Search use cases.
Do NOT identify features that does not provide any business value to the actor.
E.g.: Verifying ATM Password cannot be a use case. It does not provide any business value of Withdraw
Money or Deposit Money.
2011 BA ValueBASE LLP
CONCEPT:
two or more use cases or a variation in behavior of an use case under specific
circumstances. These two forces drive relationship between use cases.
relation is used.
2011 BA ValueBASE LLP
CONCEPT:
A diagram to show the various user roles and how those roles use the
system.
Withdraw Money
Balance Enquiry
Customer
Change Pin Code
CONCEPT:
Make Payment
OPAL
- Kurt Bitner
A 'use case model' describes the complete
functionality of a system by identifying how
everything that is outside the system interacts
with it
Customer
Nominate Card
SOLVE
Financial Analyst
Acquirer
Generate Reports
Payment Manager
Scheduler
Pass Transaction
Data to PPS
CONCEPT:
Development
Testing
Identified
Analyzed
Verified
Authored
Designed
Accepted
Agreed
Implemented
Due to its user-centric technique, it is made sure the right system is built
Powerful technique for the elicitation and documentation of blackbox functional requirements
Because they are written in natural language, use cases are easy to understand and provide an
excellent way for communicating with customers and users
Use cases can help manage the complexity of large projects by decomposing the problem into
major functions
Give an objective means of project tracking in terms of use cases implemented / tested and
delivered
Use cases can form the foundation on which to specify end-to-end timing requirements for realtime applications.
2011 BA ValueBASE LLP
If the System Scope is Undefined or Inconsistent, it may lead to conflicting use cases
If the Use Cases are written from only Systems perspective, it may lead to hard to use systems from the users point
of view
If the Actors goals are at too low level, it may obscure the big picture
Too many technical and UX details is a strictly a no-no. This could limit the developers creativity and thought process
If Use Cases are too confusing or too long, the developer may meander into insignificant areas
Too many Use Cases, if ungrouped, may make it difficult for development
If Customers not able to understand the Use Cases, it may lead to incorrect requirements capturing
Name the use cases with a <<Verb>> followed by <<Noun>> indicating the goal of the
use case.
Use active verb in present tense for use case steps. Dont use passive voice.
Avoid Functional Decomposition and Dataflow Modeling during use case identification.
Have a single Maintain use case for Create, Read, Update and Delete functions.
Breaking it into separate use case is functional decomposition.
In Batch Use Cases, the scheduler/ time triggers the use case. So Scheduler can be used
as a primary actor.
2011 BA ValueBASE LLP
Contd
In few scenarios, the Interface Use Cases can be triggered by the system. In these
scenarios the "System Under Development" is referred as Primary Actor. These
interface use cases will always be as a include use case.
Don't describe what happens outside the system in use case flows.
The rule of thumb is that an approved Use Case document must be available before a
designer initiates design of the functionality described in the Use Case.
2011 BA ValueBASE LLP
Thank You