MSc-IT Study Material
January 2011 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |

Chapter 7. Design

Table of Contents

Objectives
Introduction
Abstraction
Architecture
Patterns
Modularity
Information hiding
Functional independence
Stepwise refinement
Refactoring
Design classes
Review
Questions
Answers

Objectives

At the end of this chapter you will have acquired practical and theoretical knowledge and skills about modern software design. After successfully completing this module you should be able to:

  • Describe the importance of abstraction and information hiding.

  • Describe how abstraction and information hiding are used to handle changes in the software, and in testing the software.

  • Show how information hiding and abstraction relates to the software's architecture.

  • Define what a design pattern is.

  • Give examples of various design classes.