Requirements Traceability: Mirka Palo
Requirements Traceability: Mirka Palo
Mirka Palo
Seminar Report Department of Computer Science University of Helsinki 30th October 2003
Table of Contents
1 2 3 4 INTRODUCTION.......................................................................................................... 1 DEFINITION ................................................................................................................. 1 REASONS FOR REQUIREMENTS TRACEABILITY ............................................... 1 CONCEPTUAL TRACE MODEL [KNE01], [KNE02] ................................................ 2 4.1 4.2 5 CONCEPTUAL SYSTEM MODEL .............................................................................. 2 CONCEPTUAL DOCUMENTATION MODEL................................................................ 3
TRACEABILITY REFERENCE MODELS [RAM01] ................................................. 4 5.1 5.2 LOW-END TRACEABILITY MODEL ......................................................................... 4 HIGH-END TRACEABILITY MODEL ......................................................................... 6 5.2.1 5.2.2 5.2.3 5.2.4 Requirements Management Submodel ...................................................... 7 Rationale Submodel ................................................................................. 8 Design Allocation Submodel..................................................................... 9 Compliance Verification Submodel........................................................... 9
REFERENCES............................................................................................................. 10
1 Introduction
This paper is an introduction to seminar presentation about requirements traceability. In chapter 2 definition for requirements traceability is given. Reasons for requirements traceability in different phases of the system development are described in chapter 3. In chapter 4 a conceptual trace model is described and in chapter 5 two traceability reference models are described.
2 Definition
The following definition sums up the general view of the requirements traceability [Got94]: The requirements traceability is the ability to describe and follow the life of a requirement, in both a forward and backward direction, i.e. from its origins, through its development and specification, to its subsequent deployment and use, and through periods of ongoing refinement and iteration in any of these phases.
2 Test procedures can be traced to requirements or design and this kind of traceability helps to design and modify test procedures [Ram01]. Modifications after the delivery of the system will happen due to various reasons (e.g. to correct faults or to adapt the system to a changing environment). These kinds of modifications are called system evolution [Leh03]. Empirical studies show that even experienced software professionals predict incomplete sets of change impacts [Lin98]. With complete traceability, more accurate costs and schedules of changes can be determined, rather than depending on the engineer or programmer to know all the areas affected by these changes [Ram01].
3 Tasks at different abstraction levels. Each system task must be related to a set of dependency relationships between monitored environmental items and one controlled item. Dependency relationships between entity types at one abstraction level (e.g. monitored items must have influence relationships to controlled items). Refinement relationships between entity types at different abstraction levels (e.g. a system task must have a refinement relationship to a software task and at least two hardware tasks).
4 Representation relationships between documentation entity types that represent the same logical entity type (e.g. a use case must have a representation relationship to a use case description because both represent a system task.
5 The main applications of traceability are requirements decomposition, requirements allocation, compliance verification and change control. The low-end traceability model can be seen in the figure 1 below. derive Requirements developed_for Compliance_Verification_Procedures
allocated_to
satisfy
performed_on
Figure 1: Low-end traceability model Typical low-end users view requirements traceability as providing a link from initial requirements to the actual system components that satisfy those requirements. Lower level refined requirements are derived from higher level system requirements. Original and derived requirements are allocated to system components. By capturing which components satisfy various requirements and which requirements are mapped to different components, the designer is able to verify that all requirements are addressed by the system. In the compliance verification phase of systems development, low-end users use the requirements database, which contains the most current version of the systems validated requirements, to develop the system compliance verification procedures such as tests or simulations. If a change should occur in the requirements, then the traceability links could identify the compliance verification procedures that must be modified or redeveloped. Compliance verification procedures are performed on the system
6 components verifying that the component satisfies the requirements. Results of the tests are used to verify that the system works and that it meets all of the requirements. A system component may depend on others and may also interface with external systems. This information is used in evaluating how a requirement is satisfied by a system component. Low-end users lack especially in the area of capturing rationale, see e.g. the following quote from a user: Often we have no idea who made these decisions, and how they impact the rest of the effort. Simply trying to do these at the end of the project or after the fact does not work. Often the people who worked on it are gone without a trace, of what happened not disciplined enough to document these with all the demands on the team.
7 5.2.1 Requirements Management Submodel With the requirements management submodel the requirements can be traced throughout the lifecycle to provide stakeholders with a view to understand and evaluate whether system supports critical success factors. The requirement management submodel is shown in figure 2 below. Organisational_Needs Operational_Needs identify Scenarios describe Critical_Success_Factors describe justify System_Objectives describe generate Change_Proposals generate managed_by Mandates Strategic_Needs
Resource
based_on
Standards
Policies
Methods
Figure 2: Requirements management submodel The requirements management submodel takes into account the following issues: systems are built to satisfy organizational needs organizational needs are detailed in scenarios
8 system objectives are justified by organizational needs, stakeholders specify the system objectives requirements are generated from system objectives organizational needs (i.e. stakeholders) identify critical success factors, e.g. resources can be one of the critical success factors requirements for the system are managed by critical success factors requirements may also be based on standards, policies and methods constraints may be treated as a type of requirement lower level requirements are derived from higher level requirements some requirements are elaborated by others, providing further explanation or clarification requirements also depend-on others complex requirements are often broken down into their components, identifying simpler requirements that form a part-of them. 5.2.2 Rationale Submodel The rationale submodel maintains the information about how decisions are made to resolve issues or conflicts throughout the system lifecycle to ensure that customer requirements are understood and satisfied. The rationale submodel takes into account the following issues: objects (e.g. components, requirements, designs) generate issues or conflicts issues are resolved by decisions decisions may affect requirements various alternatives that address the resolution of issues are considered arguments for and against each alternative may be proposed decision to select one or more alternatives id often influenced by the critical success factors assumptions underlying the various components of the deliberation are also recorded
9 5.2.3 Design Allocation Submodel The design allocation submodel shows the relations between requirements and design components. The design allocation submodel takes into account the following issues: requirements drive design design is often based on mandates (e.g. standards, policies or methods) that govern the system development activity system or subsystem components are the building blocks of the system and they are defined or created by the design process requirements are allocated to components that are supposed to satisfy them components depend on other components components can be part-of other components resources are used by components functions are performed by components functions are addressed to requirements components depend on external systems. Compliance Verification Submodel
5.2.4
The compliance verification submodel is used to certify completeness and correctness of the system and identify changes that may be necessary to meet the objectives. The compliance verification submodel takes into account the following issues: the development of compliance verification procedures (e.g. prototyping, simulation, testing and inspection) is governed by their use of resources mandates (e.g. standards, policies or methods) are commonly the basis of compliance verification procedures and determine which procedures are required and how they are to be performed compliance verification procedures either verify how the components satisfy requirements or help generate change proposals for requirements, or design or implementation.
10
6 References
[Got94] Gotel, O., Finkelstein, A. An Analysis of the Requirements Traceability Problem Proc. of First International Conference on Requirements Engineering, 1994, pages 94-101 [Kne01] von Knethen, A. A Trace Model for System Requirements Changes on Embedded Systems Proc. of 4th International Workshop on Principles of Software Evolution, September 2001 [Kne02] von Knethen, A. Change-Oriented Requirements Traceability. Support for Evolution of Embedded Systems Proc. of International Conference on Software Maintenance, October 2002, pages 482-485 [Leh03] Lehman, M., Ramil, J. Software Evolution Background, Theory, Practice Information Processing Letters, Vol. 88, Issues 1-2, October 2003, pages 3344 [Lin98] Lindvall, M., Sandahl, K. How well do experienced software developers predict software change? The Journal of Systems and Software 43, 1998, pages 19-27 [Ram01] Ramesh, B., Jarke, M. Toward Reference Models for Requirements Traceability IEEE Transactions on Software Engineering, Vol. 27, No. 1, January 2001, pages 58-93 [Sch98] Scheer, A. Business Process Engineering: Reference Models for Industrial Enterprises Springer-Verlag, 1998