Projects need to be performed and delivered under a variety of constraints. These constraints may range from the platform(s) being used or the programming language to the available tools, budget, allotted time, etc. Common areas for these constraints are:
- Quality Attributes - identify attributes such as usability, availability, reliability and performance requirements of the system. This could include response times, throughput (i.e., the number of customers or transactions the system can accommodate), degradation modes (i.e., the acceptable mode of operation when the system has been degraded in some manner), resource use (i.e., memory), training time for user, etc.
- Environment - identify constraints related to technology, infrastructure and shared resources. Be aware that user authentication will be established and controlled through services provided by eAuthentication (eAuth), and that authorization is controlled by Extensible Authorization System (EAS). In practice, eAuth should be used for "very course-grained" access such as access to an application, and EAS should be used for "fine-grained" access to pages or sections of an application.
- Security - exercise due diligence to provide consistent and cost-effective application of security controls across the system.
- Licensing - identify all licensing requirements for the resources required by the project.
- Documentation & Help - determine the level of online or supplementary support that will need to be incorporated into the system.
Refer to the Supplementary Specs and the Business Rules templates for more details.
Cross-Cutting Requirements - According to the Quality Assurance Plan (QAP), the supplementary specification describes system-wide characteristics that are not limited to a single use case. These requirements typically include, but are not limited to, usability, reliability, performance, supportability, design constraints, security, logging, online user documentation and help system requirements, purchased components and licensing requirements, etc.
The following questions may be used to aid your discovery of information that must be captured in the Supplementary Specifications Document:
1. Auditing
- What audit capabilities are required? (Functionality)
- What level of auditing is needed? (Supportability)
- What are the constraints on the mechanism used to provide audit capability? (Design requirements)
2. Authentication
- What are the requirements for authentication? (Functionality)
- What are the constraints on the mechanism used to provide authentication capability? (Design requirement)
3. Communication
- Will inter-process communication be required? (Functionality)
- What are the constraints on the mechanism used to provide communication capability? (Design requirement)
4. Error Management
- What are the constraints on the mechanism used to provide error management capability? (Design requirement)
5. Event Management
- What are the constraints on the mechanism used to provide event management capability? (Design requirement)
6. Implementation
- What are the constraints, including cost, on the use of third-party components in the system? (Third-party components)
- What is the importance for the system to be vendor independent, in terms of the third-party components it uses? (Third-party components)
- What are the approved relevant alliances with third-party vendors? (Third-party components)
- What are the constraints on the programming languages used to develop the system? (Implementation languages)
- What platforms must the system support? What operating system versions must be supported? (Platform support)
- Is Web access required? If so, then which Web browsers and versions must be supported? (Platform support)
- Will the system be ported to new platforms in the future, over and above those explicitly stated for the system? (Platform support)
- What are the limits on the use of system resources, such as memory or hard disk space? (Resource limits)
- What are the standards to which the system must conform? This may include coding standards or a user interface style guide. (Standards compliance)
7. Interface
- What are the external systems with which this system must interface? Consider both provided and required interfaces. (External systems)
- What are the constraints on the nature of the interface between this system and any external system, such as the format of data passed between these systems, and any particular protocol used? (Interface formats)
8. Licensing
- Will the system, or parts of the system, be licensed? (Functionality)
- What are the constraints on the mechanism used to provide licensing capability? (Design requirement)
9. Localization
- Does the system need to support multiple human languages? (Functionality)
- Which human languages need to be supported? (Supportability)
- What are the constraints on the mechanism used to provide localization capability? (Design requirement)
10. Online Help
- Will online help be required? (Functionality)
- What are the constraints on the mechanism used to provide online help? (Design requirement)
11. Performance
- What are the requirements on the time the system takes to recover from a system failure? (Recovery time)
- What are the constraints on the time the system takes to respond to particular events, such as user interaction? (Response time)
- What are the requirements on the time it takes the system to start up? (Start-up time)
- What are the special requirements regarding throughput of data supported by the system? (Throughput)
12. Persistence
- Will data manipulated by the system be written to disk? Is it required to have both shared persistent data and user-specific data? Will shared persistent data need to be available to a user who is working offline? (Functionality)
- What are the constraints on the mechanism used to provide persistence? (Design requirement)
13. Printing
- Is printing capability required? (Functionality)
- What are the constraints on the mechanism used to provide printing capability? (Design requirement)
14. Reliability
- What are the particular constraints on the accuracy of any calculations to be performed by the system? (Accuracy)
- What are the requirements regarding system "up time"? This may be specified in terms of Mean Time Between Failures. (Availability)
- What are the special requirements regarding recovery from a system failure? (Recoverability)
15. Reporting
- Is reporting capability required? (Functionality)
- What are the constraints on the mechanism used to provide reporting capability? (Design requirement)
16. Scheduling
- Will certain system actions need to be scheduled? (Functionality)
- What are the constraints on the mechanism used to provide scheduling? (Design requirement)
17. Security
- Will elements of the system need to be secure? (Functionality)
- What are the constraints on the mechanism used to provide security capability? (Design requirement)
18. Supportability
- What are the special requirements regarding adaptation of the software, including upgrading? (Adaptability)
- What are the requirements regarding the system and its compatibility with previous versions of this system or legacy systems providing the same capability? (Compatibility)
- Will the product be configured after it has been deployed? In what way will the system be configured? (Configurability)
- What are the special requirements regarding system installation? (Install ability)
- What are the special requirements regarding system maintenance? (Maintainability)
- What volumes of users and data will the system support? This may be expressed as a profile over time. (Scalability)
- What are the special requirements regarding the testability of the system, such as testing "hooks" that allow integration with a testing tool? (Testability)
19. Transaction Management
- Will transactional capability be required? (Functionality)
- What are the constraints on the mechanism used to provide transactional capability? (Design requirement)
20. Usability
- What are the special requirements that relate to the ease with which the system can be exercised, including by novice users? (Accessibility)
- What are the special requirements regarding the "look and feel" of the system? (Aesthetics)
- What are the special requirements regarding the consistency of the user interface, both within the system and with other systems? (Consistency)
21. Workflow
- Will movement of organizational workflow be required? (Functionality)
- What are the constraints on the mechanism used to provide workflow capability? (Design requirement)
See the Supplementary Specifications Workshop Process Questions document for a printable version of the questions above.
|
|
|
|