Диаграммы классов являются центральным звеном объектно-ориентированных методов. Диаграмма классов определяет типы объектов системы и различного рода статические связи, которые существуют между ними. Имеются два основных вида статических связей:
• ассоциации (например, клиент может сделать заказ);
• подтипы (частный клиент является разновидностью клиента).
На диаграммах классов изображаются атрибуты классов, операции классов и ограничения, которые накладываются на связи между объектами.
Построение диаграмм классов можно рассматривать в различных аспектах:
• концептуальный аспект - диаграммы классов отображают понятия изучаемой предметной области (моделируемой организации). Эти понятия соответствуют реализующим их классам, однако такое прямое соответствие зачастую отсутствует. На самом деле концептуальная модель может иметь весьма слабое отношение или вообще не иметь никакого отношения к реализующему ее программному обеспечению, поэтому ее можно рассматривать как не зависимую от средств реализации (языка программирования);
• аспект спецификации - модель спускается на уровень ПО, но рассматриваются только интерфейсы, а не программная реализация классов (под интерфейсом здесь понимается набор операций класса, видимых извне);
• аспект реализации - модель действительно определяет реализацию классов ПО.