Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka / Metod_ykr.pdf
Скачиваний:
91
Добавлен:
12.03.2016
Размер:
2.09 Mб
Скачать

Лабораторна робота №4

Розробка матриці вимог

Мета роботи: Засвоїти основні поняття про матрицю вимог

Короткі теоретичні відомості

Збір вимог є початковим та невід’ємним етапом процесу розробки програмних систем. Він полягає у визначенні набору функцій, які необхідно реалізувати у продукті. Процес збору вимог частково реалізується у спілкуванні із замовником, частково штурмом мізків розробників. Результатом є формування набору вимог до системи, що називається технічним завданням. Фіксація вимог (Requirement Capturing), з однієї сторони, визначається бажаннями замовника в реалізації тієї чи іншої властивості. З іншої сторони, в процесі збору вимог, може виявитися помилка, яка призведе до деяких наслідків, знешкодження яких відбиратиме непередбачені ресурси – додаткове кодування, перепланування.

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

Автоматизована верифікація вимог може проводитись лише після специфікації чи формалізації вимог.

Вважаючи, що всі вимоги чітко ідентифіковані та пронумеровані, можна сконструювати матрицю залежності вимог (requirements dependency matrix),

або матрицю взаємодії вимог (interaction matrix)). На рис. 7.1 в стовпчику та в рядку заголовка перераховані ідентифікатори вимог.

Вимоги

Т1

Т2

Т3

Т4

Т1

Х

Х

Х

Х

Т2

Конфлікт

Х

Х

Х

Т4

 

 

Х

Х

Т4

 

Перекриття

Перекриття

Х

Рисунок 4.1 - Матриця залежності вимог

Верхня права частина матриці (над діагоналлю включно) не використовується. Клітинки, що залишились, вказують на те, чи перкриваються дві будь-які вимоги, чи не протирічать вони між собою, чи незалежні одна від одної (пусті клітинки). Суперечливість вимог необхідно обговорити із замовниками і по можливості пере формулювати для пом’якшення протиріч (фіксацію протиріччя, видиму для наступної розробки,

27

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

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

Матриця відповідності вимог – це двовимірна таблиця, що містить відповідність функціональних вимог (functional requirements) продукту та підготовлених тестових сценаріїв (test cases). В заголовках колонок таблиці разташовані вимоги, а в заголовках рядків - тестові сценарії. На їх перехресті - відмітка, яка означає, що вимоги поточної колонки покриті тестовим сценарієм поточного рядка.

Матриця відповідності вимог використовується QA-інженерами для валідації покриття продукту тестами (валідація – відповідно стандарту ГОСТ РИСО 9000-2008 (відповідає ISO 9000:2005), валідація визначена наступним чином: «Підтвердження, на основі представлених об’єктивних свідоцтв того, що вимоги, призначені для конкретного використання або застосування, виконані»). Матриця відповідності вимог є невідємною часткою тест-плану.

Матриця трасуваня (traceability matrix) - якщо розкласти слово трасування на складові стане легше зрозуміти та запам’ятати, трасування (від англ. Traceability, Trace - хвіст, ability – здатність). Відслідковуємо залежності (хвости) між вимогами та тестами.

Матрица трасування - спосіб візуалізації зв’язків між елементами системи

уформі таблиці.

Впроцесі збору вимог та проектування програмно-технічних систем, матриці трасування використовується для швидкої оцінки зв’язків між артефактами проектування, такими як:

-вимоги та тести,

-замовник та релізи (спринти)*,

-вимоги та підсистеми,

-вимоги та функціональні специфікації,

-функціональні та нефункціональні вимоги,

-вимоги та моделі системи,

-варіанти використання (Use Cases) і підсистеми,

-похибки та тести,

-помилки і модулі системи.

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

28

Для побудови матриці трасування використовують наступний підхід:

1)Відбираються елементи системи, що розглядається для рядків та стовпчиків.

2)При наявності зв’язків належного типу, між елементом рядка та елементом стовпчика, у відповідній клітинці, ставиться будь-який зручний символ.

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

Розглянемо простий и наочний приклад.

Цей приклад знайомий всім з часів навчання в школі, технікумі, університеті. В даному прикладі система — курс навчання. А матриця трасування, що нас цікавить — табель відвідування занять.

Стовпчиками даної матриці є елементи системи — заняття, рядками — елементи системи — студенти. Якщо студент відвідує заняття, то ставиться відмітка про відвідування. Таким чином, ми показуємо зв’язок студента та заняття.

Рисунок 4.2 - Ілюстрація матриці трасування — Табель відвідувань

Зв’язки можуть мати і додаткові характеристики, наприклад, студент був, але пробазікав. Тоді ми можемо добавити в клітинку не просто факт наявності зв’язку, а її характеристику — базікав, таким чином, ми зробимо матрицю трасування більш інформативною.

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

Якщо із 10-12 чоловік немає трьох, які відвідували всі заняття, то це означає, що у групи немає повного та достовірного конспекту. Це також призводить до складнощів на екзамені. А значить, викладачу необхідно

29

планувати

або попереджувальні

заходи,

або потім боротися

з

наслідками збільшення навантаження у сесію.

 

 

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

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

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

Рисунок 4.3 - Приклад матриці трасування

Завдання: Розробити матрицю вимог для заданного процесу. Варіанти завдань взяти за списком журналу групи з табл. 1.1.

30