4. Software and Program Design Concepts
The damage caused by poor software – covered in Chapter 2, The Search for Dependable Software – can't be dismissed lightly. Equipment damage, personal injury, and deaths have resulted from mistakes in software. Even where such disasters are avoided, software liabilities can financially cripple a company. Three factors are usually at work here: late delivery of the software, overrun on budget, and massive installation/maintenance efforts. Therefore, the primary goal of any software team is to eliminate the possibility of such events. To do this, the team must deliver dependable software, on time, within cost. These "high-level" objectives can be achieved only by using professional design methods. Such methods enable designers to achieve specific "low-level" targets for quality code production. These features, already discussed in Chapter 2, The Search for Dependable Software, include the following:
...