Software Requirement Specification
Software Requirement Specification
Software Requirement Specification
1|Page
Table of Contents
I. Overview.............................................................................................................................................3
1. Introduction...................................................................................................................................3
2. System Functions...........................................................................................................................4
3. Common Requirements.................................................................................................................5
II. Functional Requirements...................................................................................................................6
1. <<Feature Name 1>>......................................................................................................................6
a. <<Function Name 1>>................................................................................................................6
b. <<Function Name 2>>................................................................................................................6
2. <<Feature Name 2>>......................................................................................................................6
2|Page
I. Overview
1. Introduction
[Content part 1: presents a high-level overview of the product and the environment in which it will be
used, the users, and known constraints, assumptions, and dependencies]
[Content part 2: describes the product's context in the form of a context diagram in which you
present the boundary and connections between the system you’re developing and everything else in
the universe. This identifies external entities (or terminators – software, hardware, human
components, and other systems) outside the system that interface to it in some way, as well as data,
control, and material flows between the terminators and the system]
<<Sample: The Cafeteria Ordering System is a new software system that replaces the current manual
and telephone processes for ordering and picking up meals in the Process Impact cafeteria. The
system is expected to evolve over several releases, ultimately connecting to the Internet ordering
services for several local restaurants and to credit and debit card authorization services.
>>
3|Page
2. System Functions
a. Screen Flow
[This part shows the system screens and the relationship among screens. You can draw the Screens
Flow for the system in the form of diagram as below]
b. Screen Details
[Provide the descriptions for the screens in the Screens Flow above]
# Feature Screen Description
1 Order Meals Create Order <<Screen Brief description>>
2 Order Meals Change Order
3 ..
c. User Authorization
[Provide the system roles authorization to the system features (down to screens, and event to the
screen activities if applicable) in the table form as below – replace Role1, Role2,… with the specific
system user role names]
4|Page
…
d. Non-Screen Functions
[Provide the descriptions for the non-screen system functions, i.e batch/cron job, service, API, etc.]
# Feature System Function Description
<<Feature <<Function
1 <<Function Name1 Description>>
Name>> Name1>>
2 …
3. Common Requirements
<<fill here with all the common requirements...>>
5|Page
II. Functional Requirements
1. <<Feature Name 1>>
a. <<Function Name 1>>
[A function can be a screen or a non-screen function (listed in the part 5.1 above). In this part, you
need to provide the details on the related function, focus on mentioning below information
Function trigger: how this function is triggered (navigation path, a timing frequency, etc.
Function description: actors/roles, purpose, interface, data processing, etc.
Screen layout: mockup prototype of the screen, sample below is for Manage Products screen
Function Details: provide explanation for the data, validation, business logics, functionalities
(for both normal cases and abnormal cases), etc. of the function so that the reader can
image how it work.
6|Page