requirements engineering southern methodist university cse 7316 – requirements traceability
Post on 21-Jan-2016
225 Views
Preview:
TRANSCRIPT
RequirementsEngineering
Southern Methodist University
CSE 7316 – Requirements Traceability
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?
Requirements Traceability Traceability 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
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.”
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.
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.
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.
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.
Traceability Links (Cont.)
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.
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.
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.
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.
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.
Traceability Relationships
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.
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.
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.
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.
Traceability Matrix Example 2 Different symbols can be used in the cells to explicitly
indicate “traced-to” and “traced-from” or other relationships.
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.
Requirements Traceability Procedure Requirements traceability for a project can be
implemented in a systematic and sequential manner.
All the following factors should be considered:1. Defining all required relationships.2. Identifying the parts of the product to maintain traceability
information for.3. Choosing the type of traceability matrix to use.4. Defining the tagging conventions that will be used to
uniquely identify all requirements.5. Identify the key individuals who will supply each type of
link information.6. Educating the team about the concepts and importance
of requirements tracing.
Advantages of Requirements Traceability Certification. Tracking. Maintenance. Re-engineering and re-using. Risk reduction. Testing.
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.
top related