System specification
When a new system is designed the first step is to specify the system configuration - that is the hardware needed and the software which will be installed,

..then it has to be defined in terms of its......

Input Data capture - How is the data collected?
- automatic eg bar codes, swipe cards, MICR etc..
- data capture forms

User interface - Command line; menus; GUI; speech

Input screens - Screen layouts need to be designed.

Methods of data entry - automatic; keyed in;

Data Verification? - Data entered twice; only accepted if two versions identical. Proof-reading?

Data Storage Definition of data - what field names; what field types, lengths etc

Will data be stored as a database or as flat files?

Definition of database tables or of the files

What storage medium - CD? disc? tape?

Processing Hardware?
choice will depend on -
- volume of data
- number of users
- location of users (Same room or spread around the country)
- security considerations

Data Validation - what methods? Range checks; type checks; length checks etc...

What software should be used?
If programs need to be written -
- High or Low Level language?
- Which Language? (Pascal, C++, Visual Basic, Java etc)

Output Type of output? - printed; sound; visual etc
Output screen displays
Printed reports will need to be designed.
Other considerations:  
Recovery procedures These will need to be defined. What to do if there is an error? How do we ensure continuation of business if there is a disaster (Eg. fire/flood)?
Clerical procedures Usually dealing with documents. 
eg What happens to incoming orders? Outgoing invoices? etc
Documentation All systems need to be documented.

- to set specifications for the project. (Must be kept up-to-date)
- to ensure the system can be maintained after completion.
- "as time progresses and the needs of the system change, without the ability to be maintained properly, the software will become outdated and useless. Changes of staff within a company may mean that no-one involved in the original design or programming of a system is still with the company. 90% of programming is in updating existing software."

Contents of documentation