MSc-IT Study Material
January 2011 Edition

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

Chapter 5. Object-oriented Analysis and Design

Table of Contents

Objectives
Introduction
Modelling standpoints
Classes and objects
Classification
Classification in object-oriented design
A definition of class and object
Examples of classes
Some thoughts on the relationship between classes and objects
Concrete and conceptual classes
Attributes
Operations
Dynamic behaviour and state
UML notation and conventions
Symbol
Naming conventions
Finding classes
Relationships between classes
Specifying relationships in detail
Inheritance
Abstract classes
Aggregation and composition
Aggregation
Composition
Self-association and roles
Link classes and link attributes
Constraints and notes
Notes
Constraints
Class-Responsibility-Collaborator cards
From model to program
Dynamic behaviour
Interaction diagrams
Summary
Review
Questions
Answers

Objectives

At the end of this chapter you should be able to:

  • Create class models of systems that can be encapsulated in one diagram.

  • Simplify a model using generalisation and abstract classes.

  • Describe how a more complex model can be specified, and how modelling software maintains design integrity in such a complex system.

  • Read and describe class models created by other designers.

  • Be able to relate class diagrams to equivalent program outlines.

  • Specify an object model using CRC cards.

  • Describe how objects change over time.