This document provides an overview of documentation design for a software development project. It discusses the software development lifecycle and key stages of identify, design, develop, test, and evaluate. It then describes elements of design documentation including requirements specification, inputs, outputs, processing, constraints, screen designs, program design with modules and algorithms, and a data dictionary. The requirements specification section provides examples of documenting user inputs and outputs, processing functions, and constraints. The data dictionary example shows documenting variable names, data types, and descriptions.
4. Software Development
Lifecycle
This is used by software designers
the whole design process can be thought of as a cycle
The stages are:
Identify - Define requirements and specification Design
Plan the solution to the problem Develop
Produce the program code Test
Locate and remove any errors Evaluate
Review against program requirements
5. Identify the Scope
The first stage of the design process is based upon
analysing the user’s requirements to determine what is
achievable with the resources available.
Resource limitations (called constraints) usually involve
time and money.
Prioritise the most important features and decide what will
be included in the first version of the software and what
can be left out and put on the ‘wish list’ for future
versions.
You then need to produce a formal written requirements
specification for the program
6. Design Documentation
Requirement Specification:
Inputs are required from the user Outputs expected by
the user Processing needed to provide functionality
Constraints e.g. time, funds, specialist skills Screen
Designs Program Design:
Modules and Algorithms:
Structure Diagram / Flowcharts / Pseudocode Data
Dictionary Test Plan
7. Requirements Specification
Inputs
List of all the data that is input by the user Give specific
details of the actual data, e.g. first name and last name
of user Identify valid and invalid values for text and
acceptable ranges for numeric data
Outputs: List of all output expected by the user Give
specific details of the actual data and format, e.g.
Monthly sales report which will be displayed in a bar
chart, showing total sales for each product Include any
help information e.g. Instructions, error messages or
visual feedback
8. Requirements Specification
Processing
Give details of all the functions the program will need
to have.
You should break this down into each processing task
e.g. validation, calculations, formatting etc.
Explain what each function should do (not how – yet!)
There could be many of these in your proposed system
Constraints: Identify any resource limitations It could
include budget, development timescales, hardware
available, training requirements, special needs of users
etc. Give specific details of each, e.g. The total budget
available is £50,000
9. Data Dictionary
This is used to document the variables and datatypes
used in your program
Show the variable names, datatypes and a description
of what data the variable is going to store Identify
location e.g. Local or Global Remember local is better