Аналіз вимог до програмного забезпечення

Аналіз вимог - це процес збору вимог до програмного забезпечення (ПЗ), їх систематизації, документування, аналізу, виявлення протиріч, неповноти, вирішення конфліктів у процесі розробки програмного забезпечення. В англомовному середовищі також говорять про дисципліну «інженерія вимог» (англ.Requirements Engineering). У процесі збору вимог важливо брати до уваги можливі протиріччя вимог різних заінтересованих осіб, таких як замовники, розробники чи користувачі.

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

Аналіз вимог включає три типи діяльності:

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

Аналіз вимог: визначення, чи є зібрані вимоги неясними, неповними, неоднозначними, чи суперечать, і потім вирішення цих проблем.

Документування вимог: Вимоги можуть бути задокументовані в різних формах, таких як простий опис, сценарії використання, власні історії, або специфікації процесів.

Виділяють такі типи вимог:

Експлуатаційні вимоги визначають характеристики програмного забезпечення, що розробляється, що виявляються в процесі його використання. До таких характеристик відносять:

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

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

Функціональна специфікація складається із трьох частин:

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

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