Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диаграммы классов UML MSDN.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
544.77 Кб
Скачать

Свойства ассоциаций на схемах классов uml

На UML-схеме классов можно создавать ассоциации между любой парой типов. Тип — это класс, интерфейс или перечисление.

Ассоциация показывает, что разрабатываемая система содержит определенные связи между экземплярами связанных типов. Как правило, ассоциация не сообщает никаких сведений о реализации связей. Например, это могут быть указатели, строки в таблице, имена в XML, на которые даются перекрестные ссылки, и т. д.

Ассоциация — это схематический метод отображения атрибута или пары атрибутов. Например, если у класса "Ресторан" есть атрибут типа "Меню", это также можно показать, создав ассоциацию между элементами "Ресторан" и "Меню".

Чтобы создать ассоциацию, щелкните элемент Ассоциация на панели элементов, а затем последовательно выберите первый и второй тип. Чтобы показать, что экземпляры одного типа могут быть связаны между собой, можно щелкнуть один и тот же тип дважды.

Рассмотрим свойства ассоциации на UML-схеме классов.

Чтобы просмотреть свойства ассоциации, щелкните ассоциацию правой кнопкой мыши и выберите пункт Свойства. Свойства отобразятся в одноименном окне.

Некоторые свойства также отображаются на схеме, как показано на следующем рисунке:

Использование диаграммы классов для описания требований

Бизнес-правило — это требование, не связанное с определенным вариантом использования, которое необходимо соблюдать во всех частях системы.

Многие бизнес-правила представляют собой ограничения отношений между концептуальными классами.  

Эти статические бизнес-правила можно записать в виде комментариев, связанных с соответствующими классами на концептуальной схеме классов.  

 Например : 

Динамические бизнес-правила ограничивают допустимые последовательности событий.  Например, схему последовательностей или схему деятельности можно использовать, чтобы показать, что прежде чем совершать другие операции в системе, пользователь должен выполнить вход.  

Однако многие динамические правила можно сформулировать более эффективно и в более общем виде, заменив их статическими правилами.  Например, в класс в концептуальной модели классов можно добавить логический атрибут "Вход выполнен".  

Тогда атрибут "Вход выполнен" будет добавляться в качестве постусловия варианта использования "вход в систему" и предусловия большинства других вариантов использования.  Благодаря этому подходу можно не определять все возможные комбинации последовательностей событий.  Кроме того, этот подход является более гибким при необходимости добавить в модель новые варианты использования.  

Обратите внимание, что в данном случае речь идет о выборе способа определения требований, который не зависит от способа реализации требований в программном коде.

Отношение к другим схемам

UML-схема классов, как правило, создается одновременно с другими схемами моделирования, чтобы предоставить описания используемых типов. В каждом случае физическое представление типов не подразумевается ни одной из схем.

Если создана

используйте UML-схему классов, чтобы описать следующее.

схема активности

тип данных, передаваемых через узел объекта.

типы закреплений ввода и вывода и узлы параметров действий.

См. раздел UML-схемы деятельности: рекомендации.

Схема последовательностей

типы параметров и возвращаемые значения сообщений.

типы линий жизни. Класс линии жизни должен включать операции для всех сообщений, которые он может получить.

См. раздел UML-схемы последовательностей: правила работы.

схема компонентов

интерфейсы компонента с перечислением их операций.

См. раздел UML-схемы компонентов: правила работы.

Схема вариантов использования

типы, упомянутые в описаниях целей и шагов варианта использования.

См. раздел UML-схемы вариантов использования: правила работы.

Основные этапы создания схем классов

  1. Чтобы создать тип, выберите инструмент КлассИнтерфейс или Перечисление на панели элементов, затем щелкните пустую область схемы. (Если панель элементов не отображается, нажмите клавиши CTRL+ALT+X.)

  2. Чтобы добавить атрибуты или операции в типы, а литералы — в перечисление, щелкните заголовок АтрибутыОперации или Литералы в типе и нажмите клавишу ВВОД.

Можно создать сигнатуру, например f(x:Boolean):Integer.Дополнительные сведения см. разделе Атрибуты и операции.

Чтобы быстро добавить несколько элементов, дважды нажмите ВВОД в конце каждого элемента. Чтобы переместиться вверх или вниз по списку элементов, можно воспользоваться клавишами со стрелками.

  1. Чтобы развернуть или свернуть тип, щелкните значок шеврона в левой верхней части типа. Также можно развернуть и свернуть разделы Атрибуты и Операции в классе или интерфейсе.

  2. Чтобы создать связи ассоциаций, наследования или зависимостей между типами, щелкните соответствующий инструмент, выберите тип источника и укажите тип целевого объекта.

  3. Чтобы создать типы в пакете, создайте пакет с использованием инструмента Пакет, затем создайте новые типы и пакеты внутри этого пакета. Чтобы скопировать типы и вставить их в пакет также можно использовать команду копирования.

  4. Каждая схема — это представление на модели, которое совместно используется другими схемами того же проекта. Чтобы открыть всю модель в представлении дерева, последовательно щелкните ВидДругие окна и Обозреватель моделей UML.

Использование классов, интерфейсов и перечислений

Существует три стандартных вида классификаторов, которые доступны на панели элементов. В этом документе их называют типы.

  • В большинстве случаев для представления данных или типов объекта можно использовать Классы (1).

  • Используйте Интерфейсы (2) в контексте, где необходимо различать чистые интерфейсы и конкретные классы, имеющие внутренние реализации. Различать эти сущности полезно при работе со схемами, целью которых является описание реализации программы. При моделировании пассивных данных или определении концептов для описания пользовательских требований это менее эффективно.

  • Используйте Перечисление (3), чтобы представить тип, имеющий ограниченное число значений литералов, например, Stop и Go.

    • Добавление значений литералов в перечисление. Дайте каждому отдельное имя.

    • При желании каждому значению литерала также можно присвоить численное значение. Откройте контекстное меню литерала в перечислении, щелкните Свойства и введите число в поле Значение в окне Свойства.

Дайте каждому типу уникальное имя.