Managing Software Requirements[c] A Use Case Approach
| 1 Introduction This section should provide an overview of the supplementary specification and should contain the following subsections. 1.1 Purpose of the Supplementary Specification The document collects and organizes all the requirements of the system that are not contained within the use-case model. These include functional requirements, nonfunctional requirements, and design constraints. 1.2 Scope State the scope of the document and any systems or subsystems to which it applies. 1.3 Definitions, Acronyms, and Abbreviations Provide the definitions of all terms, acronyms, and abbreviations required to properly interpret the supplementary specification. This information may be provided by reference to a project glossary. 1.4 References This subsection should
This information may be provided by reference to an appendix or to another document. 2 Functionality This section describes the functional requirements of the system for those requirements that are expressed in declarative, natural language style or via other, more formal methods . For some applications, this may constitute the bulk of the requirements, and thought should be given to the organization of this section. This section may be organized by feature, by subsystem, or by other strategies as appropriate. 3 Usability This section includes those requirements that affect usability. Examples follow. (See Chapter 22 for additional guidance on usability requirements.)
4 Reliability This section includes those requirements that affect reliability and availability of the system. Examples follow below.
5 Performance The performance characteristics of the system are outlined in this section, including specific quantitative parameters. Where applicable, reference the related use cases by name . Examples of performance requirements include the following:
6 Supportability This section includes any requirements that will enhance the supportability or maintainability of the system being built, including coding standards, naming conventions, class libraries, maintenance access, maintenance utilities, and so on. 7 Design Constraints This section includes any design constraints on the system being built. Design constraints represent design decisions that have been mandated and must be adhered to. Examples include software languages, software process requirements, prescribed use of developmental tools, specific architectural constraints, mandated use of purchased components , class libraries, and so on. 8 User Documentation and Help System Requirements This section describes the requirements for documentation for the system. Examples include the following:
9 Purchased Components This section describes any purchased components to be used with the system, any applicable licensing or usage restrictions, and any associated compatibility/interoperability or interface standards. 10 Interfaces This section defines the interfaces that must be supported by the application. It should contain adequate specificity, protocols, ports and logical addresses, and so on to enable development and verification of the software against the interface requirements. 10.1 User Interfaces Describe the user interfaces to be implemented by the software. 10.2 Hardware Interfaces Define any hardware interfaces to be supported by the software, including logical structure, physical addresses, expected behavior, and so on. 10.3 Software Interfaces Define software interfaces to other components of the software system such as operating systems, databases, and so on. These may be purchased components, components reused from another application, or components being developed for subsystems outside of the scope of this specification but with which this software application must interact. 10.4 Communications Interfaces Describe any communications interfaces to other systems or devices such as local area networks, local or remote devices, and so on. 11 Licensing and Security Requirements This section includes any licensing requirements or usage enforcement restrictions to be implemented in the software, as well as any sublicensing requirements for any OEM components or other licensed applications required for system operation. This section may also define requirements for security and accessibility, encryption of source code or user data, and so on. 12 Legal, Copyright, and Other Notices This section includes any necessary legal disclaimers, including warranties, copyright notices, patent notices, trademark, or logo compliance requirements. 13 Applicable Standards This section includes by reference any applicable standards and the specific sections of any such standards that apply to the system being built. For example, this could include legal, quality, and regulatory standards or industry standards for usability or interoperability. 14 Internationalization and Localization This section describes any applicable requirements for internationalization (the ability to support multiple user language environments) and localization (requirements to provide or support GUI dialogs, displays and report formats, entry of user data, and so on) in the user's native language or local dialect . 15 Physical Deliverables This section defines any specific physical deliverables (CDs, manuals, and so on) produced to support deployment and operation of the system. 16 Installation and Deployment This section describes any special requirements for system configuration or preparation, third-party components, installation or conversion utilities, and any other requirements for successful implementation and deployment. |