Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ример моделирования процесса функционирования телефонного

 

аппарата Даннаядиаграммасостояний включает одно составное состояние. Вне этого составного состояния имеется состояние "ожидание", которое характеризует

ссппррааввнныыйй ии ппооддккллююччеенннныыйй к телефонной сети телефонный аппарат. Переход в следующее состояние происходит при поднятии телефонной трубки. Переход с атомарным действием "подать тоновый сигнал" переводит аппарат в составное состояние, а точнее - в начальное его подсостояние.




 

 

Заключение

 

· По своему назначению диаграмма состояний не является обязательным представлением в модели и как бы "присоединяется" к тому элементу, который, по замыслу разработчиков, имеет нетривиальное поведение в течение своего жизненного цикла. Наличие у системы нескольких состояний, отличающихся от простой дихотомии "исправен - неисправен", "активен - неактивен", "ожидание -реакция на внешние действия", уже служит признаком необходимости построения диаграммы состояний. В качестве начального варианта диаграммы состояний, если нет очевидных соображений по поводу состояний объекта, можно воспользоваться этими суперсостояниями, рассматривая их как составные и уточняя их (детализируя их внутреннюю структуру) по мере

аассссммооттрреенниияя ллооггииккии ппооввееддеенниияя ооббъъееккттаа..

 

· При выделении состояний и переходов следует помнить, что длительность срабатывания отдельных переходов должна быть существенно меньшей, чем нахождение моделируемого объекта в соответствующих состояниях. Каждое из состояний должно характеризоваться определенной устойчивостью во времени. Другими словами, из каждого состояния на диаграмме не может быть самопроизвольного перехода в какое бы то ни было другое состояние. Все переходы должны быть явно специфицированы, в противном случае построенная диаграмма состояний является либо неполной, либо ошибочной.

 

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


Диаграмма деятельности (activity diagram)

 

· Для моделирования процесса выполнения операций в языке UML

используются диаграммы деятельности. Применяемая в них

графическая нотация во многом похожа на нотацию диаграммы состояний, поскольку на диаграммах деятельности также

присутствуют обозначения состояний и переходов. Отличие

заключается в семантике состояний, которые используются для

представления не деятельностей, а действий, и в отсутствии на

ееррееххооддаахх ссииггннааттууррыы ссооббыыттиийй.. ККаажжддооее ссооссттоояяннииее ннаа ддииааггррааммммее

деятельности соответствует выполнению некоторой элементарной

операции, а переход в следующее состояние срабатывает только при завершении этой, операции в предыдущем состоянии.

Графически диаграмма деятельности представляется в форме

графа деятельности, вершинами которого являются состояния

действия, а дугами - переходы от одного состояния действия к

другому.

 

· Диаграмма деятельности строится для отдельного класса, варианта

использования, отдельной операции класса или целой подсистемы.

 

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

является визуализация особенностей реализации операций классов,

когда необходимо представить алгоритмы их выполнения.


Диаграмма деятельности (activity diagram)

 

· Каждая диаграмма деятельности должна иметь единственное начальное и единственное конечное состояния. Они имеют такие же обозначения, как и на диаграмме состояний. При этом каждая деятельность начинается в начальном состоянии и

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


 

 

Состояние действия

· Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и по крайней мере одним выходящим из состояния переходом. Этот переход неявно предполагает, что входное действие уже завершилось. Состояние действия не может иметь внутренних переходов, поскольку оно является элементарным. Обычное использование состояния

ееййссттввиияя ззааккллююччааееттссяя вв ммооддееллииррооввааннииии ооддннооггоо шшааггаа выполнения алгоритма (процедуры) или потока управления.

 

 

Действие может быть записано на естественном языке, некотором псевдокоде или языке программирования. Рекомендуется в качестве имени простого действия использовать глагол с пояснительными словами (рис. а). Если же действие может быть представлено в некотором формальном виде, то целесообразно записать его на том языке программирования, на котором

редполагается реализовывать конкретный проект (рис. б).


 

 

Переходы

 

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

 

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

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


Пример алгоритма нахождения корней квадратного уравнения

 

Графически ветвление на диаграмме деятельности обозначается небольшим ромбом. В этот ромб может входить только одна стрелка от того состояния действия, после

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


Другой пример ветвления на диаграмме деятельности

В примере рассчитывается общая стоимость товаров, покупаемых по кредитной карточке в супермаркете. Если эта стоимость превышает $50, то выполняется аутентификация личности владельца карточки. В случае положительной проверки (карточка действительная) или если стоимость товаров не превышает $50, происходит снятие суммы со счета и оплата стоимости товаров. При отрицательном результате (карточка недействительная) оплаты не происходит, и товар остается у продавца.


 

 

Переходы

 

 

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

 

ак правило, такая черточка изображается отрезком горизонтальной линии, толщина которой несколько шире основных сплошных линий диаграммы деятельности. При этом разделение (concurrent fork) имеет один входящий переход и несколько выходящих (рис. а). Слияние (concurrent join), наоборот, имеет несколько входящих переходов и один выходящий (рис. б).


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

 

напитка


 

 

Дорожки

 

· Диаграммы деятельности могут быть использованы не только

для спецификации алгоритмов вычислений или потоков

управления в программных системах. Не менее важная область

их применения связана с моделированием бизнес-процессов.

Деятельность любой компании (фирмы) представляет собой

совокупность отдельных действий, направленных на

достижение требуемого результата. Однако применительно к бизнес-процессам необходимо выполнение каждого действия

ссоциировать с конкретным подразделением компании. В этом

лучае подразделение несет ответственность за реализацию

отдельных действий, а сам бизнес-процесс представляется в

виде переходов действий из одного подразделения к другому.

 

· Для моделирования этих особенностей в языке UML

используется специальная конструкция, получившее название

дорожки (swimlanes). Имеется в виду визуальная аналогия с

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

на диаграмме деятельности делятся на отдельные группы,

которые отделяются друг от друга вертикальными линиями. Две

соседние линии и образуют дорожку, а группа состояний между

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

(отделом, группой, отделением, филиалом) компании.


 

 

Дорожки

 

 

Названия подразделений явно указываются в верхней части дорожки. Пересекать линию дорожки могут только переходы, которые в этом случае

бозначают выход или вход потока управления в соответствующее подразделение компании. Порядок следования дорожек не несет какой-либо семантической информации и определяется соображениями удобства.


Фрагмент диаграммы деятельности торговой

 

 

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

 

Из диаграммы деятельности видно, что после принятия заказа от клиента отделом приема и

ффооррммллеенниияя ззааккааззоовв ооссуущщеессттввлляяееттссяя распараллеливание деятельности на два потока (переход-разделение). Первый из них остается в этом же отделе и связан с получением оплаты от клиента за заказанный товар. Второй инициирует выполнение действия по подбору товара в отделе продаж (модель товара, размеры, цвет, год

выпуска и пр.).

По окончании этой работы инициируется действие по отпуску товара со склада. Подготовка товара к отправке в торговом отделе начинается только после того, как будет получена оплата за товар от клиента и товар будет отпущен со склада (переход-соединение). Только после этого товар отправляется клиенту, переходя в его собственность.


 

 

Объекты

 

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

 

· Для графического представления объектов используется прямоугольник класса, но имя объекта подчеркивается. Далее после имени может указываться характеристика состояния объекта в прямых скобках. Такие прямоугольники

бъектов присоединяются к состояниям действия отношением зависимости унктирной линией со стрелкой. Соответствующая зависимость определяет

состояние конкретного объекта после выполнения предшествующего действия.

 

· На диаграмме деятельности с дорожками расположение объекта может иметь некоторый дополнительный смысл. А именно, если объект расположен на границе двух дорожек, то это может означать, что переход к следующему состоянию действия в соседней дорожке ассоциирован с готовностью некоторого документа (объект в некотором состоянии). Если же объект целиком расположен внутри дорожки, то и состояние этого объекта целиком определяется действиями данной дорожки.


Фрагмент диаграммы деятельности торговой компании с объектом-заказом

 

 

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

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


Синхронизация действий на диаграмме деятельности

 

На диаграмме деятельности синхронизация параллельных процессов может быть реализована с помощью переходов "разделение-слияние".

В качестве примера рассмотрим упрощенную ситуацию с моделированием процесса

ооссттррооййккии ддооммаа.. ВВ ээттоомм ппррииммееррее ппооссттррооййккаа дома включает в себя строительные работы (возведение фундамента и стен, возведение крыши и отделочные работы) и работы по электрификации дома (подведение электрической линии, прокладка скрытой электропроводки и установка осветительных ламп). Синхронизация параллельного выполнения этого комплекса работ может быть явно указана на диаграмме деятельности.

<== предыдущая лекция | следующая лекция ==>
Рынки информационных услуг | 
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 606; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.059 сек.