Requirements Engineering: Advanced Topics
Christof Ebert, Vector Consulting Services
Total pages: 45
$29.00
Requirements engineering (RE) is a multidisciplinary field that blends software
engineering, systems engineering, product management, and psychology. RE is the
branch of systems engineering concerned with software-intensive systems' desired
properties and constraints, the goals to be achieved in the software's
environment, and assumptions about that environment. RE interfaces with software
engineering in that it specifies the desired functions, quality attributes, and
other properties of the software that is to be built or assembled. It interfaces
with systems engineering in that it analyzes the software problems that exist in
the sociotechnical system in which the software is to play a role. As a
problem-analysis discipline, RE borrows from product management and psychology;
it deals with goals to be achieved, the stakeholders who have these goals, and
the problems to be solved within given business constraints. To summarize, RE
maps needs to solutions. The underlying techniques evolve along the domains and
their respective needs. RE research and the latest industrial results thus help
tremendously in understanding what drives the software and systems engineering
disciplines and their respective application domains. RE is a wonderful area for
looking at how business drivers impact technical decisions and how individual
people with their skills and competences make the difference.
Here, I've collected articles that provide details on a few relevant topics with
sufficient depth to drive your own work in these domains. This selection of
advanced articles shows the many facets RE has in practice and in research. I've
selected these domains according to current and future relevance, not historic
value. For example, Betty Cheng and Joanne Atlee's conference presentation
"Research Directions in Requirements Engineering" provides a profound and
comprehensive summary on trends that impact RE. They underline what research
domains are relevant in the coming years. "Requirements Uncertainty: Influencing
Factors and Concrete Improvements" describes how requirements are uncertain by
nature, and shows how this uncertainty impacts software engineering and which
techniques are available to manage it. "Initial Lessons Learned from the
Definition and Implementation of a Platform Requirements Engineering Process at
Intel Corporation," from Sarah Nesland highlights that products often depend on
each other. This practical industry article shows how platform requirements are
extracted and maintained over a system's evolution.
Stakeholders influence RE in many ways. In "Stakeholders in Global Requirements
Engineering: Lessons Learned from Practice," Daniela Damian stresses that often
critical stakeholders are overlooked or handled insufficiently. Her article
looks into stakeholder management, specifically for distributed projects.
Finally, in "Nonfunctional Requirements: From Elicitation to Conceptual Models"
Luiz Marcio Cysneiros provides a comprehensive summary on how nonfunctional
requirements such as security or maintainability are handled throughout the
early development phases.
These articles on RE look into current hot topics and related research and how
they are practically handled in industrial but also research settings. They
stimulate your own search for best practices for the many new challenges in
front of your software systems.
Keywords: software design, requirements elicitation, nonfunctional requirements,
goal graphs, UML conceptual models, requirements engineering, stakeholders,
global software engineering, client-developer relationships, outsourcing,
research directions, process improvement, product life cycle, product
management, platform requirements, requirements uncertainty
Table of Contents
Introduction
Christof Ebert, Vector Consulting Services
Research Directions in Requirements Engineering
Betty H.C. Cheng, Michigan State University
Joanne M. Atlee, University of Waterloo
In this paper, the authors review current requirements engineering (RE) research
and identify future research directions suggested by emerging software needs.
They highlight what they consider to be the "hot" current and future research
topics, which aim to address RE needs for emerging systems of the future.
Requirements Uncertainty: Influencing Factors and Concrete Improvements
Christof Ebert and Jozef De Man, Alcatel
A key reason for project failures is insufficient management of changing
requirements during all stages of the project life cycle. One root cause for
changing requirements is requirements uncertainty. An experimental field study
examines four underlying drivers for this problem.
Initial Lessons Learned from the Definition and Implementation of a Platform
Requirements Engineering Process at Intel Corporation
Sarah Nesland, Intel
In many companies a communication divide exists between the disciplines of
engineering, strategic planning, and marketing. To solve this problem, Intel's
Desktop Platform Group (DPG) defined and implemented a platform requirements
engineering system.
Stakeholders in Global Requirements Engineering: Lessons Learned from Practice
Daniela Damian, University of Victoria
Stakeholders have many needs in global requirements engineering and face several
challenges in distributed interaction. Here, the authors provide practical
advice to alleviate these challenges, as distilled from empirical studies of
practice in global software engineering.
Nonfunctional Requirements: From Elicitation to Conceptual Models
Luiz Marcio Cysneiros and Julio Cesar Sampaio do Prado Leite
Nonfunctional requirements (NFRs) have been frequently neglected or forgotten in
software design. The authors present a process to elicit NFRs, analyze their
interdependencies, and trace them to functional conceptual models.
Recommended Resources