|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Диаграмма видов деятельностиДиаграмма видов деятельности (activity diagram) отражает динамику системы и особенно полезна при описании поведения, включающего в себя большое количество параллельных процессов, а также для моделирования поведения системы в самом общем виде на этапе анализа (рис. 12).
Рис. 12. Узлы диаграммы видов деятельности В данном представлении поведения системы упор делается на ее функциональные составляющие, или действия (Action). Действие представляет собой базовую единицу функциональности системы, не декомпозируемую в рамках содержащего их вида деятельности. Все действия являются предопределенными. Например, в языке UML определены действия для создания объектов, установки значений атрибутов, связывания объектов и т.д. Кроме того, имеются действия для выполнения работ, определяемых пользователем (в том числе и видов деятельности). Действия могут иметь входы и выходы, называемые контактами (Pin), которые связываются ребрами потоков объектов. Контакты – это разновидность узлов объектов, поэтому они временно сохраняют значения данных в потоке. В простейшем случае для начала выполнения действия требуется наличие всех его входных данных. Вид деятельности (Activity) – это спецификация поведения системы в виде координируемой последовательности действий. Подобно всем разновидностям работ в UML, вид деятельности можно инициировать с помощью вызывающего действия (CallAction). Вид деятельности содержит параметры (ActivityParameterNode) для получения входных данных от вызывающего действия и предоставления ему выходных данных. Параметры не являются контактами, поскольку последние используются для соединения действий в потоке, а вид деятельности – это работа, вызываемая действием. Для доступа к значениям параметров из действий внутри вида деятельности параметры моделируются как особый вид узлов потоков объектов. Параметры размещаются на границе диаграммы, и ребра потока объектов соединяют их с контактами. Раздел (ActivityPartition) представляет собой средство группировки действий в соответствии с некоторым признаком. Действие может входить одновременно в несколько разделов. Раздел может содержать несколько подразделов. Особым видом разделов являются так называемые внешние разделы, используемые для представления сущностей, внешних по отношению к системе. Внешние разделы помечаются стереотипом <<external>>. Наиболее часто разделы применяются на этапе определения требований для моделирования подразделений организационной структуры или отдельных исполнителей в бизнес-моделях. Так, в примере на рис. 13 разделы «Отдел заказов», «Бухгалтерия» и «Покупатель» отражают исполнителей бизнес-процесса обработки заказа.
Рис. 13. Пример диаграммы видов деятельности Диаграмма видов деятельности представляет собой граф, узлы которого соединены ребрами, представляющими потоки управления и данных. Маркеры управления и данных двигаются вдоль ребер и обрабатываются узлами, направляются на другие узлы или временно сохраняются. Каждые узел и ребро определяют, когда через них могут проходить управляющие воздействия и значения данных. Эти правила движения маркеров можно комбинировать с целью прогнозирования поведения всего графа. В диаграммах видов деятельности имеется три вида узлов (условные обозначения приведены на рис. 12). Узлы действия оперируют получаемыми управляющими воздействиями и значениями данных и предоставляют управление и данные другим действиям. Узлы управления маршрутизируют перемещение маркеров управления и данных по графу. Эти узлы содержат конструкции для выбора между альтернативными потоками, для параллельного движения по нескольким потокам и т.д. Объектные узлы временно удерживают маркеры данных, которые ожидают продолжения движения по графу. Узлы связываются направленными ребрами двух типов: – ребра потоков управления связывают действия. Они обозначают, что действие на конце ребра со стрелкой не может начаться до того, как закончится исходное действие. По ребрам потоков управления могут проходить только маркеры управления; – ребра потоков объектов соединяют узлы объектов (в том числе, контакты действий и параметры вида деятельности). По ребрам потоков объектов могут проходить только маркеры данных. Действие активизируется только при наличии маркеров управления на всех входных ребрах потоков управления и маркеров данных на всех входных контактах. Перед выполнением действия соответствующие маркеры изымаются, а по его окончании на выходных ребрах потоков управления и выходных контактах размещаются маркеры управления и данных, после чего возможна активизация следующего действия. Ветвление (DecisionNode) дает возможность показать разделение по условиям управляющих потоков. Данный узел имеет единственный вход и несколько выходов со сторожевыми условиями. Так как может выполниться только один из выходных переходов, то сторожевые условия должны взаимно исключать друг друга. Сторожевые условия изображаются в квадратных скобках около линии перехода. Если в качестве сторожевого условия используется [иначе], то это означает, что переход с данной меткой срабатывает в том случае, когда все другие переходы для данного ветвления являются ложными. Слияние (MergeNode) имеет несколько входов и единственный выход. Данный блок означает окончание условного поведения, которое было начато соответствующим ветвлением. Параллельное поведение изображается при помощи разделений (ForkNode) и объединений (JoinNode). Последовательность выполнения параллельных действий является произвольной. Конечный узел (ActivityFinalNode) завершает выполнение всех действий в виде деятельности (в том числе других видов деятельности, вызванных синхронно из текущего), удаляет все маркеры управления и данных, за исключением маркеров данных в выходных параметрах вида деятельности, и возвращает управление в вызвавшее его действие. Конечный узел потока управления (FlowFinalNode) позволяет завершить отдельный поток управления, не затрагивая выполнение вида деятельности целиком. Это особенно полезно для моделирования видов деятельности, обрабатывающих потоки данных. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |