Requirements Engineering-I: Inception
Requirements Engineering-I: Inception
Requirements Engineering-I: Inception
A set of models
A formal mathematical
A prototype
missing information
Requirements management
2
Requirements Engineering-III
Requirements management
Set of activities that help the project team identify, control, and
track requirements and changes to requirements at any time as
the project proceed.
Begins with identification
Unique Identifier
Traceability tables
1. Features traceability table
2. Source traceability table
3. Dependency traceability table
4. Subsystem traceability table
5. Interface traceability table
3
Inception
Identify stakeholders
“who else do you think I should talk to?”
4
Inception
Next set of Questions
How would you characterize “good” output that would be generated by
successful solution?
What problems will this solution address?
Can you show me the business environment in which the solution will be used?
Will special performance issues or constraints affect the way the solution is
approached?
The Final set of questions
Are you the right person to answer these questions? Are your answers
“official”?
Are my questions relevant to the problem that you have?
Am I asking too many questions?
Can anyone else provide additional information?
Should I be asking you anything else?
5
Elicitation
The following techniques are used to elicit
requirements.
1. Personal Interviews
2. Questionnaires
3. Customer/market surveys
4. Observation
5. Demonstration of product prototypes or the
product itself
6. Brainstorming
6
Personal Interview
The following steps would aid in the collection of
right information using personal interviews
1. Planning of personal interviews
2. Study the preliminary information and relevant
subject literature to understand the domain at hand
3. Prepare a set of questions to ask to aid in the
structured elicitation of information
4. Prepare formats and templates to capture
information efficiently
7
Personal Interview
5. Fix appointments with the identified executives
6. Conduct the interview effectively
7. Capture information
8
Questionnaires
Most of the product development scenarios are based
on an existing product.
Therefore, the questionnaires enumerate all the
existing features of the product as well as new ones
and the respondent is requested to:
9
Questionnaires
1. Set the order of importance of the features
10
Customer/market surveys
• Normally surveys are conducted in three ways:
1. Face-to-Face
2. Postal Method
3. Web based Surveys
11
Obsevations
• In some cases, the analyst simply observes the
operations e.g.
13
Eliciting Requirements
Co n d uc t FAST
m e e t in g s
Ma k e lis t s of
fu nc t io n s , c la s s e s
Ma k e lis t s o f
c on s t ra in t s , e t c .
fo rm a l p riorit iz a t ion ?
Elic it re q u ire m e n t s
ye s no
d ra w u s e -c a s e
writ e s c e n a rio
d ia g ra m
Cre a t e Us e -c a s e s
c o m p le t e t e m p la t e
14
Quality Function Deployment
15
Elicitation Work Products
16
Use-Cases
A collection of user scenarios that describe the thread of usage of a system
Each scenario is described from the point-of-view of an “actor”—a person
or device that interacts with the software in some way
Each scenario answers the following questions:
Who is the primary actor, the secondary actor (s)?
What are the actor’s goals?
What preconditions should exist before the story begins?
What main tasks or functions are performed by the actor?
What extensions might be considered as the story is described?
What variations in the actor’s interaction are possible?
What system information will the actor acquire, produce, or change?
Will the actor have to inform the system about changes in the external
environment?
What information does the actor desire from the system?
Does the actor wish to be informed about unexpected changes?
17
Use-Case Diagram
Arms / dis a rms
s ys t e m
Ac c e s s e s s ys t e m s e ns or s
via Int e r ne t
home ow ne r
Re s ponds t o
a la rm e ve nt
Enc ount e rs a n
e rror c ondit ion
s ys t e m Re c onfigure s s e ns ors
a dminis t ra t or a nd re la t e d
s ys t e m fe a t ure s
18
Building the Analysis Model
Implied by scenarios
Behavioral elements
State diagram
Flow-oriented elements
19
Negotiating Requirements
Negotiate
Work toward a set of requirements that lead to “win-win”
20
Validating Requirements-I
21
Validating Requirements-II
Is each requirement achievable in the technical environment that will
house the system or product?
Is each requirement testable, once implemented?
Does the requirements model properly reflect the information,
function and behavior of the system to be built.
Has the requirements model been “partitioned” in a way that exposes
progressively more detailed information about the system.
Have requirements patterns been used to simplify the requirements
model. Have all patterns been properly validated? Are all patterns
consistent with customer requirements?
22
Why prioritize requirements?
24
Challenges of prioritization
Many of the prioritization methods are either too complicated and time
consuming or insufficient
25
Prioritization techniques
Prioritization scales
Assign each requirement to a priority classification category
Kano method
Other approaches
Quality function deployment (QFD)
Total quality management (TQM)
26
Prioritizing requirements (MoSCoW)
Must haves: top priority requirements
28
Kano diagram satisfied
one-dimensional
attractive
dysfunctional functional
must-be
dissatisfied
29