- •Этапы проектирования
- •2. Понятие жизненного цикла программного обеспечения
- •2. Проектирование.
- •3. Реализация.
- •Формирование и анализ требований
- •По уровням требования делятся на следующие категории.
- •По характеру различают следующие типы требований.
- •Источниками требований могут быть следующие объекты.
- •Структурное проектирование программ
- •Методы проектирования программных систем
- •Объектно-ориентированое проектирование программ
- •Архитектура программного обеспечения
- •Модель хранения данных
- •6.2. Диаграммы вариантов использования
- •6.3. Диаграммы классов
- •6.4. Диаграммы деятельности
- •6.5. Диаграммы последовательности действий
- •Диаграммы состояний класса
- •Диаграммы компонентов системы
- •Диаграммы размещения (развертывания) программных компонентов
- •Расчет сложности программной системы
- •Средства автоматизации проектирования программного обеспечения
6.4. Диаграммы деятельности
Диаграмма деятельности (активностей) напоминает привычную схему алгоритма. Она позволяет моделировать сложный жизненный цикл объекта с переходами из одного состояния (деятельности) в другое. Диаграмма использует ограниченное количество фигур, соединённых стрелками. Основные фигуры:
Прямоугольники с закруглениями — действия;
Ромбы — решения;
Широкие полосы — начало (разветвление) и окончание (схождение) ветвления действий;
Чёрный круг — начало процесса (начальное состояние);
Чёрный круг с обводкой — окончание процесса (конечное состояние).
Стрелки идут от начала к концу процесса и показывают последовательность переходов.
На диаграмме деятельностей можно не только показать параллельно выполняемые действия, но и указать состояния объектов (как на представлениях конечных автоматов), а также распределение ролей и т. д. Пример диаграммы для работы с сервером базы данных в сети представлен на рис. 6.26.
Для каждого объекта на диаграмме выделяется, так называемая, беговая дорожка. Она соответствует объекту или роли. На дорожке отображаются только те деятельности, за которые отвечает конкретный объект. Она является важной частью диаграммы деятельности.
Так, на рис. 6.25 активности разбросаны по трем беговым дорожкам, каждая из которых соответствует поведению одного из трех объектов - клиента, веб-сервера и сервера баз данных. Благодаря этому можно определить, каким из объектов выполняется каждая из активностей, что очень упрощает ее восприятие.
Рис. 6.26.
6.5. Диаграммы последовательности действий
Диаграмма последовательности (sequence diagram) показывает взаимодействие объектов (обмен между ними сообщениями), упорядоченное по времени, с отражением продолжительности обработки и последовательности их проявления.
Основными элементами диаграммы являются:
обозначения объектов (прямоугольники с названиями объектов),
вертикальные «линии жизни» (lifeline), отображающие течение времени,
прямоугольники, представляющие деятельность объекта или исполнение им определенной функции (располагаются на пунктирной «линии жизни»),
стрелки, показывающие обмен сигналами или сообщениями между объектами.
Пример диаграммы приведен на рис. 6.27. Здесь фокус управления - это некоторое действие, которое выполняет объект (на рисунке Класс 2). Такие прямоугольники изображают не всегда. На диаграмме может быть представлена внешняя среда – в виде анонимного актера, рекурсия или ожидание события, когда объект посылает сообщение (рефлексивное) самому себе или ждет ответа. Такие ситуации изображены на рисунке 6.28.
Рис. 6.27
Рис. 6.28
Сообщения, которыми обмениваются объекты, могут быть двух типов:
Прямые (изображаются сплошной линией);
Ответные (изображаются пунктирной линией).
Первые, в свою очередь, делятся на:
Синхронные, которые приостанавливают поток выполнения до тех пор, пока не будет получен ответ;
Асинхронные, после которых выполняется следующий шаг, не дожидаясь ответа.
Они отличаются формой стрелок, как показано на рисунке 6.29.
Рис. 6.29
На рисунках 6.30 и 6.31 приводятся два примера диаграмм последовательностей. На первой представлена передача синхронного сообщения с ветвлением (что бывает нечасто). На второй (шуточной) имеет место рефлексивное сообщение (обдумывание ответа).
Пример 1.
Рис. 6.30
Пример 2
Рис. 6.31
