ABSTRACT

Having examined “design” in general, we now move on to the specifics of software design. To put the phrase software design in its proper perspective, we need to examine its existing definitions given by institutions like the IEEE and SEI. It is necessary to comprehensively define software design so it can be properly understood and implemented. The present scenario for software design as prevalent in the software development industry is to group it with coding activity or treat it as part of screen design. There are exceptions, but the fact remains that we are not giving adequate importance to software design activity. Since software products are not as tangible as other physical products, we need to take a closer look at the software product and understand it so we can design a robust software product. The activity of software design builds using its elements, and we need to understand them. Any errors that lurk in the design have the ability to multiply errors and cause serious faults in the resulting product, so we need to validate the design. All these aspects are discussed in detail in this chapter in addition to providing a comprehensive definition for the phrase software design.