Spring 2022: Instructor: Dr. Ali Arshad
Spring 2022: Instructor: Dr. Ali Arshad
References Material:
Elizabeth Hull, Ken Jackson and Jeremy Dick.
“Requirements Engineering”, 3rd Ed, Springer-
Verlag London Limited, 2011.
Your grade will be evaluated based on your
individual assignments, quizzes, midterms
and final exams.
▪ Quizzes 10%
▪ Assignment 05%
▪ Midterm 25%
▪ Final Exam 50%
▪ PBL 10%
Software Engineering vs Other Engineering
Ad hoc Software Development
Software Process Model
• Waterfall model.
• Prototype Model
• Component-Based development model (CBSE).
• Agile Models.
7
Waterfall Model
Requirements
Design
1. Functional requirements.
2. Non-functional requirements.
3. Domain requirements.
21
1. Functional Requirements
What requirements (What the product must do).
1. Functional Requirements
User requirements are high-level statements of what the system should do.
Users can search for, download and print these articles for personal
study.
24
Example 1:
Example 2:
2. Non-Functional Requirements
System Properties
Constraints
Process Requirements
Product Requirement:
Requirements which specify that the delivered product must behave in a
particular way e.g. execution speed, reliability, etc
Organisational Requirement:
Requirements which are a consequence of organizational policies and
procedures e.g. process standards used, implementation requirements, etc.
External Requirement:
Requirements which are a consequence of organizational policies and
procedures e.g. process standards used, implementation requirements, etc.
38
Question:
If you don’t do it right you will build a very elegant software solution that
solves the wrong problem.
44
Following are some characteristics of domain
requirements:
1. They may be functional or non functional
2. Reflect the characteristics and come from
respective domain
3. Sometimes not explicitly mentioned
4. Absence of these can cause significant
dissatisfaction
5. Sometimes pose strict constraint on system.
• They explain what the system shall not do.
▫ Many people find it convenient to describe their
needs in this manner
• These requirements indicate the indecisive
nature of customers about certain aspects of
a new software product
▫ Example:
The system shall not use red color in the user interface,
whenever it is asking for inputs from the end-user
46
• They are development guidelines within
which the designer must work
▫ These requirements can seriously limit design and
implementation options
Can also have impact on human resources
▫ Example
The system shall be developed using the Microsoft .Net
platform
The system shall be developed using open source tools
and shall run on Linux operating system
47
The requirements don’t reflect the real needs of the
customer for the system.
Requirements are inconsistent and/or incomplete
It is expensive to make changes to requirements after they
have been agreed upon.
There are misunderstandings between customers, those
developing the system requirements, and software
engineers developing or maintaining the system
48
• Requirement specification in natural language
pose some problems which include
▫ Lack of clarity
▫ Requirements confusion
▫ Requirements amalgamation
• Natural language understanding relies on the
specification readers and writers using the same
words for same concept
▫ A natural language requirements specification is over-
flexible.
“You can say the same thing in completely
different ways”
49
• When the requirements are wrong, system
are late, unreliable and don't meets the
customer need.
50
51
Preface.
Introduction.
Glossary.
User requirements definition.
System requirements specification.
System models.
Appendices.
Index.
a) Correct = correct if, and only if, every requirement stated there in is one that the software shall meet.
b) Unambiguous; = every requirement stated therein has only one interpretation
c) Complete;= All significant requirements, whether relating to functionality, performance, design
constraints. Definition of the responses of the software to all classes of input data in all possibilities of situations,
attributes, or external interfaces. Full labels and references to all figures, tables, and diagrams.
d) Consistent;= Consistency refers to internal consistency. If an SRS does not agree with some higher-level
document, such as a system requirements specification, then it is not correct
e) Prioritize;= if each requirement in it has an identifier to indicate either the importance or stability of that
particular requirement.
f) Verifiable;= requirement is verifiable if, and only if, there exists some finite cost-effective process with
which a person can check that the software product meets the requirement
g) Modifiable;= any changes to the requirements can be made easily, completely, and consistently while
retaining the structure
h) Traceable;= if the origin of each of its requirements is clear and if it facilitates the referencing of each
requirement in future development or enhancement documentation
52
Requirements Of Parking System:
Req-1: Log on to the parking system.
Req-2: Enter vehicle number and Identify row number.
Req-3: Issue ticket.
Req-4: Identify person for log out to system.
Req-5: Check ticket.
Req-6: Identify payment method.
Req-7: Check vehicle number.
Req-8: Log out to system.
53
Issue ticket to vehicle user when he requests.
I. Issue Ticket .
Log on to the library system by entering your
II. Log on to library system. username and password on login screen.
V. Update library record after new entry. Tickets are checked by the parking guard before
the vehicle leaves the parking. Ticket holder and
vehicle number is validated by matching the id
VI. Entrance of vehicle and record its number in the list . card number and vehicle registration number.
VII. Search catalog . When we are checking the vehicle number ? Either
before entering the parking or at time of leaving the
VIII. Id of student is matched & book is issued to student. parking..? or this process is being followed at both
times? Specify that ..
IX. Issue book and update record . You are merging two requirements either state
them separately or identify them by using sub
X. Log out from the system. heading/sub bullets. Like;
Requirements
Feasibility elicitation and
study analysis
Requirements
specification
Feasibility Requirements
report validation
System
models
Requirements
document
Requirements Management
57