The first step during the software development, requirements engineering, is very critical because of the high effort (in time and costs) that has to be made to correct mistakes detected later that have been made in this early phase of software life-cycle. In order to support the aim of high-quality software, the goals of requirements engineering are developing a complete as possible specification, providing integrated representation formalisms
and accomplishing a common agreement on the specification.
The very first activity that has to be passed through is requirements elicitation. There are existing three main problems: the problem of defining the scope, the problem of understanding
the users’ needs and the problem of requirements volatility over time. You can follow several heuristics and guidelines to find solutions to these problems. In addition, several techniques and methodologies have been suggested to support the process of
requirements elicitation. They differ in several ways: the kind of problem they intend to solve, the methods used for achieving this aim, the kind of people involved, the level of abstraction and precision the requirements have to be formulated in.
In this report, a selection of these techniques and methodologies is chosen and they are classified into a classification scheme worked out. The techniques and methodologies can coarsely be divided into four classes: interview-oriented approaches, objective and
goal analysis-oriented approaches, viewpoint analysis-oriented approaches, and scenario analysis-oriented approaches. There are others that do not fit into this division, but provide nevertheless help for requirements elicitation. The developed classification
scheme highlights the differences between the existing techniques. It should serve as an overview of existing techniques and methods as a guideline for analysts and developers for finding an appropriate method for problems at hand.
Table of Contents
1. Introduction
2. Conceptions and Guidelines
2.1 Requirements Elicitation Process Model
2.2 Guidelines for Requirements Elicitation
3. Framework for Understanding Elicitation Approaches
3.1 Problem
3.2 Methods
3.3 People
3.4 Type
3.5 Solution
4. Categorization of Requirements Elicitation Approaches
4.1 Interview-Oriented Approaches
4.2 Objective and Goal-Oriented Approaches
4.3 Viewpoint Analysis-Oriented Approaches
4.4 Scenario Analysis-Oriented Approaches
4.5 Others
5. Related work and Further Readings
6. Conclusions
Objectives and Research Scope
This thesis examines the field of requirements elicitation within software engineering, aiming to classify existing techniques and methodologies to provide a guideline for analysts and developers. It specifically focuses on addressing the core challenges of defining the system scope, understanding user needs, and managing requirements volatility, while providing a framework for comparing various elicitation strategies.
- Analysis of the fundamental requirements elicitation process model.
- Development of a taxonomy for categorizing diverse elicitation approaches.
- Investigation of specific method classes, including interview, goal-oriented, viewpoint, and scenario-based approaches.
- Evaluation of practical case studies to illustrate how different methods address requirements challenges.
Excerpt from the Book
4.1.1 Interviews [GL92]
The first method that is considered is introspection. The requirements engineer imagines what kind of system he would want when he was the user. His ideas are written down and serve as basis for requirements. This is the most obvious way of getting an understanding of the task that has to be fulfilled, but the biggest problem is that users and system designer are experts in different fields, so the designer often does not have the expert knowledge.
Interviews are another form of extracting direct knowledge. Several types can be distinguished: questionnaires, open ended interviews, and focus groups.
The advantage of questionnaire interviews is a certain structure that makes evaluation easier, all relevant questions can be selected before interviewing, and uncertainties in interpretation are reduced, but the degree of freedom of the answers is limited, questions can be interpreted in different ways, and implicit knowledge can hardly be elicited. In open ended interviews, the interviewer poses a question and the interviewee can answer freely. This avoids the problems of questionnaires, but some problems are not easily describable in words, and the evaluation of the answers is more complicated. In focus groups the interaction between people is supported. It is a kind of group interview where people discuss a particular topic, in market research often supported by films, story boards, or product mock-ups. But it is often no ’natural’ group and is not very useful for requirements elicitation when the subjects are no experts.
Summary of Chapters
1. Introduction: Discusses the significance of requirements engineering and identifies the primary challenges such as scope, understanding, and volatility in the software life cycle.
2. Conceptions and Guidelines: Establishes a foundational process model for requirements elicitation and provides a set of 12 guidelines for effective requirements acquisition.
3. Framework for Understanding Elicitation Approaches: Introduces a classification framework based on five dimensions—Problem, Methods, People, Type, and Solution—to organize and evaluate elicitation techniques.
4. Categorization of Requirements Elicitation Approaches: Provides a detailed taxonomy and analysis of various approaches, grouping them into interview-oriented, goal-oriented, viewpoint-oriented, scenario-based, and other methods.
5. Related work and Further Readings: Gives an overview of additional literature and research frameworks that support the choice and evaluation of requirements elicitation methods.
6. Conclusions: Summarizes the findings, highlighting that no single approach is ideal and that combining methods effectively can better address the complexity of modern software requirements.
Key Terms
Requirements Elicitation, Requirements Engineering, Software Development, System Scope, Requirements Volatility, Stakeholder Analysis, Goal-Oriented Requirements, Viewpoint Analysis, Scenario-Based Elicitation, Interviewing Techniques, Prototyping, Software Specification, Traceability, Information Structuring, Requirements Validation
Frequently Asked Questions
What is the primary focus of this work?
The work focuses on the process of requirements elicitation, specifically examining how to identify, capture, and document user needs in the early stages of the software life cycle.
What are the main problems in requirements elicitation?
The core problems identified are defining the system scope, bridging the understanding gap between users and developers, and managing the volatility of requirements over time.
What is the goal of the proposed classification scheme?
The goal is to provide analysts with a structured way to compare different elicitation approaches, helping them choose the most appropriate method based on the specific needs and context of their project.
Which scientific methods are analyzed in this thesis?
The thesis analyzes five categories of methods: Interview-oriented approaches, Objective and Goal Analysis, Viewpoint Analysis, Scenario Analysis, and Form Analysis.
What is the purpose of the requirement elicitation process model?
It defines a fundamental workflow for analysts, encompassing source identification, fact gathering, information structuring, validation, and appropriate representation.
Which key criteria characterize the different approaches?
The approaches are characterized by the problems they solve (scope, understanding, volatility), the methods they use, the stakeholders involved, the level of abstraction, and the precision of the requirements.
How does the author define a "viewpoint"?
A viewpoint is defined as a subset of system requirements that can be assigned to a specific object, representing a particular stakeholder's perspective towards the system.
Why is the "Goal-Based Requirements Analysis Method" (GBRAM) significant?
GBRAM is highlighted for its structured approach to goal analysis and evolution, explicitly focusing on refining high-level objectives into specific subgoals to ensure system requirements align with organizational goals.
- Quote paper
- Martin Fehrenbach (Author), 1998, A Survey on Requirements Elicitation, Munich, GRIN Verlag, https://www.grin.com/document/185271