310414
SOFTWARE
SOFTWARE ENGINEERING
ENGINEERING
SYSTEM
SYSTEM REQUIREMENTS
REQUIREMENTS CAPTURE
CAPTURE
310414
REQUIREMENTSCAPTURE 1/67
SYSTEMREQUIREMENTSCAPTUREOUTLINE
System Requirements Capture Unified Process Overview
Importance & Difficulty
Capturing & Documenting Requirements
Life Cycle Role
310414
REQUIREMENTSCAPTURE 2/67
SYSTEMREQUIREMENTSCAPTURE
requirement
a feature that the system must have or a constraint that it must satisfy
to be accepted by the customer
Knowledge
GAP
CHALLENGE:
CHALLENGE:How
Howto
tobridge
bridgethis
thisgap?
gap?
310414
REQUIREMENTSCAPTURE 3/67
4.1
IMPORTANCEOFREQUIREMENTSCAPTURE1
Reasons for failure of/problems
of/problems with
with software
software development:
development:
incomplete requirements
requirements
13.1%
13.1%
12.4%
12.4%
lack of resources
10.6%
10.6%
unrealistic expectations
expectations
9.9%
9.9%
9.3%
9.3%
changing requirements
requirements and
and specifications
specifications
8.7%
8.7%
lack of planning
8.1%
8.1%
7.5%
7.5%
> 50%
REQUIREMENTSCAPTURE 4/67
IMPORTANCEOFREQUIREMENTSCAPTURE2
costtofind
andfixadefect
100
60100
log
scale
10.00
10
0.75
1.00
Reqmts
Design
1.50
Code
3.00
Test
System
test
Field
use
REQUIREMENTSCAPTURE 5/67
WHYREQUIREMENTSCAPTUREISDIFFICULT
Our aim is to build the right system
a system that meets the users needs
Major
challenges
REQUIREMENTSCAPTURE 6/67
REQUIREMENTSCAPTUREPROCESSOVERVIEW
Determine feasibility
economic feasibility
operational feasibility
technical feasibility
organizational impact
every
everysoftware
softwareproject
projectis
isunique
unique>
>need
needto
toadapt
adaptour
ourprocess
process
310414
REQUIREMENTSCAPTURE 7/67
4.5.1
USERNEEDSIDENTIFICATION
310414
REQUIREMENTSCAPTURE 8/67
FEASIBILITYDETERMINATION
Can we/should we build the system?
economic feasibility
technical feasibility
operational feasibility
organizational feasibility
legal feasibility
310414
REQUIREMENTSCAPTURE 10/67
CAPTUREANDDOCUMENTSYSTEMREQUIREMENTS
REQUIREMENTSCAPTURE 11/67
REQUIREMENTSCAPTURELIFECYCLEROLE
CoreWorkflows
Inception
Phases
Elaboration
Construction
Transition
Requirements
Iteration
Analysis
Design
Implementation
Testing
iter.
#1
iter.
#2
iter.
#n-1
iter.
#n
Increments
310414
REQUIREMENTSCAPTURE 12/67
ARTIFACTS&WORKERS
System
Analyst
Domain
Analyst
UseCase
Specifier
UserInterface
Designer
Architect
responsiblefor
responsible
for
responsible
for
responsible
for
responsible
for
310414
Userinterface
UseCase
Architecture
Specification&
Specification
Description
Prototyping
REQUIREMENTSCAPTURE 14/67
UPSYSTEMREQUIREMENTSCAPTUREPROCESS
System
Analyst
FindClasses
FindActorsand
andAssociations
UseCases
Domain
Analyst
Architect
UseCase
Specifier
UserInterface
Designer
310414
Structurethe
UseCaseModel
DetailClasses
andAssociations
Prioritize
UseCases
Detail
UseCases
Prototype
UserInterface
REQUIREMENTSCAPTURE 17/67
DOMAINMODELING
found from
310414
IDENTIFYINGCLASSES&ASSOCIATIONS
decomposition
decompositionof
ofaaproblem
probleminto
intoclasses
classesand
andassociations
associationsdepends
depends
on
onjudgement
judgementand
andexperience
experienceand
andthe
thenature
natureof
ofthe
theproblem
problem
310414
REQUIREMENTSCAPTURE 19/67
DOMAINMODELKEEPINGTHERIGHT
CLASSES
310414
REQUIREMENTSCAPTURE 21/67
DOMAINMODELKEEPINGTHERIGHT
ASSOCIATIONS
310414
REQUIREMENTSCAPTURE 22/67
DOMAINMODELKEEPINGTHERIGHT
ATTRIBUTES
310414
REQUIREMENTSCAPTURE 23/67
DOMAINMODELDETAILATTRIBUTES
meaningful name
itemPrice not itpr
allowable values
short description
payment - a transaction to record a
remittance
deposit - the initial amount paid by the
company on a purchase order
aliases
310414
DOMAINMODELDETAILCLASSES&
ASSOCIATIONS
for each class we can add any operations that we are aware of
at this stage
310414
DOMAINMODELDETAILGENERALIZATION
310414
REQUIREMENTSCAPTURE 26/67
DOMAINMODELDETAILGENERALIZATION
(contd)
Person
Professor
District
Student
*
LivesIn
LivesIn
1
310414
LivesIn
District
REQUIREMENTSCAPTURE 27/67
DOMAINMODELDETAILGENERALIZATION
(contd)
Person
Professor
*
StudiesIn
LivesIn
District
LivesIn
LivesIn
1
1
Student
310414
REQUIREMENTSCAPTURE 28/67
USECASEMODELINGEXAMPLE
A video sales and rental shop would like to computerize its management of sales and
rental of its movie videos. As well, it would like to establish a presence on the Web and
allow its customers to rent and buy videos via the Web. Below are the high-level
requirements for a system that will manage the sale and rental of videos for the video
shop:
The system must be able to keep track of which movie videos have been
bought/rented and by whom. For videos bought, the system must record the
quantity bought; for videos rented, the system must record which copy of the
video has been rented and when it is due back.
The system must keep track of overdue rental videos and allow notices to be sent
to customers who have videos overdue.
The video shop will have a customer membership option for an annual fee, which
will entitle the member to discounts (10%) on video sales and rentals.
Members should be able to make reservations for movie video rentals either in
person at the store, by telephone or via the Web.
A member can reserve at most five movie videos at any one time, but there is no
limit on how many movie videos a member or nonmember can rent at any one
time.
As an added feature, the video shop would like to allow customers (either
members or nonmembers) to input, via the Web, mini-reviews (up to 100 words)
310414
REQUIREMENTSCAPTURE 29/67
USECASEMODELINGEXAMPLE(contd)
and a rating (from 1, lowest, to 5, highest) of movies they have rented. These
reviews should be anonymous if the customer so wishes (i.e., the customer can
specify whether or not he wants his name to be made known when other
customers browse the reviews).
The video shop maintains the following information about all customers (members
or nonmembers): name, address, phone number, fax number, age, sex, and email
address. In addition, members are assigned a membership number by the video
shop when they become members and a password, which allows them to access
the members-only area of the video shop's web site, including accessing and
changing their personal information.
Using the Web, customers should be able to buy and rent videos and browse the
reviews entered by other customers.
Managers must be able to generate various reports on sales/rentals of videos.
Staff must be able to sell/rent videos from the stores inventory and return rented
videos to the store's inventory.
When selling or renting videos, staff must be able to look up customer information
and determine whether the customer is a member.
An employee must be able to enter the basic information about a movie video
(i.e., title, leading actor(s), director, producer, genre, synopsis, release year,
running time, selling price, and rental price).
310414
REQUIREMENTSCAPTURE 30/67
DOMAINMODELINGEXAMPLEANALYSIS
We first analyze the stated domain model requirements and then present the domain
model.
The system must be able to keep track of which movie videos have been
bought/rented and by whom. For videos bought, the system must record the
quantity bought; for videos rented, the system must record which copy of the
video has been rented and when it is due back.
The system must keep track of overdue rental videos and allow notices to be sent
to customers who have videos overdue.
The video shop will have a customer membership option for an annual fee, which
will entitle the member to discounts (10%) on video sales and rentals.
310414
REQUIREMENTSCAPTURE 31/67
DOMAINMODELINGEXAMPLEANALYSIS
Members should be able to make reservations for movie video rentals either in person at
the store, by telephone or via the Web.
A member can reserve at most five movie videos at any one time, but there is no
limit on how many movie videos a member or nonmember can rent at any one
time.
As an added feature, the video shop would like to allow customers (either
members or nonmembers) to input, via the Web, mini-reviews (up to 100 words)
and a rating (from 1, lowest, to 5, highest) of movies they have rented. These
reviews should be anonymous if the customer so wishes (i.e., the customer can
specify whether or not he wants his name to be made known when other
customers browse the reviews).
310414
REQUIREMENTSCAPTURE 32/67
DOMAINMODELINGEXAMPLEANALYSIS
The video shop maintains the following information about all customers (members or
nonmembers): name, address, phone number, fax number, age, sex, and email
address. In addition, members are assigned a membership number by the video
shop when they become members and a password, which allows them to access
the member's only area of the video shop's web site, including accessing and
changing their personal information.
Using the Web, customers should be able to buy and rent videos and browse the
reviews entered by other customers.
Managers must be able to generate various reports on sales/rentals of videos.
Staff must be able to sell/rent videos from the stores inventory and return rented
videos to the store's inventory.
310414
REQUIREMENTSCAPTURE 33/67
DOMAINMODELINGEXAMPLEANALYSIS
When selling or renting videos, staff must be able to look up customer information and
determine whether the customer is a member.
An employee must be able to enter the basic information about a movie video
(i.e., title, leading actor(s), director, producer, genre, synopsis, release year,
running time, selling price, and rental price).
310414
REQUIREMENTSCAPTURE 34/67
2.2.1;2.4.1
USECASEMODELING
helps in:
capturing data and functional requirements
planning iterations of development
validating the system
310414
4.4.1
USECASEMODELACTORS
Something outside the system
that interacts directly with it
actorname
REQUIREMENTSCAPTURE 37/67
IDENTIFYINGACTORS
Who or what uses the system?
What roles do they play in the interaction?
Who gets and provides information to the system?
Who installs, starts and shuts down or maintains the system?
What other systems interact with this system?
Does anything happen at a fixed time?
310414
REQUIREMENTSCAPTURE 38/67
2.4.1;4.4.3
USECASEMODELUSECASE
usecasename
REQUIREMENTSCAPTURE 40/67
IDENTIFYINGUSECASES
What are the tasks that an actor wants the system to perform?
What information does an actor access (create, store, change,
remove, or read) in the system?
Which external changes does an actor need to inform the system
about?
Which events does an actor need to be informed about by the
system?
How will the system be supported and maintained?
REQUIREMENTSCAPTURE 41/67
ASUUSECASES
At the beginning of each semester, students may request a course catalog
containing a list of course offerings needed for the semester. Information about each
course, such as instructor, department, and prerequisites are included to help
students make informed decisions.
The new system will allow students to select four course offerings for the coming
semester. In addition, each student will indicate two alternative choices in case a
course offering becomes filled or is canceled. No course offering will have more than
ten students or fewer than three students. A course offering with fewer than three
students will be canceled. Once the registration process is completed for a student,
the registration system sends information to the billing system so the student can be
billed for the semester.
310414
REQUIREMENTSCAPTURE 42/67
ASUUSECASES
Professors must be able to access the online system to indicate which courses they
will be teaching, and to see which students signed up for their course offerings.
For each semester, there is a period of time that students can change their
schedule. Students must be able to access the system during this time to add or
drop courses.
310414
REQUIREMENTSCAPTURE 43/67
2.4.1;4.4.2
USECASEMODELSCENARIO
AAconcrete
concrete,,focused
focused,,informal
informaldescription
descriptionof
ofaasingle
single
use
useof
ofthe
thesystem
systemfrom
fromthe
theviewpoint
viewpointof
ofaasingle
singleactor
actor
visionary
310414
REQUIREMENTSCAPTURE 44/67
IDENTIFYINGSCENARIOS
Since scenarios are instances of use cases, the same
questions can be asked as for identifying uses cases.
Note: two viewpoints of use-case modeling
1. top-down: start with use cases, refine with scenarios
2. bottom-up: start with scenarios, abstract use cases
310414
REQUIREMENTSCAPTURE 45/67
WHATISAGOODUSECASE?
A use case typically represents a major piece of
functionality that is complete from beginning to end.
A use case must deliver something of value to an actor.
Consider students in ASU Course Registration System:
select courses
be added to course offerings
be billed
dealswithonecomplete
sequenceofevents/actions
dealswiththesame
classofobjects
Generally,
Generally,ititis
isbetter
betterto
tohave
havelonger
longerand
andmore
more
extensive
extensiveuse
usecases
casesthan
thansmaller
smallerones
ones
310414
REQUIREMENTSCAPTURE 46/67
USECASEDETAILFLOWOFEVENTS
AAprecise
precise,,but
buteasy
easyto
toread
read,,description
descriptionof
ofthe
thesequence
sequence
of
ofactions
actionsneeded
neededto
toaccomplish
accomplishaascenario/use
scenario/usecase
case
what the system and the actor should do to perform the actions
(not how it is done; ignore use case interactions)
Basic path: shows one complete normal path from start to end
no errors, no exceptions (always required).
Alternate paths: show exceptional conditions or errors.
REQUIREMENTSCAPTURE 48/67
USECASEDETAILUSECASESPECIFICATION
participating actors
flow of events
310414
REQUIREMENTSCAPTURE 49/67
USECASEDETAILFLOWOFEVENTS
SPECIFICATION
branching
n. If boolean-expression
n.1. declarative-statement
n.2. declarative-statement
n.3.
n+1.
310414
repetition: For
n. For iteration-expression
n.1. declarative-statement
n.2. declarative-statement
n.3.
n+1.
repetition: While
n. While boolean-expression
n.1. declarative-statement
n.2. declarative-statement
n.3.
n+1.
REQUIREMENTSCAPTURE 50/67
2.4.1
USECASEMODELDETAILGENERALIZATION
Since
Sinceactors
actorsand
anduse
usecases
casesare
are
classifiers,
classifiers,they
theycan
canbe
begeneralized.
generalized.
Validateuser
Employee
Checkpassword
Salesclerk
Manager
310414
Retinalscan
2.4.1;4.4.5
USECASEDETAILINCLUDE
Validateuser
<<include>>
Registerforcourses
<<include>>
Selectcoursestoteach
includeusecase
(usuallynotinvoked
directlybyuser)
<<include>>
Requestenrollmentlist
mainusecases
(invokeddirectly
byuser)
REQUIREMENTSCAPTURE 52/67
2.4.1;4.4.5
USECASEDETAILEXTEND
used to show:
extend
usecase
Invalidsemester
<<extend>>
(semesterinvalid)
Selectcoursestoteach
extension
pointlabel
optional behavior
behavior that is executed only under certain conditions
several different subflows that are executed based on the selection of a
particular actor
310414
4.4.7
IDENTIFYINGNONFUNCTIONALREQUIREMENTS
REQUIREMENTSCAPTURE 54/67
USECASESTHROUGHTHEDEVELOPMENT
Planning
Basis for negotiation with customer
determine which use cases to provide in the first release
Political aspects
Demonstrate the system doing something valuable to the most
influential people first
use knowledge about how much each user wants their use case
Technical aspects
Deliver the highest risk use cases first
use knowledge from risk analysis
System validation
walk the use case to see if it can provide the required functionality
310414
REQUIREMENTSCAPTURE 55/67
USECASEMODELINGEXAMPLE
A video sales and rental shop would like to computerize its management of sales and
rental of its movie videos. As well, it would like to establish a presence on the Web and
allow its customers to rent and buy videos via the Web. Below are the high-level
requirements for a system that will manage the sale and rental of videos for the video
shop:
The system must be able to keep track of which movie videos have been
bought/rented and by whom. For videos bought, the system must record the
quantity bought; for videos rented, the system must record which copy of the
video has been rented and when it is due back.
The system must keep track of overdue rental videos and allow notices to be sent
to customers who have videos overdue.
The video shop will have a customer membership option for an annual fee, which
will entitle the member to discounts (10%) on video sales and rentals.
Members should be able to make reservations for movie video rentals either in
person at the store, by telephone or via the Web.
A member can reserve at most five movie videos at any one time, but there is no
limit on how many movie videos a member or nonmember can rent at any one
time.
As an added feature, the video shop would like to allow customers (either
members or nonmembers) to input, via the Web, mini-reviews (up to 100 words)
310414
REQUIREMENTSCAPTURE 56/67
USECASEMODELINGEXAMPLE(contd)
and a rating (from 1, lowest, to 5, highest) of movies they have rented. These
reviews should be anonymous if the customer so wishes (i.e., the customer can
specify whether or not he wants his name to be made known when other
customers browse the reviews).
The video shop maintains the following information about all customers (members
or nonmembers): name, address, phone number, fax number, age, sex, and email
address. In addition, members are assigned a membership number by the video
shop when they become members and a password, which allows them to access
the members-only area of the video shop's web site, including accessing and
changing their personal information.
Using the Web, customers should be able to buy and rent videos and browse the
reviews entered by other customers.
Managers must be able to generate various reports on sales/rentals of videos.
Staff must be able to sell/rent videos from the stores inventory and return rented
videos to the store's inventory.
When selling or renting videos, staff must be able to look up customer information
and determine whether the customer is a member.
An employee must be able to enter the basic information about a movie video
(i.e., title, leading actor(s), director, producer, genre, synopsis, release year,
running time, selling price, and rental price).
310414
REQUIREMENTSCAPTURE 57/67
USECASEMODELINGEXAMPLEANALYSIS
We first analyze the functional requirements of the system and then present the usecase model. Note that for the purposes of producing the use-case model, we are
only really interested in those functional requirements that provide something of
value for some actor.
The system must be able to keep track of which movie videos have been
bought/rented and by whom. For videos bought, the system must record the
quantity bought; for videos rented, the system must record which copy of the
video has been rented and when it is due back.
The system must keep track of overdue rental videos and allow notices to be
sent to customers who have videos overdue.
310414
REQUIREMENTSCAPTURE 58/67
USECASEMODELINGEXAMPLEANALYSIS
The video shop will have a customer membership option for an annual fee, which will
entitle the member to discounts (10%) on video sales and rentals.
Members should be able to make reservations for movie video rentals either in
person at the store, by telephone or via the Web.
A member can reserve at most five movie videos at any one time, but there is no
limit on how many movie videos a member or nonmember can rent at any one
time.
310414
REQUIREMENTSCAPTURE 59/67
USECASEMODELINGEXAMPLEANALYSIS
As an added feature, the video shop would like to allow customers (either members
or nonmembers) to input, via the Web, mini-reviews (up to 100 words) and a rating
(from 1, lowest, to 5, highest) of movies they have rented. These reviews should be
anonymous if the customer so wishes (i.e., the customer can specify whether or
not he wants his name to be made known when other customers browse the
reviews).
The video shop maintains the following information about all customers
(members or nonmembers): name, address, phone number, fax number, age,
sex, and email address. In addition, members are assigned a membership
number by the video shop when they become members and a password, which
allows them to access the members-only area of the video shop's web site,
including accessing and changing their personal information.
310414
REQUIREMENTSCAPTURE 60/67
USECASEMODELINGEXAMPLEANALYSIS
Using the Web, customers should be able to buy and rent videos and browse the
reviews entered by other customers.
310414
REQUIREMENTSCAPTURE 61/67
USECASEMODELINGEXAMPLEANALYSIS
An employee must be able to enter the basic information about a movie video
(i.e., title, leading actor(s), director, producer, genre, synopsis, release year,
running time, selling price, and rental price).
310414
REQUIREMENTSCAPTURE 62/67
4.3.4
VALIDATESYSTEMREQUIREMENTS
310414
REQUIREMENTSCAPTURE 64/67
VALIDATEREQUIREMENTSACCEPTANCETESTS
Tests
Testsmust
mustbe
bespecified
specifiedthat
thatwill
willdemonstrate
demonstrateto
tothe
thecustomer
customerthat
that
all
allfunctions
functionsand
andconstraints
constraintsof
ofaasystem
systemare
arefully
fullyoperational
operational
310414
REQUIREMENTSCAPTURE 65/67
DERIVINGANACCEPTANCETESTPLAN
310414
REQUIREMENTSCAPTURE 66/67
SUMMARYSYSTEMREQUIREMENTSCAPTURE
a domain model
a use-case model
initial user interfaces (and building some user interface prototypes)
an acceptance test plan
310414
REQUIREMENTSCAPTURE 67/67