SlideShare ist ein Scribd-Unternehmen logo
1 von 54
RReeqquuiirreemmeenntt EEnnggiinneeeerriinngg 
PPrreeeettii MMiisshhrraa 
CCoouurrssee IInnssttrruuccttoorr
Why good Specs are Essential: 
• It is VERY expensive to fix problems late in the 
process. It is very cheap to rewrite or clarify a 
written spec. 
• What costs $1 to fix at ReqGathering 
– $5 in the design stage 
– $10 in the coding stage 
– $20 in the unit testing phase 
– $200 after delivery 4
5 
The Problems with our 
Requirements Practices 
• We have trouble understanding the requirements that we do 
acquire from the customer 
• We often record requirements in a disorganized manner 
• We spend far too little time verifying what we do record 
• We allow change to control us, rather than establishing 
mechanisms to control change 
• Most importantly, we fail to establish a solid foundation for 
the system or software that the user wants built
TTyyppeess ooff RReeqquuiirreemmeennttss 
• Functional 
– ex - it must email the sales manager when an inventory 
item is "low" 
• Non-Functional 
– ex - it must require less than one hour to run report 
#5 
• Explicit 
– ex – required features 
• Implied 
– ex – software quality 
• Forgotten 
– ex – exists in current process 
• Unimagined 7
RReeqquuiirreemmeennttss ooff 
RReeqquuiirreemmeennttss 
• Clear 
• Measurable 
• Feasible 
• Necessary 
• Prioritized 
• Concise 
8
Why Req Eng is Difficult 
9
10 
A Solution: Requirements 
Engineering 
• Begins during the communication activity and continues into the 
modeling activity 
• Builds a bridge from the system requirements into software 
design and construction 
• Allows the requirements engineer to examine 
– the context of the software work to be performed 
– the specific needs that design and construction must address 
– the priorities that guide the order in which work is to be completed 
– the information, function, and behavior that will have a profound 
impact on the resultant design
Requirement Engineering 
– RE helps software engineer to better 
understand the problem they will work 
to solve 
– Participant : Software Engineers, 
managers, customers and end users 
– RE is a software engineering action that 
begin during the communication activity 
and continues into the modeling activity
RE Provides the appropriate mechanism for 
• Understanding what the customer want 
• Analyzing need 
• Assessing feasibility 
• Negotiating a reasonable solution 
• Specifying a solution unambiguously 
• Validating the specification 
• Managing the requirement as they are 
transformed into an operational system
13 
Requirements Engineering 
Tasks 
• Seven distinct tasks 
– Inception 
– Elicitation 
– Elaboration 
– Negotiation 
– Specification 
– Validation 
– Requirements Management 
• Some of these tasks may occur in parallel and all are 
adapted to the needs of the project 
• All strive to define what the customer wants 
• All serve to establish a solid foundation for the design and 
construction of the software
14 
Validation 
Requirements 
Management 
Inception 
Elicitation 
Elaboration 
Negotiation 
Specification
Requirement Engineering Tasks 
• Inception—Establish a basic understanding of the problem and 
the nature of the solution. 
• Elicitation—Draw out the requirements from stakeholders. 
• Elaboration—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.
16 
Inception Task 
• During inception, the requirements engineer asks a set of 
questions to establish… 
– A basic understanding of the problem 
– The people who want a solution 
– The nature of the solution that is desired 
– The effectiveness of preliminary communication and collaboration 
between the customer and the developer 
• Through these questions, the requirements engineer needs to… 
– Identify the stakeholders 
– Recognize multiple viewpoints 
– Work toward collaboration 
– Break the ice and initiate the communication
17 
The First Set of Questions 
These questions focus on the customer, other stakeholders, the 
overall goals, and the benefits 
• Who is behind the request for this work? 
• Who will use the solution? 
• What will be the economic benefit of a successful 
solution? 
• Is there another source for the solution that you need?
18 
The Next Set of Questions 
These questions enable the requirements engineer to gain a 
better understanding of the problem and allow the customer to 
voice his or her perceptions about a solution 
• How would you characterize "good" output that would be 
generated by a successful solution? 
• What problem(s) will this solution address? 
• Can you show me (or describe) the business environment in 
which the solution will be used? 
• Will special performance issues or constraints affect the 
way the solution is approached?
19 
The Final Set of Questions 
These questions focus on the effectiveness of the 
communication activity itself 
• Are you the right person to answer these questions? Are 
your answers "official"? 
• Are my questions relevant to the problem that you have? 
• Am I asking too many questions? 
• Can anyone else provide additional information? 
• Should I be asking you anything else?
Elicitation 
• It certainly simple enough, but… 
• Why difficult 
– Problem of Scope 
• The boundary of the system is ill-defined 
– Problem of Understanding 
• The customer/users are not completely sure of what is needed 
– Problem of volatility 
• The requirement change over time 
• To help overcame these problem, requirement engineers 
,must approach the requirement gathering activity in an 
organized manner
Elicitation Process Guideline 
– meetings are conducted and attended by both 
software engineers and customers 
– rules for preparation and participation are 
established 
– an agenda is suggested 
– a "facilitator" (can be a customer, a developer, or 
an outsider) controls the meeting 
– a "definition mechanism" (can be work sheets, flip 
charts, or wall stickers or an electronic bulletin 
board, chat room or virtual forum) is used 
– the goal is 
• to identify the problem 
• propose elements of the solution 
• negotiate different approaches, and 
• specify a preliminary set of solution requirements
Elaboration 
• Expand requirement into analysis model 
• Elements of the analysis model 
– Scenario-based elements 
• Functional—processing narratives for software 
functions 
• Use-case—descriptions of the interaction 
between an “actor” and the system 
– Class-based elements 
• Implied by scenarios 
– Behavioral elements 
• State diagram 
– Flow-oriented elements 
• Data flow diagram
Negotiation 
• Agree on a deliverable system that is realistic 
for developers and customers 
• SW team & other project stakeholders negotiate 
the priority, availability, and cost of each 
requirement 
• The Process are : 
– Identify the key stakeholders 
• These are the people who will be involved in the negotiation 
– Determine each of the stakeholders “win conditions” 
• Win conditions are not always obvious 
– Negotiate 
• Work toward a set of requirements that lead to “win-win”
26 
The Art of Negotiation 
• Recognize that it is not competition 
• Map out a strategy 
• Listen actively 
• Focus on the other party’s interests 
• Don’t let it get personal 
• Be creative 
• Be ready to commit
Specification 
• Final work product produced by requirement 
engineer. 
• Can be any one (or more) of the following: 
– A written document 
– A set of models 
– A formal mathematical 
– A collection of user scenarios (use-cases) 
– A prototype
Technically Speaking, 
"requirement" ≠ "specification" 
• Requirement – understanding 
between customer and supplier 
• Specification – what the software 
must do 
• Requirements that are not in the 
SRS 
– Costs 
– Delivery dates 
– Acceptance procedures 
– etc 
29
Validation 
examine the specification to ensure that SW requirement is 
not ambiguous, consistent, error free etc 
A 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.
Validation Vs. Verification 
• Validation: “Am I building the right product?” 
checking a work product against higher-level work 
products or authorities that frame this particular 
product. 
– Requirements are validated by stakeholders 
• Verification: “Am I building the product right?” 
checking a work product against some standards 
and conditions imposed on this type of product 
and the process of its development. 
– Requirements are verified by the analysts mainly
Validation Cont’d 
• A review of the analysis model addresses the 
following question : 
– Is each requirement consistent with the overall 
objective for the system/product? 
– Have all requirements been specified at the proper level 
of abstraction? That is, do some requirements provide a 
level of technical detail that is inappropriate at this 
stage? 
– Is the requirement really necessary or does it represent 
an add-on feature that may not be essential to the 
objective of the system? 
– Is each requirement bounded and unambiguous? 
– Does each requirement have attribution? That is, is a 
source (generally, a specific individual) noted for each 
requirement? 
– Do any requirements conflict with other requirements?
33 
Summary 
Validation 
Requirements 
Management 
Inception 
Elicitation 
Elaboration 
Negotiation 
Specification 

The problems is not that there are problems. 
The problem is expecting otherwise and 
thinking that having problems is a problem 
Theodore Rubin
Need to focus 
Moving in the wrong direction at a fast 
pace is still moving in the wrong direction. 
Right 
Wr ong
Quality Function 
Deployment 
QFD
Information on QFD…. 
• Developed in Japan in the mid 1970s 
• Introduced in USA in the late 1980s 
• Toyota was able to reduce 60% of cost 
to bring a new car model to market 
• Toyota decreased 1/3 of its 
development time 
• Used in cross functional teams 
• Companies feel it increased customer 
satisfaction
Why….? 
• Product should be designed to reflect 
customers’ desires and tastes. 
• House of Quality is a kind of a conceptual 
map that provides the means for 
interfunctional planning and communications 
• To understand what customers mean by 
quality and how to achieve it from an 
engineering perspective. 
• HQ is a tool to focus the product 
development process
Important points 
• Should be employed at the beginning of every 
project (original or redesign) 
• Customer requirements should be translated into 
measurable design targets 
• It can be applied to the entire problem or any 
subproblem 
• First worry about what needs to be designed then 
how 
• It takes time to complete
Components of 
House of Quality 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches
Step 1: Who are the 
customers? 
• To “Listen to the voice of the customer” 
first need to identify the customer 
• In most cases there are more than one 
customer 
– consumer 
– regulatory agencies 
– manufacturing 
– marketing/Sales 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches 
Customers drive the development of 
Customers drive the development of 
the product, not the designer 
the product, not the designer
Step 2: Determine the 
customers’ requirements 
• Need to determine what is to 
be designed 
• Consumer 
– product works as it should 
– lasts a long time 
– is easy to maintain 
– looks attractive 
– incorporated latest technology 
– has many features 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches 
List all the demanded 
qualities at the same level 
of abstraction
Step 2: cont... 
• Manufacturing 
– easy to produce 
– uses available resources 
– uses standard components and methods 
– minimum waste 
• Marketing/Sales 
– Meets customer requirements 
– Easy to package, store, and transport 
– is suitable for display
Kano Model 
Basic Quality: These requirements are 
not usually mentioned by customers. 
These are mentioned only when they are 
Excitement 
absent from the product. 
Performance Quality: provides an 
Satisfiers 
increase in satisfaction as performance 
improves 
Excitement Quality or “wow requirements”: are often 
unspoken, possibly because we are seldom asked to 
express our dreams. Creation of some excitement features 
in a design differentiates the product from competition. 
Delighted 
Performance 
Basic 
Fully 
implemented 
Absent 
Customer Satisfaction 
+ 
- 
Disgusted
Types of customer 
requirements 
• Functional requirements describe the product’s 
desired behavior 
• Human factors 
• Physical requirements 
• Reliability 
• Life-cycle concerns 
• Resource concerns 
• Manufacturing requirements
How to determine 
the Whats? 
• Customer survey (have to formulate the 
questions very carefully) 
• If redesign, observe customers using 
existing products 
• Combine both or one of the approaches 
with designer knowledge/experience to 
determine “the customers’ voice”
Step 3: Determine Relative 
Importance of the Requirements: 
Who vs. What 
• Need to evaluate the importance of 
each of the customer’s requirements. 
– Generate weighing factor for each 
requirement by rank ordering or other 
methods Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches
Rank Ordering 
• Order the identified customer requirements 
• Assign “1” to the requirement with the lowest 
priority and then increase as the requirements 
have higher priority. 
• Sum all the numbers 
• The normalized weight 
Rank/Sum 
• The percent weight is: Rank*100/Sum
Step 4: Identify and Evaluate the 
Competition: How satisfied is the customer 
now? 
• The goal is to determine how the customer perceives 
the competition’s ability to meet each of the 
requirements 
– it creates an awareness of what already exists 
– it reveals opportunities to improve on what already exists 
The design: 
1. does not meet the requirement at all 
2. meets the requirement slightly 
3. meets the requirement somewhat 
4. meets the requirement mostly 
5. fulfills the requirement completely 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches
Step 5: Generate Engineering 
Specifications: How will the 
customers’ requirements be met? 
• The goal is to develop a set of engineering 
specifications from the customers’ requirements. 
Restatement of the design problem and customer requirements in 
terms of parameters that can be measured. 
Each customer requirement should have at 
least one engineering parameter. 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches
Step 6: Relate Customers’ 
requirements to Engineering 
Specifications: Hows measure Whats? 
• This is the center portion of the house. Each cell 
represents how an engineering parameter relates 
to a customers’ requirements. 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches 
9 = Strong Relationship 
3 = Medium Relationship 
1 = Weak Relationship 
Blank = No Relationship at all
Step 7: Identify Relationships Between 
Engineering Requirements: How are the 
Hows Dependent on each other? 
• Engineering specifications maybe 
dependent on each other. 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches 
9 = Strong Relationship 
3 = Medium Relationship 
1 = Weak Relationship 
-1 = Weak Negative Relationship 
-3 = Medium Negative Relationship 
-9 = Strong Negative Relationship 
Blank = No Relationship at all
Step 8: Set Engineering Targets: 
How much is good enough? 
• Determine target value for 
each engineering requirement. 
– Evaluate competition products 
to engineering requirements 
– Look at set customer targets 
– Use the above two information 
to set targets 
Customer 
Evaluation 
Units 
Targets 
This Product 
This Product 
Targets 
Who 
Whats 
Who vs. 
Whats 
Hows vs 
Hows 
Hows 
Whats vs 
Hows 
Now 
Now vs 
What 
How Muches 
Hows vs 
How 
Muches

Weitere ähnliche Inhalte

Was ist angesagt?

Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Slideshare
 
Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26
koolkampus
 

Was ist angesagt? (20)

Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Requirements elicitation
Requirements elicitationRequirements elicitation
Requirements elicitation
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Functional and non functional
Functional and non functionalFunctional and non functional
Functional and non functional
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Sdlc
SdlcSdlc
Sdlc
 
McCall's Quality Factors
McCall's Quality FactorsMcCall's Quality Factors
McCall's Quality Factors
 

Andere mochten auch

Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
Jomel Penalba
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
ramyaaswin
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
Piyush Gogia
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
saurabhshertukde
 

Andere mochten auch (20)

Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
 
Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)
 
Software Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyzSoftware Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyz
 
Requirement elicitation
Requirement elicitationRequirement elicitation
Requirement elicitation
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
03 requirement engineering_process
03 requirement engineering_process03 requirement engineering_process
03 requirement engineering_process
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Analysis modelling
Analysis modellingAnalysis modelling
Analysis modelling
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Chapter 2 software development life cycle models
Chapter 2 software development life cycle modelsChapter 2 software development life cycle models
Chapter 2 software development life cycle models
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
 
Software design
Software designSoftware design
Software design
 
Requirements Validation
Requirements ValidationRequirements Validation
Requirements Validation
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Modeling and analysis
Modeling and analysisModeling and analysis
Modeling and analysis
 

Ähnlich wie Requirements engineering process in software engineering

lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
AqeelAbbas94
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
ubaidullah75790
 

Ähnlich wie Requirements engineering process in software engineering (20)

Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).ppt
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.ppt
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
 
software requirement
software requirement software requirement
software requirement
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
Requirementengg
RequirementenggRequirementengg
Requirementengg
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
5. SE RequirementEngineering task.ppt
5. SE RequirementEngineering task.ppt5. SE RequirementEngineering task.ppt
5. SE RequirementEngineering task.ppt
 
UNIT-II MMB.pptx
UNIT-II MMB.pptxUNIT-II MMB.pptx
UNIT-II MMB.pptx
 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptx
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Major Pitfalls of ERP Implementation in Big Companies
Major Pitfalls of ERP Implementation in Big CompaniesMajor Pitfalls of ERP Implementation in Big Companies
Major Pitfalls of ERP Implementation in Big Companies
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
 
Sdec10 lean AMS
Sdec10 lean AMSSdec10 lean AMS
Sdec10 lean AMS
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
Introduction to Operations Management by Stevenson
Introduction to Operations Management by StevensonIntroduction to Operations Management by Stevenson
Introduction to Operations Management by Stevenson
 

Mehr von Preeti Mishra

Mehr von Preeti Mishra (20)

Effective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labsEffective Ways to Conduct Programming labs
Effective Ways to Conduct Programming labs
 
Uml intro
Uml introUml intro
Uml intro
 
Component diagram
Component diagramComponent diagram
Component diagram
 
Activity diag
Activity diagActivity diag
Activity diag
 
Object diagram
Object diagramObject diagram
Object diagram
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
State chart diagram
State chart diagramState chart diagram
State chart diagram
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
Unit 5 design engineering ssad
Unit 5 design engineering ssadUnit 5 design engineering ssad
Unit 5 design engineering ssad
 
architectural design
 architectural design architectural design
architectural design
 
Oo concepts and class modeling
Oo concepts and class modelingOo concepts and class modeling
Oo concepts and class modeling
 
Unit 7 performing user interface design
Unit 7 performing user interface designUnit 7 performing user interface design
Unit 7 performing user interface design
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Design process interaction design basics
Design process interaction design basicsDesign process interaction design basics
Design process interaction design basics
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rules
 
Design process evaluating interactive_designs
Design process  evaluating interactive_designsDesign process  evaluating interactive_designs
Design process evaluating interactive_designs
 
Foundations understanding users and interactions
Foundations  understanding users and interactionsFoundations  understanding users and interactions
Foundations understanding users and interactions
 
IntrIntroduction
IntrIntroductionIntrIntroduction
IntrIntroduction
 
Coupling coheshion tps
Coupling coheshion tpsCoupling coheshion tps
Coupling coheshion tps
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

Requirements engineering process in software engineering

  • 1. RReeqquuiirreemmeenntt EEnnggiinneeeerriinngg PPrreeeettii MMiisshhrraa CCoouurrssee IInnssttrruuccttoorr
  • 2.
  • 3.
  • 4. Why good Specs are Essential: • It is VERY expensive to fix problems late in the process. It is very cheap to rewrite or clarify a written spec. • What costs $1 to fix at ReqGathering – $5 in the design stage – $10 in the coding stage – $20 in the unit testing phase – $200 after delivery 4
  • 5. 5 The Problems with our Requirements Practices • We have trouble understanding the requirements that we do acquire from the customer • We often record requirements in a disorganized manner • We spend far too little time verifying what we do record • We allow change to control us, rather than establishing mechanisms to control change • Most importantly, we fail to establish a solid foundation for the system or software that the user wants built
  • 6.
  • 7. TTyyppeess ooff RReeqquuiirreemmeennttss • Functional – ex - it must email the sales manager when an inventory item is "low" • Non-Functional – ex - it must require less than one hour to run report #5 • Explicit – ex – required features • Implied – ex – software quality • Forgotten – ex – exists in current process • Unimagined 7
  • 8. RReeqquuiirreemmeennttss ooff RReeqquuiirreemmeennttss • Clear • Measurable • Feasible • Necessary • Prioritized • Concise 8
  • 9. Why Req Eng is Difficult 9
  • 10. 10 A Solution: Requirements Engineering • Begins during the communication activity and continues into the modeling activity • Builds a bridge from the system requirements into software design and construction • Allows the requirements engineer to examine – the context of the software work to be performed – the specific needs that design and construction must address – the priorities that guide the order in which work is to be completed – the information, function, and behavior that will have a profound impact on the resultant design
  • 11. Requirement Engineering – RE helps software engineer to better understand the problem they will work to solve – Participant : Software Engineers, managers, customers and end users – RE is a software engineering action that begin during the communication activity and continues into the modeling activity
  • 12. RE Provides the appropriate mechanism for • Understanding what the customer want • Analyzing need • Assessing feasibility • Negotiating a reasonable solution • Specifying a solution unambiguously • Validating the specification • Managing the requirement as they are transformed into an operational system
  • 13. 13 Requirements Engineering Tasks • Seven distinct tasks – Inception – Elicitation – Elaboration – Negotiation – Specification – Validation – Requirements Management • Some of these tasks may occur in parallel and all are adapted to the needs of the project • All strive to define what the customer wants • All serve to establish a solid foundation for the design and construction of the software
  • 14. 14 Validation Requirements Management Inception Elicitation Elaboration Negotiation Specification
  • 15. Requirement Engineering Tasks • Inception—Establish a basic understanding of the problem and the nature of the solution. • Elicitation—Draw out the requirements from stakeholders. • Elaboration—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.
  • 16. 16 Inception Task • During inception, the requirements engineer asks a set of questions to establish… – A basic understanding of the problem – The people who want a solution – The nature of the solution that is desired – The effectiveness of preliminary communication and collaboration between the customer and the developer • Through these questions, the requirements engineer needs to… – Identify the stakeholders – Recognize multiple viewpoints – Work toward collaboration – Break the ice and initiate the communication
  • 17. 17 The First Set of Questions These questions focus on the customer, other stakeholders, the overall goals, and the benefits • Who is behind the request for this work? • Who will use the solution? • What will be the economic benefit of a successful solution? • Is there another source for the solution that you need?
  • 18. 18 The Next Set of Questions These questions enable the requirements engineer to gain a better understanding of the problem and allow the customer to voice his or her perceptions about a solution • How would you characterize "good" output that would be generated by a successful solution? • What problem(s) will this solution address? • Can you show me (or describe) the business environment in which the solution will be used? • Will special performance issues or constraints affect the way the solution is approached?
  • 19. 19 The Final Set of Questions These questions focus on the effectiveness of the communication activity itself • Are you the right person to answer these questions? Are your answers "official"? • Are my questions relevant to the problem that you have? • Am I asking too many questions? • Can anyone else provide additional information? • Should I be asking you anything else?
  • 20. Elicitation • It certainly simple enough, but… • Why difficult – Problem of Scope • The boundary of the system is ill-defined – Problem of Understanding • The customer/users are not completely sure of what is needed – Problem of volatility • The requirement change over time • To help overcame these problem, requirement engineers ,must approach the requirement gathering activity in an organized manner
  • 21.
  • 22. Elicitation Process Guideline – meetings are conducted and attended by both software engineers and customers – rules for preparation and participation are established – an agenda is suggested – a "facilitator" (can be a customer, a developer, or an outsider) controls the meeting – a "definition mechanism" (can be work sheets, flip charts, or wall stickers or an electronic bulletin board, chat room or virtual forum) is used – the goal is • to identify the problem • propose elements of the solution • negotiate different approaches, and • specify a preliminary set of solution requirements
  • 23. Elaboration • Expand requirement into analysis model • Elements of the analysis model – Scenario-based elements • Functional—processing narratives for software functions • Use-case—descriptions of the interaction between an “actor” and the system – Class-based elements • Implied by scenarios – Behavioral elements • State diagram – Flow-oriented elements • Data flow diagram
  • 24.
  • 25. Negotiation • Agree on a deliverable system that is realistic for developers and customers • SW team & other project stakeholders negotiate the priority, availability, and cost of each requirement • The Process are : – Identify the key stakeholders • These are the people who will be involved in the negotiation – Determine each of the stakeholders “win conditions” • Win conditions are not always obvious – Negotiate • Work toward a set of requirements that lead to “win-win”
  • 26. 26 The Art of Negotiation • Recognize that it is not competition • Map out a strategy • Listen actively • Focus on the other party’s interests • Don’t let it get personal • Be creative • Be ready to commit
  • 27.
  • 28. Specification • Final work product produced by requirement engineer. • Can be any one (or more) of the following: – A written document – A set of models – A formal mathematical – A collection of user scenarios (use-cases) – A prototype
  • 29. Technically Speaking, "requirement" ≠ "specification" • Requirement – understanding between customer and supplier • Specification – what the software must do • Requirements that are not in the SRS – Costs – Delivery dates – Acceptance procedures – etc 29
  • 30. Validation examine the specification to ensure that SW requirement is not ambiguous, consistent, error free etc A 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.
  • 31. Validation Vs. Verification • Validation: “Am I building the right product?” checking a work product against higher-level work products or authorities that frame this particular product. – Requirements are validated by stakeholders • Verification: “Am I building the product right?” checking a work product against some standards and conditions imposed on this type of product and the process of its development. – Requirements are verified by the analysts mainly
  • 32. Validation Cont’d • A review of the analysis model addresses the following question : – Is each requirement consistent with the overall objective for the system/product? – Have all requirements been specified at the proper level of abstraction? That is, do some requirements provide a level of technical detail that is inappropriate at this stage? – Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system? – Is each requirement bounded and unambiguous? – Does each requirement have attribution? That is, is a source (generally, a specific individual) noted for each requirement? – Do any requirements conflict with other requirements?
  • 33. 33 Summary Validation Requirements Management Inception Elicitation Elaboration Negotiation Specification 
  • 34. The problems is not that there are problems. The problem is expecting otherwise and thinking that having problems is a problem Theodore Rubin
  • 35. Need to focus Moving in the wrong direction at a fast pace is still moving in the wrong direction. Right Wr ong
  • 37. Information on QFD…. • Developed in Japan in the mid 1970s • Introduced in USA in the late 1980s • Toyota was able to reduce 60% of cost to bring a new car model to market • Toyota decreased 1/3 of its development time • Used in cross functional teams • Companies feel it increased customer satisfaction
  • 38. Why….? • Product should be designed to reflect customers’ desires and tastes. • House of Quality is a kind of a conceptual map that provides the means for interfunctional planning and communications • To understand what customers mean by quality and how to achieve it from an engineering perspective. • HQ is a tool to focus the product development process
  • 39. Important points • Should be employed at the beginning of every project (original or redesign) • Customer requirements should be translated into measurable design targets • It can be applied to the entire problem or any subproblem • First worry about what needs to be designed then how • It takes time to complete
  • 40. Components of House of Quality Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches
  • 41.
  • 42. Step 1: Who are the customers? • To “Listen to the voice of the customer” first need to identify the customer • In most cases there are more than one customer – consumer – regulatory agencies – manufacturing – marketing/Sales Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches Customers drive the development of Customers drive the development of the product, not the designer the product, not the designer
  • 43. Step 2: Determine the customers’ requirements • Need to determine what is to be designed • Consumer – product works as it should – lasts a long time – is easy to maintain – looks attractive – incorporated latest technology – has many features Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches List all the demanded qualities at the same level of abstraction
  • 44. Step 2: cont... • Manufacturing – easy to produce – uses available resources – uses standard components and methods – minimum waste • Marketing/Sales – Meets customer requirements – Easy to package, store, and transport – is suitable for display
  • 45. Kano Model Basic Quality: These requirements are not usually mentioned by customers. These are mentioned only when they are Excitement absent from the product. Performance Quality: provides an Satisfiers increase in satisfaction as performance improves Excitement Quality or “wow requirements”: are often unspoken, possibly because we are seldom asked to express our dreams. Creation of some excitement features in a design differentiates the product from competition. Delighted Performance Basic Fully implemented Absent Customer Satisfaction + - Disgusted
  • 46. Types of customer requirements • Functional requirements describe the product’s desired behavior • Human factors • Physical requirements • Reliability • Life-cycle concerns • Resource concerns • Manufacturing requirements
  • 47. How to determine the Whats? • Customer survey (have to formulate the questions very carefully) • If redesign, observe customers using existing products • Combine both or one of the approaches with designer knowledge/experience to determine “the customers’ voice”
  • 48. Step 3: Determine Relative Importance of the Requirements: Who vs. What • Need to evaluate the importance of each of the customer’s requirements. – Generate weighing factor for each requirement by rank ordering or other methods Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches
  • 49. Rank Ordering • Order the identified customer requirements • Assign “1” to the requirement with the lowest priority and then increase as the requirements have higher priority. • Sum all the numbers • The normalized weight Rank/Sum • The percent weight is: Rank*100/Sum
  • 50. Step 4: Identify and Evaluate the Competition: How satisfied is the customer now? • The goal is to determine how the customer perceives the competition’s ability to meet each of the requirements – it creates an awareness of what already exists – it reveals opportunities to improve on what already exists The design: 1. does not meet the requirement at all 2. meets the requirement slightly 3. meets the requirement somewhat 4. meets the requirement mostly 5. fulfills the requirement completely Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches
  • 51. Step 5: Generate Engineering Specifications: How will the customers’ requirements be met? • The goal is to develop a set of engineering specifications from the customers’ requirements. Restatement of the design problem and customer requirements in terms of parameters that can be measured. Each customer requirement should have at least one engineering parameter. Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches
  • 52. Step 6: Relate Customers’ requirements to Engineering Specifications: Hows measure Whats? • This is the center portion of the house. Each cell represents how an engineering parameter relates to a customers’ requirements. Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches 9 = Strong Relationship 3 = Medium Relationship 1 = Weak Relationship Blank = No Relationship at all
  • 53. Step 7: Identify Relationships Between Engineering Requirements: How are the Hows Dependent on each other? • Engineering specifications maybe dependent on each other. Customer Evaluation Units Targets This Product This Product Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches 9 = Strong Relationship 3 = Medium Relationship 1 = Weak Relationship -1 = Weak Negative Relationship -3 = Medium Negative Relationship -9 = Strong Negative Relationship Blank = No Relationship at all
  • 54. Step 8: Set Engineering Targets: How much is good enough? • Determine target value for each engineering requirement. – Evaluate competition products to engineering requirements – Look at set customer targets – Use the above two information to set targets Customer Evaluation Units Targets This Product This Product Targets Who Whats Who vs. Whats Hows vs Hows Hows Whats vs Hows Now Now vs What How Muches Hows vs How Muches