Info systems III ISY34AT
Requirements analysis with Use Cases
1 / 25
Problem Domain analysis
The domain of a software product is the business environment
in which the client will need to use the software system
●
First step in building a new system
– Define problem from user point of view
– Determine system acceptance criteria
●
Assist business analyst to:
– Understand the problem and its scope
– Identify opportunity to improve business processes
– Develop solutions that are short and succinct
2 / 25
Domain modelling : use cases
Describe how the user will use the system
●
A typical sequence of actions required to complete a task
●
Model the system from the point of view of:
– How user interacts with the system
– When user wish to achieve their objectives
●
Use cases are useful for modelling of functional requirements
– Use case description
– Use case diagram(UML)
3 / 25
User stories and use cases
A user story describes functionality that will be
valuale to either a user or purchaser of a system
or software.
●
A User Story is a one-sentence description of a work-related
task done by user to archive some goal or result
●
Acceptance Criteria identify the feature that must be present at
the completion of the task
●
The template for a user story description is:
“As a <role> I want to <goal> so that <benefit>”
4 / 25
Example of a user story
As a student, I would like to select a curriculum to be able to
register before classes begin.
Acceptance criteria:
●
Open modules must be listed with their prerequisites
●
Show modules in own campus(e.g Shosa, Rankua)
●
Indicate student limit per class
●
Printout registration classes with a timetable
5 / 25
Use cases collection techniques
●
Use case is identifiable from activities that the user system
performs
●
Name each use case using verb-noun
●
Analysis decompose the system into set of use cases
●
Three techniques to identify use cases
– User goal technique
– CRUD technique
– Event decomposition technique
6 / 25
User goal technique
●
User orientated approach for functional requirement
modelling
– Ask user what are their goals for using the system
●
Identify all of the potential categories of users of the system
●
Interview and ask them to describe the task the computer
can help them with
●
Probe further to refine the task into specific user goals, “I
need to ship items, Track a shipment, Create a return”
7 / 25
User goals tech. example
●
Examples of User and Goals from the RMO-CSMS systems
8 / 25
Steps in user goal technique
1) Identify all the potential user for the new system
2) Classify the potential users in terms of their functional roles
3) Further classify potential users by organization level
4) For each type of user, interview them to find a list of specific
goals they find will have when using the new system (current
goals and innovative functions to add value)
5) Create a list of preliminary use case organization by type of
user
6) Look for duplicates with similar use case names and resolve
inconsistencies
9 / 25
Steps in user goal technique...
7)Identify where different type of user need the same use
cases
8)Review the completed list with each type of user and then
with interested stakeholders
10 / 25
CRUD technique
●
Identify use cases on data stored by the system modelled as
data entities or domain classes
●
Use cases that only Create, Read, Update or Delete the data in
the system
Data entity/class CRUD Resulting use case
Customer Create Add new customer
Read/Report Look up customer
Produce customer list
List customer orders
Update Update customer information
11 / 25
Delete Delete inactive customer
Event decomposition technique
●
Event – something that occurs at a specific time and place,can
be described, and should be remembered by the system
●
Most comprehensive technique for use case identification
– Identity the events that occur to which the system must
respond
– For each event, name a use case(verb-noun) that describes
when the system does when the events occurs
12 / 25
Types of events
●
External event
– An event that occurs outside the system, usually initiated
by the external agent or actor
●
Temporal event
– An event that occurs as a result or reaching a point in time
●
State event
– An event that occurs when something happens inside the
system that triggers some process
eg. reorder point is reached for inventory item
13 / 25
Events and use case example
14 / 25
Only events that affect the system
15 / 25
Perfect technology assumption
16 / 25
Event decom. specific steps
●
Consider the external events in the system environment that
require a response from the system by using the checklist in
Figure 3.3(from book)
●
For each external event, identify and name the use case that
the system requires
●
Consider the temporal events that require a response from the
system by using the checklist shown in Figure 3-4
●
For each temporal event,identify and name the use case that
the system require and then establish the point of time that will
trigger the use case
17 / 25
Event decom. specific steps...
●
Consider the state events that the system might respond to,
particularly if it is real-time system in which devices or internal
state changes trigger use cases
●
For each state event, identify and name the use case that the
system requires and then define the state change
●
When events and use cases are defined check to see if they are
required by using the perfect technology assumption. Do not
include events that involve such system controls as login,
logout, change password, and backup or restore the
database,as these are put in later.
18 / 25
Event decom. Tech. : Benefits
●
Events are broader than user goal: Capture temporal and state
events of the system
●
Help decompose at the right level of analysis : structure the
domain well
●
Uses perfect technology assumptions to make sure functions
that support the users work are identified and no additional
functions for securing and system controls
19 / 25
Use case representations
●
Use case description
– Document with use case full explanation
–
●
Use case diagram
– UML model used to graphically show use cases and their
relationships to actors
– Actor is the UML name for system end user
– Automation boundary between computerised portion of the
application and users who operate the application
20 / 25
Use case diagram symbols
21 / 25
Use case example RMO sales
subsystem(internal actors)
22 / 25
Use case diagram : Include
relationship
●
Relationships between use cases where one use case is
stereotypically included within the other use case – like
subroutine
– Arrow points to subroutine
– Function optionality
23 / 25
Steps to create use case diagram
1) Identify all the stakeholders and users who would benefit by
seeing a use case diagram
2) Determine what each stakeholder or user needs to review in a
use case diagram: each subsystem,for each type of user, for
use cases that are of interest
3) For each potential communication need,select the use cases
and actors to show and draw the use case diagram. There are
many software packages that can be used to draw use case
diagrams
4) Carefully name each use case diagram and then note how and
when the digram should be used to review use cases with
stakeholders and users 24 / 25
Summary
●
Use cases are the functions identified, the activities the system
carries out usually in response to a user request
●
Three techniques for identifying use cases
– User goal technique
– CRUD technique
– Event decomposition
●
Two use case representations
– Use case description
– UML diagram
25 / 25