336 64 3MB
Russian Pages [24]
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
ÄÈÀÃÐÀÌÌÀ ÊÎÌÌÓÍÈÊÀÖÈÈ (communication diagram)
Диаграмма коммуникации используется для описания поведения системы как последовательности обмена сообщениями между элементами.
Основные сущности, используемые на диаграмме: роли (1, 2 и 3), которые играют взаимодействующие элементы и объекты (4, 5 и 6) – экземпляры конкретных классов. Отношения, соединяющие взаимодействующие элементы, называются связями (7). Если элемент связан сам с собой, то такая связь называется рефлексивной (8).
Сообщения, которыми обмениваются элементы, могут быть синхронными (9) или асинхронными (10), что отражается в нотации стрелочек. Для того чтобы задать порядок следования сообщений, используют десятичную нумерацию (11). Отправитель или получатель сообщения может находиться за пределами диаграммы коммуникации, и в этом случае используют входной (12) и выходной (13) шлюзы.
Сообщения
Отношения
Сущности
Нотация элементов диаграммы коммуникации
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÑÈÍÕÐÎÍÈÇÀÖÈÈ
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
(timing diagram)
Диаграмма синхронизации используется как дополнение к диаграммам автомата и последовательности и позволяет связать изменение состояний элементов c сообщениями, которыми элементы обмениваются, а также привязать эти события к временной шкале.
Для объекта, который описывает диаграмма синхронизации, указывается имя (1), тип (2), а также возможные состояния (3). Изменение состояния показывается либо ломаной линией (4), либо (если число состояний достаточно большое) используют альтернативную нотацию (5).
показывается в рамках своей линии жизни (6). Взаимодействие между объектами показывается с помощью посылки/приема сообщений (7). Если сообщения пересекают несколько линий жизни, то можно воспользоваться метками продолжения (8). Временная шкала (9) позволяет привязать линии жизни к определенным промежуткам времени, задаваемым засечками (10).
Если на одной диаграмме требуется показать несколько объектов, то каждый из них
Нотация элементов диаграммы синхронизации
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÎÁÇÎÐÍÀß ÄÈÀÃÐÀÌÌÀ ÂÇÀÈÌÎÄÅÉÑÒÂÈß (overview interaction diagram)
Обзорная диаграмма взаимодействия используется как дополнение к диаграмме деятельности, для того, чтобы связать последовательность выполняемых действий с взаимодействиями, описываемыми диаграммами последовательности. Поток управления на диаграмме показывается стандартным для диаграммы деятельности способом – через многочисленные узлы управления, в которые входят: начальный узел (1); развилка
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Узлы деятельности представляют собой либо ссылки на взаимодействия (8), либо вложенные диаграммы последовательности (9).
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
(2) и слияние (3); разветвление (4) и соединение (5); узел завершения потока (6) и заключительный узел (7).
Узлы деятельности
Узлы управления
Нотация элементов обзорной диаграммы взаимодействия
ÄÈÀÃÐÀÌÌÀ ÏÀÊÅÒÎÂ (package diagram)
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Диаграмма пакетов используется для структурирования самой модели.
импорта, которое существует в двух вариантах (10 и 11).
Основные сущности, используемые на диаграмме: пакеты (1 и 2); их частные случаи, имеющие специальную нотацию (3 и 4); пакеты, имеющие внутреннюю структуру, т.е. содержащие в себе другие пакеты и/или классы, которые показываются через отношение владения (5, 6 и 7). Для элементов пакета может быть указана видимость: открытая (8) или закрытая (9).
Если требуется включить в пакет только некоторые элементы другого пакета, то варианты отношения импорта (12 и 13) можно применить только к ним. Более сложное отношение слияния (14) позволяет из двух исходных пакетов получить третий, в котором будут содержаться не только сущности из исходных пакетов, но и отношения между этими сущностями.
Пакеты могут включать в себя элементы других пакетов, используя различные отношения между пакетами.
Включение всех элементов одного пакета в другой возможно с помощью отношения
Отношения между пакетами
Пакеты и их состав
Нотация элементов диаграммы пакетов
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÂÍÓÒÐÅÍÍÅÉ ÑÒÐÓÊÒÓÐÛ
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
(composite structure diagram) Диаграмма внутренней структуры используется для представления внутренней структуры классификатора и описания взаимосвязей составляющих его частей.
Части могут быть связаны со структурированным классификатором различными видами отношений. Нотация позволяет явно показать только отношение композиции (1), когда часть принадлежит только одному классификатору (2). Все другие (не композиционные) отношения показываются единообразно (3).
Другая важная сущность – порт. Порты являются точкой, через которую, посредством интерфейса, осуществляется взаимодействие со структурированным классификатором или его частью. Различают порт поведения (4 и 5), порт сервиса (6 и 7), сложный порт (8 и 9) и скрытый порт (10).
Части и порты связаны соединителями. Соединители внутренних частей называются сборочными соединителями (11 и 12), а соединители частей с портами называются делегирующими соединителями (13 и 14).
Порты
Отношения
Нотация элементов диаграммы внутренней структуры
Соединители
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÊÎÌÏÎÍÅÍÒÎÂ (component diagram)
Диаграмма компонентов используется для описания структуры моделируемой системы, но на более высоком уровне абстракции, чем диаграмма классов. Структурный аспект на диаграмме представлен сущностью компонент (1 и 2). Отношение между компонентом и классами, из которых он состоит, называется отношением реализации (3).
Поведенческий аспект на диаграмме описывается множеством обеспеченных (4 и 5) и требуемых (6 и 7) интерфейсов, которые относятся к компонентам.
Структура и поведение
Нотация элементов диаграммы компонентов
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÎÁÚÅÊÒÎÂ
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
(object diagram) Диаграмма объектов используется для описания структурных элементов (объектов) и отношений между ними в конкретный момент времени работы системы.
На диаграмме объектов присутствует только одна сущность - объект (1, 2 и 3), для которой при желании можно указать значения структурных составляющих (4), и только одно отношение – связь (5).
Сущность
Отношение
Нотация элементов диаграммы объектов
ÄÈÀÃÐÀÌÌÀ ÐÀÇÌÅÙÅÍÈß (deployment diagram)
Диаграмма размещения используется для описания структуры системы с точки зрения артефактов, размещенных на вычислительных узлах. Основные сущности, используемые на диаграмме: артефакты (1 и 2) и узлы (3, 4 и 5).
Размещение артефактов на узлах задается с помощью отношения размещения (6 и 7), которое может быть дополнено спецификацией развертывания (8 и 9). Узлы связы-
ваются между собой отношением, которое называется канал связи (10).
Если требуется показать, какие компоненты физически реализует тот или иной артефакт, то для этого применяется отношение манифестации (11).
Размещение артефактов и другие отношения
Сущности
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Нотация элементов диаграммы размещения
ÄÈÀÃÐÀÌÌÀ ÈÑÏÎËÜÇÎÂÀÍÈß
(use case diagram)
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
Диаграмма использования применяется для описания функциональных требований к системе. Основные сущности, применяемые на диаграмме использования: варианты использования (1 и 2), в том числе с указанием точек расширения (3 и 4); действующие лица (5 и 6) и субъект (7).
На диаграмме применяются следующие виды отношений: отношение обобщения между вариантами использования (8), отношение обобщения между действующими лицами (9), отношение ассоциации между действующими лицами и вариантами использования (10), а также отношения включения (11) и расширения (12) между вариантами использования. На диаграмме использования (как и на любой другой диаграмме) могут применяться комментарии: комментарии со стереотипами (13); комментарии, относящиеся к конкретному элементу (14); комментарии, относящиеся ко всей диаграмме в целом (15).
Комментарии
Отношения
Сущности
Нотация элементов диаграммы использования
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÀÂÒÎÌÀÒÀ (state machine diagram)
Диаграмма автомата используется для описания поведения как последовательности смены состояний.
из одного исходного состояния в одно целевое состояние. Переходы могут иметь сторожевые условия (13).
Если количество состояний велико, то можно рисовать диаграммы автомата с требуемой степенью детализации (см. «Диаграмму автомата с ссылочным состоянием» и «Диаграмму вложенного автомата»).
Специальными состояниями, разделяющими сегменты сегментированного перехода, могут быть: состояние выбора (17) и переходное состояние (18), а для составного перехода — развилка (15) и слияние (16).
Основными элементами диаграммы автомата являются состояния и переходы. Состояния бывают простыми (1, 2 и 3) и составными (4). Составное состояние делится в свою очередь на составное последовательное (5) и составное ортогональное (6).
Кроме названных, к специальным состояниям относятся: начальное (14), поверхностное (19) и глубинное (20) исторические состояния, состояние прекращения выполнения (21) и заключительное состояние (22).
Переходы бывают простые, сегментированные (7 и 8) и составные (9 и 10). Простые переходы осуществляются по событию (11) или по завершении (12) и всегда ведут
Дополнительные удобства представляют точки входа (23 и 24) и точки выхода (25 и 26), которые применяются на составных и ссылочных состояниях (27).
Переходы
Состояния
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
Специальные состояния
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Нотация элементов диаграммы автомата
Специальные состояния (продолжение)
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Существует особая форма диаграммы автомата — диаграмма протокольного автомата, в котором переходы по событию (28) могут включать пред- и постусловия, но не содержат действий, а состояния могут содержать инвариант (29).
Нотация элементов диаграммы протокольного автомата
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÊËÀÑÑÎÂ
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
(class diagram)
Диаграмма классов используется для описания структуры классов моделируемой системы.
Основная сущность, применяемая на диаграмме, — класс (1 и 2), который может быть показан с разным уровнем детализации (3). Отдельно можно показать, что класс является активным (4).
Другие сущности, используемые на диаграмме — интерфейсы (5 и 6), перечисления (7), типы данных (8) и, если это требуется, то объекты — экземпляры классификаторов (9, 10 и 11). Среди отношений, которые возможны между сущностями диаграммы классов, особое место занимает ассоциация (12) и ее частные случаи: агрегация (13), композиция (14) и класс-ассоциация (15).
Ассоциация может быть многополюсной (16). Ассоциация имеет множество дополнений. А именно: имя и направление чтения имени (17), роль полюса ассоциации и тип
роли (18), направление навигации (19 и 20), кратность полюса (21). К полюсу ассоциации может быть прикреплен квалификатор (22).
Также на диаграмме классов используются отношения обобщения (23), зависимости (24), использования (25) и реализации (26). Если требуется, то можно показать структурное отношение владения (27), указывающее, из каких вложенных классов (28) состоит данный. Помимо этого с классом и его составляющими может быть связано множество разнообразных ограничений (29-33).
Ассоциации
Сущности
Классы
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru) Нотация элементов диаграммы классов
Ограничения
Отношения
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÄÅßÒÅËÜÍÎÑÒÈ
(activity diagram)
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Диаграмма деятельности используется для описания поведения как последовательности действий.
Основная сущность, применяемая на диаграмме, — действие (1) и ее частный случай — деятельность (2), или если точнее — вызов деятельности (3). Особыми видами действий, имеющими собственную нотацию, являются действия по отправке (4) и получению (5) сигнала, а также действие получения сигнала от таймера (6).
На диаграмме деятельности могут быть показаны потоки управления (7) и потоки данных (8). Собственную нотацию имеет поток, показывающий место обработки исключений (9 и 10). Если дуга, представляющая поток, достаточно длинная, и ее неудобно изображать на диаграмме полностью, то она может быть разбита на части с помощью соединителей (11 и 12).
Поток управления определяется узлами управления, к которым относятся: начальный узел (13), развилка управления (14), слияние управления (15), комбинированное слияние и развилка (16), разветвление управления (17), соединение управления (18), комбинированное соединение и разветвление управления (19), завершение потока (20), заключительный узел (21).
Потоки данных соединяются с действием в точке, называемой контактом. Существуют различные виды контактов: входные контакты (22 и 23), конвейерные контакты (24), выходные контакты (25 и 26), контакты с исключением (27), контакт — параметр деятельности (28). Передаваемые по потокам данных элементы в основном являются объектами в состоянии (29), для хранения которых используются хранилища данных (30). Путь, по которому объект проходит от одного действия к
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru) Особое место на диаграмме деятельности занимают элементы, объединяющие в себе несколько узлов. Такие элементы называются областями. Существует несколько видов областей: область разложения (37), которая соединяется с другими действиями через узлы разложения (38); область прерывания (39) и разбиение (40).
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
другому, называется траекторией объекта (31-34). Возможны ситуации, когда, проходя от одного действия к другому, объект может изменить свой тип (35). В случае передачи объекта, приходящего по одной из входящих дуг, в произвольную исходящую дугу, применяется центральный буфер (36).
Узлы управления
Потоки
Действия и деятельности
Нотация элементов диаграммы деятельности
Области
Данные
Контакты
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÄÈÀÃÐÀÌÌÀ ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÑÒÈ
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
(sequence diagram)
Диаграмма последовательности используется для описания поведения системы как последовательности обмена сообщениями между элементами.
Основные сущности, используемые на диаграмме: роли (1, 2 и 3), которые играют взаимодействующие элементы и объекты — экземпляры конкретных классификаторов (4, 5 и 6). Каждая сущность имеет свою линию жизни (7), на которой может быть показан отрезок времени, в течение которого данная сущность владеет потоком управления, т.е. имеет место активация (8). С помощью вложенной активации (9) удобно показать вызовы объектом своих собственных методов.
На линии жизни можно показывать последовательность изменения состояния объекта. Для этого используются инварианты состояния (10 и 11). Кроме того, на линии жизни можно показать вхождение события (12 и 13), например отправку или прием сообщения, и область параллельного выполнения (14), в которой порядок отправки и приема сообщений не определен. Если порядок вхождения событий важен, то можно использовать явное упорядочивание (15). Основная задача диаграммы — показать взаимодействия между элементами. Взаи-
модействия бывают следующих типов: синхронный вызов (16) и синхронный вызов с возвратом результата (17), а также асинхронный вызов (18). Как частные случаи со своей нотацией можно рассматривать: рефлексивный вызов (19), создание (20) и уничтожение объекта (21). Используя вхождения событий (12 и 13), можно показать задержанную доставку сообщения (22 и 23) и наложить ограничения (24, 25 и 26) на длительность интервалов времени между событиями. Отправитель или получатель сообщения может находиться за пределами диаграммы последовательности, и в этом случае используют входной (27) и выходной (28) шлюзы. Если отправитель или получатель сообщения не важны в данном контексте, то используют найденные (29) и потерянные сообщения (30) соответственно.
Для декомпозиции сложных взаимодействий можно использовать ссылки на взаимодействия (31).
Если во взаимодействии присутствует алгоритмическая составляющая, то ее удобно описывать через многочисленные составные шаги взаимодействия (32) и метки продолжения (33).
Линия жизни
Сущности
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Нотация элементов диаграммы последовательности
Линия жизни (продолжение)
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u Взаимодействия
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
Взаимодействия (продолжение)
В U се M о L В на м U се M о w од w ел L w и на м .u р о w д m ов w ел lm а w и an ни .u р m ов ua и lm а н l . ru а an ни ua и l.r на u
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru)
ÐÅÄÊÎ ÈÑÏÎËÜÇÓÅÌÛÅ ÝËÅÌÅÍÒÛ Обобщения. Нотация элементов
Во всех контекстах, где допустимо использование обобщений, в множестве обобщений можно выделить подмножества (1 и 2) и задать для них возможные значения. Отношение ассоциации обладает свойствами классификатора, а потому может участвовать в обобщении (3). Отношение замещения (4) подразумевает возможность подстановки зависимого элемента вместо независимого, т.е. является своего рода обобщением.
Кооперация. Нотация элементов
Кооперация (1 и 2) применяется в различных контекстах. Изображение ее внутренней структуры подобно внутренней структуре классификатора, там также применяются соединители (3). При использовании кооперации (4) требуется указать, с какими конкретными элементами связаны роли кооперации.
нотация UML (взята из книги «Моделирование на UML» www.umlmanual.ru) Потоки. Нотация элементов элементы информации являются носителями данных из реальных элементов системы, что показывается через отношение представления (5).
В се В U M о U се M о L L на м на м од w w од w ел w ел w и .u р w и .u р m ов m ов lm а lm а ни a nu и an ни al н ua и .r а l.r на u u
Для описания потоков данных на верхнем уровне абстракции используют элементы информации (1 и 2), которые следуют по информационным потокам (3 и 4). Сами
Шаблоны. Нотация элементов
Любой класс, кооперация, операция или пакет может иметь параметры. В случае классов и коопераций параметры задаются, соответственно, в шаблоне класса (1) и шаблоне кооперации (2).
параметров, то есть выполнить связывание шаблона. Связывание бывает явным (3) и не явным. Но в любом случае результатом является появление инстанцированного класса (4 и 5).
Чтобы использовать, например, шаблон класса, в него нужно подставить значения
Все то же самое верно относительно коопераций (6).
Отношение абстрагирования. Нотация элементов
Для управления сложными моделями используются отношения, которые задают не модель отношения между моделируемыми элементами, а отношение между элементами модели. К таким отношениям относят прежде всего отношение абстрагирования (1),
а также его стереотипы: прослеживание (2), выводимость (3) и уточнение (4).