Ch 9 traceability and verification

30
SE422 Software Quality Assurance CH-9 Traceability and Verification Software Engineering College of Arts, Media and Technology ,CMU. Kittitouch S. 1.0-9-2-12

description

 

Transcript of Ch 9 traceability and verification

Page 1: Ch 9 traceability and verification

SE422 Software Quality AssuranceCH-9 Traceability and Verification

Software EngineeringCollege of Arts, Media and Technology ,CMU.

Kittitouch S.1.0-9-2-12

Page 2: Ch 9 traceability and verification

Document history

version Change detail Release date Author

1.0 - 9-2-12 Kittitouch

Page 3: Ch 9 traceability and verification

Topics

Traceability – Definitions Traceability-Attributes RTM/TR in Development standard Benefits of Implementing Traceability Traceability Tool

Page 4: Ch 9 traceability and verification

Traceability

Even a small error can lead to a big problem

Page 5: Ch 9 traceability and verification

Participants in the Requirements Process

Page 6: Ch 9 traceability and verification

What the customer actually wanted !

Page 7: Ch 9 traceability and verification

Traceability - Definitions

Traceability A discernable association among two or more

logical entities such as requirements, system elements, verifications, or tasks. (See also “bidirectional traceability” and “requirements traceability.”)

Requirements traceability A discernable association between requirements

and related requirements, implementations, and verifications.

Bidirectional traceability An association among two or more logical entities

that is discernable in either direction (i.e., to and from an entity).

Page 8: Ch 9 traceability and verification

Traceability – IEEE –Std-1059

The ability to identify the relationships between originating requirements and their resulting system features.

It permits tracking forward or backward through the network of interrelationships that are created as requirements are decomposed and refined throughout a systems life cycle. • Traceability provides the thread that

links one element to another. When an element is traced to another, and that element is traced on to another, a chain of cause and effect is formed.

Page 9: Ch 9 traceability and verification

Traceability – IEEE –Std-1059

Traceability allows verification of the properties set forth in the concept and that requirement specifications have been:

1. Carried forward to the design specifications

2. Implemented in the code3. Included in the test plan and cases4. Provided to the customer and user in

the resulting system

Page 10: Ch 9 traceability and verification

Traceability – IEEE –Std-1059

Traceability Analysis Each trace is analyzed for consistency,

completeness, and correctness to verify that all software requirements are implemented in the software and are associated with the correct design, code, and test information.

An analyst examines each trace path to ensure that the connected pieces are the proper ones.

Page 11: Ch 9 traceability and verification

Traceability – IEEE –Std-1059

Traceability analysis is performed to assure that:1. Every requirement in the specification is

identified correctly2. All traces are continuous from the prior phase

through the current phase3. Forward and backward traces between

adjoining phases are consistent4. The combined forward traces originating from

each specification, fully support that specification

5. Each current specification or feature is fully supported by traceable predecessor specifications

Page 12: Ch 9 traceability and verification

Traceability-Attributes

1. The requirement identification number

2. The source of the requirement▪ Such as the customer's document paragraph number or the engineering report

documenting the analysis that derived the requirement.

3. The full text of the requirement

4. For allocated or derived requirements, a pointer to the requirement from which it was derived, or "parent" requirement.

5. A pointer to the next lower-level area that this requirement was allocated to during the allocation process

Page 13: Ch 9 traceability and verification

Traceability-Attributes

6. Verification method (e.g. test, demonstration, analysis, inspection/examination).

7. The Test Plan name & number controlling the verification

8. The Test Procedure name & number performing the verification

9. The date and results of the final verification

10.The name of the responsible engineer.

Page 14: Ch 9 traceability and verification

Some key requirements traceability links.

Wiegers K., Software Requirements, Microsoft Press, 2003

Business Requirement

System Requirement, Use Case, External

Interface Requirement,Quality attributes

Change Request

Software Functional

Requirement

Architecture, User Interface, Functional

Design

Code

System Test

is verified by

is satisfied by

is implemented in

is origin of

drives specification ofModifies

Project Plan Task

Leads to creation of

depends on another

Modifies

Modifies

Modifies

Business Rules

is origin of

is verified by

Unit test

Integration test

is verified by

Page 15: Ch 9 traceability and verification

Difference name..

Requirement Traceability Matrix:RTM CMMi

Traceability Record:TR ISO12207/29110

Page 16: Ch 9 traceability and verification

Requirements Traceability

* Also called Proof of Compliance Matrix or Verification Matrix

Linda Westfall, Bidirectional Requirements Traceability, SQP, Dec 2007

Page 17: Ch 9 traceability and verification

Four types of requirements traceability

Customer Needs

Requirements

Product

backward from requirements

forward to requirements

forward from requirements

backward to requirements

Source: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003.

Page 18: Ch 9 traceability and verification

RTM/TR in Development standard

ISO 29110 Software Implementation (SI)

Process SI.O3. Software architectural and detailed design is developed and baselined. It describes the software components and internal and external interfaces of them. Consistency and traceability to software requirements are established.

Page 19: Ch 9 traceability and verification

RTM/TR in Development standard

ISO 29110 Software Implementation (SI)

Process

SI.O4. Software components defined by the design are produced. Unit test are defined and performed to verify the consistency with requirements and the design. Traceability to the requirements and design are established.

Page 20: Ch 9 traceability and verification

RTM/TR in Development standard

ISO 29110 Software Implementation (SI)

Process SI.O5. Software is produced performing integration of software components and verified using Test Cases and Test Procedures. Results are recorded at the Test Report. Defects are corrected and consistency and traceability to Software Design are established

Page 21: Ch 9 traceability and verification

RTM/TR in Development standard

CMMi Level.2 Requirement Management Process

SG 1 Manage Requirements

SP 1.4 Maintain Bidirectional Traceability of Requirements

1. Maintain requirements traceability to ensure that the source of lower level (derived) requirements is documented.

2. Maintain requirements traceability from a requirement to its derived requirements and allocation to functions, objects, people, processes, and work products.

3. Maintain horizontal traceability from function to function and across interfaces.

4. Generate the requirements traceability matrix.

Page 22: Ch 9 traceability and verification

Benefits of Implementing Traceability

1. Certification -Verification• The traceability information can be used for

certification in safety-critical applications▪ To verify and demonstrate that all requirements

were implemented.

2. Change Impact Analysis• Traceability links help find all of the system elements

that might have to be modified if you change a particular requirement. ▪ Without traceability information, chances

are high you’ll overlook some of the side effects of adding, deleting, or modifying a requirement.

Page 23: Ch 9 traceability and verification

Benefits of Implementing Traceability

3. Project Tracking• If you complete the requirements traceability matrix as

development takes place, you will have accurate insight into the implementation status of planned functionality. ▪ Empty space in the matrix indicates project

deliverables that have not yet been created.

4. Testing• Links between tests, requirements, and code point

toward likely parts of the code to examine for a bug when a test fails to yield the intended result

Page 24: Ch 9 traceability and verification

Benefits of Implementing Traceability

5. Reuse• Traceability information can facilitate the reuse of

product components• By identifying packages of related requirements,

designs, code, tests, and other artefacts.

6. Risk Management and Reduction• Documenting the information about system component

interconnections reduces the risk associated with a key team member leaving the company with essential information residing only in that person’s brain

Page 25: Ch 9 traceability and verification

Benefits of Implementing Traceability

7. Reengineering• If you don’t have complete requirements for the existing system.

• You can list the functions in a legacy system you’re replacing and record where they were addressed in the requirements and software components for the new system.

• Provide a way to capture some of what you learn through reverse engineering.

8. Identification of process improvements• e.g. Information about Requirements instability may be used to improve the

development process/change management process

9. Allows developer, customer or supplier to follow closely the development of components

10. Help to reduce cost and delay and improve quality

Page 26: Ch 9 traceability and verification

Traceability Tool:DOORs

Page 27: Ch 9 traceability and verification

Traceability Tool:DOORs

Page 28: Ch 9 traceability and verification

Traceability Tool:CaliberRM

Page 29: Ch 9 traceability and verification

Traceability Tool:CaliberRM

Page 30: Ch 9 traceability and verification

References

Traceability:Claude Y Laporte,SQA.,2009. Wiegers K., Software Requirements, Microsoft

Press, 2003 Traceability: James D. Palmer