Модель прототипу в програмній інженерії
Що таке модель прототипування?
Модель прототипування це модель розробки програмного забезпечення, в якій прототип створюється, тестується та переробляється, поки не буде досягнуто прийнятний прототип. Це також створює базу для створення кінцевої системи або програмного забезпечення. Це найкраще працює в сценаріях, де вимоги проекту невідомі в деталях. Це ітеративний метод проб і помилок, який відбувається між розробником і клієнтом.
Фази моделі прототипування
Модель прототипування має наступні шість етапів SDLC:
Крок 1: Збір і аналіз вимог
Модель прототипу починається з аналізу вимог. На цьому етапі детально визначаються вимоги до системи. Під час процесу користувачі системи опитуються, щоб дізнатися, чого вони очікують від системи.
Крок 2: швидкий дизайн
Друга фаза – ескізний проект або швидке проектування. На цьому етапі створюється простий дизайн системи. Однак це не повний дизайн. Він дає користувачеві коротке уявлення про систему. Швидкий дизайн допомагає в розробці прототипу.
Крок 3: Створення прототипу
На цьому етапі фактичний прототип розробляється на основі інформації, зібраної під час швидкого проектування. Це маленька робоча модель потрібної системи.
Крок 4: Початкова оцінка користувача
На цьому етапі запропонована система представляється клієнту для первинної оцінки. Це допомагає виявити сильні і слабкі сторони робочої моделі. Коментарі та пропозиції збираються від замовника та передаються розробнику.
Крок 5: Доопрацювання прототипу
Якщо користувача не влаштовує поточний прототип, вам потрібно вдосконалити прототип відповідно до відгуків і пропозицій користувача.
Цей етап не завершиться, доки не будуть виконані всі вимоги, зазначені користувачем. Коли користувач буде задоволений розробленим прототипом, остаточна система розробляється на основі затвердженого остаточного прототипу.
Крок 6: Впровадження продукту та обслуговування
Після розробки кінцевої системи на основі остаточного прототипу її ретельно тестують і розгортають у виробництві. Система проходить планове технічне обслуговування, щоб мінімізувати час простою та запобігти масштабним збоям.
Типи моделей прототипування
Чотири типи моделей прототипування:
- Швидкі прототипи
- Еволюційний прототип
- Інкрементний прототип
- Екстремальний прототип
Швидкий одноразовий прототип
Швидке викидання базується на попередній вимозі. Його швидко розробляють, щоб показати, як візуально виглядатиме вимога. Зворотний зв’язок клієнта допомагає внести зміни до вимоги, і прототип створюється знову, доки вимога не буде базовою.
У цьому методі розроблений прототип буде відкинуто та не стане частиною остаточно прийнятого прототипу. Ця техніка корисна для вивчення ідей і отримання миттєвого відгуку щодо вимог клієнтів.
Еволюційне прототипування
Тут розроблений прототип поступово вдосконалюється на основі відгуків клієнтів, поки він остаточно не буде прийнятий. Це допоможе вам заощадити час і зусилля. Це тому, що розробка прототипу з нуля для кожної взаємодії процесу іноді може бути дуже неприємною.
Ця модель корисна для проекту, який використовує нову технологію, яка недостатньо зрозуміла. Він також використовується для складного проекту, де кожна функціональність повинна бути перевірена один раз. Це корисно, коли вимога нестабільна або нечітко зрозуміла на початковому етапі.
Інкрементне прототипування
У поетапному прототипуванні кінцевий продукт розбивається на різні маленькі прототипи та розробляється окремо. Згодом різні прототипи об’єднуються в один продукт. Цей метод корисний для скорочення часу зворотного зв’язку між користувачем і командою розробників програми.
Екстремальне прототипування
Метод екстремального прототипування в основному використовується для веб-розробки. Він складається з трьох послідовних фаз.
- Базовий прототип з усією існуючою сторінкою присутній у форматі HTML.
- Ви можете моделювати процес обробки даних за допомогою прототипу рівня послуг.
- Сервіси впроваджуються та інтегруються в кінцевий прототип.
Найкращі практики створення прототипів
Ось кілька речей, на які слід звернути увагу під час процесу створення прототипу:
- Ви повинні використовувати прототипування, коли вимоги незрозумілі
- Важливо виконувати планове та контрольоване створення прототипів.
- Регулярні зустрічі є життєво важливими, щоб забезпечити виконання проекту вчасно та уникнути дорогих затримок.
- Користувачі та дизайнери повинні знати про проблеми та підводні камені прототипування.
- На дуже ранньому етапі вам потрібно затвердити прототип і лише потім дозволити команді перейти до наступного кроку.
- У методі прототипування програмного забезпечення ви ніколи не повинні боятися змінювати попередні рішення, якщо потрібно розгорнути нові ідеї.
- Ви повинні вибрати відповідний розмір кроку для кожної версії.
- Впроваджуйте важливі функції на ранній стадії, щоб у разі вичерпання часу у вас все одно була варта система
Переваги моделі прототипування
Ось важливі плюси/переваги використання моделей прототипування:
- Користувачі беруть активну участь у розробці. Тому помилки можуть бути виявлені на початковому етапі процесу розробки програмного забезпечення.
- Відсутню функціональність можна визначити, що допомагає зменшити ризик збою, оскільки прототипування також вважається діяльністю зі зменшення ризику.
- Допомагає члену команди ефективно спілкуватися
- Задоволеність споживачів існує, тому що клієнт може відчути продукт на дуже ранній стадії.
- Навряд чи буде шанс на відмову від програмного забезпечення.
- Швидший зворотний зв’язок з користувачами допоможе вам отримати кращі рішення для розробки програмного забезпечення.
- Дозволяє клієнту порівняти, чи відповідає програмний код специфікації програмного забезпечення.
- Це допоможе вам знайти відсутні функції в системі.
- Він також визначає складні або важкі функції.
- Заохочує інновації та гнучкий дизайн.
- Це проста модель, тому її легко зрозуміти.
- Для побудови моделі не потрібні спеціальні експерти
- Прототип служить основою для отримання специфікації системи.
- Прототип допомагає краще зрозуміти потреби клієнта.
- Прототипи можна змінювати і навіть відкидати.
- Прототип також служить основою для робочих специфікацій.
- Прототипи можуть запропонувати раннє навчання для майбутніх користувачів системи програмного забезпечення.
Недоліки моделі прототипування
Ось важливі мінуси/недоліки моделі прототипування:
- Створення прототипів – це повільний процес, який займає багато часу.
- Витрати на розробку прототипу є марною тратою, оскільки прототип зрештою викидають.
- Створення прототипів може стимулювати надмірні запити на зміни.
- Іноді клієнти можуть не бажати брати участь у ітераційному циклі протягом більш тривалого часу.
- Щоразу, коли замовник оцінює прототип, у вимогах до програмного забезпечення може бути надто багато варіацій.
- Погана документація, тому що вимоги клієнтів змінюються.
- Розробникам програмного забезпечення дуже важко впровадити всі зміни, яких вимагають клієнти.
- Побачивши ранній прототип моделі, клієнт може подумати, що фактичний продукт йому незабаром буде доставлений.
- Клієнт може втратити інтерес до кінцевого продукту, якщо він чи вона не задоволені початковим прототипом.
- Розробники, які хочуть швидко створювати прототипи, можуть створити нестандартні рішення для розробки.
Підсумки
- У розробці програмного забезпечення методологія прототипу — це модель розробки програмного забезпечення, за якою прототип створюється, тестується, а потім переробляється за потреби, поки не буде досягнуто прийнятний прототип.
- 1) Збір і аналіз вимог, 2) Швидке проектування, 3) Створення прототипу, 4) Початкова оцінка користувача, 5) Доопрацювання прототипу, 6) Впровадження продукту та обслуговування; це 6 етапів процесу створення прототипу
- Типи моделей прототипування: 1) Швидкі прототипи 2) Еволюційний прототип 3) Інкрементний прототип 4) Екстремальний прототип
- Регулярні зустрічі необхідні для того, щоб своєчасно виконувати проект і уникнути дорогих затримок підходу до створення прототипу.
- Відсутню функціональність можна визначити, що допомагає зменшити ризик збою, оскільки прототипування також розглядається як діяльність зі зменшення ризику в SDLC.
- Створення прототипів може стимулювати надмірні запити на зміни.