



















































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This lecture was delivered by Umar Faiz at Pakistan Institute of Engineering and Applied Sciences, Islamabad (PIEAS) for Softwarre Engineering course. It includes: Software, Requirements, Functional, IEEE, Engineering, Argument, Empirical, Safety, System
Typology: Slides
1 / 59
This page cannot be seen from the preview
Don't miss anything!




















































Department of Computer & Information SciencesPakistan Institute of Engineering and Applied Sciences [Disclaimer: The course slides have been based on the slides of Somerville and Pressman]
Umar Faiz
http://www.pieas.edu.pk/umarfaiz/cis
Software Engineering
To introduce the concepts of user and system
i^
t
requirements
-^
To describe functional and non-functionalrequirements
-^
To explain how software requirements may beorganised in a requirements document
What’s Requirement? [IEEE Std]– A condition or capability needed by a user to
solve a problem or achieve an objective. The setof all requirements forms the basis for subsequentdevelopment of the system or system component.
Engineering Argument– A good solution can only be developed if the
engineer has a solid understanding of the problem.
Economic Argument– Defects are cheaper to remove if are found
p
earlier.
11/24/
5
docsity.com
Requirements Engineering is the branch of systems
i^
i^
d
ith
l^
ld
l^
f
engineering concerned with real-world goals for,services provided by, and constraints on software
t systems.
-^
Requirements Engineering is also concerned with therelationship of these factors to precise specificationsof system behavior and to their evolution over time
f
and across system families.
The process of establishing the services that the
t^
i^
f^
t^
d th
t^
i t
customer requires from a system and the constraintsunder which it operates and is developed.
-^
The requirements themselves are the descriptions ofthe system services and constraints that aregenerated during the requirements engineeringprocess.
Client manag ersSy stem end -usersClient engineers
User req uirements
Co ntracto r man ag ersSy stem architectsSy stem end -usersClient engineersSy stem architects
Sy stem requ irements
Sy stem architectsSo ftware develo pers
y^
q
Client engineers (perh aps)Sy stem architectsSo ftware develo pers
So ftware d esign
specificatio n
So ftware develo pers
Non-functional Requirements– Constraints on the services or functions offered
by the system such as timing constraints,constraints on the development process,standards, etc.
Domain requirements– Requirements that come from the application
domain of the system and that reflectcharacteristics of that domain.
A library system that provides a single interface to a
b
f d t b
f^
ti l
i^
diff
t lib
i
number of databases of articles in different libraries.
-^
Users can search for, download and print thesearticles for personal study.
The user shall be able to search either all of thei iti l
t^
f d t b
l^
t^
b
t f
it
initial set of databases or select a subset from it.
-^
The system shall provide appropriate viewers for theuser to read documents in the document store.
-^
Every order shall be allocated a unique identifier(ORDER_ID) which the user shall be able to copy tothe account’s permanent storage area.
In principle, requirements should be both complete
d
i t
t
and consistent.
-^
Complete– They should include descriptions of all facilities
required.
Consistent– There should be no conflicts or contradictions in
There should be no conflicts or contradictions inthe descriptions of the system facilities.
In practice it is impossible to produce a complete
-^
In practice, it is impossible to produce a completeand consistent requirements document.
These define system properties and constraints e.g.
li bilit
ti
d
t^
i^
t
reliability, response time and storage requirements.Constraints are I/O device capability, system
t ti
t
representations, etc.
-^
Non-functional requirements may be more criticalthan functional requirements. If these are not met,the system is useless.