
- •Методичні вказівки
- •Частина 3
- •Лабораторна робота №4 Діаграми станів
- •4.2.2 Стани, діаграма станів
- •4.2.3 Переходи та умови
- •4.2.4 Діяльність на діаграмі станів
- •4.2.5 Вкладеність станів
- •4.2.6 Паралелізм
- •4.2.6.1 Паралелізм в агрегації
- •4.2.6.2 Паралелізм в об’єкті
- •4.2.7 Створення діаграми станів
- •4.2.7.1 Панель інструментів
- •4.2.7.2 Контекстне меню стану
- •4.2.7.3 Специфікації стану
- •4.3.7.4 Специфікації переходу
- •4.2.8 Приклад виконання
- •4.3 Завдання на лабораторну роботу
- •4.5 Контрольні питання
- •Лабораторна робота №5 Діаграми діяльності
- •5.1 Мета роботи
- •5.2 Основні теоретичні відомості
- •Діаграма діяльності
- •Розгалуження та умови
- •Паралелізм
- •Плавальні доріжки
- •Створення діаграми діяльності
- •5.2.6.1 Панель інструментів
- •Vertical Synchronization (вертикальний символ синхронізанції)
- •5.2.6.2 Контекстне меню діяльності
- •5.2.6.3 Конекстне меню символу синхронізації
- •5.2.6.4 Специфікації елементів діаграми діяльності
- •Приклад виконання
- •5.3 Завдання на лабораторну роботу
- •Лабораторна робота №6 Діаграми компонентів
- •Діаграма компонентів
- •Компоненти
- •Атрибути компонента
- •Створення діаграми компонентів
- •6.2.4.1 Панель інструметів
- •6.2.4.2 Контекстне меню компонента
- •6.2.4.3 Специфікації компонента
- •Приклад виконання
- •Лабораторна робота №7 Діаграми розміщень
- •Діаграма розміщень
- •Процессори
- •Прилади
- •З'єднання
- •Створення діаграми розміщень
- •7.2.5.1 Панель інструментів
- •7.2.5.2 Контекстне меню процесора
- •7.2.5.3 Контекстне меню пристрою
- •7.2.5.4 Специфікації процесора
- •7.2.5.5 Специфікації приладу
- •Приклад виконання
- •Завдання на лабораторну роботу
- •Завдання на лабораторну роботу.
- •Контрольні питання
- •Рекомендована література
Розгалуження та умови
Якщо деяка діяльність має декілька наступних, має місце так зване розгалуження. В цьому випадку на діаграмі наступним елементом після поточної діяльності ставиться ромб, від якого розходяться стрілки до символів усіх наступних операцій. У випадку розгалуження керування отримає лише одна з наступних операцій. Для визначення того, яка саме, над стрілками в квадратних дужках вказуються логічні умови, виконання яких необхідно для активації відповідного переходу і передачі керування конкретній операції. Якщо жодна з умов не виконається, модель варто вважати погано узгодженою і таку ситуацію — помилковою. Для уникнення подібних інцедентів варто використовувати умову [else], яка передає керування на операцію в разі, якщо жодна з альтернативних умов не була виконана. Якщо ж при розгалуженні виконуються одразу декілька умов, управління отрімає лише одна з операції і неможливо наперед зпрогнозувати яка саме. За вийнятком деяких специфічних ситуацій, коли подібна поведінка є очікуваною, подібних рішень варто уникати і вважати такі моделі помилковими.
Коли альтернативні потоки виконання сходяться у деяку діяльність і далі продовжується послідовне виконання, також використовується ромб, в яких входять стрілки альтернативних потоків і з якого виходить одна, що направлена до “узагальнюючої” діяльності. На рис. 5.3 показані основні елементи розгалужень на прикладі діяльності при розрахункові коренів квадратного рівняння.
Вхід та вихід
Початок та завершення виконання діаграми діяльності помічається символами, використовуваними з аналогічною метою на діаграмах станів:
– початок виконання (точка входу у діаграму);
– завершення виконання (точка виходу).
Коли діаграма діяльності активується, управління передається на точку входу, з якої по стрілкам переходів направляється до наступних діяльностей доки не досягне однієї з точок виходу, що автоматично означає завершення роботи в даній діаграмі діяльності і, відповідно, завершення діяльності, яку вона описує. Як і в попередньому випадку, логічно, що точка входу може бути тільки одна і дозволені лише переходи, направлені від точки входу, а точок виходу може бути декілька і дозволено лише переходи до точки виходу, а не від неї.
Рисунок 5.3 – Діаграма діяльності з розгалуженням
Паралелізм
На відміну від традиційних блок-схем, діаграми діяльності можуть описувати виконання паралельних операцій. Розгалуження і злиття керування в таких ситуаціях позначається на діаграмі жирною рискою, з якої виходять, або в яку, відповідно, входять, стрілки паралельних потоків управління.
В точці розгалуження керування передається одночасно усім гілкам. В точці поєднання паралельні потоки, що завершилися раніше очікують на завершення усіх паралельних їм і тільки по завершені усіх гілок керування передається операції, наступнії після точки злиття.
Плавальні доріжки
В програмних моделях досить часто необхідно показати розподіл деякої паралельної роботи між частинами системи, наприклад програмними модулями, або навіть групами програмних модулів. При деталізації конкретні дії будуть приписані конкретним об'єктам, але на високому рівні досить зручно розподілити діяльності між відносно великими модулями (рис. 5.4).
Для такого роду моделей використовується окремий вид позначень, так звані плавальні доріжки. Конструктивно вони являють собою логічні частини діаграми діяльності, відокремлені одна від одної прямою вертикальною лінією, кожна з яких асоціюється з групою об'єктів, що виконує певну дію в процесі паралельного виконання. Можлива наявність переходів між різними плавальними доріжками, які позначають взаємодію між виділеними групами об'єктів.
Рисунок 5.4 – Фрагмент діаграми діяльності з використанням плавальних доріжок