ABSTRACT

Design predates software and software design. A significant amount of knowledge has been compiled on the subject of design. Before we embark on an exposition of software design, we need to understand the existing knowledge in this field. The Industrial Designers Society of the United States has provided a definition for the term “design.” We need to define and understand what constitutes a product, as the very purpose of our design is to build a product. Then, we have a variety of design perspectives and objectives to be achieved. Further, we have different design scenarios in which we need to carry out our design work. The design activity can be a full life cycle or a part life cycle design. In more cases than less, we carry out design against a project. Finally, we need to understand what we need to do as part of design work and what we do not do as part of design work. All these aspects are discussed in detail in this chapter.