- •4. Объектно-ориентированное проектирование, основы uml
- •4.1 Значение моделирования
- •4.2 Принципы моделирования
- •4.3 Объектное моделирование
- •4.4 Принципы моделирования с использованием uml
- •4.5 Основные диаграммы языка uml
- •4.6 Сущности uml
- •4.7 Отношения uml
- •5. Диаграмма классов и моделирование предметной области
- •5.1 Общие сведения
- •5.2 Класс
- •5.3 Имя класса
- •5.4 Атрибуты класса
- •5.5 Операции класса
- •5.6 Отношения между классами
- •5.7 Отношение зависимости
- •5.8 Зависимость между пакетами
- •5.9 Отношение ассоциации
- •5.10 Отношение агрегации
- •5.11 Отношение композиции
- •5.12 Отношение обобщения
- •5.13 Рекомендации по построению диаграммы классов
- •6. Диаграмма состояний
- •6.1 Общие сведения
- •6.2 Автоматы
- •6.3 Состояние
- •6.4 Начальное и конечное состояния
- •6.5 Переход
- •6.6. Составное состояние и подсостояние
- •6.7. Параллельные подсостояния
- •6.8 Рекомендации
- •7 Диаграмма деятельности
- •7.1 Общие сведения
- •7.2 Состояние действия и состояние деятельности
- •7.3 Переход
- •7.4 Ветвление
- •7.5. Разделение и слияние
- •7.6 Дорожки
- •7.7. Объекты
- •7.8. Рекомендации по построению диаграмм деятельности
- •8. Моделирование взаимодействия объектов. Диаграммы последовательности и кооперации (коммуникации)
- •8.1 Диаграмма последовательности, общие сведения
- •8.2 Объекты
- •8.3 Линия жизни объекта
- •8.4 Фокус управления
- •8.5 Сообщения
- •8.6 Ветвление потока управления
- •8.7 Стереотипы сообщений
- •8.8 Временные ограничения
- •8.9 Пример построения диаграммы последовательности
- •8.10. Рекомендации по построению диаграмм последовательности
- •8.11 Общие сведения о диаграмме кооперации (коммуникации)
- •8.12 Кооперация
- •8.13 Объекты
- •8.14 Мультиобъекты
- •8.15. Активные объекты
4.4 Принципы моделирования с использованием uml
Язык UML основан на некотором числе базовых понятий, которые могут быть изучены и применены большинством программистов и разработчиков, знакомых с методами объектно-ориентированного анализа и проектирования.
В основе моделирования с использованием UML лежит ряд ключевых принципов.
Принцип абстрагирования, который предписывает включать в модель только те аспекты проектируемой системы, которые имеют непосредственное отношение к выполнению системой своих функций или своего целевого назначения.
Принцип многомодельности, который сводится к утверждению о том, что никакая отдельно взятая модель не может с достаточной степенью адекватности описать различные аспекты сложной системы. Применительно к UML это означает, что достаточно полная модель сложной системы допускает некоторое число взаимосвязанных представлений (views), каждое из которых адекватно отражает некоторый аспект поведения или структуры системы. Интегрированная модель сложной системы представляется в виде совокупности диаграмм, приведенной на рис. 4.1.
Рисунок 4.1 – Интегрированная модель сложной системы
Принцип иерархического построения моделей сложных систем, который предписывает рассматривать процесс построения модели на разных уровнях абстрагирования или детализации в рамках фиксированных представлений. При этом диаграммы группируются с учетом их назначения: диаграммы концептуального и физического уровня, статического и динамического представлений моделируемой системы. Каждая группа диаграмм отражает точку зрения участников проекта или конечных пользователей и предназначена для визуализации отдельных аспектов моделирования, как показано на рисунке 4.2.
Рисунок 4.2 – Взаимосвязь представлений модели системы в процессе объектно-ориентированного анализа и проектирования
Процесс построения отдельных типов диаграмм имеет свои особенности, которые тесно связаны с семантикой диаграмм. Процесс ООАП в контексте языка UML получил специальное название – рациональный унифицированный процесс (Rational Unified Process - RUP).
В целом процесс ООАП можно рассматривать как последовательный переход от разработки наиболее общих моделей и представлений концептуального уровня к более частным и детальным представлениям логического и физического уровня. При этом на каждом этапе ООАП данные модели последовательно дополняются все большим количеством деталей, что позволяет им более адекватно отражать различные аспекты конкретной реализации сложной системы.
4.5 Основные диаграммы языка uml
Язык UML предлагает разработчиком набор диаграмм, позволяющих описать систему с разных сторон. При этом диаграммы языка UML принято делить на две крупные подгруппы: структурные диаграммы и поведенческие диаграммы, рисунок 4.3.
Рисунок 4.3 – Основные диаграммы языка UML
Каждая из диаграмм языка UML призвана ответить на определенный вопрос о разрабатываемой системе.
Что делает система?
Диаграмма использования / Use case diagram
Из чего состоит система?
Диаграмма классов / Class diagram
Диаграмма компонентов / Component diagram
Диаграмма размещения / Deployment diagram
Диаграмма объектов / Object diagram
Диаграмма внутренней структуры / Composite structure diagram
Как работает система?
Диаграмма автомата / State machine diagram
Диаграмма деятельности / Activity diagram
Диаграмма коммуникации / Communication diagram
Диаграмма последовательности / Sequence diagram
Обзорная диаграмма взаимодействия / Interaction overview diagram
Диаграмма синхронизации / Timing diagram
Как уменьшить сложность модели?
Диаграмма пакетов / Package diagram