На этом шаге рассмотрим сущности, как один из элементов концептуальной модели UML.
Строительные блоки UML
Словарь UML включает три вида строительных блоков:
Есть четыре вида сущностей UML:
Рис.1. Классы
Рис.2. Интерфейсы
Рис.3. Кооперации
Рис.4. Варианты использования
Рис.5. Активные классы
Рис.6. Компоненты
Оставшиеся два элемента – артефакты и узлы – также различаются. Они представляют собой физические сущности, в отличие от предыдущих пяти, относящихся к сущностям логическим или концептуальным).
Рис.7. Артефакты
Рис.8. Узлы
Существуют также различные вариации: действующие лица (actors), (разновидность классов), процессы и потоки (разновидности активных классов), приложения, документы, файлы, библиотеки, страницы и таблицы (разновидности артефактов).
Первый из них – взаимодействие (interaction) – представляет собой поведение, которое заключается в обмене сообщениями между наборами объектов или ролей в определенном контексте для достижения некоторой цели. Взаимодействие включает множество других элементов – таких как сообщения, действия (actions) и коннекторы (соединения между объектами). Сообщение изображается в виде линии со стрелкой, почти всегда сопровождаемой именем операции (рис. 9).
Рис.9. Сообщения
Вторая из поведенческих сущностей – автомат (state machine) – представляет собой поведение, характеризуемое последовательностью состояний объекта, в которых он оказывается на протяжении своего жизненного цикла в ответ на события, вместе с его реакцией на эти события. Поведение индивидуального класса или кооперации классов может быть описано в терминах автомата. Автомат включает в себя множество других элементов: состояния, переходы (из одного состояния в другое), события (сущности, которые инициируют переходы), а также действия (реакции на переходы). Графически состояние представлено прямоугольником с закругленными углами, обычно с указанием имени и подсостояний, если таковые есть (рис. 10).
Рис.10. Состояния
Третья из поведенческих сущностей – деятельность (activity) – специфицирует последовательность шагов процесса вычислений. Во взаимодействии внимание сосредоточено на наборе взаимодействующих объектов, в автомате – на жизненном цикле одного объекта; для деятельности же в центре внимания – последовательность шагов безотносительно к объектам, выполняющим каждый шаг. Отдельный шаг деятельности называется действием (action). Изображается оно в виде прямоугольника с закругленными углами, включающего имя, которое отражает его назначение. Состояния и действия различаются по контекстам.
Рис.11. Действия
Эти три элемента – взаимодействия, автоматы и деятельности – представляют собой базовые поведенческие сущности, которые вы можете включить в UML-модель. Семантически эти элементы обычно связаны с различными структурными элементами – в первую очередь, классами, кооперациями и объектами.
Пакет (package) – это механизм общего назначения для организации проектных решений, который упорядочивает конструкции реализации. Структурные сущности, поведенческие сущности и даже другие группирующие сущности могут быть помещены в пакет. В оличие от компонентов (существующих только во время исполнения), пакеты полностью концептуальны, то есть сущест вуют лишь на этапе разработки. Пакет изображается в виде папки с закладкой, обычно только с указанием имени, но иногда и содержимого (рис. 12).
Рис.12. Пакеты
Рис.13. Примечания
Этот элемент – базовая аннотирующая сущность, которую вы можете включить в UML-модель. Обычно вы будете использовать его для снабжения диаграмм ограничениями или комментариями, которые лучше всего выражаются в виде формального или неформального текста. Существуют также разные вариации этого элемента, такие как требования, которые специфицируют некоторое желательное поведение с точки зрения, внешней по отношению к модели.
На следующем шаге рассмотрим типы связей в UML.