MSc-IT Study Material
January 2011 Edition

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

Introduction

This chapter discusses object-oriented modelling methods, that is, the representation of a software system in terms of classes and their inter-relationships. Class modelling is the most fundamental aspect of object-oriented analysis and design, and its mastery is crucial for anyone who intends to use object-oriented techniques. Class modelling is useful to both the analysis and design disciplines: in analysis, classes and the relationships between them will specify the problem. In design, it specifies the software.

Class modelling is philosophically complex, but practically straightforward. However, it rests on a few important philosophical concepts, and it is vital that these concepts are mastered before doing any practical work. When students fail to make progress with real design exercises, it is commonly because they have not developed a proper understanding of the basic principles. These principles cannot be learned by rote, they must be understood through exercise and application.

Class modelling is used throughout object-oriented development, from analysis through to implementation and testing. The class model is the skeleton on which the flesh of program code is constructed. During the development of a system the class model is modified and refined, and often several different models will be used for the same software system, each model seeing the system form a different standpoint, as will be discussed further below.