Specifications

The specification is a document that describes the behavior of the software system to be built. It contains the requirements model and the domain model. The requirements model includes functional requirements (capabilities) and non-functional requirements (constraints).

Functional requirements are often described with UML use case and sequence diagrams.

Non-functional requirements include:

Usability

�� Impedence mismatch with existing workflows
�� UI conventions
�� online help
�� documentation

Reliability

�� mean-time between failures
�� fault tolerance/robustness
�� safety

Performance

�� Response time
�� Throughput
�� Availability
�� Accuracy

Supportability

�� How easy will it be to add new features? fix bugs?

There are several standard specification documents including the Requirements Analysis Document.