Информационные системы
Шрифт:
Диаграмма активности.
Диаграммы активности позволяют показать движения потоков данных в проектируемой системе.
Диаграммы активности напоминают хорошо знакомые многим алгоритмы, только несколько модифицированные. Пример диаграммы активности показан на рис. 3.28. Диаграмма демонстрирует процесс рассмотрения заявки на получение кредита в некоторой организации.
Рис. 3.28. Пример диаграммы активности.
Поясним применяемые обозначения. Начальное и конечное состояния изображаются так же, как на диаграмме состояний. Прямоугольником с округлыми боковыми сторонами изображается действие над данными (состояние
Действие может содержать несколько поддействий. Если на диаграмме их показывать нецелесообразно, используют обозначение вложенности действий. Так, в приведенном примере действие Удовлетворение заявки включает в себя несколько поддействий, среди которых могут быть оценка достоверности данных о клиенте, оценка правильности расчетов, непосредственно принятие решения.
Движение данных (переходы) изображается сплошными стрелками. Возле стрелок может быть указано сторожевое условие. Если движение данных предусматривает ветвление, то указание условия обязательно (в примере на рис. 3.28 оно не показано). Символ ветвления графически изображается ромбом, из которого выходят две или более стрелки. Разделение потока данных и слияние параллельных потоков данных изображается сплошной жирной чертой, связывающей стрелки движения потоков данных.
Диаграммы активности позволяют показать разделение ответственности различных субъектов за выполнение операций путем введения дорожек (swimlanes). В приведенном примере таких дорожек четыре: Регистратор, Специалист по финансовым рискам, Управляющий, Служба безопасности.
Передаваемые данные могут быть указаны на диаграммах активности в явном виде. Например, передачу заказа между отделами организации иллюстрирует рис. 3.29. В качестве передаваемых данных может быть указан пользователь, например, при построении карты веб-сайта.
Вектор времени на диаграммах активности в явном виде не воспроизводится.
Рис. 3.29. Движение заказа между отделами.
Диаграмма последовательности.
Идеология объектно-ориентированного программирования заключается в описании поставленной задачи образами некоторых самостоятельных сущностей (объектов), которые в процессе функционирования системы обмениваются сообщениями. Диаграммы последовательности служат инструментом отображения такого обмена.
Основными компонентами диаграмм последовательности являются пользователь, объект, линия жизни объекта (object lifeline), сообщение (message) и фокус управления (focus of control). Объект графически изображается, как и на других UML-диаграммах, прямоугольником с подчеркнутым именем, линия жизни объекта – вертикальной пунктирной линией, сообщение – горизонтальной стрелкой, фокус управления – прямоугольником на линии жизни объекта.
Примеры диаграмм последовательности приведены на рис. 3.30. На рис. 3.30, а пользователь создает объект, который через некоторое время уничтожается (символ уничтожения объекта – жирный крест). Рис. 3.30, б наглядно демонстрирует идею и параметры замера температурно-влажностного режима в помещении хранилища музея.
Рис. 3.30. Примеры диаграмм последовательности.
Фокус управления показывает, какой именно элемент находится в активном состоянии (действует). Фокус управления может быть одновременно как у
Рис. 3.31. Передача фокуса управления.
Сообщения на диаграммах последовательности могут быть помечены идентификаторами, поясняющими их смысловую нагрузку (стереотипы):
• «call» – вызов объектом другого объекта;
• «return» – возврат значения вызвавшему объекту;
• «create» – создание объекта;
• «destroy» – уничтожение объекта, которому передается это сообщение;
• «send» – посылка асинхронного сигнала.
Рекурсия (самовызов) объекта на диаграммах последовательности может быть показана как сообщение вызова, обращенное объектом самому себе (рис. 3.32, а), или специальным символом на изображении фокуса управления (рис. 3.32, б).
Рис. 3.32. Варианты изображения рекурсии.
Диаграмма сотрудничества.
Диаграмма сотрудничества, как и диаграмма последовательности, является разновидностью диаграмм взаимодействия. Современные программные средства построения диаграмм обеспечивают автоматическое преобразование диаграмм данных видов друг в друга.
Если диаграмма последовательности ориентирована на отображение временных аспектов взаимодействия, то диаграмма сотрудничества (диаграмма кооперации) показывает структурные особенности взаимодействия между объектами и является развитием идеи построения диаграмм сущность-связь.
Диаграммы сотрудничества бывают двух видов.
• Диаграммы сотрудничества уровня спецификаций оперируют классами, пользователями, кооперациями и ролями, которые играют пользователи и классы. Пример диаграммы сотрудничества уровня спецификаций приведен на рис. 3.33. Окружность – это кооперация, пунктирная линия – роль пользователя в кооперации, стрелка– отношение обобщения, общее для всех UML-диаграмм. Кооперация определяет взаимодействие классов. Участвуя в кооперации, классы совместно производят некоторый кооперативный результат.
Рис. 3.33. Пример диаграммы сотрудничества уровня спецификаций.
• Диаграммы сотрудничества уровня примеров оперируют экземплярами классов (объектами), связями между ними и сообщениями, которыми обмениваются объекты.
Объекты на диаграммах сотрудничества обозначаются так же, как и на других UML-диаграммах – прямоугольниками. Однако на диаграммах данного вида имя объекта может дополняться его ролью в сотрудничестве. На рис. 3.34, а показан образец, на рис. 3.34, б – пример обозначения имени объекта, любая из трех частей которого может отсутствовать.
Рис. 3.34. Графическое изображение объектов на диаграммах сотрудничества.
Объекты, которые могут управлять другими объектами, называются активными (active object) и помечаются словом {active}.
Для обозначения группы объектов, которым адресован один и тот же сигнал, вводится понятие мультиобъекта, изображаемого графически двумя прямоугольниками, наложенными друг на друга (рис. 3.35).
Рис. 3.35. Графическое изображение мультиобъекта.
В отличие от мультиобъекта составной объект действительно состоит из других объектов (рис. 3.36).