V-Model

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Разработка программного обеспечения
Процесс разработки ПО
Шаги процесса

Анализ • Проектирование • Программирование • Документирование • Тестирование

Модели

Итеративная • Спиральная • Каскадная • V-Model • Dual Vee Model

Методологии

Agile (XP, Lean, Scrum, FDD и др.) • Cleanroom • OpenUP • RAD • RUP • MSF • DSDM • TDD

Сопутствующие дисциплины

Конфигурационное управление • Управление проектами • Управление требованиями

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. 1 2 3 4 5 6 7 8 9 Обзор моделей жизненного цикла разработки программного обеспечения
  11. 1 2 3 Testing Excellence — V-Model (англ.)
  12. 1 2 3 Sameeradilhan — Advantages and disadvantages of Waterfall Model and V-Model (англ.)
  13. TestManagement — Advantages and Disadvantages of V-Model (англ.)
  14. V-Model: Expert Program Management (англ.)

Ссылки[править | править исходный текст]