
- •Основы uml
- •Введение
- •Введение в uml
- •1.1. История uml
- •1.2. Case-средства
- •1.3. Основные понятия объектно-ориентированного анализа и проектирования информационных систем
- •1.4. Общая характеристика моделей объектно-ориентированного анализа и проектирования
- •Основные элементы языка uml
- •2.1. Пакеты
- •2.2. Канонические диаграммы языка uml
- •2.3. Диаграмма вариантов использования (Use Case Diagram)
- •2.4. Диаграмма классов (Class Diagram)
- •2.5. Диаграмма кооперации (сотрудничества) (Collaboration Diagram)
- •2.6. Диаграмма последовательности (Sequence Diagram)
- •2.7. Диаграмма состояний (Statechart Diagram)
- •2.8. Диаграмма деятельности (Activity Diagram)
- •2.9. Диаграмма компонентов (Component Diagram)
- •2.10. Диаграмма размещения (Deployment Diagram)
- •Паттерны (Patterns)
- •3.1. Паттерны, их классификация
- •3.2. Паттерны проектирования
- •3.3. Архитектурные паттерны
- •Заключение
- •Литература
- •Пример разработки
2.2. Канонические диаграммы языка uml
Диаграмма (diagram) — графическое представление совокупности элементов модели в форме связного графа, вершинам и ребрам (дугам) которого приписывается определенная семантика.
В нотации языка UML определены следующие виды канонических диаграмм:
Диаграмма вариантов использования (Use Case Diagram)
Диаграмма классов (Class Diagram)
Диаграмма кооперации (сотрудничества) (Collaboration Diagram)
Диаграмма последовательности (Sequence Diagram)
Диаграмма состояний (Statechart Diagram)
Диаграмма деятельности (Activity Diagram)
Диаграмма компонентов (Component Diagram)
Диаграмма размещения (Deployment Diagram)
Каждая из этих диаграмм детализирует и конкретизирует различные представления о модели сложной системы в терминах языка UML:
Диаграмма вариантов использования представляет собой наиболее общую концептуальную модель сложной системы, которая является исходной для построения всех остальных диаграмм.
Диаграмма классов является логической моделью, отражающей статические аспекты структурного построения системы.
Диаграммы сотрудничества и последовательностей представляют собой разновидности логической модели, которые отражают динамические аспекты функционирования системы. Их еще называют диаграммами взаимодействия.
Диаграммы схем состояний и деятельности предназначены для моделирования поведения системы.
Диаграммы компонентов и размещения служат для представления физических компонентов сложной системы и поэтому относятся к ее физической модели.
Кроме графических элементов, которые определены для каждой канонической диаграммы, на них может быть изображена текстовая информация, которая расширяет семантику базовых элементов.
Механизмы расширения
В языке UML предусмотрены три специальных механизма расширения, которые включают в себя следующие конструкции:
Стереотип (stereotype) — новый тип элемента модели, который расширяет семантику (но не структуру) уже описанных типов или классов метамодели. Существуют предопределенные в языке и описываемые пользователем стереотипы. На диаграммах изображаются в форме текста, заключенного в угловые кавычки. Например, <<extend>>.
Теговая величина (tagged value) — явное определение свойства как пары "имя тега – значение". Теговые величины на диаграммах изображаются в форме строки текста, заключенного в фигурные скобки и имеющего формат записи: имя тега = значение. Определение тегов не является строгим, поэтому теги могут быть указаны самим разработчиком. Например, {кол-во процессоров = 4, оперативная память = 2Гб}.
Ограничение (constraint) — некоторое логическое условие, ограничивающее семантику выбранного элемента модели. На диаграммах изображаются в форме строки текста, заключенного в фигурные скобки. Как правило, специфицируются разработчиком. Для формальной записи ограничений предназначен специальный язык объектных ограничений (Object Constraint Language, OCL), который является составной частью языка UML. Примеры ограничений: {XOR}, {величина кратна $5}.
Рекомендации по графическому изображению диаграмм языка UML
При графическом изображении диаграмм следует придерживаться следующих основных рекомендаций:
Каждая диаграмма должна служить законченным представлением соответствующего фрагмента моделируемой предметной области.
Все сущности на диаграмме модели должны быть одного уровня представления.
На диаграммах явно должна быть представлена вся информация о сущностях.
Диаграммы не должны содержать противоречивой информации.
Каждая диаграмма должна быть самодостаточной для правильной интерпретации всех ее элементов и понимания семантики всех используемых графических символов.
Количество типов диаграмм для конкретной модели приложения строго не фиксировано.
Любая модель системы должна содержать только те элементы, которые определены в нотации языка UML.
Контрольные вопросы
Дайте определение понятия диаграмма.
Какие диаграммы UML входят в число канонических?
Дайте краткую характеристику каждой из канонических диаграмм UML.
Какие механизмы расширения предусмотрены в UML?