Sample Outlines for SRS Organization _______________________________________________________________________________ IEEE/ANSI 830-1998 (after Sommerville and Davis) 1. Introduction 1.1 Purpose of the requirements document 1.2 Scope of the product 1.3 Definitions, acronyms and abbreviations 1.4 References 1.5 Overview of the remainder of the document 2. General description 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 General constraints 2.5 Assumptions and dependencies 3. Specific requirements cover functional, non-functional and interface requirements. This is obviously the most substantial part of the document but because of the wide variability in organizational practice, it is not appropriate to define a standard structure for this section. The requirements may document external interfaces, describe system functionality and performance, specify logical database requirements, design constraints, emergent system properties and quality charcteristics. Some alternative formats are shown below. 4. Appendices 5. Index Some alternatives for Section 3 ------------------------------- Alternative I: 3. Specific requirements 3.1 Functional requirements 3.1.1 Functional requirement 1 3.1.1.1 Introduction 3.1.1.2 Inputs 3.1.1.3 Processing 3.1.1.4 Outputs 3.1.2 Functional requirement 2 : : 3.1.n Functional requirement n : : 3.2 External interface requirements 3.2.1 User interfaces 3.2.2 Hardware interfaces 3.2.3 Software interfaces 3.2.4 Communications interfaces 3.3 Performance requirements 3.4 Design constraints 3.4.1 Standards compliance 3.4.2 Hardware limitations : : 3.5 Attributes 3.5.1 Availability 3.5.2 Security 3.5.3 Maintainability 3.5.4 Transferability/conversion : : 3.6 Other requirements 3.6.1 Data base 3.6.2 Operations 3.6.3 Site adaptation ------------------------------- Alternative II: 3. Specific requirements 3.1 Functional requirements 3.1.1 Functional requirement 1 3.1.1.1 Specification 3.1.1.1.1 Introduction 3.1.1.1.2 Inputs 3.1.1.1.3 Processing 3.1.1.1.4 Outputs 3.1.1.2 External interfaces 3.1.1.2.1 User interfaces 3.1.1.2.2 Hardware interfaces 3.1.1.2.3 Software interfaces 3.1.1.2.4 Communication interfaces 3.1.2 Functional requirement 2 : : 3.1.n Functional requirement n : : 3.2 Performance requirements 3.3 Design constraints 3.4 Attributes 3.4.1 Availability 3.4.2 Security 3.4.3 Maintainability 3.4.4 Transferability/conversion : : 3.5 Other requirements 3.5.1 Data base 3.5.2 Operations 3.5.3 Site adaptation ------------------------------- Alternative III: 3. Specific requirements 3.1 Functional requirements 3.1.1 Functional requirement 1 3.1.1.1 Introduction 3.1.1.2 Inputs 3.1.1.3 Processing 3.1.1.4 Outputs 3.1.1.5 Performance requirements 3.1.1.6 Design constraints 3.1.1.6.1 Standards compliance 3.1.1.6.2 Hardware limitations : : 3.1.1.7 Attributes 3.1.1.7.1 Availability 3.1.1.7.2 Security 3.1.1.7.3 Maintainability 3.1.1.7.4 Transferability/conversion : : 3.1.1.8 Other requirements 3.1.1.8.1 Data base 3.1.1.8.2 Operations 3.1.1.8.3 Site adaptation : : 3.1.2 Functional requirement 2 : : 3.1.n Functional requirement n : : 3.2 External interface requirements 3.2.1 User interfaces 3.2.1.1 Performance requirements 3.2.1.2 Design constraints 3.2.1.2.1 Standards compliance 3.2.1.2.2 Hardware limitations : : 3.2.1.3 Attributes 3.2.1.3.1 Availability 3.2.1.3.2 Security 3.2.1.3.3 Maintainability 3.2.1.3.4 Transferability/conversion : : 3.2.1.4 Other requirements 3.2.1.4.1 Data base 3.2.1.4.2 Operations 3.2.1.4.3 Site adaptation : : 3.2.2 Hardware interfaces : : 3.2.3 Software interfaces : : 3.2.4 Communications interfaces ------------------------------- Alternative IV: 3. Specific requirements 3.1 Functional requirement 1 3.1.1 Introduction 3.1.2 Inputs 3.1.3 Processing 3.1.4 Outputs 3.1.5 External interfaces 3.1.5.1 User interfaces 3.1.5.2 Hardware interfaces 3.1.5.3 Software interfaces 3.1.5.4 Communications interfaces 3.1.6 Performance requirements 3.1.7 Design constraints 3.1.7.1 Standards compliance 3.1.7.2 Hardware limitations : : 3.1.8 Attributes 3.1.8.1 Availability 3.1.8.2 Security 3.1.8.3 Maintainability 3.1.8.4 Transferability/conversion : : 3.1.9 Other requirements 3.1.9.1 Data base 3.1.9.2 Operations 3.1.9.3 Site adaptation : : 3.2 Functional requirement 2 : : 3.n Functional requirement n _______________________________________________________________________________ DoD DI-MCCR-80025A (after Davis) Acronyms: CSCI - Computer Software Configuration Item DI - Data Item DID - Data Item Description MCCR - Mission Critical Computer Resources 1. Scope 1.1 Identification 1.2 CSCI overview 1.3 Document overview 2. Applicable documents 2.1 Government documents 2.2 Non-Government documents 3. Engineering requirements (for a CSCI) 3.1 CSCI external interface requirements 3.2 CSCI capability requirements 3.2.X Capability X 3.3 CSCI internal interfaces 3.4 CSCI data element requirements 3.5 Adaptation requirements 3.5.1 Installation-dependent data 3.5.2 Operational parameters 3.6 Sizing and timing requirements 3.7 Safety requirements 3.8 Security requirements 3.9 Design constraints 3.10 Software quality factors 3.11 Human performance/human engineering requirements 3.11.1 Human information processing 3.11.2 Forseeable human errors 3.11.3 Total system implication (e.g., training support, operational environment) 3.12 Requirements traceability 4. Qualification requirements 4.1 Methods (demonstrations vs. test vs. analysis vs. inspection) 4.2 Special (e.g., facilities, formulae, tools) 5. Preparation for delivery 6. Notes (e.g., glossary, formula derivations, abbreviations, background information) Appendices _______________________________________________________________________________ NASA SMAP-DID-P200-SW (after Davis) 1. Introduction 2. Related documents 3. Requirements approach and tradeoffs 4. External interface requirements 5. Requirements specification 5.1 Process and data requirements 5.2 Performance and quality engineering requirements 5.3 Safety requirements 5.4 Security and privacy requirements 5.5 Implementation constraints 5.6 Site adaptation 5.7 Design goals 6. Traceability 7. Partitioning for phased delivery 8. Abbreviations and acronyms 9. Glossary 10. Notes 11. Appendices _______________________________________________________________________________ NRL A-7E (adapted from Davis) Note: This outline was for a complete reengineering of the flight control software for an existing, operational aircraft. The new software was intended as a replacement for the old, to operate with the existing hardware. Acronyms: OFP - Onboard Flight Program 0. Introduction 0.1 Overview 0.2 Notation 0.3 Table formats 1. The TC-2 computer 1.1 Purpose 1.2 Data manipulation 1.3 Control transfer 1.4 Interrupt system 1.5 Input/output 2. Inputs and outputs (between OFP and environment) __ * Acronym | * Description | for * Range, accuracy | each * Format | item * Instructions to read or transmit it | * Comments __| 3. Modes of OFP operation 3.0 Introduction 3.1 Legal mode combinations 3.2 Alignment modes 3.3 Navigation modes 3.4 Transitions between modes 3.6 Navigation update modes 3.7 Test mode 4. Functions __ * Which inputs and outputs | for * Relationship of output to input | each * Listed in relation to modes when appropriate | function * Demand or periodic (i.e., what triggers it) __| 5. Timing requirements __ * For each function | * Minimum and maximum limits __| 6. Accuracy constraints on software functions 7. Undesired events __ * All desired behaviors in response to such events | * Ordered by who/what detects the event __| 8. Subsets __ * Logical subsets of OFP for implementation __| 9. Possible changes and enhancements 10. Glossary of terms, abbreviations and acronyms in A7 community 11. References (documents and people) 12. Indices to data items, modes and functions 13. Dictionary of terms used in specification This effort was much influenced by David Parnas as reflected, for example, in the presence of sections 7, 8, and 9. The outline also shows a substantial effort to make the document useful for individuals not (previously) involved with the A7, particularly sections 10 and 13.