Карл Вігерс визначає три рівні вимог до програмного забезпечення [1]
Бізнес-вимоги — визначають призначення ПЗ, можуть описуватися в документі про бачення (англ.vision) та документі про межі проекту (англ.scope).
Вимоги користувача — визначають набір завдань користувача, які повинна вирішувати програма, а також сценарії їхнього вирішення в системі. Ці вимоги можуть мати вигляд тверджень, варіантів використання, історій користувача, сценаріїв взаємодії.
В українському ІТ найчастіше використовуються: інтерв’ю, аналіз документів, аналіз інтерфейсів, мозковий штурм, прототипування та аналіз бізнес-процесів [2].
Документування вимог
Вимоги використовують як засіб комунікації між різними зацікавленими особами. З цього виходить, що вимоги повинні бути простими та зрозумілими як для звичайних користувачів, так і для розробників. Зазвичай представляються у вигляді одного з наступних документів:
Модель випадків використання (прецедентів) (англ.Use Case Model) – набір типових сценаріїв використання системи. Описує функціональні (поведінкові) вимоги.
Додаткова специфікація (англ.Supplementary Specification). Містить нефункціональні вимоги, такі як вимоги до надійності, продуктивності, документування, підтримки, ліцензування тощо.
Словник термінів (англ.Glossary). Визначає важливі терміни і визначення. Може включати концепцію словника даних, який фіксує вимоги, пов'язані з даними, такими як правила верифікації, прийнятні значення тощо.
Бачення (англ.Vision). Узагальнює найважливіші високорівневі ідеї та вимоги, покладені в основу розробки системи. Це короткий оглядовий документ для швидкого ознайомлення з проектом.
Бізнес-правила (англ.Business Rules). Бізнес-правила або правила предметної області описують вимоги або політики, які виходять за рамки одного проекту, наприклад, політика компанії, організація бухобліку, державні норми оподаткування, закони. Можуть бути представлені у додатковій специфікації або окремим артефактом.
Вимоги до ПЗ можуть документуватися в текстовому або графічному вигляді. Текстові вимоги - це стислий та розгорнутий описи якогось прецеденту.
Для графічного представлення використовують наступні нотації: ER (IDEF1FX), IDEF0, IDEF3, DFD, UML, OCL, SysML, ARIS (eEPC, VAD).
Вимоги в процесах розробки
Різні методології розробки програмного забезпечення по-різному працювали з вимогами. В дуже старій, та не актуальній моделі водоспаду (англ.waterfall) етап аналізу та розробки вимог є першим. Особливістю є те, що він повністю закінчується до початку проектування та розробки ПЗ, а останні не можуть початися до завершення аналізу вимог.
В ітеративних процесах розробки фаза аналізу та розробки вимог в різному об'ємі є на кожній ітерації.