Software Requirement Specification
Software Requirement Specification
Revision History
Page 2 of 11
Software Requirement Specifications
Contents
1 Introduction......................................................................................................4
1.1 Purpose............................................................................................................4
1.2 Scope...............................................................................................................4
1.3 References.......................................................................................................4
1.4 Terms and Abbreviations.................................................................................4
2 Module Description..........................................................................................4
3 Flows................................................................................................................4
4 Data Model.......................................................................................................4
5 Interfaces.........................................................................................................4
6 Screen Flow.....................................................................................................5
7 Screen Details..................................................................................................5
7.1 Screen <Screen ID – Name>...........................................................................6
7.1.1 Layout..................................................................................................6
7.1.2 GUI Elements......................................................................................6
7.1.3 Validation Rules...................................................................................8
7.1.4 Control Action Rules............................................................................8
8 Non-Functional Requirement.........................................................................10
8.1 Performance Requirements...........................................................................10
8.2 Safety Requirements.....................................................................................10
8.3 Security Requirements...................................................................................10
8.4 Software Quality Attributes............................................................................10
8.5 <Other NFs>..................................................................................................10
9 Appendix........................................................................................................10
9.1 Appendix A: Glossary....................................................................................10
9.2 Appendix B: Analysis Models.........................................................................10
9.3 Appendix C: Autorespone (Notification/Email)...............................................11
9.4 Appendix C: Issues List.................................................................................11
Page 3 of 11
Software Requirement Specifications
1 Introduction
1.1 Purpose
<State the purpose of this functional specification: is a formal document that describes
the capabilities, appearance, and interactions with users of a product or a module or a
component in great detail.>
1.2 Scope
<A brief description of the scope of this document: product level or module level or
component level?>
1.3 References
<Provide a complete list of all documents referenced somewhere in this document. Each
document should be identified by ID, Name, Published Version (optional), Author, and
Storage Location (optional)>
2 Module Description
3 Flows
<Include process workflows and data flow diagrams (if any)>
4 Data Model
<Include entity relationship diagrams (if any)>
Page 4 of 11
Software Requirement Specifications
5 Interfaces
<Describe all interfaces that the product or module or component communicates to,
especially input and output messages (if any)>
6 Screen Flow
<Draw a screen flow if the number of screens is big or there is a complex flow between
screens.>
7 Screen Details
Page 5 of 11
[COMPANY lOGO]
7.1.1 Layout
Note: If there are any discrepancies between screenshot and GUI Elements table, follow the GUI Elements table as the correct one.
Field Name Description Control Data Default Required Rules
Type Type Value
(Y/N)
<Caption of <Include: <See <See <Include:
the element guidelines guidelines
- Meaning of the field - Select values/Enable this
on the below> below>
field, what function/field will be
screenshot - Where does the data of
impacted?
> this field come from?
-Validation rules: see
>
guidelines below
-Action rules: see guidelines
below
>
Data Type:
Use one of the following data type:
- String (length)
- String
Page 7 of 11
Software Requirement Specifications
- Integer
- Decimal
- Date Time
- Date
- Time
- Boolean
- Enum {v1, v2, v3}
>
Page 8 of 11
Software Requirement Specifications
- Leaving field
- Check/Uncheck field A, system does
enable/disable field B
- Select a value of field A, system changes
value(s) of field B
- Click action or Shortcut key (ex. button,
hyperlink)
- Drag and Drop action (ex. list box)
- Double Click action (ex. grid row)
- Right Click action (ex. controls in
Window-based)
>
Page 9 of 11
[COMPANY lOGO]
8 Non-Functional Requirement
8.1 Performance Requirements
<If there are performance requirements for the product under various circumstances,
state them here and explain their rationale, to help the developers understand the intent
and make suitable design choices. Specify the timing relationships for real time systems.
Make such requirements as specific as possible. You may need to state performance
requirements for individual functional requirements or features.>
8.2 Safety Requirements
<Specify those requirements that are concerned with possible loss, damage, or harm
that could result from the use of the product. Define any safeguards or actions that must
be taken, as well as actions that must be prevented. Refer to any external policies or
regulations that state safety issues that affect the product’s design or use. Define any
safety certifications that must be satisfied.>
8.3 Security Requirements
<Specify any requirements regarding security or privacy issues surrounding use of the
product or protection of the data used or created by the product. Define any user identity
authentication requirements. Refer to any external policies or regulations containing
security issues that affect the product. Define any security or privacy certifications that
must be satisfied.>
8.4 Software Quality Attributes
<Specify any additional quality characteristics for the product that will be important to
either the customers or the developers. Some to consider are: adaptability, availability,
correctness, flexibility, interoperability, maintainability, portability, reliability, reusability,
robustness, testability, and usability. Write these to be specific, quantitative, and
verifiable when possible. At the least, clarify the relative preferences for various
attributes, such as ease of use over ease of learning.>
8.5 <Other NFs>
<…..>
9 Appendix (Other Requirement)
<Define any other requirements not covered elsewhere in the SRS. This might include
database requirements, internationalization requirements, legal requirements, reuse
objectives for the project, tooltip list/content, form list/template, report list and so on. Add
any new sections that are pertinent to the project>.
9.1 Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and
abbreviations. You may wish to build a separate glossary that spans multiple projects or
the entire organization, and just include terms specific to a single project in each SRS.>
9.2 Appendix B: Analysis Models
<Optionally, include any pertinent analysis models, such as data flow diagrams, class
diagrams, state-transition diagrams, or entity-relationship diagrams.>
Page 11 of 11