System Specification

This is a suggested template for specifying a software system. The sections below may be distributed to subordinate documents.

Requirements Model

Functional Requirements

A use-case diagram can be used here to specify the features of a system as well as its operating environment.

Use Case Elaborations

In this section each use case is elaborated by specifying:

Name:
Description: (1 – 2 sentences)
Priority: (low, medium, or high)
Risk: (low medium, or high)
Scenarios
   Main Scenario
   Scenario 2
   Scenario 3
   etc.

Non-Functional Requirements

Usability

UI conventions, documentation, online help, etc.

Reliability

Mean time between failures, etc.

Performance

Transactions per minute, etc.

Supportability

Same as maintainability

Domain Model: Concepts and Relationships

Class diagrams are used in this section to model the concepts, objects, and relationships in the business environment.

Domain Model: Workflows and Processes

Activity diagrams are used in this section to describe workflows and other business procedures.

Design Model

Class diagrams are used in this section to describe the internal structure of the system.

Deployment Model

Component and deployment diagrams are used in this section to describe components, artifacts, and nodes.

Implementation Model

The ultimate implementation model is the source code.

Testing Model

Test cases and suites belong in this section.