ABSTRACT

This chapter identifies the tools and methods for actually improving the reliability of the software during the design and coding phases of the product life cycle. It discusses a few of the many techniques that may be used to develop more reliable, maintainable, and testable software. Employment of structured design techniques may increase modularity and cohesiveness, which is directly related to maintainability, testability, and reliability. Reusability is directly dependent on structured and modular design. For a software module to be reusable it should perform only one function completely. The chapter suggests that functional complexity take precedence over structural complexity. If a decision must be made between structural and functional complexity, then cohesiveness and a functional complexity of exactly one be preserved. It must be remembered, however, that in many cases a module with high structural complexity indicates a module with a functional complexity greater than one.