На этом шаге рассмотрим диаграммы, как один из элементов концептуальной модели UML.
Строительные блоки UML. Диаграммы.
В процессе проектирования модели системы могут иметь разные уровни детализации. Концептуальная модель описывает систему в терминах реальных или предполагаемых сущностей из предметной области, а также отношений между ними. На концептуальном уровне моделирование должно использовать терминологию предметной области и не должно зависеть от технологических проблем.
Логическая модель системы использует понятия, вошедшие в концептуальную модель, а также устанавливает существование и смысл основных абстракций и механизмов, определяющих архитектуру системы и весь проект.
Физическая модель системы описывает конкретное программное и аппаратное обеспечение, необходимое для реализации системы. Очевидно, что физическая модель сильно зависит от технологической специфики.
Со временем проект эволюционирует от концептуальной к логической и физической моделям. На каждом из этих этапов используются разные диаграммы.
Некоторые диаграммы используются лишь на ранних стадиях проектирования, а другие — на протяжении всего проекта. Кроме того, на использование диаграмм влияет тип создаваемой системы. Концептуальная, логическая и физическая модели выражают результаты анализа и проектирования.
Диаграмма – это графическое представление набора элементов, чаще всего изображенного в виде связного графа вершин (сущностей) и путей (связей). Отдельная диаграмма – это проекция системы. Диаграммы UML разделяются на две группы: структурные диаграммы и диаграммы поведения. UML включает следующие виды диаграмм.
Диаграмма классов (class diagram) показывает набор классов, интерфейсов и коопераций, а также их связи. Диаграммы этого вида чаще всего используются для моделирования объектно-ориентированных систем. Предназначены для статического представления системы. Диаграммы классов, включающие активные классы, представляют статическое представление процессов системы. Диаграммы компонентов – это разновидность диаграмм классов.
Диаграмма объектов (object diagram) показывает набор объектов и их связи. Диаграммы объектов представляют статические копии состояний экземпляров сущностей, описанных в диаграмме классов. Также представляют статическое представление дизайна или статическое представление процессов системы (как и диаграммы классов, но с точки зрения реальных или прототипных ситуаций).
Диаграмма компонентов (component diagram) демонстрирует инкапсулированные классы и их интерфейсы, порты и внутренние структуры, состоящие из вложенных компонентов и коннекторов. Диаграммы компонентов описывают статическое представление дизайна системы. Они важны при построении больших систем из мелких частей.
Диаграмма вариантов использования (use case diagram) демонстрирует набор вариантов использования и действующих лиц (которые являются специальным видом классов), а также их связи. Диаграммы этого типа описывают статическое представление вариантов использования системы. Особенно важны для организации и моделирования поведения системы.
И диаграммы последовательностей, и диаграммы коммуникаций являются видами диаграмм взаимодействия. Диаграмма взаимодействия (interaction diagram) показывает взаимодействие, состоящее из набора объектов и ролей, включая сообщения, которые могут передаваться между ними. Диаграммы взаимодействия предназначены для динамического представления системы.
Диаграмма последовательности (sequence diagram) – это разновидность диаграммы взаимодействия, показывающая временную последовательность сообщений.
Диаграмма коммуникаций (communication diagram) – разновидность диаграммы взаимодействия, показывающая структурную организацию объектов или ролей, отправляющих и принимающих сообщения. И диаграммы последовательности, и диаграммы коммуникации представляют похожие базовые концепции, но с разных точек зрения. Диаграммы последовательности описывают временную последовательность, а коммуникационные диаграммы – структуры данных, через которые проходит поток сообщений.
Диаграмма состояний (state diagram) показывает автомат, включающий в себя состояния, переходы, события и деятельности. Диаграммы состояний описывают динамическое представление объекта. Они особенно важны для моделирования поведения интерфейсов, классов или коопераций и подчеркивают событийно-зависимое поведение объекта, что особенно удобно для моделирования реактивных систем.
Диаграмма деятельности (activity diagram) показывает структуру процесса или других вычислений как пошаговый поток управления и данных. Диаграммы деятельности описывают динамическое представление системы. Они особенно важны при моделировании функций системы и выделяют поток управления между объектами.
Диаграмма размещения (deployment diagram) показывает конфигурацию узлов-процессоров, а также размещаемые на них компоненты. Диаграммы размещения дают статическое представление размещения архитектуры. Узлы, как правило, содержат один или несколько артефактов.
Диаграмма артефактов (artifact diagram) показывает физический состав компьютерной системы. Артефакты представляют собой файлы, базы данных и подобные им физические наборы битов. Диаграммы данного типа часто применяются в сочетании с диаграммами размещения. Также показывают классы и компоненты, реализованные ими. UML трактует диаграммы артефактов как разновидность диаграмм размещения.
Диаграмма пакетов (package diagram) показывает декомпозицию самой модели на организационные единицы и их зависимости.
Временная диаграмма (timing diagram) – это диаграмма взаимодействий, показывающая реальное время жизни различных объектов или ролей, в противовес простой последовательности сообщений.
Диаграмма обзора взаимодействий (interaction overview diagram) – это гибрид диаграммы деятельности и диаграммы последовательности.
На следующем шаге рассмотрим синтаксические и семантические правила UML.