Трасування вимог

Трасування вимог

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

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

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

Методи трасування базуються на формальних специфікаціях зв'язків між елементами вимог або обмежуються описами функцій, ситуацій, контексту та можливих рішень.

Основу трасування становлять:

  • вимоги, що змінюються при їх формуванні;
  • деякі деталі виконання функцій у робочому продукті системи, які не передбачалися, але з'явилися у зв'язку з практичною ситуацією, що виникла;
  • зв'язки між різними моделями процесу проектування системи на ЖЦ програмного продукту і прийняті рішення про необхідність зміни вимог у зв'язку з недоліками, що з'явилися в проміжному продукті;
  • інформація про узгоджені атрибути вимог на різних рівнях розглянутої схеми трасування та збереження її матриці трасування;
  • спеціальні системні вимоги щодо повторного використання готових компонентів або частин системи;
  • результати тестування, якими можна визначити найбільш ймовірні частини коду, потребують перевірки на наявність у них дефектів.

У матриці вимог у рядках вказуються вимоги користувача, а стовпцях - функціональні вимоги, елемент проектування, варіант версії та ін. У цих стовпцях заповнюються дані про ступінь здійснюваності системних вимог на кожному елементі створюваного продукту. Механізм посилань у таблиці дозволяє перевіряти пов'язані з кожним елементом продукту діаграми варіантів використання потоки даних, класи та ін.

Процедура трасування полягає в наступному:

  • вибирається елемент (функція, фрагмент або деяка частина) із матриці трасування вимог, за яким проводиться простежування на етапах ЖЦ;
  • складається список питань, якими кожному етапі перевіряються зв'язку під час реалізації вимог у продукті, і якщо змінюється якесь ланка в ланцюжку вимог, може модифікуватися процедура розробки цього елемента наступному етапі ЖЦ;
  • проводиться моніторинг статусу кожної вимоги на відповідність виконання згідно з прийнятим планом;
  • уточнення ресурсів виконання проекту за необхідності проведення змін до вимог та елементів проекту.

Умовою прийняття рішення про можливі модифікації вимог та результатів проміжного проектування є оновлена ​​інформація про зв'язки між різними частинами системи та спочатку заданими вимогами до них.

  • введення складніших відносин замість простих зв'язків чи специфічних відносин;
  • використання різних шляхів трасування (між моделями чи ієрархічними зв'язками);
  • ведення бази даних об'єктів трасування та відносин між ними.

Трасування може бути вибірковим для окремих об'єктів або пов'язаним з іншими об'єктами, а також з можливими переходами від однієї моделі проектування до іншої шляхом перевірки трансформації одних об'єктів в інші.