Технологія створення програмних продуктів (2024)

Тема 3. Проектування програмного забезпечення

Лекція 6. Уніфікований процес розробки (RUP). Визначення вимог


Лекція 6

Уніфікований процес розробки (RUP). Визначення вимог

Rational unified process (RUP) – ітеративний процес розроблення ПЗ. Надає план ефективного створення та розгортання систем, які відповідають вимогам користувачів.

Показники ефективності:

Проект системи складається із сукупності моделей, занотованих в UML.

6.1        Життєвий цикл ПЗ в RUP

6.2        Ітеративна розробка ПЗ в RUP

Життєвий цикл ПЗ в RUP

Моделі розробляються в ході робочих процесів, кожен із яких характеризується:

Співробітник (worker) – діяльність, що доручена одній або кільком особам, визначає потрібні для цієї дії якості та здібності. Співробітникові відповідає опис:

Вид діяльності – частина роботи (операція), яку виконує співробітник під час робочого процесу.

Артефакт (artifact) – істотна частина інформації, яка створюється, змінюється або використовується співробітником під час розроблення ПП. Артефактом може бути модель, її елемент або документ.

Модель ВВ (use case model)

Модель ВВ (use-case model) – повний набір акторів, ВВ системи та взаємозв'язків між ними, у т.ч. прототип інтерфейсу, опис архітектури ПЗ, сценаріїв ВВ

Модель ВВ доповнюється глосарієм.

Коли розробляється модель ВВ у RUP

6.3        Робочий процес визначення вимог

6.3.1        Процес визначення вимог

Результат діяльності – артефакт нової версії моделі ВВ з новими або уточненими акторами та ВВ.

6.3.2        Ідентифікація акторів у визначенні вимог

Системний аналітик та замовник послідовно визначають:

Ідентифікація ВВ у визначенні вимог

Розробка Use Cases (UC) - варіантів використання (ВВ):

Use case – безліч сценаріїв, об'єднаних за деяким критерієм, які описують послідовності виконуваних системою дій, що надають значимий для деякого актора результат

Інші артефакти у визначенні вимог

Опис архітектури – архітектурна форма моделі ВВ:

Архітектура – це організаційна структура та відповідна поведінка системи.

Архітектура може бути рекурсивно розкладена на частини, які взаємодіють через інтерфейси, відносини, які з'єднують частини, і обмеження на їх збірку. Частини системи, які взаємодіють через інтерфейси, включають класи, компоненти і підсистеми [UML 1.5].

Глосарій – містить важливі або спільні у проекті визначення та скорочення, які використовують розробники для опису системи.

Прототипи інтерфейсів користувачів допомагають під час формулювання вимог зрозуміти та визначити взаємодію акторів-людей та системи.

6.4        Приклад 1. Завдання

Створити систему забезпечення онлайн-купівлі квитків на розважальні заходи. Для покупки клієнт повинен надати інформацію про своє прізвище, ім'я та актуальний email.

Оплачені квитки повинні надсилатись на адресу email, вказану у замовленні. Клієнт може роздрукувати оплачені квитки.

Реєстрація в системі потрібна, якщо клієнт хоче отримувати персоналізовані пропозиції.

Оплата виконується через он-лайн сервіс платіжної системи.

6.4.1        Ідентифікація акторів

Система онлайн-купівлі квитків на розважальні заходи

Актори:

6.4.2        Ідентифікація ВВ

Система онлайн-купівлі квитків на розважальні заходи

Варіанти використання:

6.4.3        Високорівнева діаграма ВВ

6.4.4        Деталізована діаграма ВВ

6.5        Опис архітектури

UC «Придбання квитків»

UC «Пошук заходів»

UC «Реєстрація клієнта»

UC «Аутентифікація»

6.5.1        Діаграма архітектури із описом підсистем

6.5.2        Документування ВВ (скорочена форма)

Потік подій (flow of events) – опис подій, які повинні відбутися під час реалізації поведінки ВВ.

Документація потоку подій ітеративно розробляється у Фазі Розробки (Elaboration Phase):

Актори, які ініціюють ВВ

X.1 Передумови  

X.2 Процес 

X.3 Субпотоки (виконання однієї функції різними засобами)

X.4 Альтернативні потоки (опис виключень поведінки) 

X.5 Післяумови

Червоний – обов’язкові елементи

Білій – деталізація виконання ВВ

6.5.3        Документування ВВ (розширена форма).

Документування UC «Реєстрація клієнта»

6.5.4        Процес

з’являється вікно авторизації, у якому користувач натискає кнопку «Зареєструватись». Відкривається вікно реєстрації.

новий клієнт вводить логін (повинен містити літери, може включати цифри та знаки «_», «.»), пароль (повинен складатись із 6 символів, може містити літери і цифри), підтвердження паролю (має співпадати із паролем), контактні дані (Прізвище, ім’я, email – виконується перевірка) і натискає кнопку «Зареєструватись».

виконується перевірка унікальності логіну та актуальності адреси email.

Якщо логін унікальний, клієнт отримує повідомлення на email із даними аутентифікації та виконує вхід на сайт як зареєстрованого клієнта.

Післяумови (Post-Conditions) – дані авторизації клієнта записані в БД сайту, клієнт переходить у групу акторів «Зареєстрований клієнт» і клієнт отримує доступ до системи як актор Зареєстрований клієнт.

6.5.5        Користувацькі інтерфейси

Співробітникові відповідає опис:

6.6        Співробітники, задіяні в побудові моделі ВВ

Системний аналітик

Специфікатор ВВ

Розробник UI (інтерфейсів користувача)

Архітектор

6.7        Робочий процес визначення вимог

Модель предметної області – визначає найважливіші об'єкти змісту системи: предмети області та події в системі.

Класи предметної області: бізнес-об'єкти, об'єкти та поняття реального світу, події, що відбулися або будуть відбуватися в системі.

Діяльність:

Робочий процес визначення вимог

Інтерфейс (UI та UX)

Інтерфейс користувача (User interface, UI) – метод виконання задачі за допомогою програмного забезпечення (Дж.Раскін).

Досвід користувача (User experience, UX) – враховуються характеристики користувачів та середовища користування.

Юзабіліті

Юзабіліті (Usability) - ступінь ефективності, затрат праці та задоволення, з якими продукт може бути використаний певними користувачами у певному контексті використання для досягнення визначених цілей (ISO 9241-11:2018 Ergonomics of human-system interaction -- Part 11: Usability: Definitions and concepts)

Для кого важливий проект інтерфейсу?

Користувач – проект гарантує зручність;

Проджект-менеджер – легше узгодити;

Тестувальник – легше перевіряти;

Розробник – зрозумілі вимоги до інтерфейсу пришвидшують розробку та підвищують якість;

Компанія-розробник ПЗ – полегшує підтримку ПЗ.

Підходи до проектування інтерфейсу

Орієнтоване на задачі користувача – виконання окремого завдання;

Ця методологія розглядає систему «людина-комп'ютер» як комплекс пов'язаних діяльнісних понять та уявлень. Теорія діяльності, що лежить в основі цього підходу, представляє комп'ютер як інструмент, за допомогою якого людина вирішує різні завдання і діяльність людини впливає на інтерфейс.

Відповідно до принципів теорії діяльності весь потік активності користувача можна розкласти на послідовність пов'язаних завдань та підзавдань, логічні етапи. Це дозволяє аналізувати цілі, зовнішні та внутрішні завдання, порядок і вид операцій користувача, що здійснюються для досягнення підсумкового результату, а за результатами аналізу розробити інтерфейс, що найбільше підходить для даного виду діяльності.

Цілеорієнтований дизайн (Goal-oriented design)

Орієнтований на потреби користувача (Goal Centered Design) – для чого користувачеві потрібне ПЗ.

Ця методологія розробки інтерфейсів, ідеологом якої є Алан Купер, заснована на припущенні про те, що ретельне вивчення цілей користувача і розуміння того, чого він прагне, дозволяє вирішити проблему «когнітивного тертя».

Когнітивне тертя - поняття, введене А. Купером і характеризує ставлення людини до складної речі (наприклад, до комп'ютера) як до іншої людини. Таке ставлення виникає у ситуаціях, коли людина не може зрозуміти того, як і чому ця річ працює (або не працює).User-Centered Design

Орієнтований на користувача (User Centered Design) – ергономічність, зрозумілість;

Дизайн, орієнтований на користувача - методологія, що отримала виправдану популярність і застосовується не тільки для розробки програмного забезпечення. Її суть зводиться до вивчення потреб та можливостей кінцевих користувачів та адаптації продукту під їхні потреби. Іншими словами, це концепція створення продуктів, у тому числі і програмного забезпечення, якими люди хотіли б користуватися.

6.7.1        Етапи процесу створення UI

Аналіз та розроблення екскізів у процесі проектування UI

Аналіз

Розроблення ескізу інтерфейсу

Ітеративність процесу розроблення UI

CASE-засоби розробки ескізів інтерфейсу

Безкоштовні

trial-період


© 2023 СумДУ
created with Lectur'EDbeta