Для моделювання процесу виконання операцій в мові UML використовуються діаграми діяльності. Вживана в них графічна нотація багато в чому схожа на нотацію діаграми станів, оскільки на діаграмах діяльності також присутні позначення станів і переходів. Відмінність полягає в семантиці станів, які використовуються для представлення діяльності і дій, а також у відсутності на переходах сигнатури подій. Кожний стан на діаграмі діяльності відповідає виконанню деякої операції, а перехід в наступний стан відбувається тільки після завершення виконання цієї операції. Діаграма діяльності представляється у формі графа діяльності, вершинами якого є стани дії або діяльності, а дугами - переходи від одного стану дії до іншого.
Стан діяльності (activitystate) - стан в графі діяльності, який служить для представлення процедурної послідовності дій, що вимагають певного часу.
Стан дії (action state) - спеціальний випадок стану з деякою вхідною дією і, принаймні, одним переходом, що виходить із стану.
Графічно стани діяльності і дії зображуються однаковою фігурою, що нагадує прямокутник, бічні сторони якого замінені випуклими дугами (мал. 1). Усередині цієї фігури записується ім'я стану діяльності (мал. 1, а) або дії (мал. 1, б) у формі вираження (expression), яке повинно бути унікальним в межах однієї діаграми діяльності.
Мал. 1. Графічне зображення станів діяльності і дії
Дія може бути записане на природній мові, псевдокоді або мові програмування.
Стан під-діяльності (subactivity state) - стан в графі діяльності, який служить для представлення неатомарної послідовності кроків процесу.
Цей стан є графом діяльності і позначається спеціальною піктограмою в правому нижньому кутку символу стану дії (мал. 2). Дана конструкція може застосовуватися до будь-якого елементу мови UML, яка підтримує "вкладеність" своєї структури. При цьому піктограма може бути додатково помічена типом вкладеної структури.
Мал. 2. Графічне зображення стану під-діяльності
Перебування модельованого об'єкту або системи в першому стані може супроводжуватися виконанням деяких внутрішніх дій або діяльності. При цьому зміна поточного стану об'єкту буде можлива або після завершення цих дій (діяльності), або при виникненні деяких зовнішніх подій. У обох випадках говорять, що відбувається перехід об'єкту з одного стану в інше.
Перехід (transition) - відношення між двома станами, яке вказує на те, що об'єкт в першому стані повинен виконати певні дії і перейти в другий стан.
Перехід здійснюється при настанні деякої події: закінчення виконання діяльності (do activity), отриманні об'єктом повідомлення або прийомом сигналу. На переході вказується ім'я події, а також дії, вироблювані об'єктом у відповідь на зовнішні події при переході з одного стану в інше.
Перехід може бути направлений в той же стан, з якого він виходить. В цьому випадку його називають переходом в себе.
Спрацьовування <переходу> (fire) - виконання переходу з одного стану в інше.
Спрацьовування переходу може залежати не тільки від настання події, але і від виконання певної умови, званої сторожовим. Об'єкт перейде з одного стану в інше в тому випадку, якщо відбулася вказана подія і сторожова умова прийняло значення "істина". До спрацьовування переходу об'єкт знаходиться в попередньому від нього стані, що називається початковим, або в джерелі (не плутати з початковим станом - це різні поняття), а після його спрацьовування об'єкт знаходиться в наступному від нього стані (цільовому стані).
Перехід називається тригерним, якщо його специфікує подія-триггер, пов'язана із зовнішніми умовами по відношенню до даного стану.
В цьому випадку поряд і з стрілкою тригерного переходу обов'язково вказується ім'я події у формі рядка тексту, що починається з рядкової букви.
Перехід називається нетригерним, якщо він відбувається після закінчення виконання ду-діяльності в даному стані.
Нетригерні переходи часто називають переходами після закінчення ду-діяльності. Для них поряд із стрілкою переходу не вказується ніякого імені події, а в початковому стані повинна бути описана внутрішня ду-діяльність, після закінчення якої відбудеться той або інший нетригерний перехід.
Сторожова умова (guard condition) - логічна умова, записана в прямих дужках і що являє собою булевий вираз
Якщо із стану дії виходить єдиний перехід, то його можна ніяк не позначати. Якщо ж таких переходів декілька, то при моделюванні послідовної діяльності запускається тільки один з них. В цьому випадку для кожного з таких переходів повинна бути явно записане власна сторожова умова в прямих дужках При цьому для всіх переходів, що виходять з деякого стану діяльності, повинна виконуватися вимога істинності тільки одного з них. Подібний випадок зустрічається тоді, коли послідовно виконувана діяльність повинна розділитися на альтернативні гілки залежно від значення проміжного результату. Така ситуація отримала назву розгалуження, а для її позначення застосовується спеціальний символ рішення.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.