Стадии жизненного цикла информационной системы
1. Предпроектное обследование
o 1.1. Сбор материалов для проектирования; при этом выделяют формулирование требований, изучение объекта автоматизации, даются предварительные выводы предпроектного варианта ИС.
o 1.2. Анализ материалов и разработка документации; обязательно даётся технико-экономическое обоснование с техническим заданием на проектирование ИС.
2. Проектирование
o 2.1. Предварительное проектирование:
§ выбор проектных решений по аспектам разработки ИС;
§ описание реальных компонент ИС;
§ оформление и утверждение технического проекта (ТП).
o 2.2. Детальное проектирование:
§ выбор или разработка математических методов или алгоритмов программ;
§ корректировка структур БД;
§ создание документации на доставку и установку программных продуктов;
§ выбор комплекса технических средств с документацией на её установку.
o 2.3. Разработка техно-рабочего проекта ИС (ТРП).
o 2.4. Разработка методологии реализации функций управления с помощью ИС и описанием регламента действий аппарата управления.
3. Разработка ИС
o получение и установка технических и программных средств;
o тестирование и доводка программного комплекса;
o разработка инструкций по эксплуатации программно-технических средств.
4. Ввод ИС в эксплуатацию
o ввод технических средств;
o ввод программных средств;
o обучение и сертификация персонала;
o опытная эксплуатация;
o сдача и подписание актов приёмки-сдачи работ.
5. Эксплуатация ИС
o повседневная эксплуатация;
o общее сопровождение всего проекта.
ЖЦ образуется в соответствии с принципом нисходящего проектирования и, как правило, носит итерационный характер: реализованные этапы, начиная с самых ранних, циклически повторяются в соответствии с изменениями требований и внешних условий, введением ограничений и т.п. На каждом этапе ЖЦ порождается определённый набор документов и технических решений; при этом для каждого этапа исходными являются документы и решения, полученные на предыдущем этапе. Каждый этап завершается верификацией порождённых документов и решений с целью проверки их соответствия исходным.
Основным нормативным документом, регламентирующим ЖЦ ПО, является международный стандарт ISO/IEC 12207 [5] (ISO - International Organization of Standardization - Международная организация по стандартизации, IEC - International Electrotechnical Commission - Международная комиссия по электротехнике). Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО.
Структура ЖЦ ПО по стандарту ISO/IEC 12207 базируется на трёх группах процессов:
· основные процессы ЖЦ ПО (приобретение, поставка, разработка, эксплуатация, сопровождение);
· вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, решение проблем);
· организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).
Разработка включает в себя все работы по созданию ПО и его компонент в соответствии с заданными требованиями. Сюда включается оформление проектной и эксплуатационной документации, подготовка материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д. Разработка ПО включает в себя, как правило, анализ, проектирование и реализацию (программирование).
Эксплуатация включает в себя работы по внедрению компонентов ПО в эксплуатацию. В этот процесс входит конфигурирование базы данных и рабочих мест пользователей, обеспечение эксплуатационной документацией, проведение обучения персонала и т.д., и непосредственно эксплуатацию, в том числе локализацию проблем и устранение причин их возникновения, модификацию ПО в рамках установленного регламента, подготовку предложений по совершенствованию, развитию и модернизации системы.
Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков и контроля за сроками и качеством выполняемых работ. Техническое и организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний ПО, обучение персонала и т.п. Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования ПО.
Верификация - это процесс определения того, отвечает ли текущее состояние разработки, достигнутое на данном этапе, требованиям этого этапа. Проверка позволяет оценить соответствие параметров разработки с исходными требованиями. Проверка частично совпадает с тестированием, которое связано с идентификацией различий между действительными и ожидаемыми результатами и оценкой соответствия характеристик ПО исходным требованиям. В процессе реализации проекта важное место занимают вопросы идентификации, описания и контроля конфигурации отдельных компонентов и всей системы в целом.
Управление конфигурацией является одним из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего, процессы разработки и сопровождения ПО. При создании проектов сложных ИС, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учёта их связей и функций, создания унифицированной структуры и обеспечения развития всей системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ. Общие принципы и рекомендации конфигурационного учёта, планирования и управления конфигурациями ПО отражены в проекте стандарта ISO 12207-2.
Каждый процесс характеризуется определёнными задачами и методами их решения, исходными данными, полученными на предыдущем этапе, и результатами. Результатами анализа, в частности, являются функциональные модели, информационные модели и соответствующие им диаграммы. ЖЦ ПО носит итерационный характер: результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних этапах.
Модели ЖЦ ИС
Существующие модели ЖЦ определяют порядок исполнения этапов в ходе разработки, а также критерии перехода от этапа к этапу. В соответствии с этим наибольшее распространение получили три следующие модели ЖЦ:
Каскадная модель (70-80г.г.) — предполагает переход на следующий этап после полного окончания работ по предыдущему этапу (рис.2.4).
Рис. 2.4.Каскадная модель
Поэтапная модель с промежуточным контролем (80-85г.г.) — итерационная модель разработки ПО с циклами обратной связи между этапами. Преимущество такой модели заключается в том, что межэтапные корректировки обеспечивают меньшую трудоёмкость посравнению с каскадной моделью; однако время жизни каждого из этапов растягивается на весь период разработки (рис.2.5).
Рис. 2.5.Поэтапная модель
Спиральная модель (86-90г.г.) — делает упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путём создания прототипов. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии программного изделия, на нём уточняются цели и характеристики проекта, определяется его качество, планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации (рис.2.6).
Рис. 2.6.Спиральная модель
Специалистами отмечаются следующие преимущества спиральной модели:
· накопление и повторное использование программных средств, моделей и прототипов;
· ориентация на развитие и модификацию ПО в процессе его проектирования;
· анализ риска и издержек в процессе проектирования.
Главная особенность индустрии ПО состоит в концентрации сложности на начальных этапах ЖЦ (анализ, проектирование) при относительно невысокой сложности и трудоёмкости последующих этапов. Более того, нерешённые вопросы и ошибки, допущенные на этапах анализа и проектирования, порождают на последующих этапах трудные, часто неразрешимые проблемы и, в конечном счёте, приводят к неуспеху всего проекта. Рассмотрим эти этапы более подробно.
Анализ требований является первой фазой разработки ПО, на которой требования заказчика уточняются, формализуются и документируются. Фактически на этом этапе даётся ответ на вопрос: "Что должна делать будущая система?". Именно здесь лежит ключ к успеху всего проекта. В практике создания больших систем ПО известно немало примеров неудачной реализации проекта именно из-за неполноты и нечёткости определения системных требований.
Список требований к разрабатываемой системе должен включать:
· совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия её функционирования; состав людей и работ, имеющих к ней отношение);
· описание выполняемых системой функций;
· ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации).
Целью анализа является преобразование общих, неясных знаний о требованиях к будущей системе в точные (по возможности) определения. На этом этапе определяются:
· архитектура системы, её функции, внешние условия, распределение функций между аппаратурой и ПО;
· интерфейсы и распределение функций между человеком и системой;
· требования к программным и информационным компонентам ПО, необходимые аппаратные ресурсы, требования к БД, физические характеристики компонентов ПО, их интерфейсы.
Контрольные вопросы и упражнения
1. Показать особенности информационных технологий.
2. Пояснить уровни информационных технологий.
3. Что представляет собой инструментальная страта?
4. Что представляет собой предметная страта?
5. Что составляет основу автоматизированной информационной технологии?
6. Что называют информационной системой?
7. Какие три процесса включает современная информационная система?
8. За счёт чего повышают эффективность производственно-хозяйственной деятельности предприятия информационные системы?
9. Пояснить классификацию информационных систем.
10. Для чего предназначены информационные системы организационного управления?
11. Что понимают под ЖЦИС?
12. Перечислите этапы ЖЦ ПО.
13. Поясните стадии жизненного цикла информационной системы.
14. Что является основным нормативным документом, регламентирующим ЖЦ ПО?
15. Перечислите модели ЖЦ.
16. Что предполагает каскадная модель?
17. Что представляет собой поэтапная модель с промежуточным контролем?
18. Поясните суть спиральной модели.