- •1. Понятие и классификация ис
- •Классификация ис
- •2. Функциональные и обеспечивающие подсистемы
- •2.1. Функциональные подсистемы ис
- •2.2. Обеспечивающие подсистемы ис
- •3. Технология проектирования ис
- •4. Жизненный цикл ис
- •5. Каноническое проектирование ис
- •I. Предпроектная стадия
- •II. Стадия проектирования
- •III. Внедрение проекта
- •IV. Эксплуатация и сопровождение проекта
- •6. Типовое проектирование ис
4. Жизненный цикл ис
Согласно статистическим данным в отчете «The Chaos Report», собранным Standish Group (США), из всех проектов, обследованных в США в 1994 году, неудачными оказались более 30% проектов, общая стоимость которых превышала 80 миллиардов долларов. При этом оказались выполненными в срок лишь 16% от общего числа проектов, а перерасход средств составил 189% от запланированного бюджета.
В то же время, заказчики ИС стали выдвигать все больше требований, направленных на обеспечение возможности комплексного использования корпоративных данных в управлении и планировании своей деятельности.
Таким образом, возникла насущная необходимость формирования новой методологии построения информационных систем.
Уже в 2004г. неудачными оказались только 18% проектов. При этом оказались выполненными в срок и в рамках бюджета уже 28% от общего числа проектов.
Цель методологии построения информационных систем заключается в регламентации процесса проектирования ИС и обеспечении управления этим процессом с тем, чтобы гарантировать выполнение требований, как к самой ИС, так и к характеристикам процесса разработки.
Основными задачами, решению которых должна способствовать методология проектирования корпоративных ИС, являются следующие:
обеспечивать создание корпоративных ИС, отвечающих целям и задачам организации, а также предъявляемым требованиям по автоматизации деловых процессов заказчика;
гарантировать создание системы с заданным качеством в заданные сроки и в рамках установленного бюджета проекта;
поддерживать удобную дисциплину сопровождения, модификации и наращивания системы;
обеспечивать преемственность разработки, т.е. использование в разрабатываемой ИС существующей информационной инфраструктуры организации (задела в области информационных технологий).
Внедрение методологии должно приводить к снижению сложности процесса создания ИС за счет полного и точного описания этого процесса, а также применения современных методов и технологий создания ИС на всем жизненном цикле.
Совокупность стадий и этапов, которые проходит ИС в своем развитии от момента принятия решения о создании системы до момента прекращения функционирования системы, называется жизненным циклом ИС.
Проектирование ИС охватывает три основные области:
проектирование объектов данных, которые будут реализованы в базе данных;
проектирование программ, экранных форм, отчетов, которые будут обеспечивать выполнение запросов к данным;
учет конкретной среды или технологии, а именно: топологии сети, конфигурации аппаратных средств, используемой архитектуры (файл-сервер или клиент-сервер), параллельной обработки, распределенной обработки данных и т.п.
Проектирование информационных систем всегда начинается с определения цели проекта. Цель проекта - решение ряда взаимосвязанных задач, включающих в себя обеспечение на момент запуска системы и в течение всего времени ее эксплуатации следующих параметров:
требуемой функциональности системы и уровня ее адаптивности к изменяющимся условиям функционирования;
требуемой пропускной способности системы;
требуемого времени реакции системы на запрос;
безотказной работы системы;
необходимого уровня безопасности;
простоты эксплуатации и поддержки системы.
Процесс создания ИС делится на ряд этапов (стадий), ограниченных некоторыми временными рамками и заканчивающихся выпуском конкретного продукта (моделей, программных продуктов, документации и пр.).
Рис. 5. Стадии жизненного цикла ИС
Обычно выделяют следующие этапы создания ИС:
формирование требований к системе (планирование и анализ),
проектирование,
реализация,
тестирование,
ввод в действие,
эксплуатация и сопровождение.
На стадии анализа деятельности организации формируются требования к ИС, корректно и точно отражающие цели и задачи организации-заказчика. Чтобы специфицировать процесс создания ИС, отвечающей потребностям организации, нужно выяснить и четко сформулировать, в чем заключаются эти потребности. Для этого необходимо определить требования заказчиков к ИС и отобразить их на языке моделей в требования к разработке проекта ИС.
Задача формирования требований к ИС является одной из наиболее ответственных, трудно формализуемых и наиболее дорогих и тяжелых для исправления в случае ошибки.
Современные инструментальные средства и программные продукты позволяют достаточно быстро создавать ИС по готовым требованиям. Но зачастую эти системы не удовлетворяют заказчиков, требуют многочисленных доработок, что приводит к резкому удорожанию фактической стоимости ИС. Основной причиной такого положения является неправильное, неточное или неполное определение требований к ИС на этапе анализа.
На стадии проектирования проектируются модели данных и процессы обработки данных.
Проектировщики в качестве исходной информации используют результаты анализа. Полученная в процессе анализа информационная модель сначала преобразуется в логическую, а затем в физическую модель данных.
Параллельно с проектированием схемы базы данных выполняется проектирование процессов, для спецификации (описания) всех модулей ИС. Главная цель проектирования процессов заключается в отображении функций, полученных на этапе анализа, в модули информационной системы. При проектировании модулей определяют интерфейсы программ: разметку меню, вид окон, горячие клавиши и связанные с ними вызовы.
Конечными продуктами этапа проектирования являются:
схема базы данных (на основании ER-модели, разработанной на этапе анализа) - требования к информационному обеспечению;
набор спецификаций модулей системы (они строятся на базе моделей функций) - требования к программному обеспечению;
модель архитектуры ИС.
Разработка архитектуры ИС включает в себя выбор платформы (платформ) и операционной системы (операционных систем), а так же следующих характеристик:
будет ли это архитектура "файл-сервер" или "клиент-сервер";
будет ли это 3-уровневая архитектура со следующими слоями: сервер, ПО промежуточного слоя (сервер приложений), клиентское ПО;
будет ли база данных централизованной или распределенной. Если база данных будет распределенной, то какие механизмы поддержки согласованности и актуальности данных будут использоваться;
будет ли база данных однородной, то есть, будут ли все серверы баз данных продуктами одного и того же производителя (например, все серверы только Oracle или все серверы только DB2 UDB). Если база данных не будет однородной, то какое ПО будет использовано для обмена данными между СУБД разных производителей (уже существующее или разработанное специально как часть проекта);.
будут ли для достижения должной производительности использоваться параллельные серверы баз данных (например, Oracle Parallel Server, DB2 UDB и т.п.).
Стадия проектирования завершается разработкой технического проекта ИС.
На стадии реализации осуществляется создание программного обеспечения системы, установка технических средств, разработка эксплуатационной документации.
Стадия тестирования обычно оказывается распределенной во времени.
1 этап.
После завершения разработки отдельного модуля системы выполняют автономный тест, который преследует две основные цели:
обнаружение отказов модуля (жестких сбоев);
соответствие модуля спецификации (наличие всех необходимых функций, отсутствие лишних функций).
2 этап.
Модуль включается в состав разработанной части системы и группа сгенерированных модулей проходит тесты связей, которые должны отследить их взаимное влияние.
3 этап.
Далее группа модулей тестируется на надежность работы:
а) тесты имитации отказов системы (насколько хорошо система восстанавливается после сбоев программного обеспечения, отказов аппаратного обеспечения).
б) тесты наработки на отказ (определяет степень устойчивости системы при штатной работе и позволяет оценить время безотказной работы системы). В комплект тестов устойчивости должны входить тесты, имитирующие пиковую нагрузку на систему.
4 этап.
Весь комплект модулей проходит системный тест - тест внутренней приемки продукта, показывающий уровень его качества. Сюда входят тесты функциональности и тесты надежности системы.
5 этап.
Приемо-сдаточные испытания. Тест предусматривает показ информационной системы заказчику и должен содержать группу тестов (контрольный пример), моделирующих реальные бизнес-процессы, чтобы показать соответствие реализации требованиям заказчика.
С точки зрения реализации перечисленных аспектов в технологиях проектирования ИС модели жизненного цикла, определяющие порядок выполнения стадий и этапов, претерпевали существенные изменения. Среди известных моделей жизненного цикла можно выделить следующие модели:
каскадная модель (до 70-х годов) - последовательный переход на следующий этап после завершения предыдущего;
итерационная модель (70 - 80-е годы) - с итерационными возвратами на предыдущие этапы после выполнения очередного этапа;
спиральная модель (80 - 90-е годы) - прототипная модель, предполагающая постепенное расширение прототипа ИС.
Каскадная модель. Для этой модели жизненного цикла характерна автоматизация отдельных несвязанных задач, не требующая выполнения информационной интеграции и совместимости, программного, технического и организационного сопряжения. В рамках решения отдельных задач каскадная модель жизненного цикла по срокам разработки и надежности оправдывала себя. Применение каскадной модели жизненного цикла к большим и сложным проектам вследствие большой длительности процесса проектирования и изменчивости требований за это время приводит к их практической нереализуемости.
Итерационная модель. Создание комплексных ИС предполагает проведение увязки проектных решений, получаемых при реализации отдельных задач. Подход к проектированию «снизу-вверх» обусловливает необходимость таких итерационных возвратов, когда проектные решения по отдельным задачам комплектуются в общие системные решения и при этом возникает потребность в пересмотре ранее сформулированных требований. Как правило, вследствие большого числа итераций возникают рассогласования в выполненных проектных решениях и документации. Запутанность функциональной и системной архитектуры созданной ИС, трудность в использовании проектной документации вызывают на стадиях внедрения и эксплуатации сразу необходимость перепроектирования всей системы. Длительный жизненный цикл разработки ИС заканчивается этапом внедрения, за которым начинается жизненный цикл создания новой ИС.
Спиральная модель. Используется подход к организации проектирования ИС «сверху-вниз», когда сначала определяется состав функциональных подсистем, а затем постановка отдельных задач. Соответственно сначала разрабатываются такие общесистемные вопросы, как организация интегрированной базы данных, технология сбора, передачи и накопления информации, а затем технология решения конкретных задач. В рамках комплексов задач программирование осуществляется по направлению от головных программных модулей к исполняющим отдельные функции модулям. При этом на первый план выходят вопросы взаимодействия интерфейсов программных модулей между собой и с базой данных, а на второй план - реализация алгоритмов.
В основе спиральной модели жизненного цикла лежит применение прототипной технологии или RAD-технологии (rapid application development - технологии быстрой разработки приложений) - J. Martin. Rapid Application Development. New York: Macmillan, 1991.
Согласно этой технологии ИС разрабатывается путем расширения программных прототипов, повторяя путь от детализации требований к детализации программного кода. Естественно, что при прототипной технологии сокращается число итераций и меньше возникает ошибок и несоответствий, которые необходимо исправлять на последующих итерациях, а само проектирование ИС осуществляется более быстрыми темпами, упрощается создание проектной документации. Для более точного соответствия проектной документации разработанной ИС все большее значение придается ведению общесистемного репозитория и использованию CASE-технологий.
Жизненный цикл при использовании RAD-технологии предполагает активное участие на всех этапах разработки конечных пользователей будущей системы и включает четыре основные стадии информационного инжиниринга:
анализ и планирование информационной стратегии. Пользователи вместе со специалистами-разработчиками участвуют в идентификации проблемной области;
проектирование. Пользователи принимают участие в техническом проектировании под руководством специалистов-разработчиков;
конструирование. Специалисты-разработчики проектируют рабочую версию ИС с использованием языков 4-го поколения;
внедрение. Специалисты-разработчики обучают пользователей работе в среде новой ИС.