Professional Documents
Culture Documents
Requirements Specifications Template: Epri Software Development Process
Requirements Specifications Template: Epri Software Development Process
This document is intended to be a guide to capture the work completed from the Concept
phase through the Requirements phase of the development process following the EPRI
Software Development Process.
Instructions:
1.0 Introduction.........................................................................................................1
2.0 Team Members....................................................................................................1
3.0 Assumptions, Constraints, Schedule and Design................................................1
3.1 Assumptions....................................................................................................1
3.2 Constraints.......................................................................................................2
3.3 Schedule...........................................................................................................2
4.0 General System Description................................................................................2
4.1 System Context................................................................................................2
4.2 System Environments and Modes...................................................................2
4.3 User Characteristics.........................................................................................2
4.4 Operational Scenarios......................................................................................3
4.5 Standards, Procedures, and Processes Used in this Project.............................3
5.0 Functional Requirements....................................................................................3
6.0 Interface Requirements........................................................................................3
7.0 Data Management...............................................................................................3
8.0 Non-Functional / Operational Requirements......................................................3
8.1 Security, Availability, Reliability, Recoverability and Business Continuity. .3
8.2 Maintenance and Support................................................................................4
8.3 Performance, Capacity and Scalability............................................................4
8.4 Technical Reviews, Audits, and Walk-Through..............................................4
9.0 SQA Requirements...............................................................................................4
9.1 Quality Plan.....................................................................................................4
9.2 Test Plan..........................................................................................................5
9.3 Testing Schedule:.............................................................................................5
9.4 Documentation Plan.........................................................................................5
9.5 Delivery, Installation, and Acceptance............................................................6
10.0 Appendices......................................................................................................6
ii
Software Requirements Document (SRD)
Sample Template
1.0 Introduction
Product Description:
This section should also summarize the decision to develop software of a particular type.
For many software types, certain sections are not applicable.
List the names, titles, and roles of the project team members.
3.1 Assumptions
Assumptions are statements about future situations, beyond the control of the project,
whose outcome influence the success of a project. Identify basic assumptions upon which
the specific software requirements depend such that if the assumptions change, the
requirements also change. Assumptions include:
1
Requirements Specifications Template
3.2 Constraints
Constraints are conditions outside the control of the project that limit the design
alternatives. Describe any high level items that limit the developer's options for designing
the software such as:
3.3 Schedule
Tasks: Schedule of Tasks for Developing each Deliverable Item. Additional
schedule items may be needed to manage the project as work progresses.
Milestones and Deliverables: Schedule with dates of major milestones and
deliverables that result from completion of the project tasks.
Describe the environments the proposed system requires; such as: test, development,
production, etc. Modes could consist of recovery, standby, outage, debug, etc.
Describe those characteristics of the end users that have an effect on the specific
requirements of the software. Some items to consider include:
2
Requirements Specifications Template
Provide a descriptive example of how the system may be used as operational scenarios
(i.e., normal, operation, disaster mode, etc.) without describing how it would be designed.
Describe the data management requirements for the system, including the primary data
sources and repositories. Also describe the data retention, archival, and warehousing.
Describe the non-functional requirements; do not state how these requirements will be
satisfied.
3
Requirements Specifications Template
Security - describe the requirements for application system security controls; such
as authentication and authorization
Describe the schedule for review meetings, the description of the reviews, and the
pass/fail criteria.
SQA Requirements vary based on Software Type and target TRL. Before completing this
section, the author should review the requirements.
4
Requirements Specifications Template
Change Control: Describes how changes to the project scope are controlled, and
who approves these.
Includes tasks and major milestones. Milestone examples are start and end of module or
system tests, system builds, test script creation, and regression testing. These dates are
integrated into the master project schedule.
5
Requirements Specifications Template
Describes how the software product and associated deliverables will be accepted by EPRI
and specific end-users, and how the software will be placed into full operation. See the
EPRI software product requirements for additional required usability elements.
Installation: Describes the planned method for installation: done by the user
independently, done by customer company internal IT services, done by an
external contractor. Specifies the handling of such items as data transfer from
prior releases, and the presence of software elements from prior releases.
Usability: Describes items that will ensure the user-friendliness of the software.
Acceptance: Describe the acceptance criterion for the system to be deployed into
the production environment.
10.0 Appendices
As needed and may include Document References, V&V report references, etc.