В нашей компании технология проектирования информационных систем (ИС) определяет процессы разработки прикладного программного обеспечения, порядок их выполнения, а также методологическую и инструментальную поддержку. В основу технологии положен международный стандарт ISO 12207, определяющий основные, организационные и вспомогательные процессы жизненного цикла программных средств. В соответствии с методологией процесс проектирования разбивается на стадии, которые связываются с результатами выполнения основных процессов. Каждую стадию кроме ее результатов должен завершать план работ на следующую стадию.
Формирование требований и планирование
Стадия формирования требований и планирования включает в себя действия по определению начальных оценок объема и стоимости проекта. Формулируются требования и экономическое обоснование для разработки ИС, функциональные модели (модели бизнес-процессов организации) и исходная концептуальная модель данных, которые дают основу для оценки технической реализуемости проекта. Основными результатами этой стадии являются модели деятельности организации (исходные модели процессов и данных организации), требования к системе, включая требования по сопряжению с существующими ИС, исходный бизнес-план.
Логическое проектирование
Стадия логического проектирования начинается с детального анализа первичных данных и уточнения логической модели данных, после чего проектируется архитектура системы. Архитектура включает в себя разделение логической модели на обозримые подмодели. Оценивается возможность использования существующих ИС и выбирается соответствующий метод их преобразования. После построения проекта уточняется исходный бизнес-план. Выходными компонентами этой стадии являются концептуальная модель данных, модель архитектуры системы и уточненный бизнес-план.
Спецификация модулей системы
На стадии спецификации модулей системы продолжается процесс создания и детализации проекта. Логическая модель данных преобразуется в реляционную модель данных. Определяется структура модулей, необходимые интерфейсы модулей в виде экранов, отчетов и пакетных процессов вместе с логикой их вызова. Модель данных уточняется бизнес-правилами и методами для каждой таблицы. В конце этой стадии принимается окончательное решение о способе реализации модулей системы. По результатам стадии строится проект ИС, включающий модели архитектуры ИС, данных, функций, интерфейсов (с внешними системами и с пользователями), требований к разрабатываемым приложениям (модели данных, интерфейсов и функций), требований к доработкам существующих ИС, требований к интеграции модулей, а также сформирован окончательный план создания ИС.
Разработка, интеграция и тестирование
На стадии разработки, интеграции и тестирования должна быть создана тестовая база данных, частные и комплексные тесты. Проводится разработка, прототипирование и тестирование баз данных и приложений в соответствии с проектом. Отлаживаются интерфейсы с существующими системами. Описывается конфигурация текущей версии ПО. На основе результатов тестирования проводится оптимизация базы данных и приложений. Приложения интегрируются в систему, проводится тестирование приложений в составе системы и испытания системы. Основными результатами стадии являются готовые приложения, проверенные в составе системы на комплексных тестах, текущее описание конфигурации ПО, скорректированная по результатам испытаний версия системы и эксплуатационная документация на систему.
Внедрение
Стадия внедрения включает в себя действия по установке и внедрению баз данных и приложений. Основными результатами стадии должны быть готовая к эксплуатации и перенесенная на программно-аппаратную платформу заказчика версия системы, документация сопровождения и акт приемочных испытаний по результатам опытной эксплуатации.
Сопровождение и развитие
Стадии сопровождения и развития включают процессы и операции, связанные с регистрацией, диагностикой и локализацией ошибок, внесением изменений и тестированием, проведением доработок, тиражированием и распространением новых версий ПО в места его эксплуатации, переносом приложений на новую платформу и масштабированием системы. Стадия развития фактически является повторной итерацией стадии разработки.
Подробнее о применяемых технологиях, платформах и инструментах разработки