Software Design Methodology

This chapter addresses the question of what constitute a good design. As discussed in Chapter 1, a design is essentially a plan to bring about a man-made artefact. Therefore, there are two facets of the quality of a design. The first is the quality related to the product it brings about. The second is the quality related to the process of bringing about the product. Of course, these two facets are closely related. The objectives of the chapter are:
To understand the quality of software systems;
To understand how design affects software quality;
To understand the quality attributes of software design.
The chapter is organised as follows. In section 2.1, we first briefly review the theories about software quality. In section 2.2, we discuss the impact of design on software quality. In section 2.3, we discuss the quality attributes of software design.
Quality is one of the most elusive concepts that one may have. Different people may have different views on what is quality and how to measure the quality of a product or service. Even the same people may have different views on quality from time to time. According to the general theory of quality management, the complex and multifaceted concept can be described from five different views [1]. The transcendental view sees quality as something that can be recognised but not defined. It is the excellence of the product or service. From a user s point of view, quality...