Pearce Neptune Ltd
Software Design Philosophy
Method
- Understand the underlying structure of the requirements, making effort to find common features and reduce the size/complexity of the design.
- Reflect the requirement structure in the software structure, bearing in mind likely future changes to requirements.
- Aim to be right first time, but design to ease fault-detection: structure the software such that errors will usually show up very early in testing.
Avoid having parts of software components which will only be used in unusual combinations of circumstances.
- Use the power of modern programming languages to write as close to normal English as possible, so the source of a software component reads as a natural logical expression of how it performs its function.
Aim, in doing this, to make basic errors obvious from only casual checking of the program source: a missing word NOT , for instance, should usually stand out like a sore thumb.
Benefits
- Leanness: smaller program size - less "bloat", reducing programming and maintenance costs
- Verifiability: errors found easily and early, when cheaper and quicker to fix; system testing made more rapid and thorough
- Robustness: reliable running and low maintenance costs
- More consistent behaviour in use: shorter learning curve for users, fewer quirks to put them off their stride
- Program readability: shorter learning curve for maintenance programmers; reduced chances of subsequent errors
- Amendability: ease of adding new features - more flexibility, and lower future costs
Return to Pearce Neptune home page
Copyright © 2000 Pearce Neptune Ltd.