SRS Template

advertisement
<Company Name>
<Project Name>
Software Requirements Specification
Version <1.0>
<Team #>
<Team members name>
[Note: The following template is provided for use with the Rational Unified Process. Text enclosed in
square brackets and displayed in blue italics (style=InfoBlue) is included to provide guidance to the author
and should be deleted before publishing the document. A paragraph entered following this style will
automatically be set to normal (style=Body Text).]
[To customize automatic fields (which display a gray background when selected), select File>Properties
and replace the Title, Subject and Company fields with the appropriate information for this document.
After closing the dialog, automatic fields may be updated throughout the document by selecting Edit>Select
All (or Ctrl-A) and pressing F9, or simply click on the field and press F9. This must be done separately for
Headers and Footers. Alt-F9 will toggle between displaying the field names and the field contents. See
Word help for more information on working with fields.]
[Note: The Software Requirements Specification (SRS) captures the complete software requirements for the
system, or a portion of the system. Following is a typical SRS outline for a project using use-case
modeling. This artifact consists of a package containing use cases of the use-case model and applicable
Supplementary Specifications and other supporting information. For a template of an SRS not using usecase modeling, which captures all requirements in a single document, with applicable sections inserted
from the Supplementary Specifications (which would no longer be needed), see rup_srs.dot.]
Many different arrangements of an SRS are possible. Refer to [IEEE93] for further elaboration of these
explanations, as well as other options for SRS organization.]
<Project Name>
Software Requirements Specification
<document identifier>
Version:
<1.0>
Date: <dd/mmm/yy>
Revision History
Date
<dd/mmm/yy>
Version
<x.x>
Description
<details>
Author
<name>
Page 2
<Project Name>
Software Requirements Specification
<document identifier>
Version:
<1.0>
Date: <dd/mmm/yy>
Table of Contents
1.
2.
Introduction
4
1.1
1.2
1.3
1.4
1.5
4
4
4
4
4
Purpose
Scope
Definitions, Acronyms and Abbreviations
References
Overview
Overall Description
4
2.1
2.2
4
5
Use-Case Model Survey
Assumptions and Dependencies
3.
Specific Requirements
6
4.
Supporting Information
7
Page 3
<Project Name>
Software Requirements Specification
<document identifier>
Version:
<1.0>
Date: <dd/mmm/yy>
Software Requirements Specification
1.
Introduction
[The introduction of the SRS should provide an overview of the entire SRS. It should include the purpose,
scope, definitions, acronyms, abbreviations, references and overview of the SRS.]
1.1
Purpose
[Specify the purpose of this SRS. The SRS should fully describe the external behavior of the application or
subsystem identified. It also describes nonfunctional requirements, design constraints and other factors
necessary to provide a complete and comprehensive description of the requirements for the software.]
1.2
Scope
[A brief description of the software application that the SRS applies to; the feature or other subsystem
grouping; what Use Case model(s) it is associated with, and anything else that is affected or influenced by
this document.]
1.3
Definitions, Acronyms and Abbreviations
[This subsection should provide the definitions of all terms, acronyms, and abbreviations required to
interpret properly the SRS. This information may be provided by reference to the project Glossary.]
1.4
References
[This subsection should provide a complete list of all documents referenced elsewhere in the SRS. Each
document should be identified by title, report number (if applicable), date, and publishing organization.
Specify the sources from which the references can be obtained. This information may be provided by
reference to an appendix or to another document.]
1.5
Overview
[This subsection should describe what the rest of the SRS contains and explain how the SRS is organized.]
2.
Overall Description
[This section of the SRS should describe the general factors that affect the product and its requirements.
This section does not state specific requirements. Instead, it provides a background for those requirements,
which are defined in detail in section 3, and makes them easier to understand. Include such items as
product perspective, product functions, user characteristics, constraints, assumptions and dependencies,
and requirements subsets.]
2.1
Use-Case Model Survey
[If using use-case modeling, this section contains an overview of the use-case model or the subset of the
use-case model that is applicable for this subsystem or feature. This includes a list of names and brief
descriptions of all use cases and actors, along with applicable diagrams and relationships. Refer to the
use-case model survey report, which may be used as an enclosure at this point.]
[ Define your actors (users of the system).
Define your use-cases as scenarios of usage of the systems by the actors.
Draw use-case diagram(s) (follow UML notation).
Use the table format below to document all use-cases.
One table per use-case and maintain the table format.
The blue text inside the table is just for guidance; remove it from the final document.]
Page 4
<Project Name>
Software Requirements Specification
<document identifier>
Version:
<1.0>
Date: <dd/mmm/yy>
Insert your Use-Case Diagram before the description tables. The diagram should reflect all
relationships among the use-cases as indicated in the ”Relationships:” cell of the table.
(This table is adopted from “Systems Analysis and Design”, by Whitten, Bentley, and Dittman)
Use case name:
ID:
Priority:
Use-case name should represent the goal that the
Unique identifier
Level of importance
use-case is trying to accomplish. The name should
for the use-case.
(high, medium, low).
begin with a verb (e.g., Enter Login Info).
Primary actor:
Source:
Use case type:
The primary
This identifies the entity that
Use-case type can be Business or
stakeholder that
triggered the use-case. This
Technical type, depending on what
benefit from the
could be a requirement, a
the use-case represents (business
execution of the usespecific document, or a
requirements or technical
case.
stakeholder.
requirements).
Interested Stakeholders:
A stakeholder is anyone who has a stake in the development and operations of the system to be
developed. An interested stakeholder is a person (other than the primary actor) who has an
interest in the goal of the use-case.
Brief description:
Couple sentences outlining the purpose of the use-case and its activities.
Precondition:
A constraint on the state of the system before the use-case can be executed. Usually this is
another use-case that must be previously executed.
Trigger:
This is an event that initiates the execution of the use-case.
Relationships: Relationships with other use-cases.
Include:
Names of use-cases that this use-case includes (uses).
Extend:
Names of use-cases that this use-case extends.
Depends on: Names of use-cases that this use-case depends on.
Typical flow of events:
Sequence of activities performed by the actor(s) and the system in order to satisfy the goals of
the use-case. This includes the interactions between the system and the actors and the activities
the system performs in response to the interactions. Document this information in bullet points.
Assumptions
Any assumptions that were made when defining the use-case.
Implementation Constraints and Specifications:
Any non-functional requirements that may impact the implementation of the use-case.
2.2
Assumptions and Dependencies
[This section describes any key technical feasibility, subsystem or component availability, or other project
related assumptions on which the viability of the software described by this SRS may be based.] [Here,
include any limitations, constraints, restrictions identified for the application]
Page 5
<Project Name>
Software Requirements Specification
<document identifier>
3.
Version:
<1.0>
Date: <dd/mmm/yy>
Specific Requirements
[This section of the SRS should contain all the software requirements to a level of detail sufficient to enable
designers to design a system to satisfy those requirements, and testers to test that the system satisfies those
requirements. When using use-case modeling, these requirements are captured in the use cases and the
applicable supplementary specifications. If use-case modeling is not used, the outline for supplementary
specifications may be inserted directly into this section.]
Here, try to organize this section as follows: (see OO Analysis slides on the course website)
3.1 External interface requirements
3.1.1 User interfaces
3.1.2 Hardware interfaces
3.1.3 Software interfaces
3.1.4 Communication interfaces
3.2 Analysis Classes
[Apply the CRC modeling method (see OO Analysis slides) to your use-cases to
identify analysis classes.
For each class provide a description using the table format below, one table per
class.
The blue text inside the table is just for guidance; remove it from the final
document.
Draw conceptual UML class inheritance diagram. Insert the diagram at the
beginning of this subsection and before the class tables.]
Class name: The class name
Brief description: Brief description of the class
Attributes (fields)
Attribute Description
Attribute 1
Brief description of attribute 1
Attribute 2
Brief description of attribute2
...
...
Methods (operations)
Method Description
Method 1
Brief description of method1 1
Method 2
Brief description of method 2
...
...
3.3 Sequence Diagrams
Draw a UML sequence diagram for each use-case. Multiple diagrams may be drawn
for a use-case.
3.4 Object Collaboration Diagrams
Draw UML object relationship (collaboration) diagram(s).
3.5 Object Behavior Diagrams
Draw UML state (state chart) diagrams for the system.
Page 6
<Project Name>
Software Requirements Specification
<document identifier>
4.
Version:
<1.0>
Date: <dd/mmm/yy>
Performance Requirements
[Specific any performance requirements that the application needs in order to achieve maximum
performance, robustness, security, etc.
5.
Other Requirements
[Specific any other requirements (functional or non-functional that are not outlined in (derived from) the
use-cases. Often such requirements are specific to the application and the client’s business model.]
6.
Supporting Information
[The supporting information makes the SRS easier to use. It includes: a) Table of contents, b) Index, c)
Appendices. These may include use-case storyboard, user-interface prototypes, and/ or CRC Cards. When
appendices are included, the SRS should explicitly state whether or not the appendices are to be considered
part of the requirements.]
Page 7
Download