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 tools like RTM to map and track the relationships; clearly define, update, and review them regularly.
Step by step solution
01
Identify All Requirements
Begin by listing all functional and non-functional requirements separately. Functional requirements describe what the system should do, whereas non-functional requirements describe how the system performs certain functions.
02
Use Requirement Tracking Tools
Deploy tools like Requirement Traceability Matrix (RTM) or any dedicated requirements management software to track and document the relationships between each functional requirement and its related non-functional requirements. These tools allow easy mapping and visualization of relationships.
03
Define Relationships Clearly
Clearly define the relationship between functional and non-functional requirements. For example, if a functional requirement states that the system should process 100 transactions per hour, a related non-functional requirement might state that it should do so with a response time of less than 2 seconds per transaction.
04
Regular Updates and Reviews
Regularly update the relationships as changes occur and review them during project meetings. This ensures that any new, modified, or removed requirements are accurately reflected, maintaining alignment between the system’s functional and non-functional aspects.
05
Track Dependencies
Track and document dependencies between requirements to understand how changes in one requirement might impact others, ensuring a comprehensive understanding of the system's design and performance constraints.
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 are essential specifications that define what a system is supposed to accomplish. These requirements detail the operations, features, and functions a system must support to meet user expectations and complete tasks efficiently. Think of them as the "what" of the system. These can include, for example:
- User authentication processes.
- Data input and output requirements.
- Interfacing with other systems.
Non-Functional Requirements
Non-functional requirements (NFRs) delineate how a system performs a function rather than what the function is. These stipulations are key in determining the quality and user satisfaction when interacting with the system. Often referred to as "the system's attributes," non-functional requirements include aspects such as:
- Performance and speed (e.g., processing 100 transactions per second).
- Usability and user-friendliness.
- Reliability and availability.
- Security and compliance.
- Scalability to handle growth.
Requirements Traceability
Requirements traceability is a critical process that tracks the flow and relationships among requirements throughout the project's lifecycle. It ensures that each requirement is accounted for and addressed in the system. Traceability involves connecting functional and non-functional requirements, assuring consistency and completeness.
Using a Requirement Traceability Matrix (RTM) is a common approach. This matrix maps relationships systematically, allowing engineers to visualize how different requirements influence one another. Key benefits of traceability include:
- Maintaining the integrity of projects by ensuring alignment between requirements.
- Facilitating impact analysis when requirements change, preventing overlooked dependencies.
- Ensuring comprehensive testing and verification by linking requirements to their corresponding test cases.
- Clarifying requirements accountability and ownership, which helps in auditing processes.