Requirements Analysis and Specification: Prof. R. Mall
Requirements Analysis and Specification: Prof. R. Mall
Requirements Analysis and Specification: Prof. R. Mall
Specification (Lecture 3)
Prof. R. Mall
Dept. of CSE, IIT, Kharagpur
Introduction
Requirements analysis
Requirements specification
SRS document
Decision table
Decision tree
Summary
2
they start
implementing the system.
Without
determining whether
they are building what the
customer really wants.
It is important to learn:
Requirements
analysis and
specification techniques
carefully.
Specification
Requirements Analysis
gathering
Analysis
of the gathered
requirements
Requirements Analysis
10
Requirements Gathering
Requirements Gathering
Activities
2. Interview
3. Task analysis
4. Scenario analysis
5. Form analysis
12
Requirements Gathering
(CONT.)
a lot of experience.
13
Requirements Gathering
(CONT.)
interaction skills,
Imagination
and creativity,
Experience.
14
15
18
Inconsistent Requirement
Example:
Incomplete Requirement
due to oversight.
Example:
20
a clear, in-depth
understanding of the product to be
developed,
Remove
clear, in-depth
understanding of the problem:
22
23
24
25
26
27
Software Requirements
Specification
28
Software Requirements
Specification
Contract document
Reference document
29
30
SRS Document
(CONT.)
OutputData
32
SRS Document
(CONT.)
33
SRS Document
(CONT.)
using end-user
terminology.
If necessary:
Later
a formal requirement
specification may be developed
from it.
34
It should be concise
Easy to change.,
It should be consistent.
It should be complete.
35
It should be traceable
You
It should be verifiable
SRS Document
(CONT.)
requirements,
Non-functional
Goals
requirements,
of Implementation.
37
SRS Document
(CONT.)
fi
OutputData
38
Example: Functional
Requirement
Input:
an authors name:
Output:
f1
BookDetails
39
Functional Requirements
40
Functional Requirements
of:
41
Nonfunctional Requirements
Maintainability,
Portability,
Usability, etc.
42
Nonfunctional Requirements
Reliability issues,
Performance issues:
Non-Functional Requirements
Hardware to be used,
Operating system
or DBMS to be used
Standards compliance
Data representations
44
Goals of Implementation
For example,
Reusability issues
45
Introduction.
Functional Requirements
Nonfunctional Requirements
Performance requirements
Goals of implementation
46
Functional Requirements
High-Level Function
A high-level function:
48
Example Functional
Requirements
Req. 1:
49
Req. 2:
50
Req. 1:
R.1.1:
R1.2:
51
Req. 2:
R2.1:
R2.2:
52
Req. 2:
R2.3:
53
Unstructured Specifications:
Difficult to change,
Difficult to be precise,
Difficult to be unambiguous,
54
Noise:
Silence:
55
Overspecification:
Contradictions:
Ambiguity:
Literary expressions
Forward References:
Wishful Thinking:
Descriptions of aspects
57
Representation of complex
processing logic:
Decision trees
Decision tables
58
Decision Trees
Decision trees:
59
Example: LMS
New member,
Renewal,
Cancel membership.
60
Example: LMS
name,
address,
61
Example(cont.)
62
Example(cont.)
Example(cont.)
64
Decision Tree
Getdetails
Createrecord
Printbills
Newmember
User
input
Renewal
Cancel
Invalid
option
GetDetails
Updaterecord
Printbills
GetDetails
PrintCheque
Deleterecord
Printerrormessage
65
Decision Table
What
The
66
Decision Table
Decision Table
In technical terminology,
a
rule implies:
if a condition is true, then execute
the corresponding action.
68
Example:
Conditions
Valid selection
NO
New member
-- YES
Renewal -- NO YES
Cancellation
-- NO
Actions
Display error message
Ask member's name etc.
Build customer record -Generate bill
-Ask membership details
Update expiry date
-Print cheque
-- -Delete record
-- --
YES
NO
NO
NO
--
YES
NO
YES
--
------
YES
--
--
--
--
69
Comparison
Formal Specification
specify a system.
Verify
that implementation
satisfies specification.
Prove
properties of the
specification.
71
Formal Specification
Advantages:
Well-defined
semantics, no
scope for ambiguity
Automated
Executable
specification
72
Formal Specification
Disadvantages of formal
specification techniques:
Difficult
Not
73
Formal Specification
theoretic
algebraic
finite
specification
Semiformal Specification
Executable Specification
Language
If specification is expressed in
formal language:
it
However, executable
specifications are usually slow
and inefficient.
76
Executable Specification
Language
non-functional requirements
are important for some
product,
4GLs
specification languages.
there is a lot of
commonality across data
processing applications.
78
4GLs
Summary
Requirements specification
80
Summary
Summary
requirements
Non-functional
requirements
Constraints
tree
Decision
table
82
Summary
Formal requirements
specifications have several
advantages.
But
83