Functional Specifications Template
Functional Specifications Template
FUNCTIONAL SPECIFICATIONS
This is the document that completely defines the specifications of a proposed system. This is the basic
document, which will be used as the basis for implementation.
The paragraphs written in the “Comment” style are for the benefit of the person writing the document and
should be removed before the document is finalized.
In order to gain technical and methodological background refer to the following books:
§ Applying Use Cases by Geri Schneider, Jason P.Winters
§ Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design by Craig
Larman
§ Object Oriented Analysis and Design with Applications by Grady Booch
VERSION : <>
<DATE>
Prepared by :
REVISION C HART
This chart contains a history of this document’s revisions. The entries below are provided solely for
illustration purposes. Those entries should be deleted until the revision/s they refer to have actually been
created.
The document itself should be stored in revision control, and a brief description of each version should be
entered in the Revision Control System. A brief description can be repeated in this section. Revisions need
not be described elsewhere in the document, unless they explain the document.
Draft TBD Initial draft created for distribution and review (To be decided)
comments TBD
New paragraphs formatted as Heading 1, Heading 2, and Heading 3 will be added to the table
automatically. To update this table of contents in Microsoft Word, put the cursor anywhere in the table
and press F9. If you want the table to be easy to maintain, do not change it manually.
1. INTRODUCTION..............................................................................................................................................6
1.1 P ROJECT O VERVIEW ...................................................................................................................................... 6
1.2 P ROBLEM STATEMENT .................................................................................................................................. 6
1.3 CUSTOMER....................................................................................................................................................... 6
1.4 AFFECTED GROUPS........................................................................................................................................ 6
1.5 ASSUMPTIONS ................................................................................................................................................. 6
1.6 DEPENDENCIES/ E XTERNAL SYSTEMS ..................................................................................................... 7
1.7 DEFINITIONS AND ACRONYMS ................................................................................................................... 7
1.8 R EFERENCE/ SOURCE DOCUMENTS ......................................................................................................... 7
1.9 GOALS ............................................................................................................................................................... 7
2. SYSTEM FUNCTIONS/ FUNCTIONAL REQUIREMENTS ..............................................................8
5. CONCEPTUAL MODEL................................................................................................................................16
6. GLOSSARY ........................................................................................................................................................17
7. INDEX ..................................................................................................................................................................18
8. APPENDICES....................................................................................................................................................19
New figures that are given captions using the Caption paragraph style will be added to the table
automatically. To update this table of contents in Microsoft Word, put the cursor anywhere in the table
and press F9. If you want the table to be easy to maintain, do not change it manually.
This section can be deleted if the document contains no figures or if otherwise desired.
Figure 1 System Architecture ................................................................................................ 10
Figure 2 System Level Use Case Diagram ............................................................................. 12
Figure 3 Conceptual Model.................................................................................................... 16
This section should describe the project and the software product being to be built. No text is necessary
between the heading above and the heading below unless otherwise desired.
1.3 Customer
A brief description of the client. The organization, its products/services etc.
e.g.
Company X offers solutions for companies who want to establish a portal on the Trading Net and those
who want to host portals for others. Company X was founded in 1992 and went public in 1998.
1.5 Assumptions
Things we assume will be true.
§ We will receive all necessary technical support from the engineers at cMeRun, Select and Mellon
Bank to help design the interfaces between their systems and enGyro.
§ All database maintenance wi ll be handled by the client.
§ There will be no real-time interfacing with any accounting systems.
1.9 Goals
This brief section should focus on what the client wants to achieve. It must enumerate the objectives of the
top management and what it hopes to accomplish from the proposed system.
This section is can be skipped, if Requirement Specifications document has been developed for the project.
Otherwise this section is mandatory.
This section may contain
• end user, operator, support, or integration functions,
• performance requirements,
• design constraints,
• programming language, and
• interface requi rements.
System functions are descriptions of what a system is supposed to do. They should be identified and listed
in logical cohesive groups, with their category (priority) assigned. These system functions will be
identified as a result of the requireme nt gathering process conducted with the client. However, in some
cases, prior to the development of the Functional Specifications the requirements may already have been
listed in a document: if this is so then a reference to the document may suffice.
To verify that some X is indeed a system function; it should make sense in the following sentence:
The system should do < X>
The table below gives an example of how system functions can be listed:
§ The Functions column gives a brief one-line description of the required functionality.
§ The Category column refers to the status of the functionality for the proposed system. The options
for the Category are defined below.
§ The Attribute column defines the system characteristics. The Details and Constraints column
specifies the conditions within which the attribute is applicable. Section 1.12 defines the default
Attributes and the related Constraints. In case, the default conditions are to be over-ridden then
the conditions can be defined in this table.
Function Categories
Function Category Meaning
Evident Should perform, and user should be cognizant that it is performed.
Hidden Should perform, but not be visible to users. This is true of many underlying
technical services, such as save information in a persistent storage mechanism.
Hidden functions are often missed during the requirements gathering process.
Frill Optional; adding it does not significantly affect cost or other functions.
3. SYSTEM ARCHITECTURE
Describe the system architecture, or simply provide the architecture diagram. For School system it may
include web based front end, webserve , database etc. Don’t worry too much about it just give a simple
diagram of a typical web based project.
Formatted: Bullets and Numbering
Bank 1
Computer
HTTP
Base 24
ATM
ATM Host 1 Web Server Mail Server
Machine Network
Partitioning
IMAP
ATM
Machine
Application Third Party
Gateway
Server Realtime Stock
Quotes
JDBC
Base 24
eAccessCard Host
User Profile
ATM
ATM Host 2
TekChand User Preferences
Machine eAccessCard State Lottery
Proprietary Database Emergency Data Service
Stock Portfolio
ATM
Machine
Bank 2
Computer
Create Users
<<extends>>
Acc Manager
Buy Items
Cashier Customer
<<uses>>
<<uses>>
<<uses>>
Pay by Cash
Credit Authorization
Service Pay by Credit Pay by Check
Check Authorization
Service
Section: Main
Name: Buy Item
Actors: Customer, Cashier
Purpose: Capture a sale and its payment.
Description: A customer arrives at a check out with items to purchase. The cashier
records the purchase items and collects a payment. On completion, the
customer leaves with the items.
Cross References: Functions: R1.1, R1.2
Use Cases: Cashier must have completed the Log In use case. This is a
reference to the System Functions as described in Section 1.10
Pre-Conditions Assumption about the state of the system before execution of the operation
Failure Post-Conditi ons State of the system after completion of the operation.
Alternative Course
Step 2: Invalid item identifier entered. Indicate error.
Alternative Courses
Step 1: Customer does not have sufficient cash, may cancel sale or initiate another
payment method.
Step 4: Cash drawer does not contain sufficient cash to pay balance.
payment_type(cash, cc)
verify(amt,cc)
reply(true)
record(amt, pymt_type)
5. CONCEPTUAL MODEL
Draw your conceptual model after writing all your use cases. This is an optional section, which will be
applicable when there are a large number of entities.
A Conceptual model is a representation of concepts in a problem domain. It is illustrated with a set of
static structure diagrams. It can represent the following:
§ Concepts
§ Associations between concepts
§ Attributes of concepts
A new example consistent with the Accounting System example used in this document should be provided.
contains contains
Basic Book
0..*
contains
Seminar
GSP
contains 0..*
0..*
contains
Guest Speaker Handout
0..* 0..*
contains contains
Misc Material
Individual Exercise 0..*
contains 0..*
Case Study
0..*
A glossary or model dictionary lists and defines all the terms that require clarification in order to improve
communication and reduce the risk of misunderstanding.
Record domain or business terms, rules, concepts, etc. in the glossary
Comments
DS DS stands for Directing Staff, a class instructor
Div Stands for a Division with fixed strength and organization
Package ….
The index is optional. If the document is made available in electronic form, readers can search for terms
electronically.
Include supporting detail that would be too distracting to include in the main body of the document.