Этапы построения базовой ЭСА и ее применение
Процесс построения проблемно-ориентированной ЭСА включает в себя следующие этапы:
· в определенной предметной области проектирования «X» существует некоторое количество уже завершенных проектов по созданию ИС: Проект ИС «А», Проект ИС «В», Проект ИС «С»;
· в каждом из этих проектов был создан пакет документации, в которой в той или иной форме зафиксированы соответственно различные варианты системных архитектур (СА): СА «А», СА «В», СА «С» ...и т.д.; при этом они могут включать в себя разнотипные проектные решения;
· в результате применения определенного комплекса процедур экспертного отбора наиболее эффективных проектных решений в каждой из СА и путем их обобщения, синтезируется структура целевой ЭСА.
Процесс построения ЭСА носит явно выраженный характер построения по принципу „снизу-вверх". Процесс разработки новых или реинжиниринг ИС при использовании базовой ЭСА выполняется как процедура „сверху вниз".
При построении новых СА на основе существующей ЭСА следует учитывать:
· базовая ЭСА «X» может быть эффективно использована лишь в той предметной области «X'», которая достаточно близка к исходной предметной области «X»;
· Для каждого нового проекта ИС в этой области: проект «Р», проект «Q», проект «R» и т.д., происходит настройка (конфигурирование) параметров ЭСА «X», под параметры новой ИС с учетом ее соответствующих проектных спецификаций.
· В результате такой «привязки» создаются новые проблемно-ориентированные СА: «Р», «Q», «R» .... и т.д.
Назначение и цель реинжиниринга ИС
Вариант 1
Успешное и эффективное решение проблем обеспечения функционирования большинства современных систем управления сложными объектами в различных отраслях промышленности, экономики и социальной сферы, предполагает проведение непрерывного процесса реинжиниринга унаследованных систем. Под термином "унаследованная система" мы будем понимать сложную информационную систему, ранее разработанную и внедренную в некоторый объект управления и имеющую жизненно важное значение для обеспечения его нормального функционирования. Реинжиниринг представляет собой систематическую трансформацию существующей системы с целью улучшения ее характеристик качества, поддерживаемой ею функциональности, понижения стоимости ее сопровождения, вероятности возникновения значимых для заказчика рисков, уменьшения сроков работ по сопровождению системы.
Необходимость проведения реинжиниринга ИС объясняется тем, что независимо от предметной области и конкретного назначения ИС, в ходе ее эксплуатации на нее воздействуют две группы внешних факторов:
· 1-я группа факторов связана с изменениями, постоянно происходящими в существующих аппаратно-программных средствах реализации таких систем: напр., появление новых операционных систем, языков программирования, компонентных технологий, систем управления базами данных (СУБД) и т.д.;
· 2-я группа факторов связана с изменениями, появляющимися в технических средствах и технологических процессах, присущих соответствующему объекту управления: напр., обновление комплекса технических средств определенной системы управления предприятием, появлением более точных измерительных приборов (контроллеров), совершенствованием параметров технологических процессов.
Если для адекватного учета влияния этих двух групп факторов постоянно требуется значительная переработка архитектуры унаследованной системы, а, в пределе, и полная ее замена, то это ведет к большим материальным затратам и снижению качества управления соответствующим бизнес-процессом в целом. Рациональный выход из этой ситуации может быть только один - на определенном этапе эксплуатации унаследованной системы необходимо разработать и внедрить такую модель ее архитектуры, которая будет максимально инвариантной во времени по отношению к влиянию факторов групп 1) и 2) и допускающую ее эволюционное развитие в процессе эксплуатации системы. В этом и заключается основная цель и задача проведения процесса реинжиниринга унаследованной информационной системы. Конечным результатом этого является т.н. целевая система.
Вариант 2
В Украине эксплуатируются сложные распределенные компьютерные системы различного назначения, внедренные еще 10-15 лет назад. В этих системах накоплены и постоянно возрастают большие и сверхбольшие объемы данных, которые хранятся в файловых системах и локальных базах данных разнородных форматов. Дальнейшая эксплуатация таких информационных систем предполагает учет следующих факторов:
- изменение подходов, методов управления, связанное с переходом к рыночным принципам управления экономикой;
- появление принципиально новых информационных технологий для создания глобальных и корпоративных информационных систем: Интернет / интранет - технологии, хранилища данных, сетевые распределенные агенты, системы мобильных вычислений и т. п.;
- ускорение процессов интеграции экономических и производственных структур Украины в европейское и мировое информационное пространство.
Успешное и эффективное решение проблем обеспечения функционирования большинства современных систем управления сложными объектами в различных областях, вызванных этими причинами, предполагает проведение непрерывного процесса реинжиниринга таких унаследованных систем. Унаследованная система – сложная информационная система, ранее разработанная и внедренная в некоторый объект управления и имеющую жизненно важное значение для обеспечения его нормального функционирования.
Реинжиниринг представляет собой систематическую трансформацию существующей системы с целью улучшения ее характеристик качества, поддерживаемой ею функциональности, понижения стоимости ее сопровождения, вероятности возникновения значимых для заказчика рисков, уменьшения сроков работ по сопровождению системы.
В современной литературе в настоящее время присутствует огромный спектр мнений и высказываний по вопросам целей, задач и технологий проведения различных процедур реинжиниринга унаследованных систем. Необходимость проведения реинжиниринга ИС объясняется тем, что независимо от предметной области и конкретного назначения ИС, в ходе ее эксплуатации на нее воздействуют две группы внешних факторов:
1-я группа факторов связана с изменениями, постоянно происходящими в существующих аппаратно-программных средствах реализации таких систем: напр., появление новых операционных систем, языков программирования, компонентных технологий, систем управления базами данных (СУБД) и т.д.;
2-я группа факторов связана с изменениями, появляющимися в технических средствах и технологических процессах, присущих соответствующему объекту управления: напр., обновление комплекса технических средств определенной системы управления предприятием, появлением более точных измерительных приборов (контроллеров), совершенствованием параметров технологических процессов.
Если для адекватного учета влияния этих двух групп факторов постоянно требуется значительная переработка архитектуры унаследованной системы, а, в пределе, и полная ее замена, то это ведет к большим материальным затратам и снижению качества управления соответствующим бизнес-процессом в целом.
Рациональный выход из этой ситуации может быть только один - на определенном этапе эксплуатации унаследованной системы необходимо разработать и внедрить такую модель ее архитектуры, которая будет максимально инвариантной во времени по отношению к влиянию факторов групп 1) и 2) и допускающую ее эволюционное развитие в процессе эксплуатации системы. В этом и заключается основная цель и задача проведения процесса реинжиниринга унаследованной информационной системы. Конечным результатом этого является т.н. целевая система.
Виды реинжиниринга ИС
Виды реинжиниринга информационных систем:
· прямой инжиниринг;
· редокументирование;
· рефакторинг;
· реструктуризация;
· переориентация;
· обратный инжиниринг (обратное проектирование);
· сопровождение программных продуктов;
· трансляция исходного кода
Прямой инжиниринг:
Традиционный процесс перехода от высокоуровневых абстракций и логического, независящего от реализации проектирования к физической реализации системы. Представляет собой переход от требований к высокоуровневому проектированию, и далее к низкоуровневому проектированию и реализации. Представляет собой множество видов деятельности по инжинирингу системы, на вход которым для производства новой целевой системы поступают продукты и артефакты, производные от унаследованных программных средств, и новые требования. Основное отличие прямого инжиниринга от реинжиниринга заключается в том, что в случае реинжиниринга «стартуют» от существующей реализации (существующей системы). Основное отличие прямого инжиниринга от инжиниринга в целом заключается в том, что на вход прямого инжиниринга поступают результаты реинжиниринга.
Редокументирование:
Форма реструктуризации, где результирующее семантически эквивалентное представление системы является альтернативным взглядом, предназначенным для его восприятия человеком. Процесс анализа системы с целью создания различного рода сопровождающей ее документации. Включает в себя как создание руководств пользователя, так и переформатирование листинга исходного кода
Рефакторинг:
Специальный вид реструктуризации, а именно реструктуризации на уровне программного кода, имеющей объектно-ориентированный контекст. Является процессом изменения программной системы, направленным на улучшение внутренней структуры программного кода, но не изменяющим внешнего поведения программы.
Реструктуризация:
Трансформация системы из одной формы представления в другую на одном и том же уровне абстракции. Новое представление сохраняет семантику и внешнее поведение (функциональность) оригинала.
Переориентация:
Процесс трансформации и перевода (переноса) существующей системы в новую конфигурацию.
Обратный инжиниринг:
Процесс анализа исходной системы, преследующий две цели – выявить компоненты системы и отношения между ними, и создать представление системы в другой форме или на более высоком уровне абстракции. Процесс достижения понимания системы, ее анализа и абстрагирования по направлению к новой форме представления, соответствующей более высокому уровню абстракции. Процесс извлечения информации из существующей программной системы. В общем случае обратное проектирование применяют для извлечения информации на высоком уровне абстракции.
Сопровождение программных продуктов:
Модификация программного продукта после его поставки в целях исправления ошибок, улучшения производительности и других атрибутов качества, или адаптации продукта к изменениям окружения (внешней среды).
Трансляция исходного кода:
Трансляция исходного кода с одного языка программирования на другой или с одной версии в другую на том же самом языке программирования.