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

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

- Анализ

- Проектирование

- Реализация

- Тестирование и отладка

- Внедрение, эксплуатация и сопровождение.

Простейшее представление ЖЦ программы (каскадный технологический подход к ведению жизненного цикла):

 

Процессы

Анализ

Проектирование

Программирование

Тестирование

Сопровождение

 

Стадии

Анализ Проектирование Реализация ТестированиеВнедрениеэксплуатация

и отладка и сопровождение

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

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

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

Этап реализации включает написание программы.

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

ЖЦ ПО регламентируется многими стандартами в том числе и международными.

Цель стандартизации ЖЦ сложных ПС:

- обобщение опыта и результатов исследований множества специалистов;

- рекомендации наиболее эффективных современных методов и процессов создания и развития комплексов программ;

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

Стандарты включают:

- правила описания исходной информации, способов и методов выполнения операций;

- устанавливают правила контроля технологических процессов;

- устанавливают требования к оформлению результатов;

- регламентируют содержание технологических и эксплуатационных документов;

- определяют организационную структуру коллектива разработчиков;

- обеспечивают распределение и планирование заданий;

- обеспечивают контроль за ходом создания ПС.

В России действуют стандарты :

- разработка и испытание автоматизированных систем - ГОСТ 34.601 –90;

- стадии создания – ГОСТ 34.602-89;

- ТЗ на создание АС – ГОСТ 34.603-92

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

В связи с этим следует отметить международный стандарт ISO/IEC 12207-95.

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

Технологические процессы бывают:

- Классические;

- Стандартные.

Классические процессы:

- возникновение и исследование идеи;

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

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

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

- реализация;

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

- ввод в действие (внедрение);

- эксплуатация и сопровождение;

- завершение эксплуатации.

Структура ЖЦ ПО по международному стандарту ISO/IEC 12207-95 базируется на трех группах процессов:

1) основные процессы ЖЦ ПО (приобретение, поставка, или разработка, эксплуатация, сопровождение). Мы основное внимание уделим последним.

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

Верификация-это процесс определения того, отвечает ли текущее состояние ПО, достигнутое на данном этапе, требованиям этого этапа.

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

Мы будем рассматривать ЖЦ ПО с точки зрения разработчика.

Для разработчика ПО этапами жизненного цикла программы являются:

1) Фаза разработки

2) Фаза использования(эксплуатации);

3) Фаза сопровождения (продолжающейся разработки)

Необходимо особо отметить то, что использование сопровождается продолжающейся разработкой (сопровождение)- разработкой новых версий и подверсий, в которых учитываются недостатки предыдущей версии и реализуются новые возможности.

 

использование

------------------

разработка /

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

\_________________

 

Программное обеспечение создается, эксплуатируется и развивается во времени.

Основные стадии разработки ПО устанавливаются ГОСТом 19.102-77.

Разработка включает в себя все работы:

1) по созданию ПО и его компонент в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации,

2) подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д.

Разработка включает в себя, как правило, системный анализ, проектирование, реализацию (программирование), тестирование, отладка, испытания, документирование .

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