Слайд 1Жизненный цикл ПО
Одним из базовых понятий методологии проектирования ИС является
понятие жизненного цикла ее программного обеспечения (ЖЦ ПО).
ЖЦ ПО -
это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.
Слайд 2Стандартизация жизненного цикла
Основным нормативным документом, регламентирующим ЖЦ ПО, является международный
стандарт ISO/IEC 12207 (ISO - International Organization of Standardization -
Международная организация по стандартизации, IEC - International Electrotechnical Commission - Международная комиссия по электротехнике). Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО.
Слайд 3Структура жизненного цикла
Структура ЖЦ ПО по стандарту ISO/IEC 12207 базируется
на трех группах процессов:
основные процессы (приобретение, поставка, разработка, эксплуатация,
сопровождение);
вспомогательные процессы, которые обеспечивают выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, решение проблем);
организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).
Слайд 4Основной процесс - разработка ПО
Все работы по созданию ПО и
его компонент в соответствии с заданными требованиями, включая оформление проектной
и эксплуатационной документации, подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д.
Разработка ПО включает в себя, как правило, анализ, проектирование и реализацию (программирование).
Слайд 5Основной процесс - эксплуатация
Работы по внедрению компонентов ПО в эксплуатацию,
в том числе конфигуриро-вание базы данных и рабочих мест пользователей,
обеспечение эксплуатаци-онной документацией, проведение обучения персонала и т.д., и непосред-ственно эксплуатацию, в том числе локализацию проблем и устранение причин их возникновения, модификацию ПО в рамках установленного регламента, подготовку предложений по совершенствованию, развитию и модернизации системы.
Слайд 6Вспомогательный процесс – контроль качества
Проблемы верификации, проверки и тестирования ПО.
Верификация
- это процесс определения того, отвечает ли текущее состояние разработки,
достигнутое на данном этапе, требованиям этого этапа.
Проверка позволяет оценить соответствие параметров разработки с исходными требованиями. Проверка частично совпадает с тестированием.
Тестирование связано с идентификацией различий между действительными и ожидаемыми результатами и оценкой соответствия характеристик ПО исходным требованиям.
Слайд 7Организационный процесс – управление проектом
Вопросы планирования и организации работ, создания
коллективов разработчиков и контроля за сроками и качеством выполняемых работ.
Техническое и организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний ПО, обучение персонала и т.п.
Слайд 8Организационный процесс – управление конфигурацией
Поддерживает основные процессы жизненного цикла ПО,
прежде всего процессы разработки и сопровождения ПО.
При создании проектов
сложных ИС, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития всей системы.
Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ.
Слайд 9Каскадная модель жизненного цикла
Разбиение всей разработки на этапы, причем переход
с одного этапа на следующий происходит только после того, как
будет полностью завершена работа на текущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Слайд 10Каскадная модель жизненного цикла
Слайд 11Каскадная модель - преимущества
на каждом этапе формируется законченный набор проектной
документации, отвечающий критериям полноты и согласованности;
выполняемые в логичной последовательности
этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
Слайд 12Каскадная модель - недостатки
пригодна только для таких проектов, для которых
в самом начале разработки можно достаточно точно и полно сформулировать
все требования ;
существенное запаздывание с получением результатов (согласование результатов с пользователями производится только в точках, планируемых после завершения каждого этапа работ, требования к ИС "заморожены" в виде технического задания на все время ее создания).
Слайд 13Во что превращается каскадная модель в реальности
Слайд 14Спиральная модель жизненного цикла
Делает упор на начальные этапы ЖЦ: анализ
и проектирование. На этих этапах реализуемость технических решений проверяется путем
создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПО, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации.
Слайд 15Спиральная модель жизненного цикла
Слайд 16Спиральная модель - достоинства
Разработка итерациями отражает объективно существующий спиральный цикл
создания системы.
Неполное завершение работ на каждом этапе позволяет переходить на
следующий этап, не дожидаясь полного завершения работы на текущем.
Недостающую работу можно будет выполнить на следующей итерации. Главная же задача - как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований.
Слайд 17Спиральная модель - недостатки
Основной недостаток спирального цикла – проблема определение
момента перехода на следующий этап.
Для ее решения необходимо ввести временные
ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.