Керування вимогами — це процес керування їхніми змінами. Цей процес розпочинається одразу після початкового формування вимог і триває разом з іншими процесами розроблення вимог. У ньому можна виокремити кілька аспектів:
1) ідентифікація, класифікація, організація та документування вимог. Цей процес в основному збігається з розробленням вимог, але стосується нових вимог.
Існує кілька методів ідентифікації та класифікації вимог:
— унікальний ідентифікатор, що проставляється системою керування вимогами автоматично з урахуванням вмісту бази даних;
— послідовний номер усередині ієрархії документа;
— послідовний номер у межах категорії вимог.
Крім ідентифікації, система керування вимогами має забезпечити належне зберігання вимог — відповідна інформація має бути захищена, процес зберігання має бути керованим, вимоги — доступними для кожного учасника процесу розробки вимог;
2) змінення вимог — пропозиції щодо змін, їх узгодження, перевірка і документування. Поява нових вимог і зміна раніше сформованих відбувається з кількох причин:
— великі системи мають чималу кількість користувачів з різними вимогами і пріоритетами, які часто є суперечливими і несумісними. Остаточний варіант системних вимог є компромісом, який часто приймається лише на останніх етапах розробки системи. Існує велика частка змін, пов’язаних з припущеними раніше суб’єктивними помилками;
— замовники системи та її користувачі рідко збігаються одне з одним. Замовники формулюють вимоги, виходячи зі своїх організаційних і бюджетних обмежень, тоді як користувачі можуть мати інші вимоги;
— ділове й технічне оточення майбутньої системи змінюється, що відображається на системі.
Керування змінами вимагає, зокрема, відстежування великих обсягів взаємопов’язаної інформації упродовж тривалого часу. Тому доцільним є збереження і відстежування змін вимог засобами конфігураційного керування, що використовуються для контрою версій. Система керування вимогами повинна мати або у своєму складі функціональність з конфігураційного керування, або можливості інтеграції з автономними спеціалізованими засобами (див. тему 6);
3) відстежування (трасування) вимог — встановлення взаємозалежностей між вимогами та іншими системними артефактами, між самими вимогами, між вимогами і причинами, з яких ці причини були запропоновані. Якщо необхідно внести у вимоги зміни, в процесі керування треба простежити вплив цих змін на інші вимоги і на саму систему.
Під час оперативного контролю за змінами використовують три типи інформації:
— інформація про джерела вимог пов’язує вимоги з особами, які їх запропонували, і з логічним обґрунтуванням цих вимог. Використовується для визначення осіб, які можуть обґрунтувати потрібні зміни вимог;
— інформація про вимоги позв’язує вимоги усередині специфікації. Використовується для оцінювання кількості вимог, що їх заторкують запропоновані зміни;
— інформація про структуру системи пов’язує вимоги із системними модулями, які реалізують вимоги. Використовується для оцінювання впливу запропонованих змін на систему та її реалізацію.
Така інформація часто подається у вигляді спеціальних матриць, що пов’язують контрольовані елементи. Якщо матриця оперативного контролю пов’язує між собою вимоги, то кожна вимога подається як рядком, так і стовпцем. За наявності залежності між вимогами у відповідних комірках проставляють відповідні позначки. Приклад такої матриці показано у табл. 3.7. Символ U показує, що вимога з цього рядка використовує засоби, визначені у вимозі, поданій у стовпці. Символ R позначає деякий взаємозв’язок між вимогами, наприклад обидві вимоги визначають один і той самий системний модуль.
Таблиця 3.7 ПРИКЛАД МАТРИЦІ ОПЕРАТИВНОГО КОНТРОЛЮ
Вимоги
|
1.1
|
1.2
|
1.3
|
2.1
|
2.2
|
2.3
|
3.1
|
3.2
|
1.1
|
|
U
|
R
|
|
|
U
|
|
U
|
1.2
|
|
|
U
|
|
|
R
|
|
|
1.3
|
R
|
|
|
R
|
|
|
|
U
|
2.1
|
|
|
R
|
|
U
|
|
|
U
|
2.2
|
|
|
|
|
|
|
|
U
|
2.3
|
|
R
|
|
U
|
|
|
|
|
3.1
|
|
|
|
|
|
|
|
R
|
3.2
|
|
|
|
|
|
|
R
|
|
Матриці оперативного контролю використовують для керування невеликим набором вимог. Вони стають громіздкими й незручними для великих систем із багатьма вимогами. Для таких систем доцільно використовувати бази даних, у яких кожна вимога вочевидь пов’язана з іншими.