Методы и технологии реинжиниринга ИС

Автор: Пользователь скрыл имя, 23 Января 2012 в 22:36, реферат

Описание работы

Результаты исследований состояния информатизации в различных организациях позволяют сделать вывод, что в настоящий момент большинство из них уже имеет некоторые информационные системы (ИС). Эти ИС в различной степени автоматизируют процессы, протекающие в организациях.

Работа содержит 1 файл

Методы и технологии реинжиниринга ИС.doc

— 183.00 Кб (Скачать)

С моделью «подкова»  соотносится три уровня, на каждом из которых может осуществляться трансформация существующей системы.

Представление на уровне структуры кода (Code-Structure Representation) включает программный код, а так  же такие артефакты, как абстрактные  синтаксические деревья и графы  потоков (flow graphs), получаемые на основании  выполнения различного рода аналитических операций (например, разбора кода). Текстуальный перевод, а так же перевод на основе синтаксических деревьев являются примерами трансформации системы на этом уровне.

В отличие от предыдущего уровня, представление  на уровне функциональности системы (Function-Level Representation) предусматривает определение связей между функциями программ (например, последовательности вызовов), данными (как частный случай, связей между сущностями данных, соотношений данных и функций) и файлами (к примеру, распределение функций и данных по файлам). Трансформация системы на данном уровне осуществляется на основании пересмотра функциональности системы и заключается, например, в переходе от функционального подхода к объектному подходу к анализу и проектированию, в переходе от реляционной БД к объектной БД.

На архитектурном  уровне артефакты предыдущих уровней, объединяются в подсистемы в терминах архитектурных компонентов архитектуры  ИС. Трансформация системы на этом уровне предусматривает коренные изменения в структуре программы, в том числе в части применения основных образцов взаимодействия компонентов: типов программных компонентов, используемых соединителей (connectors), вариантов декомпозиции функциональности, образцов управления и обмена данными времени выполнения.

Согласно модели «подкова» трансформация системы, в зависимости от ситуации, может  осуществляться на каждом из представленных уровней, при этом более низкий уровень  поддерживает трансформацию на более  высоком уровне.

Следует признать, что модель «подкова» находит широкое применение в рамках деятельности, связанной с реинжинирингом ИС. Так, в [20] на ее основе определяются требования и основной каркас для интеграции инструментальных средств реинжиниринга на архитектурном уровне и уровне программного кода. С учетом соотносимых с ней процессов и уровней представления, осуществляется расширение модели CORUM (Common Object-based Reengineering Unified Model). Эта модель, в свою очередь, разрабатывалась:

  • для представления требуемой для систем управления на основе программного кода (Code-based Management System) информации о программных средствах;
  • для обеспечения интероперабельности между системами данного класса (в том числе между средствами реинжиниринга программ на уровне программного кода).

В контексте  вводимых расширений в этой же работе для модели «подкова» определяется семантическая модель, обеспечивающая на основании формулируемых унифицирующих  свойств семантическую связь  между архитектурным уровнем  и уровнем программного кода.

Подход, предложенный в [34-36], очень близок к подходу, основанному на модели «подкова». Характеризуя жизненный цикл реинжиниринга ИС, авторы определяют следующие шаги процесса реинжиниринга:

  • анализ требований для выявления конкретных целей реинжиниринга унаследованной системы;
  • восстановление модели, в том числе документирование и понимание структуры унаследованной системы;
  • выявление проблем, связанных с унаследованной системой;
  • анализ проблем, включающий выбор архитектуры, позволяющий устранить обнаруженные в унаследованной системе дефекты;
  • реорганизация, включающая выбор и применение оптимального подхода трансформации унаследованной системы;
  • распространение изменений.

В отличие от предыдущих работ, в [10, 13] деятельность по реинжинирингу рассматривается  в качестве одной из форм деятельности по эволюции унаследованных ИС, когда, требуется более сильнодействующее «лекарство» для «лечения» ИС, нежели серия локальных инкрементальных изменений [13].

Так, в [13] описывается  каркас (enterprise framework), характеризующий:

  • глобальную среду, в которой осуществляется эволюция системы;
  • действия, процессы и рабочие продукты (артефакты), которые сопровождают деятельность по эволюции системы.

Авторами подчеркивается, что помимо технических вопросов, связанных с эволюцией унаследованных ИС, существует так же множество организационных вопросов. Например, «Как планировать эволюцию большой сложной системы, включая ее реинжиниринг?», «Какие существуют критичные факторы успеха эволюции системы?», «Как оценить, что люди, осуществляющие эволюцию системы, на правильном пути?». Кроме этого, важным является необходимость учета стратегических, организационных, и других аспектов бизнеса, влияющих на эволюцию унаследованной ИС.

Поэтому основной целью создания каркаса (enterprise framework) следует считать необходимость оценки среды, в рамках которой осуществляется эволюция унаследованной ИС, необходимость обеспечения понимания широкого спектра вопросов, как технического, так и управленческого характера, которые соотносятся с эволюцией унаследованных ИС. Важнейшим здесь становится выявление факторов, определяющих успех деятельности по эволюции ИС, а так же разработка согласованного множества технических и управленческих инструкций (действий), требуемых для эффективного планирования, оценки и управления инициативами по эволюции систем.

Отражая применительно  к эволюции системы пространство проблем и пространство решений, предлагаемый в [13] каркас включает такие  элементы, как организация, проект, унаследованная система, инженерия  систем и программных средств, технологии, целевая система. Между этими элементами определяется связь. При этом для каждого из них приводится список вопросов (checklists), позволяющий охарактеризовать (исследовать и оценить) интересующий элемент.

Следует признать, что положенная в основу каркаса концепция является расширением концепции разработки ИС с учетом деятельности по внедрению, повседневных операций и деятельности по сопровождению. Каркас может быть использован для выполнения следующих видов деятельности:

  • исследование и анализ пространства проблем и пространства решений в контексте инициатив по эволюции системы;
  • разработка руководств по составлению стратегических и тактических планов по реинжинирингу унаследованных систем;
  • выявление технологических вопросов и потенциальных проблем на протяжении всего пути по эволюции систем;
  • рецензирование планов, ранжирование (приоритезация) технических вопросов, разработка рекомендаций по улучшениям процессов эволюции систем и результатов их выполнения (рабочих продуктов).

Общий подход к  использованию каркаса представлен  на Рис. 3.

 
Рис. 3 Общий подход к использованию  каркаса.

В рамках подхода  выделяются две значительные составляющие: основная фаза и фаза эволюции. Основная фаза сфокусирована на таких элементах, как организация, проект и унаследованная система. Фаза эволюции концентрируется на целевой системе, инженерии систем и программных средств, технологиях, используемых для построения целевой системы. Другими словами первая фаза сфокусирована на пространстве проблем, а вторая на пространстве решений.

В [10] авторами предлагается комплексный, основанный на рассмотренном  ранее каркасе, подход к эволюции систем, который определяется в контексте унаследованных систем и современных программных технологий.

В основу подхода  положены следующие положения (принципы):

  • различие между эволюцией систем и сопровождением программных средств;
  • использование описанного ранее каркаса (enterprise framework) при поддержке принятия решений в процессе эволюции системы;
  • достижение технического понимания систем на высоком уровне абстракции;
  • применение технологий распределенных объектов, технологии «wrapping» [10] для эволюции системы;
  • применение «net-centric» [10] вычислений для эволюции системы.

Определяя различие между сопровождением программных  средств и эволюцией систем в  части реинжиниринга ИС, авторы рассматривают  сопровождение как «мелкозернистую», «краткосрочную» деятельность, направленную на планирование и внесение локализованных изменений. При сопровождении структура (архитектура) системы остается относительно неизменной, а требуемая «порция» вносимых за определенный промежуток изменений, как правило, связана с изменением какого-либо одного требования к системе. Такие изменения, обычно, не сопровождаются существенным изменением значений характеристик и атрибутов качества программных средств.

В отличие от сопровождения, эволюция систем рассматривается  как «крупнозернистая», «высокоуровневая», форма изменений на уровне структуры (архитектуры) системы. Вносимые в процессе эволюции изменения, приводят к изменениям значений атрибутов качества, что, как правило, существенно упрощает сопровождение систем. Для этого при внесении изменений в структуру системы могут использоваться стратегии «снизу вверх» и «сверху вниз», применение которых основано на ревизии программного кода, восстановлении описания архитектуры унаследованной системы, проектировании новой структуры, новой формы документации и т.д.

Авторами подчеркивается, что эволюция позволяет адаптировать систему сразу с учетом большого количества выдвигаемых к ней  требований (включая приобретение новых  возможностей), что в конечном итоге  увеличивает стратегическую и экономическую значимость программных средств. При этом акцент смещается от понимания программ к пониманию систем, от сопровождения к эволюции и миграции, от стратегий «снизу вверх» к стратегиям «сверху вниз».

В отличие от рассмотренных ранее работ, в [15] основное внимание уделяется исследованию и решению технических проблем, связанных с миграцией унаследованных систем. Характеризуя понятие «миграция ИС» в данной работе выделяются отдельно эволюция, сопровождение и миграция ИС. Основываясь на том факте, что объектом эволюции и сопровождения является унаследованная ИС, а объектом миграции как унаследованная, так и новая (целевая) системы, авторы разделяют миграцию и другие процессы ЖЦ ИС. При этом миграция рассматривается как деятельность, которая начинается с унаследованной ИС и заканчивается сопоставимой целевой ИС.

В основу предлагаемого  авторами подхода положена декомпозиция структуры системы на компоненты пользовательского интерфейса, компоненты – приложения и компоненты управления базами данных. При этом в качестве основных инкрементально выполняемых шагов миграции выступают:

  • анализ унаследованной ИС;
  • декомпозиция структуры унаследованной ИС;
  • проектирование интерфейсов (пользовательских и системных) целевой системы;
  • проектирование приложений (функциональной логики) целевой системы;
  • проектирование базы данных целевой системы;
  • развертывание среды, требуемой для эксплуатации и сопровождения целевой системы;
  • создание и развертывание необходимых шлюзов;
  • миграция унаследованных данных;
  • миграция унаследованных приложений (компонентов, реализующих функциональную логику);
  • миграция унаследованных интерфейсов (пользовательских и системных);
  • переход к использованию целевой системы.

3. Классификация подходов, методов и технологий.

В настоящий  момент существует значительное количество работ, посвященных проблемам, методам и технологиям реинжиниринга ИС. Эти работы охватывают данную проблематику с различных точек зрения, рассматривая и исследуя в различной степени как проблемы концептуального уровня (иногда даже философского характера), так и конкретные методы, и инструментальные средства, предназначенные для реинжиниринга ИС.

Несмотря на наличие множества различных  решений, их исследование и комплексное  применение на практике бывает затруднено. Причинами возникающих трудностей следует считать:

  • понятие «реинжиниринг ИС» различными исследователями до сих пор трактуется по разному, существует множество близких понятий, наличие которых приводит к появлению внешне отличающихся, но по сути схожих подходов, методов и технологий;
  • предлагаемые решения не позиционируются в контексте других существующих решений;
  • решения не интегрированы на уровне методологий и технологий, большое количество методов и инструментальных средств направлено на решение отдельных локальных задач, связанных с реинжинирингом ИС;
  • наблюдается разрыв между решениями концептуального характера и решениями, направленными на решение конкретных прикладных задач.

Следует признать, что на множестве существующих решений (подходов, методов и технологий) отсутствует их систематизация, обеспечивающая позиционирование и определяющая взаимосвязь решений на различных уровнях рассмотрения задач реинжиниринга, в том числе, уровнях методологии и инструментальных средств.

Информация о работе Методы и технологии реинжиниринга ИС