EECS812: Software Requirements Engineering
Professor Hossein Saiedian
Links in the requirement chain
Chapter 29
2
This chapter will help you to
• Understand requirements tracing
• Understand links and dependencies
between requirements
• Identify anything necessary to modify to
implement a requirements change
EECS812: Software Requirements Engineering
3
Tracing requirements
• Follow
requirements
forward and
backward
• Traceable
versus traced
EECS812: Software Requirements Engineering
4
Tracing requirements
EECS812: Software Requirements Engineering
5
Motivations for tracing
requirements
EECS812: Software Requirements Engineering
• Finding missing requirements
• Finding unnecessary requirements
• Certification and compliance
• Change impact analysis
• Maintenance
• Project tracking
• Reengineering
• Reuse
• Testing
6
The requirements traceability
matrix – functional requirements
EECS812: Software Requirements Engineering
7
The requirements traceability matrix –
nonfunctional requirements
• Quality
• Portability
• Security
EECS812: Software Requirements Engineering
8
Tools for requirement tracing
• Matrix helps find suspect links
EECS812: Software Requirements Engineering
9
A requirements tracing procedure
EECS812: Software Requirements Engineering
• Educate the team
• Select the link relationships
• Choose the type of traceability matrix
• Identify the parts of the product to trace
• Identify individuals and roles
• Make sure links are updated
• Define labeling conventions
• Provide ongoing
• Audit the trace
10
Summary
• Always do at least a minimum of
requirements tracing
• Understand links and dependencies
between requirements
• Try to identify anything you might need to
modify to implement a requirements
change
EECS812: Software Requirements Engineering

requirement tracing in Software Engineering

  • 1.
    EECS812: Software RequirementsEngineering Professor Hossein Saiedian Links in the requirement chain Chapter 29
  • 2.
    2 This chapter willhelp you to • Understand requirements tracing • Understand links and dependencies between requirements • Identify anything necessary to modify to implement a requirements change EECS812: Software Requirements Engineering
  • 3.
    3 Tracing requirements • Follow requirements forwardand backward • Traceable versus traced EECS812: Software Requirements Engineering
  • 4.
  • 5.
    5 Motivations for tracing requirements EECS812:Software Requirements Engineering • Finding missing requirements • Finding unnecessary requirements • Certification and compliance • Change impact analysis • Maintenance • Project tracking • Reengineering • Reuse • Testing
  • 6.
    6 The requirements traceability matrix– functional requirements EECS812: Software Requirements Engineering
  • 7.
    7 The requirements traceabilitymatrix – nonfunctional requirements • Quality • Portability • Security EECS812: Software Requirements Engineering
  • 8.
    8 Tools for requirementtracing • Matrix helps find suspect links EECS812: Software Requirements Engineering
  • 9.
    9 A requirements tracingprocedure EECS812: Software Requirements Engineering • Educate the team • Select the link relationships • Choose the type of traceability matrix • Identify the parts of the product to trace • Identify individuals and roles • Make sure links are updated • Define labeling conventions • Provide ongoing • Audit the trace
  • 10.
    10 Summary • Always doat least a minimum of requirements tracing • Understand links and dependencies between requirements • Try to identify anything you might need to modify to implement a requirements change EECS812: Software Requirements Engineering

Editor's Notes

  • #3 Needs trace forward to requirements You should be able to trace backward from requirements to needs too
  • #4 Needs trace forward to requirements You should be able to trace backward from requirements to needs too
  • #5  Finding missing requirements Look for business requirements that don’t trace to any user requirements, and user requirements that don’t trace to any functional requirements. Finding unnecessary requirements Look for any functional requirements that don’t trace back to user or business requirements and therefore might not be needed. Certification and compliance You can use trace information when certifying a safety-critical product, to demonstrate that all requirements were implemented—although that doesn’t confirm that they were implemented correctly! Trace information demonstrates that requirements demanded for regulatory compliance have been included and addressed, as is often needed for applications for health care and financial services companies. Change impact analysis Without trace information, there’s a good chance that you’ll overlook a system element that would be affected if you add, delete, or modify a particular requirement. Maintenance Reliable trace information facilitates your ability to make changes correctly and completely during maintenance. When corporate policies or government regulations change, software systems often must be updated. A table that shows where each applicable business rule was addressed in the functional requirements, designs, and code makes it easier to make the necessary changes properly. Project tracking If you record the trace data during development, you’ll have an accurate record of the implementation status of planned functionality. Absent links indicate work products that have not yet been created. Reengineering You can list the functions in an existing system you’re replacing and trace them to where they are addressed in the new system’s requirements and software components.
  • #6 requirements traceability matrix, also called a requirements trace matrix or a traceability table. functional requirement is linked backward to a specific use case and forward to one or more design, code, and test elements. A design element can be something like an architectural component, a table in a relational data model, or an object class. Code references can be class methods, stored procedures, source code file names, or modules within a source file. Including more trace detail takes more work, but it gives you the precise locations of the related software elements. Types: One to One One to Many Many to Many
  • #7 requirements traceability matrix, also called a requirements trace matrix or a traceability table. functional requirement is linked backward to a specific use case and forward to one or more design, code, and test elements. A design element can be something like an architectural component, a table in a relational data model, or an object class. Code references can be class methods, stored procedures, source code file names, or modules within a source file. Including more trace detail takes more work, but it gives you the precise locations of the related software elements. Types: One to One One to Many Many to Many