SlideShare a Scribd company logo
7
Most read
9
Most read
13
Most read
Introduction to Software Engineering 
Muhammad Nasir 
Understanding Requirements 
m.nasir@iiu.edu.pk
Agenda 
 Understanding Requirements 
 Requirement Engineering Tasks 
 Inception 
 Elicitation 
 Elaboration 
 Negotiation 
 Specification 
 Validation 
 Management
Understanding Requirement 
 Understanding the requirements of a 
problem is among the most difficult tasks 
that face a software engineer. 
 When you first think about it, developing a 
clear understanding of requirements 
doesn’t seem that hard. 
 After all, doesn’t the customer know what is 
required? 
 Surprisingly, in many instances the answer 
to these questions is “No.”
Understanding Requirements 
 It’s your worst nightmare. A customer walks 
into your office, sits down, looks you straight 
in the eye, and says, 
 “I know you think you understand what I said, 
but what you don’t understand is what I said is 
not what I meant.” 
 Invariably, this happens late in the project, 
after deadline commitments have been 
made, reputations are on the line, and 
serious money is at stake.
Requirement Engineering 
 “…the process of discovering the 
requirements for a system by communication 
with customers, system users and other who 
have a stake in the system development.” 
(Ian Sommerville) 
 “...the process of discovering the 
requirements for a system by communication 
with stakeholders and through the 
observation of them in their domain” 
(Tony Gorschek)
Requirement Engineering 
Requirement Engineering provides the 
appropriate mechanism for understanding 
what the customer wants, analyzing need, 
assessing feasibility, negotiating a 
reasonable solution, specifying the 
solution unambiguously, validating the 
specification and managing the 
requirements as they are transformed into 
an operational system
Requirements Engineering Tasks 
 Inception —Establish a basic understanding of the 
problem and the nature of the solution. 
 Elicitation —Draw out the requirements from 
stakeholders. 
 Elaboration (Highly structured)—Create an analysis 
model that represents information, functional, and 
behavioral aspects of the requirements. 
 Negotiation—Agree on a deliverable system that is 
realistic for developers and customers. 
 Specification—Describe the requirements formally or 
informally. 
 Validation —Review the requirement specification for 
errors, ambiguities, omissions, and conflicts. 
 Requirements Management —Manage changing 
requirements.
Inception 
 Inception— Ask “context-free” 
questions that establish … 
 Basic understanding of the problem 
 The people who want a solution 
 The nature of the solution that is desired, 
and 
 The effectiveness of preliminary 
communication and collaboration 
between the customer and the developer
Elicitation 
 Elicitation - elicit requirements from 
customers, users and others. 
 Find out from customers, users and 
others what the product objectives are 
 what is to be done 
 How the product fits into business needs, 
and 
 How the product is used on a day to day 
basis
Why Requirement elicitation is 
difficult? 
 Problems of scope: 
 The boundary of the system is ill-defined. 
 Customers/users specify unnecessary technical 
detail that may confuse rather than clarify 
objectives. 
 Problems of volatility: 
 Requirement change over time
Why Requirement elicitation is 
difficult? 
 Problem of understanding: 
 Customers are not completely sure of what is 
needed. 
 Customers have a poor understanding of the 
capabilities and limitations of the computing 
environment. 
 Customers don’t have a full understanding of their 
problem domain. 
 Customers have trouble communicating needs to the 
system engineer. 
 Customers omit detail that is believed to be obvious. 
 Customers specify requirements that conflict with 
other requirements. 
 Customers specify requirements that are ambiguous 
or not able to test.
Elaboration 
 Focuses on developing a refined technical model of 
software functions, features, and constraints using 
the information obtained during inception and 
elicitation 
 Create an analysis model that identifies data, 
function and behavioral requirements. 
 It is driven by the creation and refinement of user 
scenarios that describe how the end-user will interact 
with the system. 
 Each user scenario is parsed to extract analysis 
classes—business domain entities that are visible 
to the end user.
Negotiation 
 Negotiation - agree on a deliverable system that is 
realistic for developers and customers 
 Requirements are categorized and organized 
into subsets 
 Relations among requirements identified 
 Requirements reviewed for correctness 
 Requirements prioritized based on customer 
needs 
 Negotiation about requirements, project cost 
and project timeline. 
 There should be no winner and no loser in 
effective negotiation.
Specification 
 Specification – Different things to different people. 
 It can be – 
 Written Document 
 A set of graphical models 
 A formal mathematical models 
 Collection of usage scenario. 
 A prototype 
 Combination of above. 
 The formality and format of a specification varies with the 
size and the complexity of the software to be built. 
 For large systems, written document, language 
descriptions, and graphical models may be the best 
approach. 
 For small systems or products, usage scenarios
Validation 
 Requirements Validation - formal 
technical review mechanism that looks for 
 Errors in content or interpretation 
 Areas where clarification may be 
required 
 Missing information 
 Inconsistencies (a major problem when 
large products or systems are engineered) 
 Conflicting or unrealistic (unachievable) 
requirements.
Requirement Management 
 Requirements for computer-based systems 
change, and the desire to change 
requirements persists throughout the life of 
the system. 
 Requirements management is a set of 
activities that help the project team identify, 
control, and track requirements and 
changes to requirements at any time as the 
project proceeds
The End 
 Thanks for listening 
 Questions would be appreciated.

More Related Content

PPTX
Software requirements specification
PPT
Coupling and cohesion
PPTX
Design Concepts in Software Engineering-1.pptx
PPTX
Fundamental design concepts
PPTX
Data Designs (Software Engg.)
PPTX
Decomposition technique In Software Engineering
PPT
Uml in software engineering
PPT
Flow oriented modeling
Software requirements specification
Coupling and cohesion
Design Concepts in Software Engineering-1.pptx
Fundamental design concepts
Data Designs (Software Engg.)
Decomposition technique In Software Engineering
Uml in software engineering
Flow oriented modeling

What's hot (20)

PPTX
Phased life cycle model
PPTX
Lect4 software economics
PPT
PPTX
Compiler Design Unit 4
PPTX
Handheld operting system
PPTX
Data and functional modeling
PPTX
Software Cost Estimation Techniques
PPTX
System Programing Unit 1
PPT
Visible surface detection in computer graphic
PPT
Design Patterns
PPTX
Cohesion and coupling
PDF
Programming team structure
PPTX
contiguous memory allocation.pptx
PPTX
PPTX
User Interface Analysis and Design
PDF
Language processors
PPTX
Type checking in compiler design
PPT
Analysis modeling & scenario based modeling
PPTX
Software Configuration Management (SCM)
PPTX
Distributed file system
Phased life cycle model
Lect4 software economics
Compiler Design Unit 4
Handheld operting system
Data and functional modeling
Software Cost Estimation Techniques
System Programing Unit 1
Visible surface detection in computer graphic
Design Patterns
Cohesion and coupling
Programming team structure
contiguous memory allocation.pptx
User Interface Analysis and Design
Language processors
Type checking in compiler design
Analysis modeling & scenario based modeling
Software Configuration Management (SCM)
Distributed file system
Ad

Viewers also liked (20)

DOCX
PPTX
Are IT People Special?
PDF
Manifestación de Impacto Regulatorio: seguridad de productos de acero.
PPTX
PDF
SDG : La procédure pénale en Suisse
PPTX
ಪರ್ವತಗಳ ಬಗ್ಗೆ ಕುರಾನ್ 6
PPT
золотое сечение
PPTX
PDF
15 06 09 Certificado SMM Cámara BeLux
PPTX
Egipcio
PPT
AiTi Education Profile
PDF
Write Responsively: Content as a Touchpoint
PDF
La imagine cup de microsoft
PPTX
Component level design
PPTX
PDF
ARTE CLÁSICO, MODERNO Y CONTEMPORÁNEO 16 DE ABRIL 2015 - L.IGNACIO GOMENSORO
PPT
Pressman ch-11-component-level-design
PPTX
Object Oriented Software Engineering
PPT
Function Oriented Design
Are IT People Special?
Manifestación de Impacto Regulatorio: seguridad de productos de acero.
SDG : La procédure pénale en Suisse
ಪರ್ವತಗಳ ಬಗ್ಗೆ ಕುರಾನ್ 6
золотое сечение
15 06 09 Certificado SMM Cámara BeLux
Egipcio
AiTi Education Profile
Write Responsively: Content as a Touchpoint
La imagine cup de microsoft
Component level design
ARTE CLÁSICO, MODERNO Y CONTEMPORÁNEO 16 DE ABRIL 2015 - L.IGNACIO GOMENSORO
Pressman ch-11-component-level-design
Object Oriented Software Engineering
Function Oriented Design
Ad

Similar to Lecture 9 understanding requirements (20)

PPT
Chapter 4 Requirement of Engineering.ppt
PPTX
Requirement Analysis-2.pptxrfgghrkjbnrjb
ODP
Requirement analysis
PPTX
Requirement Engineering Processes & Eliciting Requirement
PPTX
The Requirements - An Initial Overview
DOCX
Software Requirements (3rd Edition) summary
PPTX
Project planning and development cycle and testing
PPT
lecture_Analysis Phase.ppt
PPT
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
PDF
Whitepaper - Project Analysis Process at Konstant
PPT
requirements analysis and design
PPT
Bussiness needs
PPTX
Software Engineering <Gathering, Analyzing, and Documenting Software Requirem...
PPTX
S.E. Unit 2 software engineering software engineering
PPT
Week8 Topic1 Translate Business Needs Into Technical Requirements
PPT
req engg (1).ppt
PDF
Requirement analysis with use case
PDF
Requirement Engineering.pdf
PPTX
SE-Unit 2_ Requirement Analysis and Modeling.pptx
PPT
Requirements engineering process in software engineering
Chapter 4 Requirement of Engineering.ppt
Requirement Analysis-2.pptxrfgghrkjbnrjb
Requirement analysis
Requirement Engineering Processes & Eliciting Requirement
The Requirements - An Initial Overview
Software Requirements (3rd Edition) summary
Project planning and development cycle and testing
lecture_Analysis Phase.ppt
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
Whitepaper - Project Analysis Process at Konstant
requirements analysis and design
Bussiness needs
Software Engineering <Gathering, Analyzing, and Documenting Software Requirem...
S.E. Unit 2 software engineering software engineering
Week8 Topic1 Translate Business Needs Into Technical Requirements
req engg (1).ppt
Requirement analysis with use case
Requirement Engineering.pdf
SE-Unit 2_ Requirement Analysis and Modeling.pptx
Requirements engineering process in software engineering

More from IIUI (20)

PPTX
Rank brain
PDF
Chapter 10 cs 2o-p
PDF
Chapter 09 io devices 3o-p
PDF
Chapter 09 io devices 2o-p
PDF
Chapter 09 io devices
PDF
Chapter 08 secondary storage 3o-p
PDF
Chapter 08 secondary storage 2o-p
PDF
Chapter 08 secondary storage
PDF
Chapter 07 pam 3o-p
PDF
Chapter 07 pam 2o-p
PDF
Chapter 07 pam
PDF
Chapter 06 boolean algebra 3o-p
PDF
Chapter 06 boolean algebra 2o-p
PDF
Chapter 06 boolean algebra
PDF
Chapter 05 computer arithmetic 2o-p
PDF
Chapter 05 computer arithmetic
PDF
Chapter 04 computer codes 3o-p
PDF
Chapter 04 computer codes
PDF
Chapter 03 number system 3o-p
PDF
Chapter 03 number system 2o-p
Rank brain
Chapter 10 cs 2o-p
Chapter 09 io devices 3o-p
Chapter 09 io devices 2o-p
Chapter 09 io devices
Chapter 08 secondary storage 3o-p
Chapter 08 secondary storage 2o-p
Chapter 08 secondary storage
Chapter 07 pam 3o-p
Chapter 07 pam 2o-p
Chapter 07 pam
Chapter 06 boolean algebra 3o-p
Chapter 06 boolean algebra 2o-p
Chapter 06 boolean algebra
Chapter 05 computer arithmetic 2o-p
Chapter 05 computer arithmetic
Chapter 04 computer codes 3o-p
Chapter 04 computer codes
Chapter 03 number system 3o-p
Chapter 03 number system 2o-p

Recently uploaded (20)

PDF
System and Network Administraation Chapter 3
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Digital Strategies for Manufacturing Companies
PPTX
L1 - Introduction to python Backend.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
medical staffing services at VALiNTRY
System and Network Administraation Chapter 3
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Operating system designcfffgfgggggggvggggggggg
Odoo POS Development Services by CandidRoot Solutions
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Digital Strategies for Manufacturing Companies
L1 - Introduction to python Backend.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
medical staffing services at VALiNTRY

Lecture 9 understanding requirements

  • 1. Introduction to Software Engineering Muhammad Nasir Understanding Requirements m.nasir@iiu.edu.pk
  • 2. Agenda  Understanding Requirements  Requirement Engineering Tasks  Inception  Elicitation  Elaboration  Negotiation  Specification  Validation  Management
  • 3. Understanding Requirement  Understanding the requirements of a problem is among the most difficult tasks that face a software engineer.  When you first think about it, developing a clear understanding of requirements doesn’t seem that hard.  After all, doesn’t the customer know what is required?  Surprisingly, in many instances the answer to these questions is “No.”
  • 4. Understanding Requirements  It’s your worst nightmare. A customer walks into your office, sits down, looks you straight in the eye, and says,  “I know you think you understand what I said, but what you don’t understand is what I said is not what I meant.”  Invariably, this happens late in the project, after deadline commitments have been made, reputations are on the line, and serious money is at stake.
  • 5. Requirement Engineering  “…the process of discovering the requirements for a system by communication with customers, system users and other who have a stake in the system development.” (Ian Sommerville)  “...the process of discovering the requirements for a system by communication with stakeholders and through the observation of them in their domain” (Tony Gorschek)
  • 6. Requirement Engineering Requirement Engineering provides the appropriate mechanism for understanding what the customer wants, analyzing need, assessing feasibility, negotiating a reasonable solution, specifying the solution unambiguously, validating the specification and managing the requirements as they are transformed into an operational system
  • 7. Requirements Engineering Tasks  Inception —Establish a basic understanding of the problem and the nature of the solution.  Elicitation —Draw out the requirements from stakeholders.  Elaboration (Highly structured)—Create an analysis model that represents information, functional, and behavioral aspects of the requirements.  Negotiation—Agree on a deliverable system that is realistic for developers and customers.  Specification—Describe the requirements formally or informally.  Validation —Review the requirement specification for errors, ambiguities, omissions, and conflicts.  Requirements Management —Manage changing requirements.
  • 8. Inception  Inception— Ask “context-free” questions that establish …  Basic understanding of the problem  The people who want a solution  The nature of the solution that is desired, and  The effectiveness of preliminary communication and collaboration between the customer and the developer
  • 9. Elicitation  Elicitation - elicit requirements from customers, users and others.  Find out from customers, users and others what the product objectives are  what is to be done  How the product fits into business needs, and  How the product is used on a day to day basis
  • 10. Why Requirement elicitation is difficult?  Problems of scope:  The boundary of the system is ill-defined.  Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives.  Problems of volatility:  Requirement change over time
  • 11. Why Requirement elicitation is difficult?  Problem of understanding:  Customers are not completely sure of what is needed.  Customers have a poor understanding of the capabilities and limitations of the computing environment.  Customers don’t have a full understanding of their problem domain.  Customers have trouble communicating needs to the system engineer.  Customers omit detail that is believed to be obvious.  Customers specify requirements that conflict with other requirements.  Customers specify requirements that are ambiguous or not able to test.
  • 12. Elaboration  Focuses on developing a refined technical model of software functions, features, and constraints using the information obtained during inception and elicitation  Create an analysis model that identifies data, function and behavioral requirements.  It is driven by the creation and refinement of user scenarios that describe how the end-user will interact with the system.  Each user scenario is parsed to extract analysis classes—business domain entities that are visible to the end user.
  • 13. Negotiation  Negotiation - agree on a deliverable system that is realistic for developers and customers  Requirements are categorized and organized into subsets  Relations among requirements identified  Requirements reviewed for correctness  Requirements prioritized based on customer needs  Negotiation about requirements, project cost and project timeline.  There should be no winner and no loser in effective negotiation.
  • 14. Specification  Specification – Different things to different people.  It can be –  Written Document  A set of graphical models  A formal mathematical models  Collection of usage scenario.  A prototype  Combination of above.  The formality and format of a specification varies with the size and the complexity of the software to be built.  For large systems, written document, language descriptions, and graphical models may be the best approach.  For small systems or products, usage scenarios
  • 15. Validation  Requirements Validation - formal technical review mechanism that looks for  Errors in content or interpretation  Areas where clarification may be required  Missing information  Inconsistencies (a major problem when large products or systems are engineered)  Conflicting or unrealistic (unachievable) requirements.
  • 16. Requirement Management  Requirements for computer-based systems change, and the desire to change requirements persists throughout the life of the system.  Requirements management is a set of activities that help the project team identify, control, and track requirements and changes to requirements at any time as the project proceeds
  • 17. The End  Thanks for listening  Questions would be appreciated.