O'Reilly logo

Software Engineering: Principles and Practice by Hans van Vliet

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 12. Software Design

LEARNING OBJECTIVES

  • To be able to discern desirable properties of a software design

  • To understand different notions of complexity, at both the component and system level

  • To be aware of some object-oriented metrics

  • To be aware of some widely known classical design methods

  • To understand the general flavor of object-oriented analysis and design methods

  • To be aware of a global classification scheme for design methods

  • To understand the role of design patterns and be able to illustrate their properties

  • To be aware of guidelines for the design documentation

Note

Software design concerns the decomposition of a system into its constituent parts. A good design is the key to the successful implementation and evolution of a system. A number of guiding principles for this decomposition help to achieve quality designs. These guiding principles underlie the main design methods discussed in this chapter. Unlike more classical design fields, there is no visual link between the design representation of a software system and the ultimate product. This complicates the communication of design knowledge and raises the importance of proper design representations.

During software development, we should adhere to a planned approach. If we want to travel from point A to point B, we will (probably) consult a map first. According to some criterion, we will then plan our route. The time-loss caused by the planning activity is bound to outweigh the misery that occurs if we do not plan our trip ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required