Основы программирования

Надувные матрасы и еще.
Основы UML - Рекомендации по построению диаграмм деятельности
Индекс материала
Основы UML
Класс
Имя класса
Атрибуты класса
Операция
Отношения между классами
Отношение ассоциации
Отношение агрегации
Отношение композиции
Отношение обобщения
Интерфейсы .
Шаблоны или параметризованные классы
Рекомендации по построению диаграмм классов
Диаграмма состояний (statechart diagram)
Автоматы
Состояние
Список внутренних действий
Начальное состояние
Переход
Сторожевое условие
Выражение действия
Составное состояние и подсостояние
Параллельные подсостояния
Историческое состояние
Сложные переходы
Переходы между составными состояниями
Синхронизирующие состояния
Заключительные рекомендации по построению диаграмм состояний
Диаграмма деятельности (activity diagram)
Состояние действия
Переходы
Дорожки
Объекты
Рекомендации по построению диаграмм деятельности
Диаграмма последовательности (sequence diagram)
Объекты
Линия жизни объекта
Фокус управления
Сообщения
Ветвление потока управления
Стереотипы сообщений
Комментарии или примечания
Заключительные рекомендации по построению диаграмм последовательности
Диаграмма кооперации (collaboration diagram)
Кооперация
Диаграмма кооперации уровня спецификации
Объекты
Мультиобъект
Составной объект
Стереотипы связей
Формат записи сообщений
Заключительные рекомендации по построению диаграмм кооперации
Диаграмма компонентов (component diagram)
Компоненты
Интерфейсы
Зависимости
Рекомендации по построению диаграммы компонентов
Диаграмма развертывания (deployment diagram)
Узел
Соединения
Рекомендации по построению диаграммы развертывания
Особенности реализации языка UML
характеристика CASE-средства Rational Rose 98/2000
Особенности рабочего интерфейса Rational Rose
Стандартная панель инструментов
Специальная панель инструментов
Окно диаграммы
Окно документации
Окно журнала
Начало работы над проектом в среде Rational Rose
Разработка диаграммы вариантов использования в среде Rational Rose
Разработка диаграммы классов в среде Rational Rose
Разработка диаграммы состояний в среде Rational Rose
Разработка диаграммы последовательности в среде Rational Rose
Разработка диаграммы кооперации в среде Rational Rose
Разработка диаграммы компонентов в среде Rational Rose
Разработка диаграммы развертывания в среде Rational Rose
Заключение
Все страницы


7.5. Рекомендации по построению диаграмм деятельности

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