Класифікація вимог до ПЗ; джерела та методи збирання вимог
Розділ: Інженерія систем і програмного забезпечення
# Класифікація вимог до ПЗ; джерела та методи збирання вимог
📌 Про що ця тема
Тут перевіряють, чи розумієш ти, ЩО саме має робити програмна система і як цю інформацію здобувають та впорядковують. Ключове поняття — вимога (requirement): задокументована властивість чи умова, якій має відповідати ПЗ. Завдання зазвичай просять віднести приклад вимоги до правильного типу або назвати метод її збирання.
📖 Головне
• Вимога — це задокументована потреба замовника/користувача, яку система повинна задовольнити. Якість вимоги: вона має бути зрозумілою, несуперечливою, повною, перевірюваною.
• Функціональні вимоги — описують ЩО система робить: конкретні функції, дії, реакції на введення. Приклад: «система дозволяє користувачу змінити пароль».
• Нефункціональні вимоги — описують ЯК система працює, її якісні характеристики: швидкодія, надійність, безпека, зручність (юзабіліті), масштабованість, сумісність. Приклад: «сторінка завантажується менш ніж за 2 секунди».
• Бізнес-вимоги — цілі організації високого рівня (навіщо взагалі проєкт).
• Вимоги користувача — що користувач хоче робити за допомогою системи.
• Системні вимоги — детальний технічний опис для розробників.
• Обмеження — умови, що звужують варіанти рішення (напр., «працювати під Windows», «мовою Python»).
• Джерела вимог: замовник і зацікавлені сторони (стейкхолдери), кінцеві користувачі, чинні документи й регламенти, наявні системи-аналоги, нормативні акти й стандарти.
• Методи збирання (елісітації) вимог:
• Інтерв'ю — особиста бесіда з замовником/користувачем.
• Анкетування (опитування) — для великої кількості людей.
• Спостереження — вивчення роботи користувача на місці.
• Аналіз документів — вивчення наявних інструкцій, звітів, форм.
• Мозковий штурм — колективна генерація ідей.
• Прототипування — створення чорнового зразка для уточнення потреб.
• Етапи роботи з вимогами: збирання (елісітація) → аналіз → специфікація (документування) → перевірка (валідація) → управління змінами.
🔢 Як це працює на прикладі
Задача: класифікувати вимоги до інтернет-магазину.
• «Користувач може додати товар у кошик» → функціональна (описує дію системи).
• «Система витримує 1000 одночасних користувачів» → нефункціональна (продуктивність).
• «Усі платежі мають бути зашифровані» → нефункціональна (безпека).
• «Проєкт має збільшити продажі компанії» → бізнес-вимога (мета організації).
Метод збирання для нового магазину: інтерв'ю з власником (бізнес-цілі) + анкетування покупців (потреби) + аналіз сайтів-конкурентів.
⚠️ Типові помилки
• Плутають функціональні й нефункціональні: якщо йдеться про ДІЮ («додати», «видалити») — функціональна; якщо про ЯКІСТЬ («швидко», «безпечно», «зручно») — нефункціональна.
• Вважають безпеку й швидкодію функціями — це нефункціональні вимоги.
• Плутають джерело (хто/що дає інформацію: стейкхолдер, документ) і метод (як її добувають: інтерв'ю, спостереження).
• Плутають бізнес-вимоги (мета компанії) з вимогами користувача (що робить людина).
• Думають, що анкетування й інтерв'ю однакові — інтерв'ю для кількох осіб глибоко, анкетування для масового збору.
🎯 Що завчити напамʼять
• Функціональна = ЩО робить; нефункціональна = ЯК (швидкодія, безпека, надійність, юзабіліті, масштабованість).
• Методи: інтерв'ю, анкетування, спостереження, аналіз документів, мозковий штурм, прототипування.
• Етапи: елісітація → аналіз → специфікація → валідація → управління змінами.
• Джерело ≠ метод.
🧠 Перевір себе
1. «Інтерфейс має бути зрозумілим новому користувачу» — яка це вимога?
2. Який метод краще для збору потреб у 500 клієнтів?
3. Чим бізнес-вимога відрізняється від системної?
4. Спостереження за роботою касира — це джерело чи метод?
Відповіді: 1 — нефункціональна (юзабіліті/зручність); 2 — анкетування (опитування); 3 — бізнес-вимога це висока мета організації, системна — детальний технічний опис для розробників; 4 — метод збирання вимог.