Термін

Визначення

V-Model

Це SDLC модель названа за V-подібною діаграмою проходження фаз, де ліва частина зверху вниз – це процеси визначення проекту, низ (середина V) – це Coding (написання коду програми), а права частина знизу вверх – інтеграція частин системи паралельно з тестуванням відповідного рівня інтергації. Модель визначає відповідність між процесами, що на одному рівні зліва і справа.

Також, V позначає процеси Verification та Validation, що виникають під час правої частини моделі, щодо її лівої частини.

Verification

Це процес перевірки і підтвердження, з наданням доказів, що продукт відповідає специфікаціям.

Validation

Це процес перевірки і підтвердження, з наданням доказів, що продукт відповідає своїм проектованим функціям чи цілям використання.

V-Model Image

Малюнок 3. V-Model

Фази V-Model:

Requirements Analysis Аналіз вимог — фаза детального аналізу вимог.

Звязок з Acceptance Testing: Планування Acceptance Test Design робиться на основі Business Requirements.

System Design Дизайн системи — фаза, де інтенсивно аналізуються вимоги на основі яких створюється графічний і технічний дизайн продукту.

Звязок з System Testing: Test Plan створюється на основі Requirements і System Design.

Architecture     Design Проектування архітектури — фаза, коли розглядаються кілька технічних підходів, розробляються архітектурні документи і вибирається підхід реалізації відповідно до фінансових і технічних можливостей. System Design розбивається на компоненти різної функціональності, чітко визначається передача даних і зв’язки між внутрішніми компонентами системи і зовнішніми системами. Розробляється High Level Design.

Звязок з Integration Testing: Інтеграційні тести створюються на основі High Level Design.

Module     Design Проектування компонентів — фаза проектування компонентів системи таким чином, щоб компоненти між собою поєднувалися і конфліктів між ними не виникало. Розробляється Low Level Design.

Звязок з Unit Testing: Юніт тести створюються на основі Low Level Design.

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

Unit Testing Тестування компонентів — фаза виконання Unit Test-ів, вони виконуються на рівні коду; дуже цінні, допомагають усунути максимум помилок і проблем системи на дуже ранньому етапі, але не виявляють і не усувають всіх проблем системи. Виконується розробниками.

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

System Testing Тестування системи — фаза повного тестування цілої системи, а також її взаємодії із зовнішніми системами чи компонентами. Зазвичай, це найбільш маcштабна фаза тестування із залученням тест інженерів.

Acceptance Testing Приймальне тестування — фаза тестування системи у середовищі користувача. Може виконуватись клієнтом чи тест інженерами, але в клієнтському середовищі.

V-Model можна використовувати, в таких випадках:

  •     Вимоги добре визначені, задокументовані і зафіксовані.
  •     Формулювання продукту стабільне.
  •     Технології не динамічні і проектна команда їх добре знає.       
  •     Немає двозначних чи невизначених вимог.  
  •     Проект короткий.

Використання:

V-model також використовується у медичних чи державних проектах.

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