Ticket Selling System

This class diagram example shows several important classes, such as Customer, Reservation, Ticket, and Performance:

Customers may have many reservations, but each reservation is made by one customer.

Reservations are of two kinds: subscription series and individual reservations.

Both reserve tickets: in one case, only one ticket; in the other case, several tickets. Every ticket is part of a subscription series or an individual reservation, but not both.

Every performance has many tickets available, each with a unique seat number. A performance can be identiﬁed by a show, date, and time.

Classes can be described at various levels of precision and concreteness. In the early stages of design, the model captures the more logical aspects of the problem. In the later stages, the model also captures design decisions and implementation details. Most of the views have a similar evolutionary quality.