Сущности на диаграмме классов
Диаграмма классов является основным средством моделирования структуры в UML, а класс, соответственно, основной структурной единицей. Это совсем не удивительно и вполне естественно, поскольку UML является в большой степени объектно-ориентированным языком. Диаграммы классов наиболее информационно насыщены по сравнению с другими типами канонических диаграмм UML, инструменты генерируют код в основном по описанию классов, структура классов точнее всего соответствует окончательной структуре кода приложения.
На диаграммах классов в качестве сущностей применяются, прежде всего, классы, как в своей наиболее общей форме, так и в форме многочисленных стереотипов и частных случаев: интерфейсы, типы данных, активные классы и др. Кроме того, на диаграмме классов могут использоваться (как и везде) пакеты и комментарии.
В этом разделе мы рассматриваем сущности, используемые на диаграммах классов, а в следующем разделе ‒ отношения между этими сущностями.
Итак, теперь надо перейти к понятию типа на диаграмме классов.
Чтение схем классов
Понятие типа класса – это класс, интерфейс или перечисление (Соглашение для Visual Studio – а в стандартном UML ???).
Можно ввести также «Классификатора»!
Рис.1
Расшифровка (определение) элементов диаграммы классов на рис.1
Фигура | Элемент | Описание |
Класс | Определение объектов, совместно обладающих заданными характеристиками структуры или поведения. Дополнительные сведения см. в разделе Свойства типов на схемах классов UML. | |
Классификатор | Общее имя для класса, интерфейса или перечисления. Компоненты, варианты использования и субъекты также являются классификаторами. | |
Элемент управления "Свернуть/развернуть" | Если сведения о классификаторе не отображаются, щелкните элемент развертывания в верхней левой части классификатора каждого сегмента. | |
attribute | Типизированное значение, прикрепленное к каждому экземпляру классификатора. Чтобы добавить атрибут, щелкните раздел Атрибуты, а затем нажмите клавишу ВВОД. Введите сигнатуру атрибута. Дополнительные сведения см. в разделе Свойства атрибутов на схемах классов UML. | |
Операция | Метод или функция, которые могут выполняться экземплярами классификатора. Чтобы добавить операцию, щелкните раздел Операции, а затем нажмите клавишу ВВОД. Введите сигнатуру операции. Дополнительные сведения см. в разделе Свойства операций на схемах классов UML. | |
Ассоциация | Отношение между членами двух классификаторов. Дополнительные сведения см. в разделе Свойства ассоциаций на схемах классов UML. | |
5а | Статистическая обработка | Ассоциация, представляющая отношение совместного владения. Свойство Агрегирование роли владельца имеет значение Общее. |
5б | Композиция | Ассоциация, представляющая отношение целого и части. Свойство Агрегирование роли владельца имеет значение Составное. |
Имя ассоциации | Имя ассоциации. Имя можно оставить пустым. | |
Имя роли | Имя роли, представляющей один конец ассоциации. Может использоваться для ссылки на связанный объект. предыдущем примере для любого заказа OO. ChosenMenu является связанным меню. Каждая роль имеет свои собственные свойства, перечисленные в свойствах ассоциации. | |
Кратность | Указывает, сколько объектов на этом конце могут быть связаны с каждым объектом на другом конце. В примере каждый заказ должен быть связан только с одним меню. * означает, что верхний предел по числу возможных ссылок отсутствует. | |
Обобщение | Специальный классификатор наследует часть своего определения от общего классификатора. Общий классификатор находится на той стороне соединителя, где изображен наконечник стрелки Атрибуты, ассоциации и операции наследуются специальным классификатором. Используйте средство Наследование, чтобы создать обобщение между двумя классификаторами. |