Жизненный цикл программного обеспечения (ЖЦ ПО)

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

Процессы ЖЦ ПО:

- основные,

- вспомогательные,

- организационные.


Основные:

1. Приобретение – действия и задачи заказчика, приобретающего ПО;

2. Поставка – действия и задачи поставщика, который снабжает заказчика программным продуктом или услугой;

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

4. Эксплуатация – действия и задачи оператора организации, эксплуатирующей систему;

5. Сопровождение – внесение изменений в ПО в целях исправления ошибок, повышения производительности или адаптации к изменившимся условиям работы или требованиям.

 

Вспомогательные:

1. Документирование – формализованное описание информации, созданной в течение ЖЦ ПО;

2. Управление конфигурацией– применение административных и технических процедур на всем протяжении ЖЦ ПО для определения состояния компонентов ПО, управления его модификациями;

3. Обеспечение качества– обеспечение гарантий того, что ПО и процессы ее ЖЦ соответствуют заданным требованиям и утвержденным планам;

4. Верификация – определение того, что программные продукты полностью удовлетворяют требованиям или условиям, обусловленным предшествующими действиями;

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

6. Совместная оценка– оценка состояния работ по проекту: контроль планирования и управления ресурсами, персоналом, аппаратурой, инструментальными средствами;

7. Аудит – определение соответствия требованиям, планам и условиям договора;

8. Разрешение проблем– анализ и решение проблем, независимо от их происхождения или источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов.

 

Организационные:

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

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

3. Усовершенствование – оценка, измерение, контроль и усовершенствование процессов ЖЦ;

4. Обучение – первоначальное обучение и последующее постоянное повышение квалификации персонала.

 

В 2002 г. был опубликован стандарт на процессы жизненного цикла систем (ISO/IEC 15288 System life cycle processes). К разработке стандарта были привлечены специалисты различных областей: системной инженерии, программирования, управления качеством, человеческими ресурсами, безопасностью и пр. Был учтен практический опыт создания систем в правительственных, коммерческих, военных и академических организациях. Стандарт применим для широкого класса систем, но его основное предназначение – поддержка создания компьютеризированных систем.

Согласно стандарту ISO/IEC серии 15288 в структуру ЖЦ следует включать следующие группы процессов:

1. Договорные процессы:

- приобретение (внутренние решения или решения внешнего поставщика);

- поставка (внутренние решения или решения внешнего поставщика);

2. Процессы предприятия:

- управление окружающей средой предприятия;

- инвестиционное управление;

- управление ЖЦ ИС;

- управление ресурсами;

- управление качеством;

3. Проектные процессы:

- планирование проекта;

- оценка проекта;

- контроль проекта;

- управление рисками;

- управление конфигурацией;

- управление информационными потоками;

- принятие решений.

4. Технические процессы:

- определение требований;

- анализ требований;

- разработка архитектуры;

- внедрение;

- интеграция;

- верификация;

- переход;

- аттестация;

- эксплуатация;

- сопровождение;

- утилизация.

5. Специальные процессы:

- определение и установка взаимосвязей исходя из задач и целей.


Создание основных процессов ЖЦ ПО по ИС (ISO/IEC 15288)

Процесс (исполнитель процесса) Действия Вход Результат
Приобретение (заказчик) - Инициирование - Подготовка заявочных предложений - Подготовка договора - Контроль деятельности поставщика - Приемка ИС - Решение о начале работ по внедрению ИС - Результаты обследования действий заказчика - Результаты анализа рынка ИС/ тендера - План поставки/ разработки - Комплексный тест ИС - Технико-экономическое обоснование внедрения ИС - Техническое задание на ИС - Договор на поставку/ разработку - Акты приемки этапов работы - Акт приемно-сдаточных испытаний
Поставка (разработчик ИС) - Инициирование - Ответ на заявочные предложения - Подготовка договора - Планирование исполнения - Поставка ИС - Техническое задание на ИС - Решение руководства об участии в разработке - Результаты тендера - Техническое задание на ИС - План управления проектом - Разработанная ИС и документация - Решение об участии в разработке - Коммерческие предложения/ конкурсная заявка - Договор на поставку/ разработку - План управления проектом - Реализация/ корректировка - Акт приемно-сдаточных испытаний
Разработка (разработчик ИС) - Подготовка - Анализ требований к ИС - Проектирование архитектуры ИС - Разработка требований к ПО - Проектирование архитектуры ПО - Детальное проектирование ПО - Кодирование и тестирование ПО - Интеграция ПО и квалифицированное тестирование ПО - Интеграция ИС и квалифицированное тестирование ИС - Техническое задание на ИС - Техническое задание на ИС, модель ЖЦ - Подсистемы ИС - Спецификации требования к компонентам ПО - Архитектура ПО - Материалы детального проектирования ПО - План интеграции ПО, тесты - Архитектура ИС, ПО, документация на ИС, тесты - Используемая модель ЖЦ, стандарты разработки - План работ - Состав подсистем, компоненты оборудования - Спецификации требования к компонентам ПО - Состав компонентов ПО, интерфейсы с БД, план интеграции ПО - Проект БД, спецификации интерфейсов между компонентами ПО, требования к тестам - Тексты модулей ПО, акты автономного тестирования - Оценка соответствия комплекса ПО требованиям ТЗ - Оценка соответствия ПО, БД, технического комплекса и комплекта документации требованиям ТЗ

 

Стадии создания систем (ISO/IEC 15288)

№ п/п Стадия Описание
Формирование концепции Анализ потребностей, выбор концепции и проектных решений
Разработка Проектирование системы
Реализация Изготовление системы
Эксплуатация Ввод в эксплуатацию и использование системы
Поддержка Обеспечение функционирования системы
Снятие с эксплуатации Прекращение использования, демонтаж, архивирование системы

 

 


12 мая

 

СРС: Создать техническое задание для проекта «Очередь» на сайте www.mastertz.ru

 

Модели ЖЦ ПО:

1. каскадная,

2. спиральная,

3. итерационная.

Каскадная модель жизненного цикла («модель водопада», англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе.

Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта.

Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.

 

Ввод в эксплуатацию
Тестирование
Реализация
Разработка требований
Формирование

 

 

Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Уильямса Эдварда Деминга PDCA (plan-do-check-act). При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования.

Прототип – действующий компонент ПО, реализующий отдельные функции и внешние интерфейсы.

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

Рис. 21. Спиральная модель ЖЦ ПО

 

На каждой итерации оцениваются:

1. Риск превышения сроков и стоимости проекта;

2. Необходимость выполнения еще одной итерации;

3. Степень полноты и точности понимания требований к системе;

4. Целесообразность прекращения проекта.

Один из примеров реализации спиральной модели — RAD.

Основные принципы RAD:

1. Инструментарий должен быть нацелен на минимизацию времени разработки;

2. Создание прототипа для уточнения требований заказчика;

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

4. Минимизация времени разработки версии, за счёт переноса уже готовых модулей и добавления функциональности в новую версию;

5. Команда разработчиков должна тесно сотрудничать, каждый участник должен быть готов выполнять несколько обязанностей;

6. Управление проектом должно минимизировать длительность цикла разработки.

 

Итерационная модель: естественное развитие каскадной и спиральной моделей привело к их сближению и появлению современного итерационного подхода, который представляет рациональное сочетание этих моделей.

 

Рис. 22. Итерационная модель ЖЦ ПО

 

Различные варианты итерационного подхода реализованы в большинстве современных технологий и методов, таких как:

— RUP

— MSF

— XP