Software Requirements Elicitation Methods

29
Software Requirements Elicitation Methods Muhammad Naeem
  • date post

    21-Oct-2014
  • Category

    Software

  • view

    201
  • download

    3

description

This topic comes under Requirements Engineering

Transcript of Software Requirements Elicitation Methods

Page 1: Software Requirements Elicitation Methods

Software Requirements Elicitation Methods

Muhammad Naeem

Page 2: Software Requirements Elicitation Methods

Software Requirement Elicitation Methods Introduction Problems in Requirements Elicitation Requirements Elicitation Methods New Techniques for Requirements Elicitation Building Operational definitions based on keyword

mapping Process Flow Requirements Elicitation using QFD Risk Analysis Using CMM Evaluation Methods Conclusion

Page 3: Software Requirements Elicitation Methods

Introduction

Page 4: Software Requirements Elicitation Methods

Introduction Requirements elicitation is the practice of

collecting the requirements of a system from users, customers and other stakeholders 

Page 5: Software Requirements Elicitation Methods

Problems in Requirements Elicitation

Page 6: Software Requirements Elicitation Methods

Problems in Requirements Elicitation Problems of scope Problems of understanding. Problems of volatility.

Page 7: Software Requirements Elicitation Methods

Requirements Elicitation Methods

Page 8: Software Requirements Elicitation Methods

Requirements Elicitation Methods Dealing with the problem of lack of user input

Structured and Unstructured Interview with stakeholders

Template document for keywords Define precise system requirements

Requirements should be meaningful, precise and realistic

Page 9: Software Requirements Elicitation Methods
Page 10: Software Requirements Elicitation Methods

New Techniques for Requirements Elicitation

Page 11: Software Requirements Elicitation Methods

New Techniques for Requirements Elicitation Training sessions to eliminate “lack of user

input” and “poor understanding” Recording keywords Pictorial representation of needs and wants to

reduce language barriers Keyword Mapping Operational definition extraction

Page 12: Software Requirements Elicitation Methods

Building Operational definitions based on keyword mapping

Page 13: Software Requirements Elicitation Methods

Building operational definitions based on keyword mapping Collection and Identification of Keywords Categorization of Keywords

Attribute Set = {(k1), (k2), (k3), (k4),(k6), (k7)} Behavioral Keyword set = {(k1), (k2), (k3), (k4)} Non-functional Keyword set = {(k1), (k2), (k3),(k4)} Functional Keyword set = {(k1), (k2), (k3), (k4)}

Page 14: Software Requirements Elicitation Methods

Building operational definitions based on keyword mapping Mapped KeywordsrepresentationMap(Att,Behav) = {(k2,k3), ( k4,k2)} Map(Non-funct, Att) = {(k4,k3) , (k3,k7)}

Page 15: Software Requirements Elicitation Methods

Building operational definitions based on keyword mapping Mapping Nested SetsMap(Map(Attr, Behav), Map (Nonfunct,Attr)) = { [(k2,k3), (k3,k7)], [(k4,k2), (k4,k3)] }

Now the keywords k2,k3,k3,k7,k4,k2,k4,k3 form a sentence.

Page 16: Software Requirements Elicitation Methods

Process Flow

The process flow diagram is another representation of the elicitation process,

Page 17: Software Requirements Elicitation Methods

Domain Specific Requirement

 

Classifying & Prioritizing system requirements using

QFD

Domain Specific Req

Quality Inspection

Requirement Specification

 Risk Analysis Using CMM

Analyze and build

 

Product

User Training Sessions

Available Resources and Computer

Limitations

 

Development and other

stakeholder’s abilities and skills

Available Resources and Computer

Limitations

 

Interview1 Interview2 Interview3 Interview4

New Technique for requirement

Extraction

Keyword recording and Extraction

 Keyword mapping

Technique

 Operational Definitions for system

Requirements

 

Page 18: Software Requirements Elicitation Methods

Requirements Elicitation using QFD

Page 19: Software Requirements Elicitation Methods

Requirements Elicitation using QFD What is QFD?

A systematic process for motivating a business to focus on its customers.

Based on market research: understanding customers’ needs and desires, and the effectiveness of relevant products in meeting those needs and desires.

Why QFD? To improve the communication of customer

needs throughout the organization. To improve the completeness of specifications

and to make them traceable directly to customer wants and needs.

Page 20: Software Requirements Elicitation Methods

Components of QFD

Page 21: Software Requirements Elicitation Methods
Page 22: Software Requirements Elicitation Methods

Risk Analysis Using CMM

Page 23: Software Requirements Elicitation Methods

Risk Analysis Using CMM The Capability Maturity Model for Risk

Management is a model for describing both the present maturity of risk management processes in an organization, and for studying those processes in order to develop a more mature, i.e. effective, risk management process.

The CMM is divided into five maturity levels 1. Initial. 2. Repeatable. 3. Defined. 4. Managed. 5. Optimizing

Page 24: Software Requirements Elicitation Methods

Evaluation Methods

Page 25: Software Requirements Elicitation Methods

Evaluation Methods Effective data collection method for evaluating software

development methodologies Evaluated by collecting data from domain experts and from

other users who have studied the technique thoroughly Evaluate the technique subjectively, by questions including

the following: (true/false) In current software elicitation, many important things are

overlooked. (true/false) Pictorial representations of keywords help to make their

meanings clear and unambiguous. (true/false) The sentences generated by collecting, mapping and relating

keywords can easily be converted to accurate system requirements. (true/false) The technique eliminates irrelevant, redundant or trivial

requirements. (true/false) When many keywords (e.g. several hundred or thousand) are

collected, the mapping process and its results are still manageable. Is this technique simple? Is this technique effective?

Page 26: Software Requirements Elicitation Methods

Evaluation Methods(cont..) The technique will be applied to actual elicitation

situations of various scales, and stakeholders will be asked about their satisfaction with various parameters of the elicitation:

Are the requirements complete? Are they within the scope of the system? Have irrelevant, redundant and trivial requirements been

avoided? Do the requirements accurately represent the expressed needs of

the users?

Page 27: Software Requirements Elicitation Methods

Conclusion

Page 28: Software Requirements Elicitation Methods

Conclusion Goal

To develop a new methodology for improved requirements elicitation

Proposal Training of users in the capabilities and limits of the computer

and of software developers; Collection of keywords from stakeholders in all categories; Pictorial representation of keywords to facilitate agreement on

their meaning; Keyword mapping to generate system requirements; Quality Function Deployment (QFD) to make sure that

requirements are relevant to the task and to the users’ needs; Capability Maturity Model (CMM) to make sure that

requirements take into account the risks the system will encounter or generate.

Page 29: Software Requirements Elicitation Methods

Questions??