Тема 1.2 Жизненный цикл АИС и модели жизненного цикла АИС
Жизненный цикл АИС –это непрерывный процесс с момента принятия решения о необходимости принятия решения о необходимости ее создания до полного завершения ее эксплуатации.
Продолжительность жизненного цикла современных АИС составляет около 10 лет, что значительно превышает сроки морального и физического старения технических и системных программных средств, используемых при реализации АИС. Поэтому, как правило, в течение ЖЦ системы проводится ее модернизация, после чего все функции системы должны выполняться с не меньшей эффективностью.
Добиться этого на протяжении всего ЖЦ АИС — довольно сложная по ряду объективных и субъективных причин задача, в результате подавляющее большинство проектов АИС внедряется с нарушениями качества, сроков или сметы; почти треть проектов прекращают свое существование незавершенными. По данным Standish Group в 1996 г. 84 % проектов АИС не были завершены в установленные сроки, в 1998 г. это число сократилась до 74 %, после 2000 г. оно не опускается ниже 50 %. Главной причиной такого положения является то, что уровень технологии анализа и проектирования систем, методов и средств управления проектами не соответствует сложности создаваемых систем, которая постоянно возрастает в связи с усложнением и быстрыми изменениями бизнеса.
Из мировой практики известно, что затраты на сопровождение прикладного программного обеспечения АИС составляют не менее 70 % его совокупной стоимости на протяжении ЖЦ, поэтому крайне важно еще на проектной стадии предусмотреть необходимые методы и средства сопровождения, включая методы конфигурационного управления.
Процесс проектирования АИС регламентирован следующей документацией (стандартами, методологиями, моделями):
• ГОСТ 34.601—90 — стандарт на стадии и этапы создания АИС, соответствующие каскадной модели ЖЦ ПО (рассматривается ниже). Приводится описание содержания работ на каждом этапе;
• 180/1ЕС 12207:1995 — стандарт на процессы и организацию жизненного цикла; распространяется на все виды заказного программного обеспечения; не содержит описания фаз, стадий и этапов;
• Custom Develoment Method (методология Oracle) — технологический материалпо разработке прикладных АИС, детализированный до уровня заготовок проектных документов в расчете на использование Oracle.Применяется для классической модели ЖЦ (предусмотрены все работы, задачи и этапы), а также для технологий «быстрой разработки» (Fast Track) или «облегченного подхода», рекомендуемых в случае малых проектов.
• Rational Unified Process (методология RUP)— технологический материал по реализации итеративной модели разработки, включающей четыре фазы (цикл разработки): начало, исследование, построение и внедрение. Каждая фаза разбита на этапы (итерации), результатами которых являются версии для внутреннего или внешнего использования. Каждый цикл завершается генерацией очередной версии системы. Если после этого работа над проектом не прекращается, то полученный продукт продолжает развиваться и снова проходит те же фазы. Суть работы в рамках RUP-методологии — создание и сопровождение моделей на базе UML;
• Microsoft Solution Framework (методология MSF) — технологический материал по реализации итеративной модели разработки, аналогично RUP включает четыре фазы: анализ, проектирование, разработку, стабилизацию; предполагает использование объектно-ориентированного моделирования. MSF в сравнении с RUP в большей степени ориентирована на разработку бизнес-приложений;
• Extreme Programming (ХР) — экстремальное программирование (самая новая среди рассматриваемых методологий); сформировалось в 1996 г. Основой методологии является работа в команде, эффективные коммуникации между заказчиком и исполнителем в течение всего проекта; разработка АИС ведется с использованием последовательно дорабатываемых прототипов.
Стандарт ISO/IЕС 12207 в структуре жизненного цикла определяет процессы, которые выполняются при создании ПО АИС. Эти процессы подразделяют на три группы:
• основные (приобретение, поставка, разработка, эксплуатация и сопровождение);
• вспомогательные (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит и решение проблем);
• организационные (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла, обучение).
Среди основных процессовжизненного цикла самыми важными являются разработка, эксплуатация и сопровождение. Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными на предыдущем этапе, и результатами.
Разработка АИС включает все работы по созданию программного обеспечения и его компонентов в соответствии с заданными требованиями. Этот процесс также предусматривает:
• оформление проектной и эксплуатационной документации;
• подготовку материалов, необходимых для тестирования разработанных программных продуктов;
• разработку материалов, необходимых для обучения персонала.
Как правило, составляющими процесса разработки являются стратегическое планирование, анализ, проектирование и реализация (программирование).
К процессу эксплуатации относятся:
• конфигурирование базы данных и рабочих мест пользователей;
• обеспечение пользователей эксплуатационной документацией;
• обучение персонала.
Основные эксплуатационные работы включают:
• непосредственно эксплуатацию;
• локализацию проблем и устранение причин их возникновения;
• модификацию программного обеспечения;
• подготовку предложений по совершенствованию системы;
• развитие и модернизацию системы.
Профессиональное, грамотное сопровождение — необходимое условие решения задач, выполняемых АИС. Службы технической поддержки играют весьма заметную роль в жизни любой АИС. Ошибки на этом этапе могут привести к явным или скрытым финансовым потерям, сопоставимым со стоимостью самой системы.
К предварительным действиям при организации технического обслуживания АИС относятся:
• выделение наиболее ответственных узлов системы и определение для них критичности простоя (это позволит выделить наиболее критичные составляющие АИС и оптимизировать распределение ресурсов для технического обслуживания);
• определение задач технического обслуживания и их разделение на внутренние, решаемые силами обслуживающего подразделения, и внешние, решаемые специализированными сервисными организациями (таким образом, четко ограничивается круг исполняемых функций и производится распределение ответственности);
• проведение анализа имеющихся внутренних и внешних ресурсов, необходимых для организации технического обслуживания в рамках описанных задач и разделения компетенции (основные критерии для анализа: наличие гарантии на оборудование, состояние ремонтного фонда, квалификация персонала);
• подготовка плана организации технического обслуживания с определением этапов исполняемых действий, сроков их исполнения, затрат на этапах, ответственности исполнителей.
Обеспечение качественного технического обслуживания ШС требует привлечения специалистов высокой квалификации, которые в состоянии решать не только ежедневные задачи администрирования, но и быстро восстанавливать работоспособность системы при сбоях и авариях.
Среди вспомогательных процессоводним из главных является управление конфигурацией, которое поддерживает основные процессы жизненного цикла АИС, прежде всего процессы разработки и сопровождения.
Разработка сложных АИС предполагает независимую разработку компонентов системы, что приводит к появлению многих вариантов и версий реализации как отдельных компонентов, так и системы в целом. Таким образом, возникает проблема обеспечениясохранения единой структуры в ходе разработки и модернизации АИС. Управление конфигурацией позволяет организовывать, систематически учитывать и контролировать внесение изменений в различные компоненты АИС на всех стадиях ее ЖЦ.
Организационные процессыимеют очень большое значение, так как современные АИС — это большие комплексы, в создании и обслуживании которых занято много людей разных специальностей.
Процесс(исполнитель процесса)
Действия'
Вход
Результат
Приобретение (заказчик)
Инициирование. Подготовка заявочных предложений.
Подготовка договора. Контроль деятельности поставщика.
Приемка АИС
Решение о начале работ по внедрению АИС.
Результаты обследования деятельности заказчика.
Результаты анализа рынка АИС/тен-дера.
План поставки/разработки. Комплексный тест АИС
Технико-экономическое обоснование внедрения АИС. Техническое задание на АИС. Договор на поставку/разработку. Акты приемки этапов работы. Акт приемо-сдаточных испытаний
Поставка
(разработчик
АИС)
Инициирование.
Ответ на заявочные предложения. Подготовка договора. Планирование исполнения. Поставка АИС
Техническое задание на АИС. Решение руководства об участии в разработке. Результаты тендера. Техническое задание на АИС. План управления проектом. Разработанная АИС и документация
Решение об участии в разработке.
Коммерческие предложения/конкурсная заявка.
Договор на поставку/разработку.
План управления проектом.
Реализация/корректировка.
Акт приемо-сдаточных испытаний
Разработка
(разработчик
АИС)
Подготовка.
Анализ требований к АИС. Проектирование архитектуры АИС. Разработка требований к ПО. Проектирование архитектуры ПО. Детальное проектирование ПО. Кодирование и тестирование ПО. Интеграция ПО и квалификационное тестирование ПО. Интеграция ИС и квалификационное тестирование АИС
Техническое задание на АИС. Техническое задание на АИС, модель ЖЦ.
Техническое задание на АИС. Подсистемы АИС.
Спецификации требования к компо-' нентам ПО. Архитектура ПО.
Материалы детального проектирования ПО.
План интеграции ПО, тесты. Архитектура ИС, ПО, документация на ИС, тесты
Используемая модель ЖЦ, стандарты разработки. План работ.
Состав подсистем, компоненты оборудования. Спецификации требования к компонентам ПО. Состав компонентов ПО, интерфейсы с БД, план интеграции ПО.
Проект БД, спецификации интерфейсов между компонентами ПО, требования к тестам. Тесты модулей ПО, акты автономного тестирования. Оценка соответствия комплекса ПО требованиям ТЗ. Оценка соответствия ПО, БД, технического комплекса и комплекта документации требованиям ТЗ
Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков, конроля сроков и качества выполнения работ. Техническое и организационное обеспечение проекта включает:
• выбор методов и инструментальных средств реализации проекта;
• определение методов описания состояния процесса разработки;
• разработку методов и средств испытаний созданного программного обеспечения;
• обучение персонала.
Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования компонентов АИС.
Верификация — процесс определения соответствия текущего состояния разработки, достигнутого на данном этапе, требованиям этого этапа.
Проверка — процесс определения соответствия параметров разработки исходным требованиям. Проверка отчасти совпадает с тестированием, которое проводится для определения различий между действительными и ожидаемыми результатами, а также для оценки соответствия характеристик АИС исходным требованиям.
В 2002г. Был опубликован стандарт на процессы ЖЦ автоматизированных систем (ISO/IEC 15288 System Life cycle processes). В разработке стандарта участвовали специалисты из различных областей деятельности; учитывался практический опыт создания систем в правительственных, коммерческих, военных и академических организациях. Согласно стандарту ISO/IEC серии 15288 в структуру ЖЦ включены следующие группы процессов.
1. Договорные процессы:
• приобретение (внутренние решения или решения внешнего поставщика);
• поставка (внутренние решения или решения внешнего поставщика).
2. Процессы предприятия:
• управление окружающей средой предприятия;
• инвестиционное управление; в управление ЖЦ ИС;
• управление ресурсами;
• управление качеством.
3. Проектные процессы:
• планирование проекта;
• оценка проекта;
• контроль проекта;
• управление рисками;
• управление конфигурацией;
• управление информационными потоками;
• принятие решений.
4. Технические процессы:
• определение требований;
• анализ требований;
• разработка архитектуры;
• внедрение;
• интеграция;
• верификация;
• переход;
• аттестация;
• эксплуатация;
• сопровождение;
• утилизация.
5. Специальные процессы:
• определение и установка взаимосвязей исходя из задач и целей.
В табл. 1.4 приведены перечень стадий и основные результаты к моменту их завершения в соответствии с указанным стандартом.
В 1970-х гг. корпорация IBM предложила методологию Business System Planning (BSP) или методологию организационного планирования.
Метод структурирования информации с использованием матриц пересечения бизнес-процессов, функциональных подразделений систем обработки данных (ИС), информационных объектов, документов и баз данных, предложений в BSP, их последовательность (получить поддержку высшего руководства, определить процессы предприятия, определить процессы классы данных, привести интервью, обработать и организовать данные интервью) можно встретить практически во всех формальных методиках, а также в проектах, реализуемых на практике.
Таблица 1.4. Стадии создания АИС (ISO/IEC 15288)
Стадия
Описание
Формирование концепции
Анализ потребностей, выбор концепции и проектных решений
Разработка
Проектирование системы
Реализация
Изготовление системы
Эксплуатация
Ввод в эксплуатацию и использование системы
Поддержка
Обеспечение функционирования системы
Снятие с эксплуатации
Прекращение использования, демонтаж, архивирование системы
По опубликованным данным [19, 21] каждый этап разработки АИС требует определенных затрат времени. В основном (45—50 %) время уходит на кодирование, комплексное и автономное тестирование (рис.14). В среднем разработка АИС занимает одну треть всего ЖЦ системы (рис.1.5).