Client: Acme Inc.
Developer: CyberSystems.com
Author: Ted Smith
The introduction should give an overview of the system for which this functional specification is being written. This summary may include as little or as much detail as necessary, but should describe the purpose, scope, and objectives of the system while also providing background and history if appropriate.
This section should include a glossary of domain-specific terms. For example:
Account Holder: a person or organization that creates one or more accounts. Only the account holder is authorized to deposit or withdraw money from these accounts. Only the account holder is authorized to cloise these accounts.
This section may also include descriptions of business procedures, for example, the procedure used by the account holder to create an account.
A more extensive UML model of the business context (using class and activity diagrams) can be included in an appendix, but keep in mind that the functional specification needs to be understandable to stakeholders who may not know UML.
This section includes the use case diagrams and use case elaborations.
The format of a typical use case elaboration might look like this:
UC1: name
Actors:
Description: one or two sentences
Priority: high, medium, or low
Risk: high, medium, or low
Scenarios:
Main Scenario:
Alternate Scenario 1:
Alternate Scenario 2:
etc.
This section contains any additional constraints on the use cases.
For example:
Rule 1: An account holder must be at least 18 years old.
Rule 2: An account holder must be a
Rule 3: An account holder must have a valid Social Security number.
Level of user expertise
assumed.
User interface standards
used.
Documentation provided.
Safety and security
requirements.
Availability, robustness,
and reliability of the system.
Exception handling
Mean time between failures
Error tolerance
Data loss tolerance
number of concurrent users
supported
response time
number of transactions per second
How will system be
extended?
Who maintains the system?
Platform?
Interfaces to existing
systems.
Protocols used.
Who manages the running
system?
Who installs the system?
How many installations are there?
Licensing?
Liability issues?
Licensing fees or
liabilities incurred from using third-party components or algorithms?
Revision |
Revised by |
Date |
1.0 |
Smith |
7/30/2009 |
1.1 |
Smith |
8/8/2009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|