Технологии разработки информационных систем
Как показывают исследования компании Borland, наиболее распространенными причинами неудачных проектов сложных информационных систем являются:
· отсутствие планирования и грамотного управления проектом;
· нечеткая и неполная формулировка задачи (в 31% случаев);
· частое изменение требований и спецификаций (в 36% случаев);
· нехватка необходимых технических ресурсов и материальных средств;
· несовершенство используемых инструментальных средств и технологий;
· низкая квалификация и недостаточный опыт разработчиков;
· слабое участие конечных пользователей в постановке задачи и работе над проектом.
По данным Института программной инженерии (Software Engineering Institute – SEI), до 80% всего эксплуатируемого ПО разрабатывалось вообще без использования какой-либо концепции проектирования.
Разработки осуществляются методом кодирования и исправления ошибок на интуитивном уровне, основанном на практическом опыте, экспертных оценках и трудоемких экспериментальных проверках качества функционирования ПО.
Можно привести интересную статистику, правда, за 1998 год по итогам реализации проектов программного обеспечения:
-выполнено в срок и в полном объеме – 26%;
-аннулировано проектов до их завершения – 28%;
-сдвинуты сроки или превышен бюджет – 46%.
Сегодня крупные производители информационных систем располагают развитыми инструментальными средствами эффективного создания ПО.
Работа по созданию ИС начинается с изучения предметной области, постановки задачи, анализа и проектирования будущей системы.
Грамотное выполнение этой работы позволяет описать и скорректировать будущую систему еще до того, как она будет реализована, улучшить качество и сократить затраты на разработку и внедрение системы, а также достичь взаимопонимания между участниками проекта – заказчиками, разработчиками и конечными пользователями.
Типовая технология разработки информационных систем, баз данных и их приложений предполагает последовательное выполнение следующих этапов:
- Анализ и проектирование;
- Практическая (программная) реализация системы;
- Внедрение, опытная эксплуатация и сопровождение.
Проектные работы начинаются с анализа и формализации требований к будущей системе.
Проектирование ИС заключается в последовательном решении трех задач:
1. Формализованное описание объекта автоматизации;
2. Системное проектирование;
3. Техническое проектирование.
Этап формализованного описания объекта автоматизации.
Конечная цель любой ИС заключается в автоматизации деятельности персонала, подразделения или организации в целом.
Поэтому построение моделей ИС начинается с тщательного изучения и формализованного описания объекта автоматизации.
В рамках этого этапа устанавливается:
- перечень целевых задач;
- выявляются требования к будущей системе;
- определяется структура объекта автоматизации;
- распределяются функции по его подсистемам;
- проводится анализ функциональной деятельности каждой подсистемы, а также внутренних и внешних информационных потоков.
В результате строится структурно-функциональная модель деятельности организации.
На этапе системного проектирования определяются параметры будущей информационной системы:
- архитектура и необходимые аппаратные ресурсы;
- требования к программному обеспечению;
- распределение нагрузки между аппаратной и программной частями;
- интерфейсы и разграничение функций между пользователем и системой;
- перечень работ и состав пользовательского персонала;
- ограничения в процессе разработки (по имеющимся ресурсам, срокам завершения отдельных этапов, защите информации и другим организационным мотивам).
На этапе разработки технического проекта выполняются следующие работы:
· разработка концептуальной модели БД;
· построение логической модели БД;
· выбор аппаратной конфигурации и программных средств;
· проектирование физической модели БД;
· проектирование автоматизированных рабочих мест.
Концептуальная модель отражает основные требования к данным и инвариантна по отношению к структуре БД. Обычно она представляется в виде диаграмм «сущность-связь».
Следующий уровень логической модели представляет собой структуру БД со специфическими прикладными программами. Часто на этом этапе проводится сравнительный анализ логических моделей применительно к различным СУБД.
На физическом уровне представления данных определяются особенности хранения, методы доступа, индексирования данных и т.д.
Сроки реализации основных этапов разработки средней по масштабам информационной системы следующие:
1.Анализ и проектирование системы – 1-3 месяца;
2.Программирование и отладка - 2-4 месяца;
3.Тестирование и опытная эксплуатация - 1-4 месяца;
4.Доработка и сопровождение проекта - 3-6 месяцев.
В процентном отношении типичное распределение по видам работ примерно следующее:
1.Анализ и проектирование - 20%;
2.Программирование и отладка - 25%;
3.Тестирование и опытная эксплуатация - 15%;
4.Доработка и сопровождение проекта - 40%.