Software Requirements Document
Software Requirements Document
CREDIT: This document model was taken almost verbatim from an excellent software
engineering course taught by Vicki Almstrum at the University of Texas at Austin.
Almstrums models are clear, concise, and detailed. We needed to make some minor
editorial changes to make the models compatible with our course and textbook.
The Software Requirements Document (SRD) sections given in this model are
guidelines for the contents of your SRD.
Include at least these sections, using exactly the section numbering given below.
Your team may have good reasons for wanting to deviate from this proposed
model. In this case, you must get approval from the CEO before writing your
document.
If a section is not applicable in your case, do not delete it; instead, include the
topic heading and write "Not applicable".
1. Introduction
For example:
1
1.2 Scope of the Development Project
The scope of . . . (name project) includes its distinct features, its benefits, and its
limitations. Its distinct features are . . . . It is intended to . . . . (benefits).
However, it will not . . . .
For example:
The scope of the Automated Police Ticketing System (APTS) includes its
distinct features, its benefits, and limitations. Its distinct features are:
- lookup of vehicle owner and violations history based on license plate/permit
number,
- automated recording and printing tickets,
- synchronization with the existing campus police vehicle violation database.
2
If the section is longer than one page, move it to an appendix and provide
a pointer from this section.
For example:
WWW An abbreviation for the World Wide Web. When you use a
web browser, you are accessing the World Wide Web.
3
1.4 References
Mention books, articles, web sites, worksheets, people who are sources of
information about the application domain, etc. Use proper and complete
reference notation. Give links to documents as appropriate. If the section
is longer than one page, move it to an Appendix and provide a pointer
from this section.
There are many ways to document your citations and references. You
should use the APA Documentation model (Alred, 2003, p. 144).
Alred, F., Brusaw, C., and Oliu, W. (2003). Handbook of Technical Writing (7th
ed.). Boston: Bedford/St. Martins.
For example:
4
2. Client-Oriented Requirements
Your team will define a minimum of three personas in the SRD. Create
the detailed description for each of the personas. Uniquely identify each
persona, either with a descriptive label or with a name. If you wish, invent
a picture of each persona. For each persona, describe their relevant
personal characteristics and their general goals with respect to this
product. Be sure that the characteristics that distinguish personas from one
another are clear. If the personas are particularly long (e.g. a page or more
each), then the detailed descriptions can be moved into an appendix.
the book The Inmates are Running the Asylum by Alan Cooper
this brief introduction to user personas
this article on user personas, which includes additional links
Getting from Research to Personas: Harnessing the Power of Data
by Kim Goodwin
Personas for the S2S Project
For example:
5
Ticketing Officer (Vern): Vern is a ticketing officer with basic knowledge
of the current ticketing system. The college employs him for weekday
parking enforcement. Vern has never used a computer, cell phone, or PDA
and he has very little interest in changing the current method of manually
writing paper tickets.
6
2.6 Use Cases
This section will provide use cases for the product. Use the personas you
defined in section 2.1 to make the descriptions concrete. Describe the
setting, sketch the possible appearance of the screen(s), give samples of
data that is stored, entered, or output, and invent dramatic scenarios that
demonstrate the product in operation.
UML use cases and storyboard sketches are excellent descriptive tools for
this section.
For example:
Some resources that can assist in developing good use cases include:
For example:
7
The ATPS automates the ticket writing process. Instead of writing paper tickets in
the field, officers can use the ATPS to query vehicle history, automate ticket entry,
print tickets, and synchronize with the existing vehicle violation database.
- PDA: HP IPAQ Pocket PC H2215 PDA with 64MB RAM. The PDA will be
carried by the officer in the field.
- Printer: Brother MW 100/129/140BT Mobile Printer. The printer will be
carried by the officer in the field.
- Bluetooth: Bluetooth wireless network protocol. The bluetooth protocol will
enable the PDA to communicate with the printer.
- Server: Gateway Windows/XP personal computer. The server is the existing
computer used by campus police to store the vehicle violation database.
- ATPS Ticketing Application which runs on the PDA. This is the application
officers will use to issue tickets in the field. We will be writing this
application.
- MS Access database which runs on the PDA. This is the PDAs local copy of
the vehicle violation database. Created automatically by Active Sync.
- MS Access database which runs on the Server. This is the campus police
vehicle violation database.
- Active Sync which runs on the Server. This tool will synchronize the servers
vehicle violation database with the PDAs copy of the database.
8
Write user-centred requirements specifications from the Standish
Group
CS370 project on Requirements Capture
For example:
ATPS will automate the ticket writing process by meeting the following
functional requirements:
- FR0(R): The system will allow the user to lookup of vehicle owner
information based on license plate number. This information will contain
owners permit number, assigned lot, and previous violations including tow
history.
- FR1(R): The system will allow the user to issue a ticket. The ticket
information will be issued in electronic and paper form.
- FR2(R): The system will automatically fill in data fields using vehicle owner
information should a ticket need to be issued.
- FR3(R): The system will allow the user to update a ticket after the ticket has
been issued.
- FR4(R): The system will allow the user to delete a ticket after the ticket has
been issued.
- FR5(D): The system will keep the users ticket information and the servers
vehicle violation database synchronized to within 24 hours.
Describe data that are input or output from the product as well as any data
that are stored within the system for example in files or on disc. This
section should only cover data requirements from the client's perspective.
Once again, this should not be design-oriented.
For example:
ATPS will automate the ticket writing process by meeting the following
data requirements:
Input Requirements:
9
DR1(R): PDA Vehicle Violation Database -> ATPS: The PDAs vehicle
violation database will provide most of the data that drives APTS. The
database contains information about vehicle owners and previous
violations.
DR2(R): User -> ATPS: The user will provide some basic ticket
information to ATPS including: username and password, license plate
number, lot number, violation type, and optional comments. The rest of
the information needed to issue a ticket will come from the vehicle
violation database. If the vehicle is not found in the vehicle violation
database, then the user will also provide the vehicles state, make, and
model.
Output Requirements:
DR3(R): ATPS -> PDA Vehicle Violation Database: The ATPS will update
the vehicle violation database as new tickets are issued and when new
vehicles are encountered.
DR5(R): ATPS -> Printer: When a new ticket has been issued, ATPS will
send a bluetooth command to the printer to print the ticket.
10
- interface (user, hardware, software),
- physical environment,
- security,
- quality,
- organizational policies,
- standards compliance
For example:
ATPS will automate the ticket writing process by meeting the following
non-functional requirements:
2.5.1.1 Interface:User:
2.5.1.2Interface:Hardware:
2.5.1.3 Interface:Software:
- NFR0(R): The system will only work with the Pocket PC operating system.
- NFR8(D): The system hardware will not encumber the officer in the field.
- NFR9(D): The system display will be readable in all types of weather,
including bright sunlight.
- NFR10(R): The system hardware will be useable in all types of weather,
including heavy rain, extreme heat, and bitter cold.
- NFR11(D): The system hardware will be useable for a users entire shift
without the need to recharge batteries.
- NFR12(O): The system will produce paper tickets that are readable in all
types of weather, including heavy rain.
11
2.5.3.1 Performance: Response Time
- NFR5(R): The novice user will be able to create and print a ticket in less than
5 minutes.
- NFR6(R): The expert user will be able to create and print a ticket in less than
1 minute.
- NFR2(R): The local copy of the vehicle violation database will consume less
than 20 MB of memory
- NFR3(R): The system (including the local copy of the vehicle violation
database) will consume less than 50MB of memory
2.5.4 Quality
2.5.5 Security
12
3. Developer-Oriented Requirements
This is a typical template you can use to describe each of the functional
components that were identified in Section 2.3. These sections should be
at least the following:
For Example:
- FR0: The system will allow the user to lookup of vehicle owner information
based on license plate number. This information will contain owners permit
number, assigned lot, and previous violations including tow history.
- FR1: The system will allow the user to enter a new vehicle into the vehicle
violation database.
- FR2: The system will allow the user to issue a ticket. The ticket information
will be issued in electronic and paper form.
13
- FR3: The system will automatically fill in data fields using vehicle owner
information should a ticket need to be issued.
- FR4: The system will allow the user to update a ticket after the ticket has been
issued.
- FR5: The system will allow the user to delete a ticket after the ticket has been
issued.
- FR6: The system will keep the users ticket information and the servers
vehicle violation database synchronized to within 24 hours.
3.2.2
The system will allow the user to lookup vehicle owner information
purpose
based on license plate number.
The license plate number will be entered through a user interface on
the PDA. The license plate number will contain the following
information:
- any combination of letters, numbers, and dashes
- state or province (default Massachusetts)
- country (default United States)
To prevent input errors, the state/province and country information
inputs
will be selected from drop down lists.
To ease input, the state/province drop down lists will contain the
most common states first (Massachusetts, Rhode Island,
Connecticut, New Hampshire, Vermont, Maine, New York),
followed by all states and provinces listed in alphabetical order.
The country drop down list will contain the following countries:
United States, Canada, Mexico
The license plate number will be used to lookup vehicle owner
processing information in the PDAs copy of the vehicle violation database. If
the vehicle is not found, it can be added to the database (see 3.2.3).
the form, shape, destination, and volume of the output; output
timing; range of parameters in the output; unit measure of the
outputs
output; process by which the output is stored or destroyed; process
for handling error messages produced as output
3.2.3
3.2.4
3.2.5
14
Sections 3.3 3.x organize the products non-functional (and non-data) requirements.
These sections expand upon the descriptions in Section 2.5.
Requirements levied against the product from a hardware hardware (cpu, memory,
disk, network, etc.) point of view
Appendix:
15