Integrational Specification and Management of Requirements
Requirements can be regarded as an aspect of a system to which other aspects,
such as design, implementation, or test aspects must be related.
Sometimes the trace from requirements to final realisation is straightforward;
sometimes it is very complicated.
The hypothesis for RISE-REQCOMP is that traceability from requirements to
design is easier to establish and maintain if modern design concepts, such as
aspects, are used. We have a special interest in Non-Functional Requirements, that
are often handled implicitly in industrial practice and in newly proposed development
models, such as the Rational Unified Process. The potential benefits from good traceability are:
- Improved maintenance. If a modification request is transformed into requirements,
it is easy to find the affected parts of the design and ultimately the code to modify.
- Change impact analysis. Tracing from requirements suggested to be changed
to code gives valuable information about the expected cost of changes.
- Gap analysis. If only a sub-set of all requirements are implemented,
backward traceability tells us what part of the software is remaining from a
usage point of view.
- Tracing non-functional requirements. It is a hard problem to visualize the
non-functional properties in a design model. Cross-cutting aspects, especially
architecture, have a higher potential to directly relate to non-functional properties
of the system.
The requirements can be said to represent the intended use of the system,
but in order to manage the software product we need data about the actual use
of the system. We regard the usage profile as another aspect of the system,
which can be expressed in terms of the requirements, annotated with data about the
frequency of execution.
The usage data gives us
valuable information for:
- Release planning. Functions related to more popular ones can be released
- System tuning. Even marginal improvements in performance and usability
of frequently used parts of the system
give a high leverage in perceived system quality.
- Decision making. What shall we do with non-used functions? Improve marketing,
improve customer education, or simply remove them?
- Testing and Quality Assurance. The field of Software Reliability Engineering
recommends that testing efforts are distributed proportionally to the frequency
Kristian Sandahl, subproject leader
Andreas Borg , PhD student
The leading star for this research is to work with industrially relevant problems,
and have a critical attitude to the hypotheses we state at the university..
Thus we are performing case studies with industrial partners in order to achieve
problem definitions and to test solutions. The strategy is to start with a general
description of requirements management and then subsequently go into more detail.
The general goal is to achieve models of describing requirements that are both
capable of handling models of realistic sizes as well as being integrateable with
the design concepts developed in RISE-ARE. This work is interweaved with critical
examination of the benefits sketched above.
- Phase 1: Establish a problem description, grounded in industrially relevant
- Phase 2: Develop methods and tools for modelling requirements and
gather usage data.
- Phase 3: Integrate with RISE-ARE. Test the proposed benefits under
as realistic conditions as possible.
- Phase 1: We have performed interview series about the state-of-practice at
Ericsson and SMHI (Swedish Meteorological and Hydrological Institute). Generally
the practice is to cater for non-functional requirements implicitly, such as
education of personnel, or explicitly, but then attached to a functional requirement.
We intend to continue with Ericsson as regards the modelling of performance
- Phase 2: We have developed a method for capturing usage profiles
of large-scale distributed systems based on intercepting CORBA communication.
We have shown that several of
the benefits above can be achieved, but that the organisational problems should not
be underestimated. We have also developed a method for gathering usage profiles
for highly interactive web-based systems. The method is well validated by comparing
it to different human-centered techniques. We have started working with UML 2.0
as a means to visualise performance requirements.
- Phase 3: This phase is still in prestudy. The sub-project leader
conferences with RISE-ARE and specialists at Ericsson on a regular basis.
- Borg, A., J. Karlsson, S. Olsson, and K. Sandahl. Supporting Requirements
Selection by Measuring Feature Use, in the proceedings of the Tenth
International Workshop on Requirements Engineering: Foundation for Software
Quality (REFSQ'04), Riga, Latvia, pp. 77-82, June 7-8, 2004.
- Borg, A., J. Karlsson, S. Olsson, and K. Sandahl. Measuring the Use of
Features in a Requirements Engineering Tool-An Industrial Case Study, in
the proceedings of the Fourth Conference on Software Engineering Research
and Practice in Sweden, pp. 101-110, Linköping, Sweden, October 21-22, 2004.
- Borg, A. Contributions to Management and Validation of Non-Functional
Requirements. Licentiate thesis no. 1126, Department of Computer and
Information Science, Linköpings universitet, Sweden, 2004.
- Moe, J. and Sandahl, K. (2002). Using Execution Trace Data to Improve Distributed Systems.
Proceedings of International Conference on Software Maintenance, ICSM'02 , 3-6 October,
2002, Montreal, Canada, pp 640-648.
- Sandahl, K., Aßmann, U. and Carlshamre, P. (2002). Requirements Engineering for Integrational
Software Development. Proceedings of Requirements Engineering: Foundation for
Software Quality, REFSQ'02, September 9-10, 2002, Essen, Germany, pp 172-177
- Borg, A., Yong, A., Carlshamre, P. and Sandahl, K. (2003). The Bad Conscience of
Requirements Engineering: An Investigation in Real-world Treatment of
Non-Functional Requirements. Proc of Third Conference of Software Engineering
Research and Practise in Sweden, SERPS'03 , October 23-24, 2003, Lund, Sweden, pp 1-8.
We are indebted to Ericsson, SMHI and Focal Point AB. Part of this project was
financed by KK-stiftelsens företagsforksarskola, LIFT.
This subproject is part of the RISE project at PELAB, IDA, Linköpings universitet,
and supported by
Kristian Sandahl (firstname.lastname@example.org)