Вимоги до програмного забезпечення — набір вимог щодо властивостей, якості та функцій програмного забезпечення, що буде розроблено, або знаходиться у розробці. Вимоги визначаються в процесі аналізу вимог та фіксуються в специфікації вимог, діаграмах прецедентів та інших артефактах процесу аналізу та розробки вимог.
Розробка вимог до програмної системи може бути розділена на декілька етапів:
Знаходження вимог (збір, визначення потреб зацікавлених осіб та систем). Аналіз вимог (перевірка цілісності та закінченості). Специфікація (документування вимог). Тестування вимог.
Види вимог за рівнями Карл Вігерс визначає три рівні вимог до програмного забезпечення
Бізнес-вимоги — визначають призначення ПЗ, можуть описуватися в документі про бачення () та документі про межі проєкту ().
Вимоги користувача — визначають набір завдань користувача, які повинна вирішувати програма, а також сценарії їхнього вирішення в системі. Ці вимоги можуть мати вигляд тверджень, варіантів використання, історій користувача, сценаріїв взаємодії. Функціональні вимоги — визначають «що» повинен робити програмний продукт. Ці вимоги описуються в документі Специфікація вимог до програмного забезпечення ().
Види вимог за характером Функціональний характер — вимоги до поведінки системи Бізнес-вимоги Вимоги користувача Функціональні вимоги Нефункціональний характер — вимоги до характеру поведінки системи Бізнес-правила — визначають обмеження, що витікають з предметної області. Системні вимоги — вимоги до програмних інтерфейсів, надійності, обладнанню. Атрибути якості Зовнішні системи та інтерфейси Обмеження
Джерела вимог Законодавство Вимоги стандартів Бізнес-процеси Очікування та бачення користувачів системи
Методи знаходження вимог Спілкування з майбутнім користувачем: інтерв'ю, анкетування. Мозковий штурм, семінар. Аналіз нормативної документації та законодавства. Аналіз бізнес-процесів. Аналіз інтерфейсів. Прототипування. Аналіз бізнес-правил. Спостереження. Реєстр/карта зацікавлених сторін. Бенчмаркінг та аналіз ринку. Дизайн-мислення. Добування даних (Data mining).
В українському ІТ найчастіше використовуються: інтерв’ю, аналіз документів, аналіз інтерфейсів, мозковий штурм, прототипування та аналіз бізнес-процесів .
Документування вимог Вимоги використовують як засіб комунікації між різними зацікавленими особами. З цього виходить, що вимоги повинні бути простими та зрозумілими як для звичайних користувачів, так і для розробників. Зазвичай представляються у вигляді одного з наступних документів: Технічне завдання Специфікація вимог до програмного забезпечення ()
В рамках Уніфікованого процесу розробки вимоги представляються у вигляді кількох необов'язкових документів:
Модель випадків використання (прецедентів) () – набір типових сценаріїв використання системи. Описує функціональні (поведінкові) вимоги. Додаткова специфікація (). Містить нефункціональні вимоги, такі як вимоги до надійності, продуктивності, документування, підтримки, ліцензування тощо. Словник термінів (). Визначає важливі терміни і визначення. Може включати концепцію словника даних, який фіксує вимоги, пов'язані з даними, такими як правила верифікації, прийнятні значення тощо. Бачення (). Узагальнює найважливіші високорівневі ідеї та вимоги, покладені в основу розробки системи. Це короткий оглядовий документ для швидкого ознайомлення з проектом. Бізнес-правила (). Бізнес-правила або правила предметної області описують вимоги або політики, які виходять за рамки одного проекту, наприклад, політика компанії, організація бухобліку, державні норми оподаткування, закони. Можуть бути представлені у додатковій специфікації або окремим артефактом.
Вимоги до ПЗ можуть документуватися в текстовому або графічному вигляді. Текстові вимоги - це стислий та розгорнутий описи якогось прецеденту. Для графічного представлення використовують наступні нотації: ER (IDEF1FX), IDEF0, IDEF3, DFD, UML, OCL, SysML, ARIS (eEPC, VAD).
Вимоги в процесах розробки Різні методології розробки програмного забезпечення по-різному працювали з вимогами. В дуже старій, та не актуальній моделі водоспаду () етап аналізу та розробки вимог є першим. Особливістю є те, що він повністю закінчується до початку проєктування та розробки ПЗ, а останні не можуть початися до завершення аналізу вимог.
В ітеративних процесах розробки фаза аналізу та розробки вимог в різному об'ємі є на кожній ітерації.
Див. також Специфікація вимог до програмного забезпечення Функціональні вимоги Нефункціональні вимоги Системний аналіз Бізнес-процес Бізнес-модель
Примітки