Software Construction: Inception Phase Understanding Requirements Use Case Modeling
Software Construction: Inception Phase Understanding Requirements Use Case Modeling
Lecture 4
Inception Phase
Understanding Requirements
Use Case Modeling
1
Inception Phase
Inception is initial short step to establish a common vision
and basic scope for the project
Don’t try to discover all requirements during Inception
(that’s waterfall mentality)
Major Inception questions
Why should we do this?
Is it feasible?
Should we buy or build?
What is the cost?
Should we proceed or stop?
Inception Phase
Important artifacts
Vision & Business case
Describes the high level goals & constraints
Use case model
Functional requirements, during inception the names of all use
cases are identified & 10% use cases are analyzed in detail
Supplementary specification
Describe other requirements (mostly non functional)
Glossary
Key domain terminology
Others
Risk List, Prototypes, Iteration Plan, SW Development Plan
Isn't That a Lot of Documentation?
The artifacts should be considered optional
Choose to create only those that really add value to the project
elaboration)
Non-Functional Requirements
These are the constraints on the services or functions offered by
the system
Includes timing constraints, constraints on development process,
standards etc.
Use Case Modeling
Case Study: NextGen POS System
We are asked to create a software system to run POS
handle payments
(fulfill) a goal
Use-Case Modeling
A Scenario is a specific sequence of actions and
Example
transactional rejection
Use-Cases and Functional Requirements
is to be done
Use-Case Formats
A use-case may be written in
Brief format
short one-paragraph summary, usually of the main success
scenario. Example
Casual format
Informal paragraph format. Multiple paragraphs that cover various
scenarios. Example
Fully-dressed format
The most elaborate format. All steps and variations are written in
detail, and there are supporting sections, such as preconditions and
postconditions
How to Find Use Cases?
Step-1: Choosing the System Boundary
Example:
POS is the System under design (SuD)
Everything else of it is outside the system boundary, including:
Cashier, payment authorization services etc.
Actors
An actor is anything with behavior
Actors are not only roles played by people, but by
Organizations, software, and other machines
Three kinds of external Actors
Primary actor, Supporting actor, Offstage actor
Types of Actors
Primary actor
Has user goals fulfilled through using services of SuD.
Example: Cashier
Supporting actor
Provides a service (for example information) to the SuD.
Example: The automated payment authorization service
Identified to clarify external interfaces
Offstage actor
has an interest in the behavior of the use case, but is not
primary or supporting actor
Example: A government tax agency
Identifying Primary Actors
Questions to find actors and goals
Who start and stops the system?
Example
Goal: Process a sale; Use Case: ProcessSale
Checkout Service
Sales Tax
Agency
POS System
Goal: Collect
taxes on sales Sales Activity
System Cashier
Customer
Handle Returns
OK with the Boss. Seems like an EBP. Size is good.
Log In
Boss not happy if this is all you do all the day
Think about all the events from the outside world to which
you want to react
Communication Cash In
<<Actor>>
Accounting System
Manage Security
System
Administrator
Manage users
Use Case
POS
<<Actor>>
Process Sale Payment
authorization
Service
Cashier
Supporting actors
Primary actors on
on right
left
Diagramming Suggestions
Use Case diagrams and relationships are secondary in use
case work
Base use case includes another use case, or that is extended by another use
case.
Process Sale is a base use case with respect to the included Handle Credit Payment subfunction use
case.
Postconditions:
Bank Customer has the requested cash or
Bank Customer receives an explanation from the ATM
about why the cash could not be dispensed
Identify the Flow of Events
Actor Actions System Response
1.The Bank Customer inputs the
card into the ATM.
2.The ATM requests the input of
a four-digit PIN.
3. The Bank Customer types in
PIN. 4. The ATM offers a choice of the
account numbers for selection by
the Bank Customer