Chapter 3. Software Design Principles
Before looking at the technical aspects of what makes a good software application we should establish what we think constitutes good software.
A good software application should:
Enable small changes in users' needs to be accommodated by small changes in the code
Be delivered on time and on budget
Function mostly to expectations
Be easy to use
Why is Software Complex?
. . . software seems like malleable stuff, most programs are actually intricate plexuses of brittle logic through which data of only the right kind may pass.
|--W. Waytt Gibbs, “Software's Chronic Crisis”|
Software can be thought of as a machine that has many states, with these states ...