SE Chapter 4
SE Chapter 4
SE Chapter 4
Chapter-4
Software Requirement Analysis
exhibited by a software
2
What Is A Requirement?cont…
Requirements define the function of the system from the
client's viewpoint.
3
What Is A Requirement?cont…
4
Why Are Requirements Important?
Causes of failed software projects (Standish study)
Incomplete requirements 13.1%
6
Requirement Goals
Understand the requirements in appropriate detail.
provided functions/services.
System requirements
10
Requirements Elicitation
11
cont…
Interviews - Interviewing stakeholders is a
“traditional” means of eliciting requirements.
Types of interviews
Closed interviews based on pre-determined list of
questions
Open interviews where various issues are explored with
stakeholders.
Effective interviewing
12
cont…
Interviews in practice
13
Requirement Analysis
Scenarios:
used.
design of a system.
14
Requirement Analysis cont…
client
the system.
15
Requirement Analysis cont…
Computer Engineering.
19
Requirement Analysis cont…
Scenario:
21
Requirement Analysis cont…
Generally:
The scenario will often clarify the requirements for the user
interface.
22
Requirement Modeling
Use-cases:
Use cases are a tool for modeling requirements.
requirements specification.
23
Requirement Modeling cont…
use case
Actor
24
Requirement Modeling cont…
Outline of Take Exam Use Case
Name of Use Case: Take Exam
Actor(s): ExamTaker
Flow of events:
1. ExamTaker connects to the Exam server.
2. Exam server checks whether ExamTaker is already
authenticated and runs authentication process if
necessary.
3. ExamTaker selects a exam from a list of options.
4. ExamTaker repeatedly selects a question and either types
in a solution, attaches a file with a solution, edits a solution
or attaches a replacement file.
25
Requirement Modeling cont…
5. ExamTaker either submits completed exam or saves
current state.
Entry conditions:
1. ExamTaker must have authentication credentials.
2. Computing requirements: supported browser. 26
Software Requirement Specification (SRS)?
SRS is a document that describes requirements for a software
product, program or set of programs.
An SRS is correct if, and only if, every requirement stated therein is
one that the software should/shall meet.
29
What Makes A Good SRS Cont…
32
5. It Should Be Ranked For Importance
An SRS is ranked for importance if and only if each
requirement in it has an identifier to indicate the importance
of that particular requirement.
Essential - Implies that the software will not be acceptable
unless these requirements are provided in an agreed
manner.
Conditional - Implies that these are requirements that would
enhance the software product, but would not make it
unacceptable if they are absent.
Optional - Implies a class of functions that may or may not
be worthwhile. This gives the supplier the opportunity to
propose something that exceeds the SRS.
33
6. It Should Be Ranked For stability
34
7. It Should Be Verifiable
therein is verifiable.
35
7. It Should Be Verifiable
Examples of non-verifiable requirements are statements
such as:
“works well”, “good human interface” and “shall usually
happen”
An example of a verifiable statement is:
Output of the program shall be produced within 20 s of event
X 60% of the time; and shall be produced within 30 s of event Y
100% of the time.
This statement can be verified because it uses concrete
terms and measurable quantities.
36
8. It Should Be Modifiable
An SRS is modifiable if, and only if, its structure and style are
such that any changes to the requirements can be made
easily.
37
9. It Should Be Traceable
38
39