Авторизация



Возможности языка UML

Печать
27.08.2012 12:06

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

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

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

Поток событий направляется по этому пути, если не выполняется ни одно из перечисленных условий. Условия не могут перекрываться.
Условие помещается в квадратные скобки возле изображения маршрута. Рассмотрим вышесказанное на примере реализации покупок в Интернет-магазине. Первый вид деятельности объекта Order —вычисление начальной стоимости заказа. Это может быть общая стоимость статей, входящих в заказ. После указанного этапа происходит ветвление, обусловленное разницей стоимости доставки в зависимости от пункта назначения. После вычисления стоимости маршруты сливаются, и рассчитанное значение добавляется к текущей стоимости заказа.
Линии со стрелками, связывающие на диаграмме виды деятельности и отдельные действия, называются в языке UML переходами. Они обозначают переходы потока управления от одного действия к другому.  
Распараллеливание — это разделение потока управления на два или больше потоков, работающих одновременно и независимо друг от друга. Объединение— это слияние двух или больше потоков управления в один поток.
Распараллеливание и объединение очень полезны при моделировании процессов и потоков, которые будут рассмотрены в конце этой статьи.
И распараллеливание, и объединение обозначаются одним символом — жирной черной линией, которая называется полосой синхронизации.

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

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



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


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

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

Диаграмму видов деятельности можно расширить, отобразив на ней изменения объектов (object proxcard), т.е. зависимости, показывающие, как объекты задействованы в различных действиях и видах деятельности, изображенных на диаграмме видов деятельности.
Язык UML предоставляет два способа изображения объектов и их изменения. Первый способ предполагает указание новых значений одного или нескольких атрибутов стандартным способом (атрибут значение). При втором способе значение состояния указывается в квадратных скобках (состояние).
Состояние объекта будет рассмотрено в следующей статье. В данном случае иллюстрируются некоторые изменения, происходящие с объектом Order в процессе его использования в системе книжного магазина.
Здесь подразумевается, что атрибут (предпочтения записаны) объекта имеет начальное значение False. Очень удачно, если это будет диаграмме классов, в которую входит класс. Подразумевается также, что у объекта есть атрибут, который после завершения вида деятельности Заполнить данные для бухгалтерии принимает значение True.
Программа, работающая под управлением операционной системы Windows или Unix, обычно выполняется в рамках процесса. Каждый процесс имеет уникальный идентификатор. Поток (thread) — это более легковесный поток управления, находящийся в пределах процесса.
Активный объект— это объект, который может владеть процессом или потоком. Следовательно, активный класс— это класс, экземпляры которого являются активными объектами.

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


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

 
Продолжим исследование внутреннего устройства объектов. Эта статья посвящена вопросам, связанным с существованием объектов в пределах системы.
 
Событие— это происшествие, интересующее объект. В языке UML поддерживаются обозначения для четырех видов событий.
 Сигнал— асинхронное взаимодействие между объектами.  Событие вызова— синхронное взаимодействие, в котором участвует объект, вызывающий метод другого объекта, или объект, вызывающий собственный метод. Событие вызова эквивалентно действию вызова.  Временное событие— это событие, происходящее через определенный промежуток времени. Временное событие обозначается словом hid, за которым следует временное выражение. Реакция объекта на определенное событие зависит от состояния, в котором находится объект в момент получения события.
 
 
Когда объект находится в состоянии Отправка, он осуществляет вид деятельности, затрагивающий другие объекты. (Это обычная практика, когда в деятельности объекта принимают участие другие объекты) Состояние Отправлен является примером состояния, в котором объект удовлетворяет определенным условиям. Состояние
Переход— это изменение одного состояния объекта исходное состояние) на другое (целевое состояние).
Переход осуществляется при реализации события, которое интересует объект (событие инициирует переход). В тоже время, переход может произойти безусловно, когда объект готов перейти из состояния в  после завершения вида деятельности, связанного с исходным состоянием. Такой переход называется безусловным переходом.
 
С инициированным событием может быть, связано действие. Если с переходом не связано условие (рассматривается в следующем подразделе), то действие осуществляется до перехода объекта в целевое состояние.

 

 
Онлайн игры
Чего хотят игроки Майнкрафт: рейтинг самых желаемых обновлений
Чего хотят игроки Майнкрафт: рейтинг самых желаемых обновлений
  На сегодня разработчикам пресловутой песочницы Майнкрафт даже не приходится думать над обновлениями для игры – им подают ...

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

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

top