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