Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

SOFTWARE

REQUIREMENTS
ENGINEERING
(SE2001)

Dr. Syed Muazzam Ali Shah


(Assistant Professor)

Department of Software Engineering


NUCES-FAST Karachi​
Marks Distribution

Quizzes, Assignments & Class Participation: 10%


Project: 10%
Midterms: 30%
Final Exam: 50%
Google Classroom Code

Fall 2023 – SRE (BSE – 3A) : urgfkhe


Fall 2023 – SRE (BSE – 3B) : hmrwwpk
4

Karl E.
Wiegers & Joy
Beatty,
Software
Requirements,
Microsoft,
Third Edition.
5

Suzanne and
James
Robertson,
Mastering the
Requirements
Process, Third
Edition
6

Gerald Kotonya
& Ian
Sommerville,
Requirements
Engineering
processes and
techniques.
Learning Objectives 7

▪ Understand the principles of requirements engineering.


▪ Identify and understand different stakeholders for the project
and their responsibilities in the requirement engineering
process.
▪ Systematically establish, define, and manage the requirements
for a large, complex, changing, software- intensive system.
▪ Understand the central issues in requirement engineering,
elicitation, validation and management.
▪ Identify and effectively use modeling techniques to establish
requirement specification for the requirements.
Introduction – What 8

are Requirements
❖ Requirements define what the system is required to do
and the circumstances under which it operates.
⮚ The requirements define the services that the system
should provide.
⮚ They set out constraints on the system’s operation.
Introduction – What 9

are Requirements
❖ Requirements are defined during the early stages of a
system development.
❖ As a specification of what should be implemented.
❖ They are descriptions of:
⮚ How the system should behave.
⮚ Application domain information
⮚ Constraints on the system’s operation.
⮚ Specifications of a system property or attribute.
Introduction – What 10

are Requirements

Sometimes they are constraints on the


development process of the system.
Introduction – What 11

are Requirements
A requirement might describe:
❖ A user-level facility (e.g. the word processor must include
a spell checking and correction command)
❖ A very general system property (e.g. the system must
ensure that personal information is never made available
without authorization).
❖ A specific constraint on the system (e.g. the sensor must
be polled 10 times per second).
Introduction – What 12

are Requirements
A requirement might describe:
❖ How to carry out some computation (the overall mark is
computed by adding the student examination, project, and
coursework marks based on the formula “exam_marks + 2
x project_mark + 2/3 x coursework_mark).
❖ A constraint on the operation of the system (e.g. the
system must be implement Dot Net Framework).
Importance of 13

Requirements

❖ The hardest single part of building a software system is


deciding what to build.
❖ No other part of the work so cripples the resulting system
if done wrong.
❖ No other part is difficult to rectify later.
❖ (Fred Brooks)
Common Requirements 14

Problems
❖ 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 the requirements
after they have been agreed.
❖ There are misunderstanding between customers.
Common Requirements 15

Problems - Example
The system shall allow users to search for an item by
title, author, or by ISBN.

❖ What if the item that the user is searching for is a CD-


ROM.
⮚ It will certainly have a title.
⮚ But may not have an author and ISBN.
❖ This requirement has been written so that it only applies
to books and not to other items in the library.
Common Requirements 16

Problems
❖ The problems of writing requirements are universal and
there will never be a complete solution to these
problems.
❖ However, good requirements engineering practices can:
⮚ Reduce the number the problems
⮚ Minimize their impact on the final system.
Requirements - FAQs 17
What is requirements 18

engineering
❖ Requirements Engineering is relatively new term which
has invented to cover all of the activities involved in:
⮚ Discovering
⮚ Documenting
⮚ And Managing
❖ A set of requirements for a computer based system.
What is requirements 19

engineering
❖ The use of term “Engineering” implies that systematic
and repeatable techniques should be used to ensure
that the requirements are complete, consistent, and
relevant.
What happens when 20

requirements are wrong


❖ The system may be delivered late and cost more than
originally expected.
❖ The customer and end-users are not satisfied with the
system.
❖ The system may be unreliable in use.
❖ The costs of maintaining and developing the system are
usually high.
THANK YOU
Dr. Syed Muazzam Ali Shah​
muazzam.ali@nu.edu.pk

You might also like