Design
Design
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." -- C.A.R. Hoare
Content: This will be unique to your project problem. Nevertheless, there are several recognised techniques that can be used to design a system suitable for a third party to implement. Extra reading will allow you to discover more detail surrounding each technique and many additional techniques that may suit your new system.
The Examination Board will expect you to analyse alternative methods and appropriate tools/features, and justify your choice of software and hardware. They will expect to see diagrams to show the overall system as well as detailed sub-system drawings/plans.
Suggested Headings:
Top Level Design – for the new system
This may repeat some of your Analysis work - fine! Justify it!
- Systems Flow Chart
- Systems Outline Chart
- Data Flow Diagram
- Any other, relevant, techniques
- Identification of appropriate storage media and format (The format could be sequential files, random access files or Access database format. You MUST mention this!) Where is the data going to be stored? Hard drive, network server, etc.? Remember it is the destination of the data when the system is running, not when you are developing the system at home or in College.
Detailed Designs
File Design
- Entity-relationship modelling
- Data normalisation
- Data Organisation
- File Structure
Input & Output - Hand drawn? Justify your layout. If necessary refer back to discussions with the user.
- Input screens + Description (UI)
- Output screens/reports
Process Design - techniques such as TDD, flowcharts, algorithms or psuedocode may be used
- Macro designs
- Sorting routines
- Searching criteria
- Expression construction
- Validation/Verification tools: Show possible error messages.
- Navigation diagram
- Any other, relevant, techniques
- Security requirements - Description of measures planned for security and integrity of data
Access control - Description of measures planned for system security. How are you going to ensure that the data is stored correctly and that only the allowed users have access to it? This could include password protecting the data, putting the data on memory stick and then locking it away. If you have a lot of data then it could, perhaps, be backed up onto on-line storage or an external hard-drive.