Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Міністерство освіти і науки, молоді та спорту України
Хмельницький національний університет
Лабораторна робота № 6
Аналіз вимог до ПЗ. Побудова діаграм станів та діяльності
Виконав:
студент ПІ-12-1
Крентовський Владислав
Варіант 5.
Перевірив:
викладач кафедри ПІ
Бедратюк Г.І.
2013
Мета. Освоїти нотацію UML для побудови діаграм станів та діяльності. Вивчити технологію побудови діаграм станів та діяльності. Освоїти методику деталізації варіантів використання за допомогою діаграм станів та діяльності.
Структура звіту
Порядок виконання роботи
Завдання.
Деталізувати варіанти використання розробленої моделі за допомогою діаграм станів або діяльності.
Етап 1. Деталізування варіанту використання «Зняти гроші з рахунку» за допомогою діаграми станів.
Рис.1 Діаграма станів «Зняти гроші з рахунку»
Етап 2. Побудова діаграми станів ВВ «Перевірити клієнта», враховуючи, що невірний PIN-код може бути введений не більше трьох раз.
Рис.2 Діаграма станів «Перевірити клієнта»
Контрольні запитання
Діаграма станів (Statechart Diagram) це автомат, що включає стани, переходи, події, діяльності і види дій.
Діаграми станів призначені для відображення станів об'єктів системи, що мають складну модель поведінки, і використовується для демонстрації динамічної моделі елементів. Ці діаграми загострюють увагу на поведінці об'єкту, яка у свою чергу залежить від послідовності подій.
Стан (State) це ситуація в житті об'єкту, впродовж якого він задовольняє деякій умові, виконує певну діяльність або чекає якоїсь події.
Стан визначають наступні елементи:
Стан на діаграмі може бути розділений на дві секції: в першій секції записується ім'я стану, а в другій список деяких внутрішніх дій, діяльностей або переходів в даному стані. Кожна з внутрішніх дій записується у вигляді окремого рядка і має наступний формат: <мітка дії / вираз дії>. Мітка дії вказує на обставини або умови, при яких виконуватиметься діяльність, визначена виразом дії. Перелік міток дії має фіксовані значення в мові UML, які не можуть бути використані як імена подій.
Для створення другої внутрішньої дії (on) в діалоговому вікні Action Specification… на вкладці Detail в полі When: виберіть мітку дії On Event, в полі Event: введіть дію, в полі Condition: введіть результат дії, в полі Type: виберіть Action (встановлюється за замовчуванням), в полі Name: введіть назву дії.
Так, delete у контекстному меню.
На діаграмі станів можуть бути визначені два спеціальні стани: початковий стан і кінцевий стан.
Простим називається такий стан, який не має внутрішньої структури. Стан, у якого є підстани (Substates), тобто вкладені стани, називається складеним або станом-композитом.
Подія (Event) це деякий стимул, що ініціює перехід з одного стану в інший. Подія може мати параметр, який записується в круглих дужках: подія (параметр).
Перехід (Transition) це відношення між двома станами, яке показує, що об'єкт, що знаходиться в першому стані, повинен виконати певні дії і перейти в другий стан, як тільки відбудеться вказана подія і будуть задоволені певні умови.
Перехід визначають п'ять елементів:
Тригерний та нетригерний.
Подія-тригер подія, при отриманні якої об'єктом, що знаходиться в початковому стані, може спрацювати перехід (при цьому має бути виконана сторожова умова). Існують і нетригерні переходи, для яких немає ніякої події-тригера. Нетригерний перехід (який ще називають переходом після завершення), ініціюється неявно, коли робота у вихідному стані закінчиться.
В контекстному меню стрілки виберіть Open Specification…, далі в діалоговому вікні State Transition Specification… на вкладці General в полі Event: введіть текст повідомлення (подію) Клієнт зявився та натисніть ОК.
Сторожова умова булевий вираз, який обчислюється при отриманні події-тригера. Якщо значення істинне, то переходу дозволено спрацювати, якщо помилкове перехід не спрацьовує.
Кнопка |
Назва кнопки |
Призначення кнопки |
Selection Tool |
Цей інструмент дозволяє вибирати елементи діаграми для того, щоб проводити з ними певні дії. Завжди активний, якщо не створюється новий елемент діаграми. |
|
Text Box (Текст) |
Цей інструмент дозволяє створити довільний напис на діаграмі, не прив'язаний до жодного елементу. Цей напис не відображається у вікні браузера, а використовується як коментар в конкретній діаграмі. |
|
Note (Примітка) |
Цей інструмент створює елемент примітки, що дозволяє вписати в нього ухвалені під час аналізу рішення. |
|
Note Anchor |
Цей інструмент дозволяє з'єднати елемент Note з будь-яким елементом на діаграмі, у тому числі і з іншим елементом Note. |
|
State (Стан) |
Інструмент для створення стану в діаграмі. |
|
Start State (Початковий стан) |
Інструмент для створення в діаграмі початкового стану. |
|
End State |
Інструмент для створення в діаграмі кінцевого стану. |
|
State Transition (Перехід стану) |
Цей інструмент дозволяє побудувати переходи між станами. |
|
Transition to Self |
Цей інструмент дозволяє побудувати перехід в той самий стан. |
|
Decision (Рішення) |
Цей інструмент дозволяє побудувати умовні переходи (розгалуження). |
|
Horizontal Synchronization (Горизонтальна cинхронізація) |
Цей інструмент дозволяє побудувати розпаралелювання процесу на підпроцеси і злиття підпроцесів. |
|
Vertical Synchronization (Вертикальна cинхронізація) |
Цей інструмент дозволяє побудувати розпаралелювання процесу на підпроцеси і злиття підпроцесів. |
Він може містити як паралельні (незалежні), так і послідовні (такі, що не перетинаються) підстани. При цьому будь-який з підстанів, у свою чергу, може бути складеним станом і містити в собі інші вкладені підстани. Глибина вкладеності станів не обмежена.
Історичний стан (History State) псевдостан, який використовується для запам'ятовування того з послідовних підстанів, який був поточним у момент виходу зі складеного стану.
Спочатку створіть звичайний стан, далі в контекстному меню стану виберіть Open Specification…, у діалоговому вікні State Specification… на вкладці General встановіть “прапорець» State/activity history (всередині стану зявиться елемент
н
).
Розгалуження.
Для моделювання процесу виконання операцій в мові UML використовуються діаграми діяльності (Activity Diagram), які є окремим випадком діаграм станів. Цей вид діаграм відноситься до динамічних представлень системи, і є найбільш корисним при моделюванні її функціонування, оскільки відображає передачу потоку управління між об'єктами, а також дозволяє показати не тільки послідовність процесів, але і розгалуження і навіть синхронізацію процесів.
Під діяльністю (Аctivity) розуміється специфікація виконуваної поведінки у вигляді координованого послідовного і паралельного виконання підпорядкованих елементів вкладених видів діяльності і окремих дій (Аction), сполучених між собою потоками, які йдуть від виходів одного вузла до входів іншого.
Головна відмінність між діаграмою діяльності і діаграмою станів полягає втому, що в першому випадку основне це дії, а в другому статичний стан. При цьому діаграма діяльності більше підходить для моделювання послідовності дій, а діаграма станів для моделювання дискретних станів об'єкту.
Достоїнством діаграми діяльності є можливість візуалізувати окремі аспекти поведінки даної системи або її частин у вигляді процедурної послідовності дій.
За допомогою діаграм діяльності зручно представляти алгоритми виконання робіт. Зокрема, використання розгалуження дає можливість легко відобразити основний і альтернативні потоки подій при виконанні варіантів використання.
Цей вид діаграм ефективний і при описі діяльності організації при проведенні бізнес-аналізу.
Кнопки панелі інструментів ToolBox такі ж, як і для діаграми станів. Окрім них, є ще дві кнопки: Activity (Активність або діяльність) та Swimlane (Доріжка) .
Клацніть правою кнопкою миші на Use Case View у вікні браузера, у контекстному меню виберіть NewStatechat Diagram(Activity Diagram) та введіть імя нової діаграми.