Presentation is loading. Please wait.

Presentation is loading. Please wait.

Requirements Engineering

Similar presentations


Presentation on theme: "Requirements Engineering"— Presentation transcript:

1 Requirements Engineering
Southern Methodist University CSE 7316 – Requirements Traceability

2 Characteristics of a good SRS
Correct: Correct and Ever Correcting Unambiguous: …every requirement stated should has only one interpretation Complete: Do we have all the necessary things to build the software system? Consistent: The stated requirement does not contradict other requirements; the same term is used for the same item in all requirements. Prioritization: Some requirements might be more important than others Verifiable: How to measure these requirements: “The system should be stable”; “The system should provide good performance”; “The system should have a adequate User Interface”, …? Modifiable: Make the SRS changeable Traceable: Why do we need this requirement? Source: IEEE Std IEEE Recommended Practice for Software Requirements Specifications – Description,

3 Requirements Traceability
Motivation Methods of Requirement Traceability Traceability links Traceability relationships Traceability matrix Traceability and non-functional requirements Requirements traceability procedure Advantages and Necessity of Requirements Traceability Advantages of requirements traceability Is requirements traceability always useful

4 Traceability Traceability as a general term is the “ability to chronologically interrelate the uniquely identifiable entities in a way that matters.” The IEEE Standard Glossary of Software Engineering Terminology defines traceability as ”the degree to which a relationship can be established between two or more products of the development process, especially products having a predecessor-successor or master-subordinate relationship to one another.”

5 Conceptual Definition
The ability to describe and follow the life of a requirement, in both forward and backward directions. The ability to define, capture and follow the traces left by requirements on other elements of the software development process and the traces left by those elements on requirements.

6 Practical Definition An intensive iterative process which involves labeling each requirement in a unique and persistent manner so they can be unambiguously referred to throughout the development cycle.

7 Motivation Rapidly growing complexity of software systems and the constant need for rapid evolution and upgrade. Tracing requirements provides a way to demonstrate compliance with a contract, specification, or regulation. Improve the quality of the products, reduce maintenance costs, and facilitate reuse. Ensure continued alignment between stakeholder requirements and system evolution. Requirements traceability facilitates the following: Understanding the software under development and its artifacts. Ability to manage changes effectively. Maintaining consistency between the product and the environment in which the product is operating.

8 Traceability Links Traceability links are used to track the relationship between each unique requirement and its source. Traceability links are also used to track the relationship between each unique requirement and the work components to which that requirement is allocated. Good traceability practices allow for bi-directional traceability. There are four types of traceability links that constitute bi-directional traceability. Forward to requirements. Backward from requirements. Forward from requirements. Backward to requirements.

9 Traceability Links (Cont.)

10 Forward to Requirements
Maps requirements source/stakeholder needs to the requirements, which can help to directly track down requirements affected by potential changes in sources or needs. This also ensures that requirements will enforce all stated needs.

11 Forward from Requirements
As requirements develop and evolve into products, a product can be traced from its requirements. Forward traceability ensures proper direction of the evolving product and indicates the completeness of the subsequent implementation.

12 Backward from Requirements
Tracing backward from requirements helps to identify the origin of each requirement and verify that the system meets the needs of the stakeholders.

13 Backward to Requirements
Backward traceability can justify the need and existence of that component and verify that the requirements have been kept current with the design, code, and tests.

14 Benefits of Traceability Links
Traceability links help to keep track of interconnections and dependencies among requirements. Monitoring the propagation of change that results when a specific requirement is deleted or modified.

15 Traceability Relationships

16 Traceability Relationships (Cont.)
A project may not implement all kinds of traceability relationships. The choice of traceability relationships is a major contributor to success and efficient maintainability of the system under development.

17 Traceability Matrix In software engineering the Requirements Traceability Matrix (RTM) is a classical tool that summarizes in a table form the traceability from original identified stakeholder needs to their associated product requirements and then on to other work product elements. A traceability matrix ”traces“ the deliverables by establishing a thread for each requirement, from the project’s initiation to the final implementation.

18 Traceability Matrix Example
Each functional requirement is linked backward to a specific use case and linked forward to one or more design, code and test modules.

19 Traceability Matrix It’s impossible to perform requirements tracing manually for large and complex projects. There is a need for types of matrices that can be managed by automated traceability tools.

20 Traceability Matrix Example 2
Different symbols can be used in the cells to explicitly indicate “traced-to” and “traced-from” or other relationships.

21 Traceability and Non-functional Requirements
Non-functional requirements such as performance goals and quality attributes don’t always trace directly into code. In such cases, functional requirements are traced backward to their parent non-functional requirements and forward to products as usual.

22 Requirements Traceability Procedure
Requirements traceability for a project can be implemented in a systematic and sequential manner. All the following factors should be considered: Defining all required relationships. Identifying the parts of the product to maintain traceability information for. Choosing the type of traceability matrix to use. Defining the tagging conventions that will be used to uniquely identify all requirements. Identify the key individuals who will supply each type of link information. Educating the team about the concepts and importance of requirements tracing.

23 Advantages of Requirements Traceability
Certification. Tracking. Maintenance. Re-engineering and re-using. Risk reduction. Testing.

24 Is requirements traceability always useful
It takes extra time and effort during the project to keep up with the tracing of requirements, as well as increased maintenance effort, especially in an evolving system that requires numerous changes for future releases. A certain amount of management change needs to be employed, especially with regard to developers. Tendency to not know when to stop tracing.


Download ppt "Requirements Engineering"

Similar presentations


Ads by Google