Описав варианты использования (ВИ) с помощью соответствующих диаграмм, разработчик получает формализованное представление требований к программным системам (ПС). Теперь он может приступить к решению главной задачи моделирования – нахождению классов, которые будут реализованы в ПС, и описанию взаимодействий объектов этих классов, которые собственно и определяют поведение системы. Таким образом, необходимо построение функциональной модели системы.
На диаграммах последовательностей, иногда называемых сценариями, показываются объекты и сообщения, которыми они обмениваются. Каждый объект изображается в виде вертикальной линии («линии жизни» объекта). По вертикали сверху вниз направлена временная ось. Сообщение, показываемое в виде стрелки от объекта к объекту, соответствует вызову операции соответствующего класса (см. рис.1). Таким образом, на диаграмме можно показать поток сообщений во времени (сценарий). С помощью диаграмм этого вида можно описать как основной, так и альтернативные потоки событий для ВИ.
Этот вид диаграмм по существу эквивалентен диаграммам последовательностей. На такой диаграмме можно показать объекты (с их атрибутами) и связи между ними (в виде ассоциаций). В таком виде это будет диаграмма объектов. Диаграмма кооперации (см. рис.2) получается из нее путем добавления сообщений. Для представления сообщений используются стрелки, располагаемые около ассоциаций. Стрелка показывает направление передачи сообщения, а в названии сообщения показываются передаваемые параметры. Временная последовательность сообщений задается с помощью их нумерации. На диаграммах кооперации более важным является не временной порядок (хотя он тоже присутствует), а показ данных передаваемых в сообщениях. Большинство инструментальных средств визуального моделирования включают возможности автоматического преобразования диаграмм последовательностей в диаграммы коопераций и обратно.
Диаграмма деятельности представляет по существу обычную блок-схему. На ней показываются деятельности – шаги в выполнении процесса, изображаемые в виде прямоугольников с сопряженными дугами горизонтальными сторонами и переходы между ними, показываемые стрелками. Предусмотрена возможность ветвления, изображаемая в виде ромба. На этих диаграммах можно показать распараллеливание процесса на подпроцессы и слияние подпроцессов. Для обозначения этих действий используются жирные горизонтальные или вертикальные линии. Все элементы могут быть проименованы (см. рис. 3).
С помощью диаграмм деятельности удобно представлять алгоритмы выполнения работ. В частности, использование ветвления дает возможность легко отобразить основной и альтернативные потоки событий при выполнении ВИ. Этот вид диаграмм эффективен и при описании деятельности организации при проведении бизнес-анализа.
Диаграммы состояний предназначены для представления жизненного цикла объекта в виде конечного автомата. Каждое состояние – это период жизни объекта, когда он удовлетворяет определенным условиям. Некоторое событие может привести переходу объекта в другое состояние. При переходе может выполняться действие, предписанное данному переходу.
Состояния на диаграмме показываются в виде прямоугольников со скругленными углами, а события – стрелками. Диаграмма состояний обычно связывается с классом, поскольку все объекты класса имеют одинаковое поведение. При функциональном моделировании диаграммы состояний создаются для объектов, имеющих сложное поведение, показывая логику их работы. В примере на рис.4 показана диаграмма состояний для объектов класса «Товар» в модели складской системы управления.