Модели жизненного цикла ПО

Жизненный цикл ПО

Жизненный цикл (ЖЦ) программного средства есть совокупность взаимосвязанных процессов создания и последовательного изменения его состояния — от формирования исходных требований до окончания эксплуатации.

Процесс ЖЦ — конкретный вид деятельности, систематически выполняющийся для решения определенных задач ЖЦ.

Основные процессы (Primary Processes):

  • Приобретение (Acquisition). Определяет действия предприятия-покупателя, которое приобретает программный продукт или сервис ПО.
  • Поставка (Supply). Определяет действия предприятия-поставщика, которое снабжает покупателя программным продуктом или сервисом ПО.
  • Разработка (Development). Определяет действия предприятия-разработчика, которое разрабатывает принцип построения программного изделия и программный продукт.
  • Функционирование (Operation). Определяет действия предприятия-оператора, которое обеспечивает обслуживание системы (а не только ПО) в процессе ее функционирования в интересах пользователей. В отличие от действий, которые определяются разработчиком в инструкциях по эксплуатации, определяются действия оператора по консультированию пользователей, получению обратной связи и др., которые он планирует и выполняет сам в рамках соответствующих обязанностей.
  • Сопровождение (Maintenance). Определяет действия персонала сопровождения, который обеспечивает сопровождение программного продукта, что представляет собой управление модификациями программного продукта, поддержку его текущего состояния и функциональной пригодности, включает в себя инсталляцию и удаление программного изделия на вычислительной системе.

Вспомогательные процессы (Supporting Processes):

  • Документирование (Documentation)
  • Управление конфигурацией (Configuration Management)
  • Обеспечение качества (Quality Assurance)
  • Верификация (Verification)
  • Аттестация (Validation)
  • Совместный анализ (Joint Review)
  • Аудит (Audit)
  • Решение проблем (Problem Resolution).

Организационные процессы (Organizational Processes):

  • Управление (Management)
  • Создание инфраструктуры (Infrastructure)
  • Усовершенствование (Improvement)
  • Обучение (Training).

Комплексы программ создаются, эксплуатируются и развиваются во времени. Жизненный цикл ПС (программного средства) включает в себя все этапы развития от возникновения потребности в программе определенного целевого назначения до полного прекращения использования этого ПС, вследствие его морального старения или потери необходимости решения задачи.

В настоящее время можно выделить 5 основных подходов к организации процесса создания и использования ПС.

Водопадный подход. При таком подходе разработка ПС состоит из цепочки этапов. На каждом этапе создаются документы, используемые на последующем этапе. В исходном документе фиксируются требования к ПС. В конце этой цепочки создаются программы, включаемые в ПС.

Исследовательское программирование. Этот подход предполагает быструю (насколько это возможно) реализацию рабочих версий программ ПС, выполняющих лишь в первом приближении требуемые функции.

Прототипирование. Этот подход моделирует начальную фазу исследовательского программирования вплоть до создания рабочих версий программ, предназначенных для проведения экспериментов с целью установить требования к ПС. В дальнейшем должна последовать разработка ПС по установленным требованиям в рамках какого-либо другого подхода (например, водопадного).

Формальные преобразования. Этот подход включает разработку формальных спецификаций ПС и превращение их в программы путем корректных преобразований. На этом подходе базируется компьютерная технология (CASE-технология) разработки ПС.

Сборочное программирование. Этот подход предполагает, что ПС конструируется, главным образом, из компонент, которые уже существуют. Должно быть некоторое хранилище (библиотека) таких компонент, каждая из которых может многократно использоваться в разных ПС. Такие компоненты называются повторно используемыми (reusable). Процесс разработки ПС при данном подходе состоит скорее из сборки программ из компонент, чем из их программирования.

Рассмотрим более подробно водопадный подход. Именно этот подход рассматривается в качестве индустриального подхода разработки программного обеспечения. Исследовательское программирование исходит из взгляда на программирование как на искусство. Оно применяется тогда, когда водопадный подход не применим из-за того, что не удается точно сформулировать требования к ПС. Прототипирование рассматривается как вспомогательный подход, используемый в рамках других подходов, в основном, для прояснения требований к ПС.

В рамках водопадного подхода различают следующие стадии жизненного цикла ПС (см. рисунок 1.1): разработку ПС, производство программных изделий (ПИ) и эксплуатацию ПС.

Стадия разработки (development) ПС состоит из этапа его внешнего описания, этапа конструирования ПС, этапа кодирования (программирование в узком смысле) ПС и этапа аттестации ПС. Всем этим этапам сопутствуют процессы документирования и управления ПС. Этапы конструирования и кодирования часто перекрываются, иногда довольно сильно. Это означает, что кодирование некоторых частей программного средства может быть начато до завершения этапа конструирования.

Этап внешнего описания ПС включает процессы, приводящие к созданию некоторого документа, который мы будем называть внешним описанием (requirements document) ПС. Этот документ является описанием поведения ПС с точки зрения внешнего по отношению к нему наблюдателя с фиксацией требований относительно его качества. Внешнее описание ПС начинается с анализа и определения требований к ПС со стороны пользователей (заказчика), а также включает процессы спецификации этих требований.

Конструирование (design) ПС охватывает процессы: разработку архитектуры ПС, разработку структур программ ПС и их детальную спецификацию.

На этом этапе определяется потребность в ПС, его назначение и основные функциональные характеристики, оцениваются затраты и возможная эффективность применения такого комплекса программ.

Кодирование (coding) ПС включает процессы создания текстов программ на языках программирования, их отладку с тестированием ПС.

На этапе аттестации (acceptance) ПС производится оценка качества ПС.

Контрольные вопросы по теме «Жизненный цикл ПО»:

1. Дайте определение технологии конструирования программного обеспечения.

2. Какие этапы классического жизненного цикла вы знаете?

3. Охарактеризуйте содержание этапов классического жизненного цикла.

4. Объясните достоинства и недостатки классического жизненного цикла.

5. Чем отличается классический жизненный цикл от макетирования?

6. Какие существуют формы макетирования?

7. Чем отличаются друг от друга стратегии конструирования ПО?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: