V-Model

Разработка программного обеспечения
Ключевые процессы
Парадигмы и модели
Методологии
Инструменты

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 — Lifecycle process model Архивировано 3 марта 2016 года. (англ.)
  2. Forsberg, K. and Mooz, H., "The Relationship of Systems Engineering to the Project Cycle", Первый ежегодный симпозиум национального совета по системной инженерии, октябрь 1991 года  (англ.)
  3. Clarus Concept of Operations. Архивная копия от 12 сентября 2014 на Wayback Machine Publication No. FHWA-JPO-05-072, Federal Highway Administration (FHWA), 2005  (англ.)
  4. Economicus: серия словарей по экономике, финансам и менеджменту (недоступная ссылка)
  5. Objectives of the V-Model Архивировано 20 апреля 2011 года. (англ.)
  6. Further Development of the V-Model Архивировано 23 апреля 2011 года. (англ.)
  7. Management Mechanisms of the V-Model — Tailoring Архивировано 19 июля 2011 года. (англ.)
  8. Overview of the Activity Model of the V-Model Архивировано 19 июля 2011 года. (англ.)
  9. Limits of the V-model Архивировано 21 мая 2011 года. (англ.)
  10. 1 2 3 4 5 6 7 8 9 Обзор моделей жизненного цикла разработки программного обеспечения. Дата обращения: 5 июня 2011. Архивировано 15 июня 2016 года.
  11. 1 2 3 Testing Excellence — V-Model Архивная копия от 25 июня 2011 на Wayback Machine (англ.)
  12. 1 2 3 Sameeradilhan — Advantages and disadvantages of Waterfall Model and V-Model Архивная копия от 29 августа 2012 на Wayback Machine (англ.)
  13. TestManagement — Advantages and Disadvantages of V-Model Архивная копия от 20 июня 2015 на Wayback Machine (англ.)
  14. V-Model Архивная копия от 20 июня 2015 на Wayback Machine: Expert Program Management (англ.)