Определение. Диаграммы классов (class diagram) показывают набор классов, интерфейсов и коопераций, а также их связи. Диаграммы этого вида чаще всего используются для моделирования объектно-ориентированных систем. Предназначены для статического представления системы. Диаграммы классов, включающие активные классы, представляют статическое представление процессов системы. Диаграммы компонентов – это разновидность диаграмм классов.
Базовые понятия. Диаграмма классов – это диаграмма, которая показывает набор классов, интерфейсов и коопераций и их связи. Графически представляет собой набор вершин и связывающих их дуг.
Содержимое. На диаграммах классов обычно представлены следующие элементы:
Как и другие диаграммы, они могут содержать примечания и ограничения. Также могут включать в себя пакеты или подсистемы; те и другие группируют элементы модели в более крупные образования. Иногда в диаграмму классов требуется добавить экземпляры, особенно если вы хотите визуализировать тип экземпляра (возможно, динамический). Более подробно будут рассмотрены в разделе типичные приемы моделирования.
Стандартное использование. Диаграммы классов используются для моделирования статического представления системы. Это представление, прежде всего, поддерживает ее функциональные требования, то есть описывает услуги, которые система должна предоставлять ее конечным пользователям. Прорабатывая статическое представление системы, диаграммы классов применяют с одной из трех целей:
1. Для моделирования словаря системы. Моделирование словаря системы предполагает решение вопроса о том, какие абстракции станут предметом внимания системы, а какие выходят за ее границы. Диаграммы классов разрабатываются, чтобы специфицировать эти абстракции и их предназначение.
2. Для моделирования простых коопераций. Кооперация – это сообщество классов, интерфейсов и других элементов, которые работают в совокупности для формирования некоторого совместного поведения, которое не может быть обеспечено всеми этими элементами, взятыми в отдельности. Например, когда вы моделируете семантику транзакции в распределенной системе, то, глядя на отдельный класс, не сможете понять, что происходит. Эта семантика обеспечивается набором классов, работающих вместе. Диаграмма классов позволит визуализировать и специфицировать такой набор классов и их связей.
3. Для моделирования логической схемы базы данных. Схему в данном контексте можно рассматривать как проект концептуального дизайна базы данных. Во многих приложениях требуется сохранять информацию в реляционной или объектно-ориентированной базе данных. Их схемы удобно моделировать при помощи диаграмм классов.
Более подробно диаграммы классов будут разобраны в следующем разделе нашего курса.