Графическая нотация UML

Рис. 9-4. Разветвление перехода

а) б)

Рис. 9-5. а) условное обозначение процесса;

б) верхний уровень описания автоматики лифта

Язык SDL используется в основном как язык спецификаций, хотя возможны и существуют трансляторы с текстовой нотации языка на инструментальный язык программирования.

Унифицированный язык моделирования UML

UML (Unified Modeling Language) предназначен для спецификации, визуализации, проектирования и документирования отчуждаемых материалов существенно программных систем. Он существует и развивается с 1995 г., будучи создан как объединение трех объектно-ориентированных технологий: Booch, OMT и OOSE. Его стандартизацией, распространением и программной поддержкой занимается фирма Rational, основной продукт которой - Rational Rose. Хотя UML является строго определенным языком, он не ставит барьеров на пути развития средств моделирования: он может быть расширен без переопределения своего ядра. Предполагается использовать UML как основы для создания средств визуального моделирования. Многие компании, включая Microsoft, заявили о поддержке UML. В пакетах Visio и MS Visual Studio содержатся средства редактирования диаграмм UML.

Определение UML является самодостаточным и включает в себя следующие документы: Семантика, Нотация, Спецификации языка OCL (Object Constraint Language) и Расширение UML. Ниже следует обзор нотации UML.

Три вида строительных блоков: сущности, отношения и диаграммы. Сущности – это абстракции, являющиеся основными элементами модели. Отношения связывают различные сущности; диаграммы группируют представляющие интерес совокупности сущностей.

Таблица 9-1

Cущности Отношения Диаграммы…
Структурные (имена существительные) – классы, интерфейсы, кооперации, прецеденты, активные классы, компоненты, узлы. Поведенческие (глаголы, описывают поведение модели во времени и пространстве) – взаимодействия, автоматы. Группирующие (организующая часть модели) – пакеты. Аннотационные (комментарии) – примечания. Зависимость (отношение ис-пользования, согласно которо-му изменение в спецификации одного элемента может повли-ять на другой элемент, его использующий); Ассоциация (структурное отношение, описывающее совокупность связей; например, целое – часть); Обобщение (отношение “специализация-обобщение”; так потомок наследует свойства своего родителя); Реализация (семантическое от-ношение между классификато-рами; например, “интерфейс-класс”). классов; объектов; прецедентов; последовательостей; кооперации; состояний; действий; компонентов; развёртывания; Диаграмма – это подмножетво всех комбинаций сущностей и отношений.

Для проектирования используются диаграммы следующих видов:

· use case – прецедентов использования

· class – классов

· behavior – поведения:

o statechart – состояний

o activity – деятельности

o interaction – взаимодействия:

Ø sequence – следования

Ø collaboration – совместной работы, кооперации

· implementation – реализации:

o component – компонентов (конфигурации)

o deployment – распределения (размещения процессов на процессорах)

Вопрос 2.

Диаграммы классов

Класс (Class) – это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Класс изображается прямоугольником с тремя разделами, в которых соответственно помещаются имя класса, атрибуты и операции. У объектов (экземпляров класса) к имени класса добавляется имя объекта и вся надпись подчеркивается. Например, класс Shape:

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

Рис 9-6. Изображение отношений между классами: ассоциации, зависимости и обобщения (наследования)

Агрегирование (Aggregation) – это особый тип отношения ассоциации, когда его можно рассматривать как отношение «часть-целое». Пример приведён на рис. 9-7, где объект класса Institute может состоять из произвольного количества объектов класса Faculty. Очевидно, что такая диаграмма близка к логической схеме данных типа ER.

Рис 9-7. Пример изображения отношений агрегирования между классами


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: