Software Design Methodology

Let s start with an example. Assume that our design task is to design a chair. Consider the chairs depicted in Figure 8.1.
Each chair in the figure is an object in the domain that our design task is concerned with. Each real object that existed in the past, exists presently or will exist in the future is called an entity. Each entity provides some functionality that the design task is concerned with. For example, each chair can provide the functionality of a seat. That is, it prevents a downward movement of the body when a person sits on the object. In addition to this, some of the chairs also provide other functionalities that are also relevant to the design task. For example, some chairs may support the back, i.e. support an upright posture. It may also revolve and constrain the back. These chairs may also have a number of properties. For example, they may be movable, easy to manufacture and aesthetic, etc. These functionalities and properties are called functional properties because they display the behaviours of the object when the entity is subjected to a situation. Functional properties play an important role in understanding a design domain. They explicitly describe what the design domain is concerned with in terms of the functional properties that can be realised. Table 8.1 lists a number of functional properties of the chairs given in Figure...