V22.0470 Assignment 3 Possible Guide

Written By Haytham Allos

Fall, 2002

Conceptual modelling

Keep in mind that conceptual modelling is aimed for modelling for understanding, not modelling for implementation.

Identify Objects and Classes

The first step in constructing a class diagram is to identify the relevant classes from the requirements or application domain. Objects include physical entities, such as houses, employees, and machines, as well as concepts, such as seating assignments and payment schedules. Classes often correspond to nouns. An approach is in a first step to search the nouns in the text and to write them down. Donít be too selective. Donít worry much about inheritance or high-level classes; first get specific classes right. An examination of the nouns in the ATM problem statement yields the following classes:


A second step is to discard unnecessary and incorrect classes. This can be done using the following criteria:


Identify Associations

Any dependency between two or more classes is an association. Associations can be implemented in various ways, but such implementation decisions should be kept out of the conceptual and specification model.

Associations often correspond to static verbs or verb phrases. These include physical location, directed actions, communication, ownership, or satisfaction of some condition. Extract all the candidates from the problem statement and get them down on paper. Discard unnecessary and incorrect associations, using the following criteria:


Identify attributes

Attributes are properties of individual objects, such as name, weight, and colour. Attributes of associations should also be identified. They give rise to the existence of association classes.


Refining with inheritance

The next step is to organize classes using inheritance to share common structures. Inheritance can be added in two directions: by generalization of some aspects of existing classes into a superclass (bottom up) or by refining existing classes into specialized subclasses (top down).


Attributes and associations must be assigned to specific classes in the class hierarchy. Each one should be assigned to the most general class for which it is appropriate. Some adjustments may be needed to get everything right.