Download - Software Requirements Elicitation Methods
Software Requirements Elicitation Methods
Muhammad Naeem
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
Introduction
Introduction Requirements elicitation is the practice of
collecting the requirements of a system from users, customers and other stakeholders
Problems in Requirements Elicitation
Problems in Requirements Elicitation Problems of scope Problems of understanding. Problems of volatility.
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
New Techniques for Requirements Elicitation
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
Building Operational definitions based on keyword mapping
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)}
Building operational definitions based on keyword mapping Mapped KeywordsrepresentationMap(Att,Behav) = {(k2,k3), ( k4,k2)} Map(Non-funct, Att) = {(k4,k3) , (k3,k7)}
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.
Process Flow
The process flow diagram is another representation of the elicitation process,
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
Requirements Elicitation using QFD
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.
Components of QFD
Risk Analysis Using CMM
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
Evaluation 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?
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?
Conclusion
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.
Questions??