- •Краткий конспект лекций
- •Тема 1. Основные понятия корпоративных информационных систем
- •1.1. Организационная и функциональная структура объекта управления
- •1.2. Информационные системы
- •1.3. Архитектура ис, типы архитектур
- •Тема 2. Информационные ресурсы корпоративных информационных систем
- •2.1 Информационная модель организации
- •2.1 Информационные ресурсы кис
- •Тема 3. Техническое обеспечение кис
- •3.2 Оборудование локальных сетей
- •3.3 Требования к техническому обеспечению кис
- •При проектировании кис формируется документ, в котором описывается комплекс используемых в системе технических средств, включающий:
- •Тема 4 Сетевое обеспечение корпоративных информационных систем
- •4.1 Компьютерные сети
- •В настоящее время развиваются городские сети или сети мегополисов (man, Metropolitan Area Networks), предназначенные для обслуживания территории крупного города.
- •Электронная почта (e-mail);
- •4.2 Корпоративные сети
- •Объединение офисных сетей с использованием беспроводного оборудования (рис. 4.3) предоставляет следующие преимущества:
- •Использование сети Интернет в качестве транспортной среды передачи данных при построении кс предприятия (рис. 4.4) предоставляет следующие преимущества:
- •Объединение локальных сетей предприятия в единую корпоративную сеть на основе арендованных каналов передачи данных (рис. 4.5) приносит следующие преимущества:
- •4.3 Интернет/Интранет-технологии
- •4.4 Перспективы развития телекоммуникационных и сетевых технологий
- •Тема 5. Программное обеспечение кис Глава 5. Программное обеспечение кис
- •5.1 Требования к программному обеспечению
- •5.2 Прикладное программное обеспечение кис
- •5.2.1 Рынок прикладного по и его сегментация
- •5.2.2 Средства разработки приложений
- •5.2.3 Системное программное обеспечение
- •5.2.4 Программное обеспечение промежуточного слоя
- •5.3 Интеграция ис
- •Описия сервисов
- •Р сервисов
- •Тема 6. Системы искусственного интеллекта
- •6.1 Основные понятия искусственного интеллекта
- •6.3 Интеллектуальный анализ данных. Управление знаниями
- •6.5 Системы поддержки принятия решений
- •Тема 7. Обеспечение безопасности кис
- •Глава 7 Обеспечение безопасности информационных систем
- •7.1 Основы информационной безопасности
- •7.2 Критерии оценки информационной безопасности
- •7.3 Классы безопасности информационных систем
- •7.4 Политика безопасности
- •7.5 Угрозы информационной безопасности
- •7.6 Методы и средства защиты информации
- •Тема 8. Проектирование корпоративных информационных систем
- •8 Проектирование корпоративной информационной системы
- •8.1 Жизненный цикл корпоративной информационной системы
- •8.2 Основные понятия проектирования кис
- •8.3 Подходы к проектированию ис
- •8.5 Стандартизация и сертификация информационных технологий
Тема 8. Проектирование корпоративных информационных систем
8 Проектирование корпоративной информационной системы
8.1 Жизненный цикл корпоративной информационной системы
Понятие жизненного цикла является одним из базовых понятий методологии проектирования информационных систем. Жизненный цикл информационной системы (ЖЦ ИС) представляет собой непрерывный процесс, начинающийся с момента принятия решения о создании информационной системы и заканчивающийся в момент полного изъятия ее из эксплуатации.
Существует ряд стандартов и методик, используемых при разработке КИС:
ISO/IEC 12207 – стандарт на процессы и организацию жизненного цикла, который распространяется на все виды программного обеспечения;
Rational Unified Process (RUP) – итеративная методология разработки;
Rapid Application Development (RAD) – методология быстрой разработки приложений, представляющая комплекс специальных инструментальных средств, позволяющих оперировать с определенным набором графических объектов, функционально отображающих отдельные компоненты приложений;
Custom Development Method (CDM) – методология по разработке прикладных информационных систем рассчитанных на использование в проектах с применением компонентов Oracle.
Стандарт ISO/IEC 12207 определяет структуру жизненного цикла, включая процессы, работы и задачи, выполняемые в процессе создания информационной системы. В нем работы, которые могут выполняться в жизненном цикле, распределены по следующим группам процессов (рис. 8.1):
основные;
вспомогательные;
организационные.
К основным процессам относятся:
1) заказ – включает определение потребностей заказчика в информационной системе, подготовку и выпуск заявки на подряд, выбор поставщика и управление процессом заказа вплоть до завершения приемки системы (выполняется заказчиком);
2) поставка – включает принятие решения о подготовке предложения в ответ на заявку на подряд, присланную заказчиком, или с подписания договора и вступления с заказчиком в договорные отношения по поставке системы; определение процедур и ресурсов, необходимых для выполнения проекта, включая разработку проектных планов и их выполнение посредством поставки ИС (выполняется поставщиком);
3) разработка – включает анализ требований, проектированию, программирование, сборку, тестирование, ввод в действие и приемку информационной системы (выполняет разработчик);
4) эксплуатация – процесс состоит из следующих работ: подготовка процесса; эксплуатационные испытания; эксплуатация системы; поддержка пользователя (выполняет разработчик);
5) сопровождение – реализуется при изменениях или модификациях информационной системы и соответствующей документации, вызванных возникшими проблемами или потребностями в модернизации или настройке Целью процесса является изменение существующей ИС при сохранении ее целостности (выполняет разработчик).
К вспомогательным процессам жизненного цикла относятся:
1) документирование – формализованное описание информации, созданной в процессе жизненного цикла (набор работ, при помощи которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются все заинтересованные лица – администраторы, инженеры и пользователи информационной системы);
2) управление конфигурацией – административные и технические процедуры на всем протяжении жизненного цикла программных средств для обозначения, определения и установления состояния программных объектов в системе; управления изменениями и выпуском объектов; описания и сообщения о состояниях объектов и заявок на внесение изменений в них; обеспечения полноты, совместимости и правильности объектов; управления хранением, обращением и поставкой объектов;
3) обеспечение качества – обеспечение гарантий, что программные продукты и процессы в жизненном цикле соответствуют установленным требованиям и утвержденным планам. Для обеспечения качества могут использоваться результаты других вспомогательных процессов (верификация, аттестация, совместные анализы, аудит и решение проблем);
4) верификация – определение, что программные продукты функционируют в полном соответствии с требованиями или условиями, реализованными в предшествующих работах (поставка, разработка, эксплуатация или сопровождение); анализ, проверка и тестирование;
5) аттестация – определение полноты соответствия созданной системы или программного продукта установленным требованиям и функциональному назначению;
6) совместный анализ – оценка состояний и при необходимости результатов работ по проекту;
7) аудит – определение соответствия разработанной системы или программного продукта требованиям, планам и условиям договора;
8) решение проблем – анализ и решение проблем, обнаруженных в ходе выполнения разработки, эксплуатации, сопровождения и других процессов.
Ответственность за работы и задачи вспомогательного процесса несет организация, выполняющая данный процесс.
Управление проектом связано с планированием и организацией работ, созданием коллективов разработчиков и контролем сроков и качества выполняемых работ.
К организационным процессам жизненного цикла относятся:
1) управление – включает общие работы и задачи, используемые управляющими любого процесса (администратор отвечает за управление продуктом, проектом, работами и задачами процессов заказа, поставки, разработки, эксплуатации, сопровождения или вспомогательными процессами);
2) создание инфраструктуры – установление и обеспечение инфраструктуры, необходимой для любого процесса (технических и программных средств, инструментальных средств, методик, стандартов и условий для разработки, эксплуатации и сопровождения);
3) усовершенствование – установление, оценка, измерение, контроль и улучшение любого процесса жизненного цикла программных средств;
4) обучение – обеспечение первоначального и последующего обучения персонала.
Полный жизненный цикл информационной системы включает в себя, как правило, стратегическое планирование, анализ, проектирование, реализацию, внедрение и эксплуатацию. В общем случае жизненный цикл можно достаточно произвольно разбить на ряд стадий. Наиболее распространенное деление предложено Rational Software Corporation в методологии RUP, в соответствии с которой жизненный цикл ИС подразделяется на четыре стадии: начало; проектирование; разработка; внедрение. Границы каждой стадии задаются временными моментами, в которые необходимо принимать определенные критические решения и достигать определенных ключевых целей.
Начало: устанавливается область применения и граничные условия функционирования системы. Для этого идентифицируются все внешние объекты, с которыми должна взаимодействовать разрабатываемая система, и определяется характер этого взаимодействия; идентифицируются все функциональные возможности системы и производится описание наиболее существенных из них. Перечень работ включает: разработку концепции проекта; определение требований к системе; экономическое обоснование; разработку календарного плана работ.
Проектирование – определить, испытать и создать базовую версию архитектуры системы, которую необходимо разработать. Выделяют следующие критерии завершения работ на данной стадии:
архитектура, выбранная для системы, определена и проверена исполняемыми версиями, полученными в результате итераций, на которых отрабатывались ключевые требования к системе;
риски идентифицированы и приняты меры по смягчению их последствий;
определена большая часть детализованных требований к системе;
разработаны планы для итераций стадии разработки.
В конце стадии оцениваются результаты и, если были достигнуты приемлемые итоги проект переходит к следующей стадии.
Разработка – наиболее трудоемкая стадия, т.к. к этому времени определены риски, связанные с разработкой системы, задана архитектура и определено большинство требований. После завершения каждой итерации формируется новая более стабильная версия, в которой реализовано больше функциональных возможностей.
Внедрение – включает исправление дефектов и заключительные процессы (доработка справочной системы, конфигурирование и настройка).
Модель жизненного цикла информационной системы – некоторая структура, определяющая последовательность осуществления процессов, действий и задач, выполняемых на протяжении жизненного цикла информационной системы, взаимосвязи между ними. Она зависит от специфики ИС и условий, в которых система создается и функционирует.
Наиболее распространенными модели жизненного цикла являются:
каскадная модель;
спиральная модель.
Каскадная модель ЖЦ ИС (рис. 8.2) предусматривает последовательную организацию работ. При этом основной особенностью является разбиение всей разработки на этапы, переход с одного этапа на следующий происходит только после того, как полностью завершены все работы на предыдущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Основные этапы разработки по каскадной модели:
анализ требований заказчика;
проектирование;
разработка;
тестирование и опытная эксплуатация;
ввод в действие готового продукта.
На первом этапе проводится исследование проблемы, которая должна быть решена, четко формулируются все требования заказчика. Результатом, получаемым на данном этапе, является техническое задание, согласованное со всеми заинтересованными сторонами.
Техническое задание – это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки информационной системы.
При разработке технического задания решаются следующие задачи:
определение общей цели создания информационной системы, состава подсистем и функциональных задач;
разработка и обоснование требований, предъявляемых к подсистемам;
разработка и обоснование требований, предъявляемых к информационной базе, математическому и программному обеспечению, комплексу технических средств (включая средства связи и передачи данных);
формулировка общих требований к проектируемой системе;
определение перечня задач создания системы и исполнителей;
выделение этапов создания системы и сроки их выполнения;
предварительный расчет затрат на создание системы и определение уровня экономической эффективности ее внедрения.
На втором этапе разрабатываются проектные решения, удовлетворяющие всем требованиям, сформулированным в техническом задании. Результатом его является комплект проектной документации, содержащий все необходимые данные для реализации проекта.
Третий этап – реализация проекта – включает разработку программного обеспечения в соответствии с полученными на предыдущем этапе проектными решениями.
На четвертом этапе проводится тестирование полученного программного обеспечения на предмет соответствия требованиям, заявленным в техническом задании.
Последний этап – ввод в действие готового продукта.
Основные преимущества каскадной модели:
на каждом этапе формируется законченный набор проектной документации, отвечающей критериям полноты и согласованности. На заключительных этапах разрабатывается пользовательская документация, охватывающая все предусмотренные стандартами виды обеспечения информационной системы (организационное, методическое, информационное, программное, аппаратное);
выполнение в логичной последовательности этапов работ позволяет планировать сроки завершения и соответствующие затраты.
Каскадная модель жизненного цикла хорошо подходит для проектов, обладающих следующими характеристиками:
требования полностью известны и понятны на начало проекта и не претерпевают значительных изменений в ходе его реализации;
требования можно выполнить, используя технологии, которые предполагается применить в проекте;
технологии, используемые в проекте, не меняются в течение проекта;
риски определены и проанализированы в начале проекта;
команда разработчиков, назначенная на проект, хорошо знакома с предметной областью, имела опыт работы с ней и с технологиями, применяемыми в проекте.
Каскадная модель имеет ряд недостатков, ограничивающих ее применение при разработке информационных систем:
задержка в получении результатов – из-за последовательного подхода к разработке согласование результатов с заинтересованными сторонами производится только после завершения очередного этапа работ. Может оказаться, что разрабатываемая информационная система не соответствует требованиям пользователей, несоответствия могут возникать на любом этапе разработки – искажения могут непреднамеренно вноситься проектировщиками-аналитиками и программистами из-за недостаточного знания специфики предметной области, для которой разрабатывается информационная система. Кроме того, используемые модели (функциональная, информационная) автоматизируемого объекта, а также проекты интерфейса пользователя, требования к пользовательской документации могут в силу различных причин устареть за время разработки (например, из-за внесения изменений в законодательство, колебания курса валют и т.п.);
в
озврат
на более ранние стадии
– ошибки, допущенные на более ранних
этапах, как правило, обнаруживаются
на последующих стадиях работы над
проектом, и проект следует возвратить
на предыдущие этапы (рис. 8.3), что может
служить причиной срыва графика работ
и усложнения взаимоотношений между
группами разработчиков, выполняющих
отдельные этапы;
сложность параллельного ведения работ, связанная с необходимостью постоянного согласования различных частей проекта;
высокий уровень риска – результаты разработки можно реально увидеть и оценить лишь на этапе тестирования, то есть после завершения анализа, проектирования и разработки, что порождает серьезные проблемы при выявлении ошибок, требует возврата проекта на предыдущие стадии и повторение процесса разработки.
Эти недостатки либо делают каскадную модель полностью неприменимой, либо приводят к увеличению сроков разработки и стоимости проекта.
Спиральная модель жизненного цикла (рис. 8.4) предполагает итерационный процесс разработки информационной системы. При этом возрастает значение начальных этапов жизненного цикла (анализ и проектирование), на которых проверяется и обосновывается реализуемость технических решений путем создания действующих прототипов.
Каждый виток спирали соответствует созданию фрагмента или версии программного изделия, на нем уточняются цели и характеристики проекта, определяется его качество, планируются работы на следующем витке спирали. На каждой итерации углубляются и последовательно конкретизируются детали проекта, в результате чего выбирается обоснованный вариант, который доводится до окончательной реализации. Главная задача каждой итерации – создать работоспособный продукт, который можно показать пользователям системы. Таким образом, существенно упрощается процесс внесения уточнений и дополнений в проект.
Спиральный подход к разработке программного обеспечения позволяет преодолеть большинство недостатков каскадной модели и, кроме того, обеспечивает ряд дополнительных возможностей, делая процесс разработки более гибким.
К достоинствам этого типа модели относятся:
существенное упрощение внесения изменений в проект при изменении требований заказчика;
п
остепенная
интеграция отдельных элементов ИС в
единое целое;
уменьшение рисков, т.к. риски обнаруживаются во время итерации, риски максимальны в начале разработки проекта, по мере продвижения разработки ожидаемые риски снижаются;
обеспечение гибкости в управлении проектом за счет повторного использования компонентов;
получение более надежной и устойчивой системы, что связано с возможностью обнаружения и исправления ошибок и слабых мест на каждой итерации;
совершенствование процесса разработки – анализ, проводимый в конце каждой итерации, позволяет проводить оценку результатов и выработку рекомендаций по изменению разработки, и улучшению ее на следующей итерации.
Основная проблема спиральной модели жизненного цикла – определение момента перехода на следующий этап. Для ее решения вводятся временные ограничения на каждый этап. Поэтому завершение итерации производится строго в соответствии с планом, даже если не вся запланированная работа выполнена. Планирование работ обычно проводится на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
