Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_ООП_1_4_2 Основи об'єктно-орієнтованого про...doc
Скачиваний:
0
Добавлен:
12.11.2019
Размер:
179.71 Кб
Скачать

Декомпозиция деятельности

Деятельность может быть разделена на поддеятельности.

В данном случае деятельность по доставке выделена как отдельная со своим началом и окончанием. Можно также изобразить переходы, входящие или выходящие непос­редственно из дочерней диаграммы. Достоинство явного указания на­чального и конечного состояний состоит в том, что в этом случае дея­тельность по доставке может быть использована в нескольких контекстах, и родительская диаграмма не будет зависеть от содержимого дочерней диаграммы.

Динамическая параллельность

Динамическая параллельность позволяет представлять итерации без изображения таких конструкций, как петля.

Деятельность Заполнить Строку Заказа выполняется толь­ко один раз для каждой позиции заказа. Маркер кратности (*) указы­вает, что эта деятельность может выполняться несколько раз. Переход к деятельности Доставка Заказа происходит только в том случае, ког­да все позиции отдельного заказа будут заполнены. Если несколько де- ятельностей должны некоторым образом выполняться совместно, это можно показать, пометив деятельность Заполнить Строку Заказа как составную.

Дорожки

Диаграммы деятельности говорят нам о том, что происходит, однако они ничего не говорят о том, кто участвует в выполнении соответству­ющих деятельностей. С точки зрения программирования это означает, что данная диаграмма не сообщает, какой класс отвечает за выполне­ние той или иной деятельности.

При моделировании предметной области это означает, что диаграмма не может сообщить, какие люди или подразделения отвечают за вы­полнение каждой деятельности. Один из способов решить эту пробле­му состоит в том, чтобы снабдить каждую деятельность меткой класса или человека, ответственного за ее выполнение. Это дает нужный ре­зультат, однако данный способ не обеспечивает такой ясности, как в диаграммах взаимодействия при изображении обмена со­общениями между объектами.

Другой способ решить проблему - изобразить так называемые дорожки (swimlanes).

Для использования дорожек необходимо с помощью пунктирных ли­ний разделить диаграммы деятельности на вертикальные зоны. Каж­дая зона представляет собой зону ответственности конкретного класса или отдельного организационного подразделения.

Преимущество дорожек проявляется в том, что они позволяют объеди­нить логику представления диаграммы деятельности с представлени­ем ответственности на диаграмме взаимодействия.

Когда использовать диаграммы деятельности

Анализ варианта использования. На этом этапе не интересует связь между действиями и объектами; только нужно понять, какие действия должны иметь место и каковы зависимости в пове­дении системы.

Понимание потока работ. Прежде чем приступить к рассмотре­нию содержания вариантов использования, целесообразно при­влечь диаграммы деятельности для лучшего понимания соответст­вующего бизнес-процесса. Эти диаграммы лучше разрабатывать со­вместно с бизнес-аналитиками, поскольку при этом можно понять особенности бизнес-процесса и возможности его изменения.

Описание сложного последовательного алгоритма. В этом случае диаграмма деятельности не позволяет представить ничего сверх то­го, что может быть изображено на согласованной с обозначениями языка UML схеме алгоритма. При этом можно использовать приня­тые на схемах алгоритмов специальные обозначения.

Работа с многопоточными приложениями.

Диаграммы деятельности не следует использовать в следующих ситуа­циях:

Пытаться представить кооперацию объектов. Диаграммы взаи­модействия являются более простыми и обеспечивают более на­глядное представление кооперации.

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

Представление сложных логических условий. Для этой цели луч­ше использовать таблицу истинности.