V-Model

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з V-Model (software development))
Перейти до: навігація, пошук
ТРПЗ
Цикл розробки програмного забезпечення
Coding Shots Annual Plan high res-5.jpg
Програміст за роботою
Діяльність та кроки
Вимоги • Специфікація • Архітектура • Дизайн • Реалізація • Тестування • Розгортання (Реліз) • Супровід
Методології • Процес
Гнучка • Чистого приміщення • DSDM • Ітеративна • RAD • RUP • Спіраль • Водоспад • XP • Scrum • Lean • V-Model • FDD • TDD • BDD
Допоміжні дисципліни
Керування конфігурацією • Документування • Якість ПЗ • Управління проектами • Досвід користування
Інструменти
Компілятор • Зневаджувач • Профілювальник • GUI designer • IDE

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

Огляд[ред.ред. код]

Історія[ред.ред. код]

Концепція V-подібної моделі була розроблена Німеччиною та США в кінці 1980-х років незалежно один від одного:

  • Німецька V-модель була розроблена аерокосмічної компанією IABG в Оттобрунні поряд з Мюнхеном у сприянні з Федеральним департаментом з закупівлі озброєнь в Кобленці, для Міністерства оборони Німеччини. Модель була прийнята німецькою федеральною адміністрацією для цивільних потреб влітку 1992.[1]
  • Американська V-Model (VEE) була розроблена національною радою з системної інженерії (міжнародна — з 1995 року) для супутникових систем, включаючи обладнання, програмне забезпечення та взаємодію з користувачами.[2]

Сучасною версією V-Model є V-Model XT, яка була затверджена в лютому 2005 року. V-модель використовується для управління процесом розробки програмного забезпечення для німецької федеральної адміністрації. Зараз вона є стандартом для німецьких урядових і оборонних проектів, а також для виробників ПЗ в Німеччині. V-Model являє собою скоріше набір стандартів у галузі проектів, що стосуються розробки нових продуктів. Ця модель багато в чому схожа з Prince2 і описує методи як для проектного управління, так і для системного розвитку.

Основні принципи[ред.ред. код]

V-Model процесу розробки ІС.[3]

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

Стосовно до розробки інформаційних систем V-Model — варіація каскадної моделі, в якій завдання розробки йдуть зверху вниз по лівій стороні букви V, а завдання тестування — вгору по правій стороні букви V. Усередині V проводяться горизонтальні лінії, що показують, як результати кожної з фаз розробки впливають на розвиток системи тестування на кожній із фаз тестування. Модель базується на тому, що приймально-здавальні випробування ґрунтуються, насамперед, на вимогах, системне тестування — на вимогах та архітектури, комплексне тестування — на вимогах, архітектурі та інтерфейсах, а компонентне тестування — на вимогах, архітектурі, інтерфейсах та алгоритмах.[4]

Цілі[ред.ред. код]

V-модель забезпечує підтримку у плануванні та реалізації проекту. В ході проекту ставляться такі завдання:

  • Мінімізація ризиків: V-подібна модель робить проект більш прозорим і підвищує якість контролю проекту шляхом стандартизації проміжних цілей і опису відповідних їм результатів та відповідальних осіб. Це дозволяє виявляти відхилення в проекті і ризики на ранніх стадіях і покращує якість управління проектом.
  • Підвищення та гарантії якості: V-Model — стандартизована модель розробки, що дозволяє домогтися від проекту результатів бажаної якості. Проміжні результати можуть бути перевірені на ранніх стадіях. Універсальне документування полегшує читаність, зрозумілість та контрольованість.
  • Зменшення загальної вартості проекту: Ресурси на розробку, виробництво, управління і підтримку можуть бути заздалегідь прораховані та проконтрольовані. Отримувані результати також універсальні і легко прогнозуються. Це зменшує витрати на подальші стадії та проекти.
  • Підвищення якості комунікації між учасниками проекту: Універсальний опис усіх елементів та умов полегшує взаєморозуміння всіх учасників проекту. Таким чином, зменшуються неточності у розумінні між користувачем, покупцем, постачальником і розробником.[5]

Переваги[ред.ред. код]

  • Користувачі V-Model беруть участь у розробці та підтримці V-моделі. Комітет з контролю за змінами підтримує проект і збирається раз на рік для обробки всіх отриманих запитів на внесення змін до V-Model.[6]
  • На старті будь-якого проекту V-подібна модель може бути адаптована під цей проект, так як ця модель не залежить від типів організацій та проектів.[7]
  • V-model дозволяє розбити діяльність на окремі кроки, кожен з яких буде включати в себе необхідні для нього дії, інструкції до них, рекомендації та докладне пояснення діяльності.[8]

Обмеження[ред.ред. код]

Наступні моменти не враховуються в V-моделі, але можуть бути розглянуті окремо, або можливо адаптувати модель під них:

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

Критика[ред.ред. код]

Переваги[ред.ред. код]

  • У моделі особливе значення надається плануванню, спрямованому на верифікацію та атестацію розроблювального продукту на ранніх стадіях його розробки. Фаза модульного тестування підтверджує правильність деталізованого проектування. Фази інтеграції та тестування реалізують архітектурне проектування або проектування на вищому рівні. Фаза тестування системи підтверджує правильність виконання етапу вимог до продукту і його специфікації.[10]
  • У моделі передбачені атестація та верифікація всіх зовнішніх і внутрішніх отриманих даних, а не тільки самого програмного продукту.[10][11][12]
  • У V-подібної моделі визначення вимог виконується перед розробкою проекту системи, а проектування ПО — перед розробкою компонентів.[10]
  • Модель визначає продукти, які повинні бути отримані в результаті процесу розробки, причому кожні отримані дані повинні піддаватися тестуванню.[10][12]
  • Завдяки моделі менеджери проекту можуть відслідковувати хід процесу розробки, так як в даному випадку цілком можливо скористатися тимчасовою шкалою, а завершення кожної фази є контрольною точкою.[10][12]

Недоліки[ред.ред. код]

  • Модель не передбачає роботу з паралельними подіями.[10]
  • У моделі не передбачено внесення вимоги динамічних змін на різних етапах життєвого циклу.[10][11][13]
  • Тестування вимог в життєвому циклі відбувається занадто пізно, внаслідок чого неможливо внести змін, не вплинувши при цьому на графік виконання проекту.[10][11]
  • У модель не входять дії, спрямовані на аналіз ризиків.[10]
  • Деякий результат можна отримати тільки при досягненні низу букви V.[14]

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. V-Model — lyfecycle process model(англ.)
  2. Forsberg, K. and Mooz, H., «The Relationship of Systems Engineering to the Project Cycle», Перший щорічний симпозіум національної ради з системної інженерії, жовтень 1991 (англ.)
  3. Clarus Concept of Operations. Publication No. FHWA-JPO-05-072, Federal Highway Administration (FHWA), 2005 (англ.)
  4. Economicus: серія словників з економіки, фінансів та менеджменту(рос.)
  5. Objectives of the V-Model(англ.)
  6. Further Development of the V-Model(англ.)
  7. Management Mechanisms of the V-Model — Tailoring(англ.)
  8. Overview of the Activity Model of the V-Model(англ.)
  9. Limits of the V-model(англ.)
  10. а б в г д е ж и к Огляд моделей життєвого циклу розробки програмного забезпечення(рос.)
  11. а б в Testing Excellence — V-Model(англ.)
  12. а б в Sameeradilhan — Advantages and disadvantages of Waterfall Model and V-Model(англ.)
  13. TestManagement — Advantages and Disadvantages of V-Model(англ.)
  14. V-Model: Expert Program Management(англ.)

Посилання[ред.ред. код]