Software Requirements Specification Template
Software Requirements Specification Template
Specification
for
<Project>
Version 1.0 approved
Prepared by <author>
<organization>
<date created>
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................2
1.1 Purpose.......................................................................................................................................2
1.2 Document Conventions..............................................................................................................2
1.3 Project Scope..............................................................................................................................2
1.4 References..................................................................................................................................2
2. Overall Description..................................................................................................................2
2.1 Product Perspective....................................................................................................................2
2.2 User Classes and Characteristics................................................................................................2
2.3 Operating Environment..............................................................................................................2
2.4 Design and Implementation Constraints.....................................................................................2
2.5 Assumptions and Dependencies.................................................................................................2
3. System Features.......................................................................................................................2
3.1 System Feature 1........................................................................................................................2
3.2 System Feature 2 (and so on)......................................................................................................2
4. Data Requirements..................................................................................................................2
4.1 Logical Data Model....................................................................................................................2
4.2 Data Dictionary..........................................................................................................................2
4.3 Reports.......................................................................................................................................2
4.4 Data Acquisition, Integrity, Retention, and Disposal..................................................................2
5. External Interface Requirements...........................................................................................2
5.1 User Interfaces............................................................................................................................2
5.2 Software Interfaces.....................................................................................................................2
5.3 Hardware Interfaces....................................................................................................................2
5.4 Communications Interfaces........................................................................................................2
6. Quality Attributes....................................................................................................................2
6.1 Usability.....................................................................................................................................2
6.2 Performance...............................................................................................................................2
6.3 Security......................................................................................................................................2
6.4 Safety..........................................................................................................................................2
6.5 [Others as relevant].....................................................................................................................2
7. Internationalization and Localization Requirements...........................................................2
8. Other Requirements................................................................................................................2
Appendix A: Glossary....................................................................................................................2
Appendix B: Analysis Models.......................................................................................................2
Revision History
Name Date Reason For Changes Version
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 1
1. Introduction
<The introduction presents an overview to help the reader understand how the SRS is organized
and how to use it.>
1.1 Purpose
<Identify the product whose software requirements are specified in this document, including the
revision or release number. Describe the different types of reader that the document is intended
for, such as developers, project managers, marketing staff, users, testers, and documentation
writers.>
1.4 References
<List any documents or other resources to which this SRS refers. Include hyperlinks to them if they
are in a persistent location. These might include user interface style guides, contracts, standards,
system requirements specifications, interface specifications, or the SRS for a related product.
Provide enough information so that the reader can access each reference, including its title,
author, version number, date, and source, storage location, or URL.>
2. Overall Description
<This section presents a high-level overview of the product and the environment in which it will be
used, the anticipated users, and known constraints, assumptions, and dependencies.>
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 2
overall system and identify major interfaces between the two. Consider including visual models
such as a context diagram or ecosystem map to show the product's relationship to other systems.>
3. System Features
Use case diagam here
System feature tree here
Context diagram here
……..
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 3
List all event and FAP system must response with the even. Should write in table formate
Draw the GUI of the screen create new Account function and insert here
Draw the GUI of the screen update Account function and insert here
UC ID and Name: Update Account
Created By: TrungNT Date Created: 12/2/2009
Primary Actor: Admin Secondary
Actors:
Trigger:
Description:
Preconditions: The user must already have the valid account in the FAP System.
Postconditions: After finish this function, the account must be updated and store in the
database of the FAP system
Normal Flow: 1. Fisrt, the admin user must access the screen create new account
Alternative Flows:
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 4
Exceptions:
Priority:
Frequency of Use:
Business Rules:
Other Information:
Assumptions:
Draw the GUI of the screen import grade function and insert here
UC ID and Name: Import grade
Created By: TrungNT Date Created: 12/2/2009
Primary Actor: Admin Secondary
Actors:
Trigger:
Description:
Preconditions: The user must already have the valid account in the FAP System.
Postconditions: After finish this function, the account must be updated and store in the
database of the FAP system
Normal Flow: 1. Fisrt, the admin user must access the screen create new account
Alternative Flows:
Exceptions:
Priority:
Frequency of Use:
Business Rules:
Other Information:
Assumptions:
Draw the GUI of the screen import grade function and insert here
UC ID and Name: Import grade
Created By: TrungNT Date Created: 12/2/2009
Primary Actor: Admin Secondary
Actors:
Trigger:
Description:
Preconditions: The user must already have the valid account in the FAP System.
Postconditions: After finish this function, the account must be updated and store in the
database of the FAP system
Normal Flow: 1. Fisrt, the admin user must access the screen create new account
Alternative Flows:
Exceptions:
Priority:
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 5
Frequency of Use:
Business Rules:
Other Information:
Assumptions:
4. Data Requirements
<This section describes various aspects of the data that the system will consume as inputs,
process in some fashion, or create as outputs.>
4.3 Reports
<If your application will generate any reports, identify them here and describe their characteristics.
If a report must conform to a specific predefined layout you can specify that here as a constraint,
perhaps with an example. Otherwise, focus on the logical descriptions of the report content, sort
sequence, totaling levels, and so forth, deferring the detailed report layout to the design stage.>
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 6
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 7
6. Quality Attributes
6.1 Usability
<Specify any requirements regarding characteristics that will make the software appear to be
“user-friendly.” Usability encompasses ease of use, ease of learning; memorability; error
avoidance, handling, and recovery; efficiency of interactions; accessibility; and ergonomics.
Sometimes these can conflict with each other, as with ease of use over ease of learning. Indicate
any user interface design standards or guidelines to which the application must conform.>
6.2 Performance
<State specific performance requirements for various system operations. If different functional
requirements or features have different performance requirements, it's appropriate to specify those
performance goals right with the corresponding functional requirements, rather than collecting
them in this section.>
6.3 Security
<Specify any requirements regarding security or privacy issues that restrict access to or use of the
product. These could refer to physical, data, or software security. Security requirements often
originate in business rules, so identify any security or privacy policies or regulations to which the
product must conform. If these are documented in a business rules repository, just refer to them.>
6.4 Safety
<Specify requirements that are concerned with possible loss, damage, or harm that could result
from use of the product. Define any safeguards or actions that must be taken, as well as potentially
dangerous actions that must be prevented. Identify any safety certifications, policies, or regulations
to which the product must conform.>
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.
Software Requirements Specification for <Project> Page 8
8. Other Requirements
<Examples are: legal, regulatory or financial compliance, and standards requirements;
requirements for product installation, configuration, startup, and shutdown; and logging, monitoring
and audit trail requirements. Instead of just combining these all under "Other," add any new
sections to the template that are pertinent to your project. Omit this section if all your requirements
are accommodated in other sections. >
Appendix A: Glossary
<Define any specialized terms that a reader needs to know to understand the SRS, including
acronyms and abbreviations. Spell out each acronym and provide its definition. Consider building a
reusable enterprise-level glossary that spans multiple projects and incorporating by reference any
terms that pertain to this project.>
Copyright © 2013 by Karl Wiegers and Seilevel. Permission is granted to use and modify this document.