Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[wiki:Self:fswiki top] [[fswiki|top]]
Line 7: Line 7:
[[TableOfContents]] <<TableOfContents>>


Software Project Template

edit as needed


This document describes the high level design of the software.

Use Case Analysis

A ‘use case analysis’ merely addresses the most obvious of questions: who needs the software, and what are they going to do with it.

Actors (Users)

In UML terminology, the persons (or software ‘agents’) external to a software component are called the ‘actors’.


Scenarios (Use Cases)

These establish the framework for test cases. They also bring out the ‘vocabulary’ of the system. This vocabulary is defined in the ‘Terms’ section following these scenarios.

Use Case #1

Use Case #2

Use Case #3

Use Case #4


The following is a list of some of the vocabulary used in the preceding scenarios, plus terms that are common across the system in which the software is used.


General Requirements

Specific Requirements



System Architecture and Primary Components


Collaboration and Sequence Diagrams

UML diagrams describing the time-course of the objects composing the executable.


Here are listed the configurable properties of the executable. These can be configurables read from a configuration file, or configurables hard-coded into the source code.

Test Plan


Tests should cover the following categories of testing.


This type of test ascertains whether the software executes its basic functionality under optimal conditions.


This type of test determines the breaking points of the software, and whether the software gracefully handles input near and beyond these boundaries.


This type of test determines long-term behavior of the software: whether is has a memory leak, or prone to crashes which are not repeatable in any single run of any of the other tests.


These tests produce benchmarks on the performance of the software.


SwProjectTemplate (last edited 2008-04-29 11:45:06 by localhost)