К оглавлению

Моделирование поведения

Описав варианты использования (ВИ) с помощью соответствующих диаграмм, разработчик получает формализованное представление требований к программным системам (ПС). Теперь он может приступить к решению главной задачи моделирования – нахождению классов, которые будут реализованы в ПС, и описанию взаимодействий объектов этих классов, которые собственно и определяют поведение системы. Таким образом, необходимо построение функциональной модели системы.

    Основная задача функционального моделирования – детализация ВИ, построенных при определении требований к ПС, с помощью диаграмм, описывающих поведение ПС. При этом решаются следующие основные задачи:
  • детальное описание потоков событий, определенных в ВИ;
  • нахождение классов, которые реализуют потоки событий, определенные в ВИ;
  • распределение поведения, описываемого ВИ, по этим классам;
  • определение ответственностей, атрибутов и ассоциаций классов;
  • описание поведения объектов в виде конечного автомата.
Диаграммы последовательностей (Sequence diagrams)

На диаграммах последовательностей, иногда называемых сценариями, показываются объекты и сообщения, которыми они обмениваются. Каждый объект изображается в виде вертикальной линии («линии жизни» объекта). По вертикали сверху вниз направлена временная ось. Сообщение, показываемое в виде стрелки от объекта к объекту, соответствует вызову операции соответствующего класса (см. рис.1). Таким образом, на диаграмме можно показать поток сообщений во времени (сценарий). С помощью диаграмм этого вида можно описать как основной, так и альтернативные потоки событий для ВИ.

Рис.1 Диаграмма последовательности действий при вводе документа
Диаграммы кооперации (Collaboration Diagrams)

Этот вид диаграмм по существу эквивалентен диаграммам последовательностей. На такой диаграмме можно показать объекты (с их атрибутами) и связи между ними (в виде ассоциаций). В таком виде это будет диаграмма объектов. Диаграмма кооперации (см. рис.2) получается из нее путем добавления сообщений. Для представления сообщений используются стрелки, располагаемые около ассоциаций. Стрелка показывает направление передачи сообщения, а в названии сообщения показываются передаваемые параметры. Временная последовательность сообщений задается с помощью их нумерации. На диаграммах кооперации более важным является не временной порядок (хотя он тоже присутствует), а показ данных передаваемых в сообщениях. Большинство инструментальных средств визуального моделирования включают возможности автоматического преобразования диаграмм последовательностей в диаграммы коопераций и обратно.

Рис.2 Результат преобразования диаграммы последовательностей в диаграмму кооперации. Нумерация сообщений определяет их временной порядок.
Диаграммы кооперации (Collaboration Diagrams)

Диаграмма деятельности представляет по существу обычную блок-схему. На ней показываются деятельности – шаги в выполнении процесса, изображаемые в виде прямоугольников с сопряженными дугами горизонтальными сторонами и переходы между ними, показываемые стрелками. Предусмотрена возможность ветвления, изображаемая в виде ромба. На этих диаграммах можно показать распараллеливание процесса на подпроцессы и слияние подпроцессов. Для обозначения этих действий используются жирные горизонтальные или вертикальные линии. Все элементы могут быть проименованы (см. рис. 3).

С помощью диаграмм деятельности удобно представлять алгоритмы выполнения работ. В частности, использование ветвления дает возможность легко отобразить основной и альтернативные потоки событий при выполнении ВИ. Этот вид диаграмм эффективен и при описании деятельности организации при проведении бизнес-анализа.

Рис.3 Диаграмма деятельностей при проектировании и разработке ПС.
Диаграммы состояний

Диаграммы состояний предназначены для представления жизненного цикла объекта в виде конечного автомата. Каждое состояние – это период жизни объекта, когда он удовлетворяет определенным условиям. Некоторое событие может привести переходу объекта в другое состояние. При переходе может выполняться действие, предписанное данному переходу.

Состояния на диаграмме показываются в виде прямоугольников со скругленными углами, а события – стрелками. Диаграмма состояний обычно связывается с классом, поскольку все объекты класса имеют одинаковое поведение. При функциональном моделировании диаграммы состояний создаются для объектов, имеющих сложное поведение, показывая логику их работы. В примере на рис.4 показана диаграмма состояний для объектов класса «Товар» в модели складской системы управления.

Рис.4. Диаграмма состояний для класса «Товар» Из диаграммы видно, например, что зарезервированный под заказ товар не может быть зарезервирован под другой заказ, так как есть только два события, вызывающие переход из этого состояния – «отмена резервирования» и «отбор».

<< Назад Далее >>