UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
SOFTWARE REQUIREMENT
SPECIFICATION
Experiment 1
Introduction to Requirement Engineering
CLO 1: Understanding the basics of requirements engineering, requirements
elicitation, techniques and elementary modeling techniques to develop
systems’ initial Design Model.
Software Requirement Engineering 2nd Semester-SE UET Taxila
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
Purpose:
This experiment provides Introduction to Requirement Engineering and software
requirement engineering. In this lab, Student will be assigned projects in the form of
groups to find requiremnts of a syste under consideration and build its design model in
future labs.
Objectives:
At the end of this experiment you will
1. Learn what the requirement are?
2. Characteristics of good user requirements.
Equipment and Components:
1. StarUML v2.8.0
2. Microsoft Visio Professional 2016
Software Requirement Engineering 2nd Semester-SE UET Taxila
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
Requirements:
Something required, something wanted or needed
Need- something you have to have
Want -something you would like to have
For example , to have food is a need but to have specific items of our choice is want.
Software Requirement:
A complete description of what the software system will do without describing how it will
do it is represented by the software requirements
Requirement Engineering:
Requirements engineering is composed of four key activities –
1. requirements elicitation
2. requirements analysis and negotiation
3. requirements specification or documentation
4. requirements validation.
Software Requirement Engineering:
What: The various levels and types of requirements that need to be defined
Why: The benefits of having the right software requirements
Who: The stakeholders of the software requirements and getting them involved in
the process
When: Requirements activities throughout the software development life cycle
Software Requirement Engineering 2nd Semester-SE UET Taxila
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
How: Techniques for eliciting, analyzing, specifying, and validating software
Requirements
TASK 1:
Consider in the following grocery list example. Identify requirements error in this list.
1. Milk
2. A loaf of bread
3. Orange juice
4. A box of cereal
5. Butter
Characteristics of Good User Requirements
COMPLETE:
They include all of the necessary elements; functionality, external interfaces(involves
external interactions), internal interfaces, design constraint(the factors that limit your
design process, can be material, for example money that make up your project design, or
software that’s needed to design the requirement.), and quality attributes,Complete
requirement leaves no one guessing (For how long?, 50 % of what?), and includes
measurement units (inches or centimeters?).
CORRECT:
They accurately reflect the real needs of users and business stakeholders.
CLEAR :
They are understood by all stakeholders without the need for extensive explanation.
CONSISTENT:
They do not conflict with other requirements (conflicting requirements should be
addressed ASAP in the requirements elicitation process).
Software Requirement Engineering 2nd Semester-SE UET Taxila
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
RELEVANT:
This may seem obvious, but it is sometimes easy to get off-track and you can end up with
requirements that are not necessary for that particular project. To avoid this, make sure
the requirements meet a business need, goal, or objective.
VERIFIABLE :
There must be way a to verify if the requirement is satisfied. Verifiable requirement is
stated in such a way that it can be tested by: - inspection, - analysis, or - demonstration.
makes it possible to evaluate whether the system met the requirement
FEASIBLE (Realistic, Possible):
The requirement should be doable within existing constraints such as time, money, and
available resources:
AMBIGUOUS:
Functional requirements(product features or functions that developers must implement
to enable users to accomplish their tasks) that:
have any kind of ambiguity.
have more than one type of interpretation.
Any task in requirements that can have more than one correct output that is subject on a
different understanding of the task is ambiguous.
Note: Verification and Validation is the process of investigating that a software system
satisfies specifications and standards and it fulfills the required purpose.
Verification: Are we building the product right?. Verification testing is
involved in the requirement gathering phase, product planning, and product
development. Verification is a process of determining if the software is
designed and developed as per the specified requirements.
Software Requirement Engineering 2nd Semester-SE UET Taxila
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
Validation: Are we building the right product?. Validation testing is done in
the testing phase of SDLC. Validation is also done at the maintenance stage.
Validation is the process of checking if the software (end product) has met
the client's true needs and expectations..
TASK 2:
Do you find any requirement errors in given statements according to the “Characterstics
of a good User Requirement”. If yes:
Identify the type of error and write corrected version of these statements.
REQ1: On loss of power, the battery backup must support normal operations.
REQ2: The system shall not accept passwords longer than 15 characters.
REQ3: The system shall have a natural language interface that will understand
commands given in English language.
REQ4: The replacement control system shall be installed with no disturbance to
production.
.
REQ5: The system shall resist concurrent usage by many users
TASK 3:
A requirement that says “Users should be able to move quickly between screens” is not
verifiable. Why?
TASK 4:
What will you end up with when you are asked “to divide 8 in a half”.
Software Requirement Engineering 2nd Semester-SE UET Taxila
UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA
FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING
SOFTWARE ENGINEERING DEPARTMENT
Software Requirement Engineering 2nd Semester-SE UET Taxila