Чи може хтось пояснити процес V Model? Чому вона відрізняється від моделі Водоспад?


19

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

З діаграм я також не розумію потоку. Є стрілки в усіх напрямках, і я не можу зрозуміти, що спочатку. Чи слідкуємо за V зверху ліворуч, вниз до нижнього центру, потім назад вгору праворуч? Або ми просуваємось вниз, роблячи все вище, перш ніж предмет нижчий?

В Інтернеті бракує достатнього пояснення цієї моделі. Було б дивним, якщо хтось може пояснити це у справжній формі StackExchange :)

V Модель

Відповіді:


17

V-модель - це розширення моделі Waterfall, тому не сподівайтеся, що вона буде дуже різною.

В основному, ви слідуєте за V-моделлю зліва направо , як і у моделі Waterfall. У водоспаді ви робите вимоги, проектування, впровадження, перевірку та нарешті обслуговування. Таким же чином у V-моделі ви робите вимоги, проектування, впровадження, перевірку та обслуговування: однакові кроки в обох випадках.

Основні відмінності з водоспадом - це спосіб його подання та акцент на тестуванні.

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

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


Шукаючи інші пояснення в Інтернеті, я не можу уникнути цитування наступної статті Бхакти Саталкара :

Основна відмінність моделі водоспад від V-моделі полягає в тому, що у моделі водоспаду випробувальні дії проводяться після закінчення заходів з розробки. З іншого боку, у моделі V тестування починаються із самого першого етапу. Іншими словами, модель водоспаду - це безперервний процес, тоді як модель V - одночасний процес. Порівняно з програмним забезпеченням, виготовленим за допомогою моделі водоспаду, кількість дефектів програмного забезпечення, виготовленого за допомогою V-моделі, менше. Це пов'язано з тим, що існують випробувальні дії, які проводяться одночасно у V моделі. Тому використовується модель водоспаду, коли вимоги користувача зафіксовані. Якщо вимоги користувача невизначені і постійно змінюються, тоді краща альтернатива V-моделі.

Це пояснення вводить в оману . Це вірно, лише якщо ви заміните "V-модель" у цитаті будь-яким методом Agile.

На відміну від статей, у V-моделі тестування проводиться після кодування; наприклад, див. Вікіпедію :

Поширена практична критика V-Model полягає в тому, що це призводить до того, що випробування стискаються в тісні вікна наприкінці розробки, коли більш ранні етапи перебігали, але дата впровадження залишається встановленою.

Хоча у V-моделі дизайн тестування системи дотримується дизайну системи, не чекаючи, поки буде виконано впровадження продукту, це не означає, що самі тести виконуються перед кодуванням. Автор плутає V-модель з Agile підходами, такими як Test Driven Development (TDD) в екстремальному програмуванні (XP).


1
Так - це цитати на кшталт тієї, яку ви цитували, що мене бентежили! Здавалося, що процес прогресує вниз і не слідує заV
CodyBugstein

2
Крім того, над водоспадом модель V демонструє горизонтальні шари відповідальності, як вони існують у реальності. Наприклад, вищі рівні показують як вимоги, так і тест на систему, і не переживайте за деталі джерела. Рівень джерела відокремлений від готового продукту (потрібен для дуже великих систем - де у вас може бути 20 CSCI, що складаються з пари мільйонів SLOC кожен.)
mattnz

Representing the flow as V-shape helps making the difference between everything which comes prior to coding (requirements, architecture and design) and everything which follows coding (essentially testing). While tests are just one of five steps in Waterfall, it looks like practically half of the process in V-model.= прибити його! Спасибі
CodyBugstein
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.