SRE Lecture 01

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 25

Software Requirements Engineering

Dr. Farhan Hassan Khan

1
Software Requirements Engineering
• Credit Hours: 03
• Pre-Requisites: Software Engineering
• Teaching Methodology:
– Lectures
– Written and Lab Assignments
– Project
– Report Writing

2
Course Learning Outcomes
• At the end of the course the students will be
able to:
– Describe the requirements engineering process
– Effectively analyze software requirements for the
development of cost-effective and efficient technical
solutions.
– Prepare both functional and non-functional requirements
along with validation for a medium-size software system.
– Document effective requirements in Software Requirements
Specification (SRS) using clear, unambiguous requirements.

3
Course Content (HEC)
• Introduction to Requirements Engineering, Software Requirements,
classification of requirements, Requirements process, Levels/layers of
requirements, Requirement characteristics, Analyzing quality
requirements, Software requirements in the context of systems
engineering, Requirement evolution, requirement traceability,
requirement prioritization, trade-off analysis, risk analysis and impact
analysis, Requirement management, interaction between requirement
and architecture, Requirement elicitation, elicitation sources and
techniques, Requirement specification and documentation, specification
sources and techniques, Requirements validation and techniques,
Management of Requirements, Introduction to Management,
Requirements Management Problems , Managing Requirements in an
Acquisition Organization, Supplier Organizations, Product Organizations,
Requirements engineering for agile methods.

4
Course Assessment Criteria
• Mid-Term Exam
• Assignments
• Quizzes
• Project
• Presentations
• Final Exam

5
Reference Material
• Software Requirements, Wiegers K. &Beatty J.,
3rd Ed. Microsoft Press, 2013
• Requirements Engineering, Elizabeth Hull, Ken
Jackson and Jeremy Dick. 3rd Ed, Springer-
Verlag London Limited, 2011.
• Requirements Engineering and Management
for Software Development Projects,
Chemuturi M., Springer New York, 2013.

6
Todays’ Lecture
• Requirement
• Software Requirements
• Sources of Software Requirements
• Levels of Software Requirements
• Importance of Software Requirements

7
Introduction
• Requirements form the basis for all software
products

• Requirements engineering is the process,


which enables us to systematically determine
the requirements for a software product

8
Software Requirements

Lecture # 1

9
Requirement
• Something required, something wanted or
needed
– Webster’s dictionary
• There is a huge difference between wanted
and needed and it should be kept in mind all
the time

10
Software Requirements - 1
• A complete description of what the software
system will do without describing how it will
do it is represented by the software
requirements

11
Software Requirements - 2
• Software requirements are complete
specification of the desired external behavior
of the software system to be built

• They also represent External behavior of the


system

12
Software Requirements - 3
• Software requirements may be:
– Abstract statements of services and/or constraints
– Detailed mathematical functions

13
Software Requirements - 4
• Software requirements may be:
– Part of the bid of contract
– The contract itself
– Part of the technical document, which describes a
product

14
IEEE Definition
• A condition or capability that must be met or
possessed by a system...to satisfy a contract,
standard, specification, or other formally
imposed document
– IEEE Std 729

15
Sources of Requirements
• Stakeholders
– People affected in some way by the system
• Documents
• Existing system
• Domain/business area

16
Levels of Software Requirements
• Stakeholders describe requirements at
different levels of detail
– “What versus How”
– “One person’s floor is another person’s ceiling”

17
What Versus How
User needs What
How
Product space What
How
Actual product’s behavior What
How
Architecture/data flow What
How
Module specifications What
How
Algorithms What
How
Code

18
Importance of Software 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

19
Examples of Requirements - 1
• The system shall maintain records of all
payments made to employees on accounts of
salaries, bonuses, travel/daily allowances,
medical allowances, etc.

20
Examples of Requirements - 2
• The system shall interface with the central
computer to send daily sales and inventory
data from every retail store

21
Examples of Requirements - 3
• The system shall maintain records of all library
materials including books, serials, newspapers
and magazines, video and audio tapes,
reports, collections of transparencies, CD-
ROMs, DVDs, etc.

22
Examples of Requirements - 4
• The system shall allow users to search for an
item by title, author, or by International
Standard Book Number

• The system’s user interface shall be


implemented using a web browser

23
Examples of Requirements - 5
• The system shall support at least twenty
transactions per second

• The system facilities which are available to


public users shall be demonstrable in ten
minutes or less

24
End of Lecture

25

You might also like