Виды моделей UML
в рубрике Методологии, Технологии , теги: model, uml
Моделирование на UML на разных этапах разработки ПО служит для различных целей: спецификации требований к системе, визуализация артефактов, решения задач проектирования и документирования системной и программной архитектуры. UML как общий язык служит для облегчения коммуникаций в проектных командах, позволяя существенно сократить время, необходимое для недвусмысленного понимания концепций, положенных в основу системы, а также автоматизировать процесс создания подробной и качественной проектной документации.)
В этой статье мы рассмотрим несколько видов моделей UML, области их применения и назначение, а также постараемся классифицировать эти модели на основе их применения в процессе проектирования IT-систем.
Назначение моделей может быть самым разным, все случаи описать невозможно. Между тем от целей создания и области применения модели зависит способ ее конструирования, необходимая инструментальная поддержка и многое другое. Таким образом, необходим набор руководящих принципов, классификация, которая позволяла бы предопределять свойства модели в соответствии с областью ее применения. Предлагаемая нами классификация основана на вариантах ответа на простой вопрос - “а что с этой моделью станется потом?”, который автор модели должен задавать себе во время моделирования. Рассмотрим три типичных варианта ответа.
- Концептуальная модель (conceptual model). На диаграммы такой модели будут смотреть, их будут обдумывать, но с самой моделью ничего делать не будут. Это не означает, что модель не нужна — это означает, что модель используется только для облегчения понимания концепции системы. Поэтому мы называем такие модели концептуальными. Такой тип использования моделей один из самых важных, например, потому что так используются модели, которые получаются в результате анализа предметной области. Концептуальные модели довольно стабильны: если не меняется предметная область, то нет нужды менять и модель. Главное требования к модели предметной области: концептуальная целостность (consistency).
- Модель проектирования (design model). Модель проектирования представляет собой высокоуровневое (на уровне подсистем) и низкоуровневое (на уровне классов, если речь идет об использовании объектно-ориентированного подхода) описание программной системы. Модель проектирования предназначена для того, чтобы, руководствуясь ею, разработать программный код приложения. Как правило, архитектура (высокоуровневое описание) и код разрабатываются итеративно, и разработчикам в процессе разработки необходимо часто вносить изменения в модель проектирования, чтобы она всегда оставалась актуальной. Главное требование к модели проектирования: понятность (usability). Действительно, разработчики должны полностью понимать модель проектирования, чтобы вести разработку.
- Модель реализации (implementation model). Модель реализации предназначена для автоматического преобразования, возможно многократного, в существенно другой вид, например, в исполнимый код. Модель реализации модифицируется постоянно все время разработки, она должна быть в равной степени понятна как разработчику, так и компьютеру. Такое предназначение требует указания необходимых деталей реализации в модели, поскольку самостоятельно компьютер их добавить не сможет. Главное требование к моделям реализации: полнота (completeness).
Рассмотрим простой пример (рис 1): отношения между авторами (Author) и книгой (Book). С концептуальной точки зрения книга (1) — это тип издания, который имеет авторов (2), причем соавторов у книги может быть несколько и каждый может быть автором нескольких книг. Важно учесть, что в создание книги каждый соавтор внес определенный вклад (3). В модели проектирования необходимо уточнить, что абстрактный творческий вклад измеряется в конкретных процентах (4), а в модели реализации добавить, что необходимо реализовать проверку ограничения (5), состоящего в том, что для каждой книги сумма вкладов всех ее авторов должна быть равна 100%. Эти ограничения значений вклада каждого автора в работу над книгой, измеряемого в процентах, представлены в модели реализации в виде комментариев.

Рисунок 1. Концептуальная модель, модель проектирования и модель реализации
Как мы видим, виды моделей UML различаются количеством представленной на них информации и точкой зрения на систему: в каждой них внимание фокусируется на определенных артефактах процесса разработки. Некоторые модели могут включать в свой состав дополнительные поясняющие диаграммы.
Например, в качестве дополнения к модели реализации можно привести поясняющую диаграмму объектов, где указать конкретную книгу (1), конкретных авторов (2) и конкретный вклад каждого из авторов (3).

Рисунок 2. Поясняющая диаграмма объектов
Несмотря на кажущуюся простоту, создание корректной, непротиворечивой модели UML является достаточно сложной задачей. Один из главных вопросов, решаемых в процессе создания моделей, - это их актуализация. Актуализация моделей тесно связана с ключевыми этапами разработки ПО.
В следующих наших статьях мы расскажем о том, какие модели UML создаются на каждом из этапов проектирования системы, а также об актуализации UML-моделей.
Авторы: Денис Иванов, Федор Новиков
Прокомментировать
Вы должны быть авторизованы для комментирования.



