Chapter 4: Problem 6
Suggest how an engineer responsible for drawing up a system requirements specification might keep track of the relationships between functional and non-functional requirements.
Short Answer
Expert verified
Use a Requirements Traceability Matrix and software tools for tracking.
Step by step solution
01
Understand the Types of Requirements
Functional requirements describe what the system should do, while non-functional requirements detail how the system performs a task. Understanding both types of requirements is essential for tracking their relationships.
02
Use a Requirements Traceability Matrix (RTM)
Introduce the concept of a Requirements Traceability Matrix. An RTM is a tool used to ensure that all requirements are addressed in the design, development, and testing phases. It enables the tracking of relationships between different types of requirements.
03
Establish Relationships in the RTM
In the RTM, create links between functional and non-functional requirements. For each functional requirement, ensure that related non-functional requirements are tagged and documented in corresponding cells within the matrix.
04
Consistent Update and Review
Encourage regular updates to the RTM as the project progresses and requirements evolve. Conduct periodic reviews to ensure all links between functional and non-functional requirements are accurately maintained.
05
Leverage Software Tools
Consider using software tools such as DOORS, JIRA, or other Requirements Management software. These tools often have built-in functionalities for creating and maintaining a traceability matrix, offering more efficiency and accuracy.
Unlock Step-by-Step Solutions & Ace Your Exams!
-
Full Textbook Solutions
Get detailed explanations and key concepts
-
Unlimited Al creation
Al flashcards, explanations, exams and more...
-
Ads-free access
To over 500 millions flashcards
-
Money-back guarantee
We refund you if you fail your exam.
Over 30 million students worldwide already upgrade their learning with Vaia!
Key Concepts
These are the key concepts you need to understand to accurately answer the question.
Functional Requirements
Functional requirements define what a system should do. They specify the behavior or functions of a system and describe its essential capabilities. For instance, in a banking application, functional requirements might include the ability to authenticate users, process transactions, and generate account statements. Each of these functions needs to be clearly delineated and documented.
Functional requirements are critical because they guide the developers on what needs to be built. They address specific requests from stakeholders and are often prioritized based on their importance and impact on the system.
Functional requirements are critical because they guide the developers on what needs to be built. They address specific requests from stakeholders and are often prioritized based on their importance and impact on the system.
- They describe user tasks that should be fulfilled by the system.
- They outline system behaviors and interactions with users or other systems.
- They serve as a foundation for further design and testing phases.
Non-Functional Requirements
Non-functional requirements detail how a system performs a task rather than what tasks it performs. They define the quality attributes of a system, such as performance, usability, reliability, and security. For example, a non-functional requirement for a real-time banking application could be that it processes transactions within two seconds.
These requirements are essential because they impact user satisfaction and operational efficiency. Non-functional requirements ensure that the system's underlying infrastructure supports the required performance standards and other quality metrics. Common types of non-functional requirements include:
These requirements are essential because they impact user satisfaction and operational efficiency. Non-functional requirements ensure that the system's underlying infrastructure supports the required performance standards and other quality metrics. Common types of non-functional requirements include:
- Performance: How fast a system operates under specific conditions.
- Usability: How easy a system is to use for end-users.
- Reliability: The system's dependability during its operation.
- Scalability: The system's capacity to handle growth.
- Security: Protecting the system against unauthorized access and data breaches.
Requirements Traceability Matrix
A Requirements Traceability Matrix (RTM) is a tool that helps keep track of the relationships between requirements. It maps and traces the link between functional and non-functional requirements throughout the project lifecycle.
RTM is pivotal in ensuring that all requirements are accounted for during design, development, and testing. The matrix allows:
RTM is pivotal in ensuring that all requirements are accounted for during design, development, and testing. The matrix allows:
- Tracking requirements back to stakeholders’ needs.
- Ensuring coverage and compliance with initial project specifications.
- Identifying inconsistencies and gaps in requirements.
Requirements Management Tools
Requirements Management Tools are software solutions designed to help in documenting, analyzing, and tracking system requirements. They facilitate the creation and maintenance of Requirements Traceability Matrices and make project management more efficient.
Examples of such tools include:
Examples of such tools include:
- DOORS: Known for its comprehensive requirement management features, including linking and traceability.
- JIRA: Popular for its agile project management capabilities, JIRA can also be used for managing requirements, especially with add-ons.
- Requisite Pro: Offers real-time traceability and is useful for collaborative requirements management.