Integrating use case specification and rationale capture

In collaboration with:

Goal

Develop an integrated process, guidance, and dedicated tool support for capturing and negotiating requirements and their rationale under realistic cost and time constraints.

Problem

Requirements specifications fall short of capturing other useful information generated during the requirements engineering process, such as the justification for selected requirements, trade-offs made by stakeholders, and alternative requirements that were discarded. In the context of evolving systems and distributed development, this information, called rationale, is essential, as many stakeholders are involved in the development and many of them will not be available when changes occur. Rationale, however, is rarlely captured because:

  • It is difficult to elicit rationale information.
  • It is costly to maintain rationale information as requirements and systems evolve.
  • It requires the training of many participants.
  • It is perceived as a long term investment.

Approach

We assume that

  1. an integrated tool and accompanying guidance can significantly lower the initial cost of capturing rationale,
  2. a specialized rationale broker role can, within reasonable constraints, structure and filter the captured rationale for future use.

To test and refine these assumptions, we follow an experimental approach in which we incrementally develop tool and guidance and evaluate them, initially in student project courses, and progressively in increasingly more realistic situations.

Accomplishments so far

So far, we have accomplished the following:

  • We integrated two existing techniques, use case specification and rationale capture in the form of QOC (Questions, Options, and Criteria) and focused on the activities where these two techniques interact, justification, review, and consolidation.
  • We developed a first version of REQuest, a tool providing integrated support for both techniques.
  • We developed a toy example, a SuperMarket checkout, for training new users, along with a tutorial lecture.
  • We evaluated the tool for rationale capture in the context of a software engineering project course at TUM and in a requirements engineering seminar (winter semester 2000/01).
  • We have been evaluating an improved version of the tool in a requirements engineering lecture at the University of Kaiserslautern and in a design rationale seminar at TUM (summer semester 2001).

A preliminary analysis of the data from these case studies indicate that both the requirements and the rationale model provided by the tool are too general for untrained users. We are currently detailing both models (e.g., refined templates for use cases, additional types of questions, additional views and filters into the rationale).

Contributors

Daniela Ahlisch (Programmer)
Kagan Aksit (Diplomarbeit)
Allen Dutoit (Researcher)
Barbara Paech (Researcher, Fraunhofer IESE)

Publications

A.H. Dutoit, B. Paech
Rationale Management in Software Engineering.
In S.K.Chang (Ed.)Handbook of Software Engineering and Knowledge Engineering. World Scientific, 2001.

A.H. Dutoit, B. Paech
Developing Guidance and Tool Support for Use Case-Based Specification.
7th International Workshop on Requirements Engineering: Foundation for Software Quality. (REFSQ'2001). Interlaken, Switzerland, June 2001. (REFSQ'2001 Program)

A.H. Dutoit, B. Paech
Supporting Evolution: Using Rationale in Use Case Driven Software Development.
6th International Workshop on Requirements Engineering: Foundation for Software Quality. (REFSQ'2000), Stockholm, June 2000. (REFSQ'2000 Program)

K. Aksit
Designing and Implementing a Robust Issue Server.
Diplomarbeit. Technische Univeristät München. Feburary 2000.


This page is hosted by the Chair for Applied Software Engineering of the Technische Universität München.
Imprint (Impressum)