INFONKO.RU

Лекция 1.2. Жизненный цикл программного обеспечения. Стандарты, регламентирующие жизненный цикл

Одно из базовых понятий инженерии ПО – жизненный цикл ПО. Жизненный цикл ПО (ЖЦ ПО) – период времени от момента принятия решения о создании ПО до момента полного вывода ПО из эксплуатации. ЖЦ ПО регламентируется международными и национальными стандартами: ISO/IEC 12207: 1995, ГОСТ Р ИСО/МЭК 12207–99. В рамках технологий создания ПО понятие ЖЦ уточняется, но указанные стандарты не нарушаются.

Два взгляда на ЖЦ ПО: статический и динамический. Первый рассматривает ЖЦ как совокупность процессов ЖЦ. Процесс ЖЦ – набор взаимосвязанных действий, преобразующих некоторые входные данные и ресурсы в выходные. Каждый процесс характеризуется задачами, методами их решения, действующими лицами. Процессы ЖЦ протекают параллельно. Состав процессов ЖЦ ПО:

1 основные (приобретение, поставка, разработка, эксплуатация, сопровождение);

2 вспомогательные (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем);

3 организационные (управление, создание инфраструктуры, усовершенствование, обучение).

Процесс приобретения включает следующие действия: инициирование приобретения; подготовку заявочных предложений; подготовку и корректировку договора; надзор за деятельностью поставщика; приемку и завершение работ. Действующие лица: заказчик, поставщик. Задачи приобретения: определение заказчиком своих потребностей в ПО; анализ требований к ПО; принятие решения о приобретении ПО; выработка плана приобретения и заявочных предложений; выбор поставщика; подготовка и заключение договора с поставщиком; контроль за соблюдением условий договора; корректировка договора при необходимости.

Процесс поставки включает в себя следующие действия: инициирование поставки; подготовку ответа на заявочные предложения; подготовку договора; планирование и выполнение поставки; контроль поставки; проверку и оценку. Действующие лица: заказчик, поставщик. Задачи поставки: оценка поставщиком заявочных предложений; подготовки и заключение договора с заказчиком, контроль со стороны поставщика за соблюдением условий договора, принятие решения о привлечении субподрядчика или выполнении работ своими силами, выработка плана управления проектом и др.

Процесс разработки включает в себя следующие действия: подготовительную работу; анализ требований к ПО; проектирование архитектуры ПО; детальное проектирование ПО; кодирование ПО; тестирование ПО; интеграцию ПО; установку ПО; приемку ПО. Действующие лица: разработчик, заказчик. Задачи разработки: выбор модели ЖЦ ПО и согласование с заказчиком; определение требований к ПО (функциональных и нефункциональных); определение состава компонентов ПО и создание документации по каждому компоненту; моделирование и спецификация компонент ПО; планирование интеграции компонент; создание исходных текстов компонент; поиск и исправление ошибок в исходных текстах и документации; сборка ПО; развертывание ПО; оценка результатов.



Процесс эксплуатации включает в себя следующие действия: подготовительную работу; эксплуатационное тестирование; эксплуатацию; поддержку пользователей. Действующие лица: оператор (организация, эксплуатирующая ПО), пользователи. Задачи эксплуатации: выработка плана эксплуатации и эксплуатационных стандартов; составление процедур локализации и разрешения проблем эксплуатации; поиск ошибок в ПО перед вводом в эксплуатацию его новых версий; оказание помощи пользователям и консультирование.

Процесс сопровождения включает в себя следующие действия: подготовительную работу; анализ проблем и запросов на модификацию ПО; проверку и приемку; перенос ПО в другую среду; снятие ПО с эксплуатации. Действующие лица: служба сопровождения, пользователи. Задачи сопровождения: выработка плана сопровождения; составление процедур локализации и разрешения проблем сопровождения; оценка целесообразности внесения модификаций в ПО; принятие решения о модификации; поиск ошибок в ПО после его модификации; проверка целостности ПО; архивирование при снятии с эксплуатации; обучение пользователей.

Процесс документирования включает в себя следующие действия: подготовительную работу; проектирование и разработку документации; выпуск документации; сопровождение.

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

Процесс обеспечения качества включает в себя следующие действия: подготовительную работу; обеспечение качества продукта; обеспечение качества процесса; обеспечение других показателей качества ПО. Задачи обеспечения качества: гарантированное соответствие ПО требованиям заказчика, зафиксированным в договоре; гарантированнее соответствие процессов ЖЦ ПО, методов разработки, квалификации персонала установленным стандартам.

Процесс верификации включает в себя следующие действия: подготовительную работу; верификацию. Основная задача верификации – проверка соответствия разработанных программ в составе ПО их спецификациям.

Процесс аттестации состоит в определении полноты соответствия разработанного ПО требованиям заказчика. Основная задача аттестации – оценка достоверности тестирования ПО. Как правило, для аттестации привлекают независимых экспертов.

Процесс совместной оценки включает в себя следующие действия: подготовительную работу; оценку управления проектом; техническую оценку. Основная задача совместной оценки – контроль планирования и управления ресурсами, персоналом, инфраструктурой проекта.

Процесс аудита состоит в определении полноты соответствия проекта условиям договора.

Процесс разрешения проблем предусматривает анализ и разрешение проблем, возникающих в течение ЖЦ ПО.

Процесс управления включает в себя следующие действия: подготовительную работу; планирование; выполнение и контроль; проверку и оценку; завершение. Задачи управления: проверка достаточности имеющихся ресурсов; составление графиков работ; оценка затрат; выделение ресурсов; распределение ответственности; оценка рисков.

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

Процесс усовершенствования предусматривает оценку, измерение, контроль и усовершенствование процессов ЖЦ ПО. Основная задача усовершенствования – повышение производительности труда.

Процесс обучения включает в себя следующие действия: подготовительную работу; разработку учебных планов, курсов, материалов; реализацию планов обучения. Задачи обучения: первоначальное обучение персонала; повышение квалификации персонала.

Процессы ЖЦ ПО взаимосвязаны.

Динамический взгляд на ЖЦ ПО отражается в модели ЖЦ во времени. Модель ЖЦ ПО – это структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении ЖЦ. В любой модели ЖЦ рассматривается как совокупность стадий ЖЦ. Стадия ЖЦ – это часть ЖЦ ограниченная временными рамками, по завершении которой достигается определенный важный результат в соответствии с требованиями для данной стадии ЖЦ.

Модели ЖЦ:

1 каскадная (водопадная);

2 эволюционная;

3 модель, основанная на формальных преобразованиях;

4 итерационные модели (пошаговая и спиральная).

Особенности каскадной модели: фиксация требований к системе в начале проекта; переход со стадии на стадию только после полного завершения работ на текущей стадии; недопустимость возврата на пройденные стадии; жесткая привязка процессов ЖЦ к стадиям ЖЦ. Достоинства: в конце каждой стадии проект находится в согласованном и полном состоянии; легко планировать и управлять. Недостатки: позднее обнаружение проблем; избыточность документации; разработка ПО в целом, без использования преимуществ декомпозиции; неравномерная нагрузка на членов группы, работающей над проектом, в ходе ЖЦ.

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

Особенности модели ЖЦ, основанной на формальных преобразованиях: использование специальных нотаций для формального описания требований; кодирование и тестирование заменяется процессом предобразования формальной спецификации в исполняемую программу. Достоинства: формальные методы гарантируют соответствие ПО спецификациям требований к ПО, т. о. вопросы надежности и безопасности решаются сами собой. Недостатки: большие системы сложно описать формальными спецификациями; требуются специально подготовленные и высоко квалифицированные разработчики; есть зависимость от средств разработки и нотации спецификаций.

Особенности итерационных моделей: процесс разработки разбивается на последовательность шагов, выполняемых циклически; с каждой пройденной итерацией (витком спирали) ПО наращивается, в него интегрируются новые разработанные компоненты; в конце каждой итерации осуществляется верификация. Достоинства: полный учет требований заказчика, большее его участие в проекте; равномерная нагрузка на группу; раннее обнаружение проблем и их разрешение по мере возникновения, уменьшение рисков на каждой итерации. Недостатки: сложность планирования; плохая документированность ПО.



infonko.ru/ekstremalnaya-situaciya-ee-ocenka-i-vozmozhnie-puti-vihoda-iz-nee.html infonko.ru/ekstremalnie-punkti-i-yavleniya.html infonko.ru/ekstrennaya-psihologicheskaya-pomosh-v-ekstremalnih-situaciyah.html infonko.ru/ekstrennoe-izveshenie-ob-infekcionnom-bolnom-sleduet-otpravit.html infonko.ru/ek-sushnost-tam-regulirovaniya-tr.html infonko.ru/ektenij-sugubaya-i-ob-oglashennih.html infonko.ru/ektopicheskie-ritmi-geterotopnie-obuslovlennie-preobladaniem-avtomatizma-ektopicheskih-centrov.html infonko.ru/ekvivalenti-modalnih-glagolov.html infonko.ru/ekvivalent-modalnogo-glagola-must.html infonko.ru/ekvivalentnie-dlini-mestnih-soprotivlenij.html infonko.ru/ekvivalentnie-shumi-pezopriemnikov.html infonko.ru/ekvivalentnost-par-slozhenie-par-usloviya-ravnovesiya-par-sil.html infonko.ru/ekvivalentov-kisloti-v-reakciyah-obmena.html infonko.ru/ekvvalentna-elektrichna-shema-oporu-lyudini-elektrichnomu-strumu-skladov.html infonko.ru/ekzamenacijniya-pitann-pa-kursu.html infonko.ru/ekzamenacionnaya-rabota-dlya-provedeniya-gosudarstvennoj.html infonko.ru/ekzamenacionnie-bileti-po-muzikalnoj-literature.html infonko.ru/ekzamenacionnie-bileti-testi-po-bloku-b8-trebovaniya-promishlennoj-bezopasnosti-k-oborudovaniyu-rabotayushemu-pod-davleniem.html infonko.ru/ekzamenacionnie-bileti-testi-po-bloku-b9-trebovaniya-promishlennoj-bezopasnosti-k-podemnim-sooruzheniyam.html infonko.ru/ekzamenacionnij-material-dlya-provedeniya-ekzamenov-v-ramkah-promezhutochnoj-attestacii.html