Лекция 4. Жизненный цикл информационных систем
Жизненный цикл информационной системы
- это непрерывный процесс, начинающийся!! с момента принятия решения о создании информационной системы и заканчивается в момент полного изъятия ее из эксплуатации
Стандарт ISO/IEC 12207 определяет структуру жизненного цикла, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания информационной системы.
Структура жизненного цикла
- основные процессы жизненного цикла (приобретение, поставка, разработка, эксплуатация, сопровождение)
- вспомогательные процессы , обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, разрешение проблем)
- организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла, обучение)
Наибольшую важность в структуре жизненно цикла системы играет разработка, эксплуатация и сопровождение.
Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными на предыдущем этапе, и результатами.
Разработка
Включает в себя все работы по разработке информационного программного обеспечения и его компонентов в соответствии с заданными требованиями.
Разработка также включает:
- оформление проектной и эксплуатационной документации
- подготовку материалов, необходимых для проведения тестирования тайных программных продуктов
- разработку материалов, необходимых для организации обучения персонала
Разработка является одним из важнейших процессов жизненного цикла информационной системы и, как правило, включает в себя стратегическое планирование, анализ, проектирование и реализацию (программирование).
Эксплуатация
подгото вительные
основные
непосредственно эксплуатацию
конфигурирование базы данных и рабочих мест пользователей
локализацию проблем и устранение причин их возникновения
обеспечение пользователей эксплуатационной документацией
модификацию программного обеспечения
подготовку предложений по совершенствованию системы
обучение персонала
развитие и модернизацию системы
Сопровождение
Наличие квалифицированного технического обслуживания на этапе эксплуатации информационной системы является необходимым условием для решения поставленных перед ней задач.
Причем ошибки обслуживающего персонала могут приводить к явным или скрытым финансовым потерям сопоставимым со стоимостью самой информационной системы.
Модели жизненного цикла
- структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении жизненного цикла.
Модель жизненного цикла зависит от специфики информационной системы и специфики условий, в которых последняя создается и функционирует
Основные модели жизненного цикла:
- задачная модель
- каскадная модель (или системная) (70-85 г.г.)
- спиральная модель (настоящее время)
Задачная модель
При разработке системы и увеличения количества задач возникают трудности, приходится постоянно изменять уже существующие программы и структуры данных. Скорость развития системы замедляется, что тормозит и развитие самой организации.
Целесообразное применение:
- Крайняя срочность (надо чтобы хоть как-то задачи решались; потом придется все сделать заново)
- Эксперимент и адаптация заказчика (не ясны алгоритмы, решения нащупываются методом проб и ошибок)
Общий вывод: достаточно большую эффективную информационной системы таким способом создать невозможно
Каскадная модель
Для разработки такого типа приложений применялся каскадный способ.
Характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем.
Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Положительные стороны применения каскадного подхода заключаются в следующем:
- на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности
- выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты
Недостатком каскадного подхода является:
существенное запаздывание с получением результатов.
Согласование результатов с пользователями производится только в точках, планируемых после завершения каждого этапа работ, требования к информационным системам "заморожены" в виде технического задания на все время ее создания.
Пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания программного обеспечения, пользователи получают систему, не удовлетворяющую их потребностям.
Спиральная модель
Для преодоления перечисленных проблем была предложена спиральная модель жизненного цикла, делающая упор на начальные этапы жизненного цикла: анализ и проектирование.
На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток соответствует созданию фрагмента или версии программного обеспечения, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали.
Недостаток спирального цикла:
определение момента перехода на следующий этап.
Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
Подходов к разработке программного обеспечения в рамках спиральной модели жизненного цикла в последнее время получило широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development).
- процесс разработки программного обеспечения, содержащий 3 элемента:
- небольшую команду программистов (от 2 до 10 человек);
- короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);
- повторяющийся цикл, при котором разработчики, по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействие с заказчиком.
Жизненный цикл программного обеспечения по методологии RAD состоит из четырех фаз:
- фаза определения требований и анализа
- фаза проектирования
- фаза реализации
- фаза внедрения