If a program has N parts, and each has a probability of correctness of c -- that is, there is a chance of 1-c that the developer gets it wrong -- then the probability that the whole program will work is c to the power of N.
But doesn't this suggest that we shouldn't break a program? No, it just states that one can not make a program totally bug free!
Advantages:
Division of Labor.
Reuse.
Modular Analysis.
Localized Change.
In the 1970’s, there was a popular approach to software development called Top-down Design. The idea s simply to apply the following step recursively:
if the part you need to builds already available (for example, as a machine instruction), then you’re done;
Otherwise, split it into subparts, develop them, and combine them together.
Copyright © 1998-2009 Dilvan Moreira