The class diagram technique has become truly central within object-oriented methods. Virtually every method has included some variation on this technique.
The class diagram is not only widely used, but also subject to the greatest range of modeling concepts. Although the basic elements are needed by everyone, the advanced concepts are used less often. Therefore, I've broken my discussion of class diagrams into two parts: the essentials (this chapter) and the advanced (see Chapter 6).
A class diagram describes the types of objects in the system and the various kinds of static relationships that exist among them. There are two principal kinds of static relationships:
associations (for example, a customer may rent a number of videos)
subtypes (a nurse is a kind of person)
Class diagrams also show the attributes and operations of a class and the constraints that apply to the way objects are connected.
Figure 4-1 shows a typical class diagram.