SRE Lecture 01
SRE Lecture 01
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
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
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
23
Examples of Requirements - 5
• The system shall support at least twenty
transactions per second
24
End of Lecture
25