2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 22
Текст из файла (страница 22)
Диаграмма вариантов использования организует поведениесистемы;2. Диаграмма последовательности сфокусирована на временной последовательности сообщений;3. Диаграмма коммуникации сфокусирована на структурнойорганизации объектов, отправляющих и принимающих сообщения;4. Диаграмма состояний сфокусирована на изменении состояния системы в ответ на события;5.
Диаграмма деятельности сфокусирована на потоке управления от деятельности к деятельности.Диаграмма вариантов использования показывает набор вариантов использования и действующих лиц (как особую разновидностьклассов), а также их связи. Иллюстрирует статическое представление вариантов использования системы. Особенно важна для организации и моделирования поведения системы.Диаграмма взаимодействия – это общее название диаграмм последовательности и коммуникации. Все диаграммы последовательности и коммуникации являются диаграммами взаимодействия,а все диаграммы взаимодействия являются либо диаграммами последовательности, либо диаграммами коммуникации.
В их основеодна и та же модель, хотя на практике они включают разные сущности. Еще один вид диаграмм взаимодействия – временные диаграммы, но в данной книге мы их рассматривать не будем.Диаграмма последовательности – это диаграмма взаимодействия, куда входят упорядоченные по времени сообщения, отправляемые и принимаемые экземплярами, которые играют роли. Иллюстрирует динамическое представление системы.Диаграмма коммуникации – это диаграмма взаимодействия, показывающая структурную организацию объектов, отправляющихи принимающих сообщения. Изображает набор ролей, коннекторовмежду ними, а также сообщения, отправляемые и принимаемые экземплярами, которые играют эти роли.
Иллюстрирует динамическое представление системы.Диаграмма состояний показывает конечный автомат (state machine), состоящий из набора состояний, переходов, событий и деятельностей. Иллюстрирует динамическое представление системы.Диаграммы этого типа особенно важны при моделировании поведения интерфейса, класса или кооперации. На них ясно прослеживается упорядоченное по событиям поведение объекта, что особенноудобно при моделировании реактивных систем.Диаграмма деятельности показывает шаг за шагом поток вычислений.
Деятельность описывает набор действий, последовательныйили ветвящийся их поток и значения, генерируемые или используемыедействиями. Диаграммы деятельности иллюстрируют динамическое112Диаграммыпредставление системы. Они особенно важны при моделированиифункций системы. Акцентируют внимание на потоке управленияпри реализации некоторого поведения.На заметку. Существуют очевидные практические ограничения при иллюстрировании динамических сущностей (поведения системы) с помощью диаграмм, которые, по сути своей,являются статическими артефактами, особенно когда вы рисуете их на бумаге, доске и т.д.
Изображенные на экране монитора, поведенческие диаграммы могут быть анимированы,с тем чтобы имитировать работающую систему либо передать реальное ее поведение. UML позволяет создавать динамические диаграммы и применять цвета и другие визуальныесредства для «запуска» диаграмм (то есть более наглядногопредставления динамики). Некоторые инструментальныесредства уже демонстрируют такое «продвинутое» использование UML.Типичные приемы моделированияпредставления. Чаще всего в качестве таких артефактов выступают разнообразные диаграммы UML.
Отметить диаграммы, для которых следует предусмотретьформальный или полуформальный контроль (то есть те, которые требуют периодического пересмотра), и сохранить ихв составе документации проекта. Оставить место для диаграмм, которые пока не задействованы. Эти временные диаграммы помогут исследовать реализацию ваших решений и продумать возможные изменениямоделируемой системы.К примеру, вы моделируете простое монолитное приложение,которое исполняется на одном компьютере.
Для этого потребуетсяне так уж много диаграмм: представление вариантовиспользования представление дизайнаТипичные приемы моделирования представление взаимодействийМоделирование различных представленийсистемы представление реализацииПри моделировании системы с разных точек зрения вы, по сути,параллельно конструируете ее во многих измерениях. Выбираяправильный набор представлений, вы запускаете процесс, которыйпомогает вам ставить правильные вопросы о системе и выявлятьриски, которым она будет подвергаться. Если вынеграмотно подойдете к выбору этих представлений, например сосредоточитесь преимущественно на одном из них в ущерб всем прочим, некоторыеважные обстоятельства могут выпасть из вашего поля зрения – таким образом, в будущем вы столкнетесь с проблемами, которые серьезно повредят работе над проектом.Чтобы смоделировать систему с разных точек зрения, необходимо: Решить, какие представления понадобятся для наилучшего выражения архитектуры вашей системы и для снижениятехнических рисков проекта.
Пять вышеописанных представлений архитектуры – базовая информация для началатакой работы. Определить, какие артефакты вам понадобятся для того, чтобыохватить наиболее существенные детали каждого выбранного113 представление развертываниядиаграммы вариантовиспользованиядиаграммы классов (дляструктурного моделирования)диаграммы взаимодействия (для поведенческогомоделирования)диаграммы составнойструктуры–Если ваша система реактивная или же сосредоточена на потокепроцессов, не исключено, что для моделирования ее поведения вызахотите использовать соответственно диаграммы состояний и диаграммы деятельности.Если же вы работаете над системой с архитектурой «клиент/сервер», вам, вероятно, понадобятся диаграммы компонентов и диаграммы развертывания, чтобы смоделировать ее физические особенности.Наконец, при подготовке сложной распределенной системы вампридется задействовать полный набор диаграмм UML, чтобы выразить ее архитектуру и выявить технические риски проекта: представление вариантовиспользования представление дизайнадиаграммы вариантовиспользованиядиаграммы последовательностидиаграммы классов (дляструктурного моделирования)Диаграммы114 представление взаимодействий представление реализации представление развертываниядиаграммы взаимодействия (для поведенческогомоделирования)диаграммы состоянийдля поведенческого моделирования)диаграммы деятельностидиаграммы взаимодействия (для поведенческогомоделирования)диаграммы классовдиаграммы составнойструктурыдиаграммы развертыванияМоделирование различных уровнейабстракцииНе только вам понадобится оценивать систему с разных точекзрения – некоторые пользователи нуждаются в тех же представлениях системы, но на разных уровнях абстракции.
Например, имеянабор классов, который охватывает словарь предметной области, программист может пожелать уточнить представление вплотьдо уровня атрибутов, операций и связей. В то же время аналитик,исследующий сценарии вариантов использования вместе с конечным пользователем, пожелает видеть более общее представлениетех же классов. В этом контексте программист работает на болеенизком уровне абстракции, а аналитик и конечный пользователь –на более высоком, хотя все они имеют дело с одной и той же моделью. Поскольку диаграммы – это всего лишь графическое представление элементов, составляющих модель, вы можете создаватьнесколько диаграмм на одной модели либо несколько моделей с разной степенью детализации, причем в каждом случае скрываютсяили выводятся различные наборы элементов.Есть два основных пути моделирования систем на разных уровнях абстракции: либо создаются диаграммы одной и той же моделис разной степенью детализации, либо формируются модели на разных уровнях абстракции с диаграммами, отражающими переход отодной модели к другой.Чтобы смоделировать систему с разными уровнями детализации, необходимо: Рассмотреть потребности будущих пользователей и начатьс заранее выбранной модели.Типичные приемы моделирования115 Если вашу модель будут использовать для конструированияреализации, следует показать на диаграммах значительноечисло деталей на диаграммах (то есть их уровень абстракции относительно низкий).
Если же с помощью данной модели планируется представить концепцию системы конечнымпользователям, вам понадобятся диаграммы, находящиеся наболее высоком уровне абстракции – это означает скрытиебольшинства деталей. Создать диаграммы с выбранным уровнем абстракции, скрывая или отображая четыре категории сущностей модели:Сообщенияобсуждаются в главе 16;переходы –в главе 22;стереоти пы –в главе 6.1. Строительные блоки и связи: скройте те из них, которыене отражают назначение вашей диаграммы и не отвечают запросам пользователей;2.
Дополнения: показывайте их только для тех строительныхблоков и связей, которые важны для понимания ваших намерений;3. Поток: на поведенческих диаграммах раскрывайте только тесообщения и переходы, которые проясняют ваши намерения;4. Стереотипы, используемые для классификации списковсущностей (таких как атрибуты и операции): показывайтетолько те элементы со стереотипами, которые раскрываютваши намерения.Главное преимущество такого подхода в том, что вы всегда моделируете на основе общего семантического репозитория.