Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра автоматизованих систем управління
Лабораторна робота № 2
з дисципліни
“Основи автоматизованого проектування складних об’єктів та систем”
Мета: Оволодіти навичками моделювання діаграм прецедентів та навчитися реалізовувати їх.
1. Порядок виконання роботи
Ознайомитися з теоретичною частиною.
Ознайомитися із середовищем розробки діаграм.
Розробити діаграму прецедентів для свого індивідуального завдання.
Здійснити документацію для кожного прецеденту діаграми.
Оформити звіт по результатах виконаної роботи.
Теоретичні відомості
Прецедентом (Use case) називається опис множини послідовностей дій (включаючи варіанти), що виконуються системою для того, щоб актор міг отримати певний результат. Графічно прецедент зображається у вигляді еліпса.
Діаграма прецедентів в UML, це діаграма, на якій зображено відношення між акторами та прецедентами в системі. Також, перекладається як діаграма варіантів використання.
Діаграми прецедентів або діаграми використання (use case diagrams). Такі діаграми описують функціональність, яка буде надаватись користувачам системи, котра проектується. Представляються шляхом використання прецедентів та акторів, а також відношень між ними. Набір усіх прецедентів діаграми фактично визначає функціональні вимоги, за допомогою яких може бути сформульоване технічне завдання.
Прецеденти є основним засобом визначення необхідної поведінки системи. Як правило, вони використовуються для опиу вимог до системи, тобто, що має робити система. Основними поняттями, пов'язаними з прецедентами є актори, прецеденти (варіанти використання), та суб'єкт.
Суб'єкт — це система, що розглядається і до якої відносяться прецеденти. Користувачів та будь-які інші системи, що можуть взаємодіяти із суб'єктом, представлено як акторів. Актори завжди представляють сутності, що знаходяться за межами системи. Поведінка суб'єкта описується одним або більше прецедентами, що визначаються відповідно до потреб акторів. Строго кажучи, термін «прецедент» означає тип прецедента. Екземпляр прецедента означає існування поведінки, що відповідає вимогам типу прецедента. Часто такі екземпляри описуються специфікаціями взаємодії.
Діаграма прецедентів є графом, що складається з множини акторів, прецедентів (варіантів використання) обмежених границею системи (прямокутник), асоціацій між акторами та прецедентами, відношень серед прецедентів, та відношень узагальнення між акторами. Діаграми прецедентів відображають елементи моделі варіантів використання.
Прецеденти і потік подій
Прецедент описує, що робить система (підсистема, клас або інтерфейс), але не визначає, яким чином вона це робить. В процесі моделювання завжди важливо розділяти зовнішнє і внутрішнє уявлення.
Можна специфікувати поведінку прецеденту шляхом опису потоку подій в текстовій формі - у вигляді, зрозумілому для стороннього читача. У опис необхідно включити вказівку на те, як і коли прецедент починається і закінчується, коли він взаємодіє з акторами і якими об'єктами вони обмінюються. Важливо позначити також основний і альтернативний потоки поведінки системи.
Наприклад, в контексті банкомату можна було б таким чином описати прецедент Validateuser (Провірити користувача).
Основний потік подій. Прецедент починається, коли система запрошує у клієнта його персональний ідентифікаційний номер (PIN). Клієнт (Customer) може ввести його з клавіатури. Завершується введення натисненням клавіші Enter. Після цього система перевіряє введений PIN і, якщо він правильний, підтверджує введення. На цьому прецедент закінчується.
Винятковий потік подій. Клієнт може припинити транзакцію у будь-який момент, натиснувши клавішу Cancel. Цю дію починає прецедент наново. Ніяких змін на рахунку клієнта на проводиться.
Винятковий потік подій. Клієнт може у будь-який момент до натиснення клавіші Enter стерти свій PIN і ввести новий.
Винятковий потік подій. Якщо клієнт ввів неправильний PIN, прецедент запускається спочатку. Якщо це відбувається три рази підряд, система відміняє всю транзакцію і не дозволяє даному клієнтові знову почати роботу з банкоматом протягом 60 секунд.
Типові приклади застосування
Діаграми прецедентів, або варіантів використання, застосовують для моделювання статичного виду системи з погляду прецедентів. Цей вигляд охоплює головним чином поведінку системи, тобто видимі ззовні сервіси, що надаються системою в контексті її оточення.
При моделюванні статичного виду системи з погляду прецедентів діаграми використання зазвичай застосовуються двома способами:
для моделювання контексту системи.
Моделювання контексту має на увазі, що ми обводимо систему уявною лінією і виявляємо актори, які знаходяться за цією лінією і взаємодіють з системою.
Діаграми прецедентів потрібні на цьому етапі для ідентифікації акторів і семантики їх ролей;
для моделювання вимог до системи.
Моделювання вимог до системи припускає вказівку на те, що система повинна робити (з погляду зовнішнього спостерігача), незалежно від того, як вона винна це робити. Діаграми прецедентів потрібні тут для специфікації бажаної поведінки системи. Вони дозволяють розглядати всю систему як "чорний ящик": ви бачите все, що знаходиться поза нею, спостерігаєте за її реакцією на події, але нічого не знаєте про її внутрішній устрій.
Прецедентам рекомендується співставляти потоки подій, які описують поведінку системи в процесі отримання необхідного результату.
Потоки подій описуються мовою предметної області, а не в термінах реалізації.
Найчастіше для опису потоку подій пропонується наступна структура:
заголовок (наприклад, “Потік подій для прецеденту <Зняти гроші>”);
короткий опис потоку (наприклад, “Дозволяє клієнту зняти гроші з його рахунку”);
передумови (pre-conditions) (діаграми прецедентів не дозволяють відображати послідовний характер використання прецедентів!);
головний потік подій та, можливо, його підпотоки;
альтернативні потоки подій;
постумови (post-conditions).
Документація прецедентів
Описуюча специфікація прецеденту Перегляд доступних товарів
Прецедент
Перегляд доступних товарів
Короткий опис
Прецедент дає можливість користувачу переглядати інформацію про товари, які пропонує інтернет-магазин.
Суб'єкти
Користувач, Система
Передумови
Користувач вибирає товар, який його цікавить.
Основний потік
Початок прецеденту – це перегляд загальної інформації про доступні товари. В разі бажання клієнта замовити щось - необхідно зареєструватися.
Альтернативний потік
Якщо ж незареєстрований користувач захотів переглянути заборонену інформацію, то система повідомляє клієнту про помилку процедури і пропонує повторити спробу.
Постумови
Якщо прецедент був успішний, система прийняла запит користувача. В іншому випадку проходить відмова і система пропонує повторити спробу.
Описуюча специфікація прецеденту Пошук
Прецедент
Пошук
Короткий опис
Прецедент дає можливість клієнту провести пошук по базі даних саме того товару, який його цікавить
Суб'єкти
Клієнт, Система
Передумови
Користувач ознайомлюється із запропонованим товаром, вибирає той, який йому підходить і надсилає запит.
Основний потік
Початок прецеденту - співпадає з рішенням клієнта вибрати товар саме в цьому інтернет-магазині. Система пропонує декілька форм пошуку (наприклад, за унікальним кодом товару, за повною назвою та ін.). В результаті система видає інформацію згідно введених клієнтом даних.
Альтернативний потік
Клієнт не вводить в поле пошуку жодної інформації. Стан системи залишається незмінним.
Постумови
Якщо прецедент був успішний, запит опрацьовується. В іншому cтан системи залишається незмінним.
Описуюча специфікація прецеденту Реєстрація
Прецедент
Реєстрація
Короткий опис
Прецедент дає можливість клієнту зареєструватись в
системі.
Суб'єкти
Клієнт, Система
Передумови
Клієнт, користуючись вказівками інтерфейсу,
реєструється в системі.
Основний потік
Початок прецеденту - користувач заповнює електронну
реєстраційну форму, де вказує необхідну інформацію.
Система відображає реєстраційну форму, з полями для
вводу інформації про клієнта.
Альтернативний потік
Якщо клієнт вводить некоректні дані, то система
виводить повідомлення про помилку i повертається до форми
реєстрації.
Постумови
Якщо реєстрація пройшла успішно, клієнт може
Здійснити замовлення бажаного товару.
Прецедент
Кошик
Короткий опис
Система дає можливість клієнтам зберегти певні товари у кошику, щоб за необхідності мати змогу швидко до них повернутися.
Суб'єкти
Клієнт, Система
Передумови
Система повинна заносити в кошик товари, які обирає клієнт
Основний потік
Система заносить у кошик усю доступну інформацію про даний товар. Якщо кошик не порожній – додає до уже існуючих даних.
Альтернативний потік
Якщо клієнт некоректно вводить дані, система пропонує повторити спробу.
Постумови
Система заносить в базу даних необхідну інформацію. Інакше пропонує перейти до повторного заповнення форми.
Описуюча специфікація прецеденту Оформлення замовлення
Прецедент
Оформлення замовлення
Короткий опис
Прецедент дає можливість клієнту замовити обраний товар
Суб'єкти
Клієнт, Система
Передумови
Клієнт заповнює форму з відповідними полями.
Основний потік
Початок прецеденту - остаточне рішення клієнта замовити певний товар. Клієнт вибирає зі списку ті товари, які його зацікавили і відправляє запит на замовлення. Після чого клієнт повинен підтвердити замовлення.
Альтернативний потік
Якщо замовлення не було підтверджене, система пропонує повторити спробу.
Постумови
Якщо прецедент був успішний, система передає клієнту повідомлення про успішне замовлення. В іншому випадку пропонує повторити спробу.
Описуюча специфікація прецеденту Оплата
Прецедент
Оплата
Короткий опис
Прецедент дає можливість клієнту оплатити вартість товару.
Суб'єкти
Клієнт, Система
Передумови
Клієнт вибирає товар і форму оплати(готівка, безготівкова, кредитна картка) .
Основний потік
Початок прецеденту – кінець процедури реєстрації, після якої клієнт може оплатити вартість товару. Клієнт проводить оплату в зручній для нього формі(готівкою, безготівковою, кредитною карткою).
Альтернативний потік
З тих чи інших причин система повідомляє клієнту про помилку процедури оплати і пропонує повторити спробу.
Постумови
Якщо прецедент був успішний, система прийняла оплату клієнта. В іншому випадку проходить відмова і система пропонує повторити спробу.
Описуюча специфікація прецеденту Повідомлення користувачу
Прецедент
Повідомлення користувачу
Короткий опис
Прецедент інформує користувача про хід його сеансу.
Суб'єкти
Система
Передумови
Система отримала деякий запит та опрацьовує його.
Основний потік
Початок прецеденту – закінчення опрацювання запиту користувача. В залежності від успішності виконання та прецеденту, який привів до запиту, система відправляє відповідне повідомлення.
Альтернативний потік
Якщо ніяких запитів до системи не надходило, її стан залишається незмінним
Постумови
Якщо прецедент був успішний, система надсилає повідомлення про результат виконання запиту, а також додаткову інформацію, якщо така передбачена прецедентом, що призвів до запиту.
Описуюча специфікація прецеденту Оновлення даних
Прецедент
Оновлення даних
Короткий опис
База даних оновлюється при замовленні або скасуванні замовлення товарів.
Суб'єкти
Система
Передумови
Системи повинна постійно оновлювати базу даних доступних товарів.
Основний потік
Система оновлює базу даних при замовленні або скасуванні замовлення товарів.
Альтернативний потік
Стан системи залишається незмінним.
Постумови
Система заносить в базу даних інформацію про стан товару(чи є ще в наявності і де(на основному складі, в магазині чи на вітрині).
Діаграма прецедентів
Висновок
Прецеденти є основним засобом визначення необхідної поведінки системи. Як правило, вони використовуються для описання вимог до системи, тобто, що має робити система. Основними поняттями, пов'язаними з прецедентами є актори, прецеденти (варіанти використання), та суб'єкт. Суб'єкт — це система, що розглядається і до якої відносяться прецеденти. Користувачі та будь-які інші системи, що можуть взаємодіяти із суб'єктом, представлено як акторів. Актори завжди представляють сутності, що знаходяться за межами системи. Поведінка суб'єкта описується одним або більше прецедентами, що визначаються відповідно до потреб акторів. Строго кажучи, термін «прецедент» означає тип прецедента. Екземпляр прецедента означає існування поведінки, що відповідає вимогам типу прецедента. Часто, такі екземпляри описуються специфікаціями взаємодії.
В ході виконання даної лабораторної роботи я оволоділа навичками моделювання діаграм прецедентів, ознайомилася із середовищем розробки діаграм, розробила діаграму прецедентів для свого індивідуального завдання, здійснила документацію для кожного прецеденту діаграми.