Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

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.
  • 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.
Understanding functional requirements is crucial because they set the groundwork for a successful project. Without a clear understanding, it’s challenging to deliver a product that meets the user's needs.
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:
  • 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.
Non-functional requirements help ensure that the system is economically viable and meets user expectations in the long run.
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:
  • Tracking requirements back to stakeholders’ needs.
  • Ensuring coverage and compliance with initial project specifications.
  • Identifying inconsistencies and gaps in requirements.
By using an RTM, project managers and engineers can ensure that every requirement is fulfilled and necessary relationships and connections are maintained throughout the project. Regular updates and reviews of the RTM are crucial. They help accommodate changes in requirements and ensure that nothing falls through the cracks as the project evolves.
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:
  • 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.
These tools assist in maintaining consistency and accuracy in requirements documentation. They are particularly valuable for larger projects where managing numerous requirements manually would be inefficient. Using Requirements Management Tools helps reduce errors, ensures compliance, and makes it easier to adapt to requirement changes. They support better collaboration among teams and can be integrated into other project management or development tools for seamless operations.

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Using your knowledge of how an ATM is used, develop a set of use cases that could serve as a basis for understanding the requirements for an ATM system.

You have taken a job with a software user who has contracted your previous employer to develop a system for them. You discover that your company's interpretation of the requirements is different from the interpretation taken by your previous employer. Discuss what you should do in such a situation. You know that the costs to your current employer will increase if the ambiguities are not resolved. However, you have also a responsibility of confidentiality to your previous employer.

Identify and briefly describe four types of requirement that may be defined for a computerbased system.

Discover ambiguities or omissions in the following statement of requirements for part of a ticket-issuing system: An automated ticket-issuing system sells rail tickets. Users select their destination and input a credit card and a personal identification number. The rail ticket is issued and their credit card account charged. When the user presses the start button, a menu display of potential destinations is activated, along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identifier. When the credit transaction has been validated, the ticket is issued.

When emergency changes have to be made to systems, the system software may have to be modified before changes to the requirements have been approved. Suggest a model of a process for making these modifications that will ensure that the requirements document and the system implementation do not become inconsistent.

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free