Термін | Визначення |
V-Model | Це SDLC модель названа за V-подібною діаграмою проходження фаз, де ліва частина зверху вниз – це процеси визначення проекту, низ (середина V) – це Coding (написання коду програми), а права частина знизу вверх – інтеграція частин системи паралельно з тестуванням відповідного рівня інтергації. Модель визначає відповідність між процесами, що на одному рівні зліва і справа. Також, V позначає процеси Verification та Validation, що виникають під час правої частини моделі, щодо її лівої частини. |
Verification | Це процес перевірки і підтвердження, з наданням доказів, що продукт відповідає специфікаціям. |
Validation | Це процес перевірки і підтвердження, з наданням доказів, що продукт відповідає своїм проектованим функціям чи цілям використання. |
Фази 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 також використовується у медичних чи державних проектах.
Більшості організацій відомо про цю модель — на її прикладі можна пояснювати, що планується робити для клієнта, пояснювати фази і активності на них, як описано вище.