CS486
- Senior Capstone Design
Guidelines for Requirements Capture
Capturing a complete, consistent, and correct set of requirements is essential to the success of an engineering project. However, the requirements capture process is one of the most difficult to control, predict and measure. This document is intended to provide some guidelines and memory prompters to aid in the requirements capture activity.
To develop a thorough understanding of what the customer wants and what the major difficulties will be. Remember:
Some issues to address/consider as you gather requirements:
1. Functional Requirements - Requirements that impact product functionality.
1.1 What is the product supposed to do? (detailed)
1.2 What is the expected usage environment? (detailed)
1.3 What information/materials are given to the product?
1.4 What internal data must the product contain?
1.5 How is the product expected to behave at each stage of use?
1.6 How long is the product expected to work?
1.7 How continuously will the product be in use?
1.8 Describe the operator's involvement with the product.
1.9 Physical and environmental constraints on product usage.
1.10 Distinguish between customer "need" and "wants".
1.11 How does this product compare with existing products?
2. Performance and Non-Functional Requirements - Requirements that do not impact product functionality.
2.1 Process Requirements - requirements placed on the development process.
2.1.1 Standards Requirements - Restrictions placed on the development standards (e.g., military standards, OSHA, EPA, etc.)
2.1.2 Delivery Requirements - Restrictions placed on product delivery (e.g., deadlines, installation, training, etc.)
2.1.3 Implementation Requirements - Restrictions placed on the problem solution (e.g., language requirements, design methodology, open vs. closed architecture, etc.)2.2 Product Requirements - Requirements placed on the completed product.
2.2.1 Usability Requirements - Restrictions caused by expected user base (e.g., nontechnical users, high turn-over rate, etc.)
2.2.2 Performance Requirements - Restrictions caused by customer performance expectations (e.g., energy consumption, throughput capacity, runtime speed,, etc.)
2.2.3 Space Requirements - Physical or memory limitations.
2.2.4 Reliability Requirements - Restrictions on the availability and usability of the product (e.g., product must function at maximum efficiency 98% of the time.)
2.2.5 Maintenance Requirements - Restrictions caused by expected maintenance (e.g., expected modifications, etc.)2.3 External Requirements - Requirements that are neither process or product centered.
2.3.1 Legislative Requirements - Legal limitations or internal standards that constrain development (e.g., EPA regulations, certification issues, etc.)
2.3.2 Cost Constraints - Any financial restrictions imposed by the customer.
2.3.3 Other Constraints - Environmental (computers, languages, ), interfaces.
2.3.4 Inter-operability Requirements - Restrictions caused by the need for the finished product to interface with other systems (e.g., product must automatically update the existing company database with no changes to the current database schema, etc.).