Include the name of the document's author, author's telephone and email address.
Contributors:
List contributors to this document, and the nature of
their contributions.
Primary Contact:
All questions and comments about the project should
be addressed to the primary contact. It will be the responsibility of
the primary contact to answer or direct the questions or comments to the
appropriate parties.
The primary contact is usually the Project Leader. Include email link.
Distribution:
List the mailing list, Usenet group, web address, or
other method of intended distribution.
REVISION HISTORY
Date of Revision
Revised by
Description of Revision
Affected Modules
QUALITY CONTROL
Development Methodology
For the
purposes of this project, we are using a simplified Project Life Cycle, the
details of which can be found at www.kuhnllc.com.
Change Control
Detail the change
control plan in two contexts:
The context of changes to the SPECIFICATIONS and DESIGN. Strongly discourage changes to the specifications and design. Encourage up-front thinking and you will be better able to maintain project focus as it proceeds.
The context of change control for documentation, source, and
resources. List how revision control will be accomplished, where the
revision control is located, who has access, etc.
Audit Plan
How do we know we did a good
job? Testing and Peer Review should be addressed here.
SYSTEM DESIGN
Environment
HARDWARE/OS
REQUIREMENTS
Define the hardware necessary to run the application
within the required performance parameters. Address any special
hardware requirements. Indicate purchasing requirements if known at
this time.
Platforms
List and define all hardware platforms, Operating Systems (OS), and Network Operating Systems (NOS) under which the software will run or with which it will interface.
Capacity Requirements
List what is needed in
terms of processor horsepower, storage capacity, network bandwidth,
etc.
SOFTWARE REQUIREMENTS
List and define all non-OS software required by the application for
development or production. Indicate purchasing requirements if known
at this time.
Languages
List and define the languages
to be used for development, and for what purpose each language will be
used.
Tools
List any additional tools to be used
for development. Explain their purpose.
Database/Support
Systems
List any additional software that will be required to
operate the system. This software includes infrastructure requirements such as databases, X-servers or emulators, etc. Do not list development tools.
NETWORK/COMMUNICATIONS (LAN/WAN/DIALUP)
Topology
Define and describe network
topology. Diagram the network including such things as protocols, network
access points, bridges and/or routers, bandwidth, Network Interface Cards
(NIC), modems, modem pools, Public Telephone Network (PTN) interfaces.
Security
Define security implementation
strategy including class/level of user. List and describe security
subsystems to be used. Define security checkpoints.
Additional System
Interfaces
List and define any additional system interfaces.
PERFORMANCE
REQUIREMENTS
Define performance requirements such as capacity,
throughput, and access speed that are expected of the environment and
between modules.
Process Design
DATA FLOW DIAGRAMS
Include
copies of the DFDs in this document or reference their locations via
hypertext link.
MODULES
List all modules that are part of the
system, whether new or existing, with a brief description of their
function. Include a hypertext link to the MDD for each new or changed
module.
Module
Description
Status
COMMON ROUTINES AND
LIBRARIES
List any objects or libraries to be used by the system
without modification.
Data
SYSTEM FILES
1. List and define all
system files that are not under the control of the applications, but can
have an effect upon the application.
2. List and define all system files that are under the control of the
application.
ENVIRONMENT
List and define all external
controls that are not under the control of the application, but can have an
effect upon the application.
COMMON DATA OBJECTS
Define
variables used by the application but independent of the application. Define
global variables used by multiple modules within the application.
ENTITY/RELATIONSHIP
DIAGRAM (ERD)
Represents entities that will translate directly to
physical structures. A product of forward engineering from the logical data
model found in the FSD. The diagram may be placed here in the document if
room allows; if not, it may be referenced via hypertext link
FILE/TABLE LAYOUTS
Supplements
the ERD. List tables, fields, datatypes, indices, etc. Also
list text resource/configuration files and layout.
JOURNALING
REQUIREMENTS
Indicate whether journaling is required. Define unit of
work to be used for Commitment and Rollback.
ARCHIVING
REQUIREMENTS
Specify any archiving requirements that apply such as
retention periods, purge schedules, backup accessibility, and media
requirements.
Interface
STYLE GUIDE
Reference via hypertext
link.
SCREENS/WINDOWS
Describing the screens and windows is not necessary in the overall TSD if the project is broken down into more manageable
units. List all screens to be used in the system and fields to be used on
screens. Indicate whether the fields are stored in a database or
calculated by the screen module. Indicate the usage of the field on the
screen - input, output or both. Graphical representations of the screens
should be shown as part of the module design. Indicate which module design
document will contain the screen/window layout.
REPORTS
Illustrating reports is not necessary in the overall
TSD if the project is broken down into more manageable units. List
reports and list all fields to be used in each. Indicate whether the field
will be stored in a database, will be calculated, or is a constant value by
the reporting module. Graphical representations of the reports will be shown
as part of the module design.