Лекция 13. 5.12.2012

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

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

Второй процесс (Architecture Transformation) заключается в трансформации (реинжиниринге) восстановленной архитектуры к желаемой новой архитектуре. Полученная в результате трансформации новая архитектура оценивается с позиции ее качества с учетом накладываемых на нее организационных и экономических ограничений.

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

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

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

В ЖЦ ИС рассматривается следующая последовательность их выполнения. (Рис. 1).


Рис. 1 Жизненный цикл ИС.

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

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

В основу данной модели положены следующие процессы (виды деятельности), соотносимые с реинжинирингом ИС:

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

Эти три основных процесса соединяются в модели в виде «подковы» (Рис. 2).


Рис.2 Модель «подковы».

И, наконец, третий процесс (Architecture-based Development) включает деятельность по разработке системы, соответствующей новой архитектуре. Здесь решаются вопросы декомпозиции элементов системы по пакетам, осуществляется выбор стратегий взаимодействия элементов/компонентов системы. В рамках данного процесса так же обеспечивается интеграция в новую систему артефактов унаследованной системы, например, посредством переписывания части унаследованного кода и/или применения технологии построения оболочек для компонентов унаследованной системы.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


Рис 4. Уровни рассмотрения и исследования аспектов, соотносимых с реинжинирингом ИС.

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

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

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

  • Определение целей, направлений деятельности организации и информационной системы.
  • Формирование объединенной команды, которая будет осуществлять реинжиниринг унаследованной системы.
  • Определение среды разработки и сопровождения, базирующейся на применении CMM (Capability Maturity Model).
  • Выбор стандартного множества метрик для оценки программных средств.
  • Анализ унаследованной системы.
  • Определение процесса реализации деятельности по реинжинирингу.
  • Разработка/Обновление стандартных средств тестирования и валидации.
  • Анализ средств реинжиниринга.
  • Обучение.

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

С некоторой условностью все методы реинжиниринга ИС можно разделить на два класса.

Методы, относящиеся к первому классу, определены на концептуальном уровне и в целом не зависят от какой-то одной программной технологии. Среди всего множества рассматриваемых методов к первому классу относятся метод репликации баз данных и основанный на объектно-ориентированном подходе метод построения оболочек для компонентов унаследованной системы (object – oriented wrapping), методы «белого» и «черного» ящика модернизации системы. Другими представителями данного класса являются: методы оценки вариантов реинжиниринга ИС , метод планирования миграции программных средств, методы извлечения знаний о существующей системе, методы трансформации (реконструкции) архитектуры ИС, методы автоматизации реинжиниринга программ и т.д. В целом следует считать, что область применения таких методов, как правило, характеризуется некоторым классом программных технологий. А для применения в реальных проектах каждый из них адаптируется с учетом используемых в проекте технологий и инструментальных средств.

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

  • Имя образца.
  • Цели применения.
  • Область приложения.
  • Мотивация к применению.
  • Структура системы до и после применения образца.
  • Процесс применения образца.
  • Обсуждение образца.
  • Особенности, зависящие от языка программирования.

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

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

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

  • переноса приложений написанных на устаревших языках на современные языки и платформы (например, с языков PL/1, Кобол на языки C++, Java, Visual Basic);
  • средства интеграции унаследованных приложений, к примеру, на основе метода построения оболочек для компонентов унаследованной системы;
  • средства автоматизированного извлечения данных из унаследованных систем;
  • средства автоматизированного извлечения знаний об унаследованных системах;
  • средства оптимизации (реструктуризации) унаследованных систем при их переносе на современные языки и платформы (как на уровне программного кода, так и на уровне архитектуры ИС);
  • различные средства анализа программного кода.

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

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

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

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

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

Доходы торгового бизнеса зависят от исторически-сложившихся особенностей предпринимательского капитала. В XIX возникает два типа предпринимательства:……
Таким образом сложилось разделение хозяйственной деятельности между массовым производством товаров и их продажей населению. Это разделение функций оказалось выгодным для производителей, которые не расходуя средства на организацию розничной торговли, сбывая свою продукцию торговым посредникам, получают прибыль на дальнейшее развитие производства.

 

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

1. Производитель реализует свою продукцию непосредственно потребителю и торговому посреднику. Данная система последние годы действует все реже.

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

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

Хеджирование – это система гарантирует страхование от потерь, возникающее в случае падения рыночной цены

 

Пример: 1 августа устанавливается цена первого уровня – 10 600 рублей (за 1 тонну). Поступление товара ожидается 20 сентября. При поступлении на биржу и реализации товара, в условиях рынка довольно быстро снижается цена до 9 800 рублей. 1 октября – биржевая цена так же падает до 10 000 рублей. Торговый посредник, заключивший в августе контракт с биржей вынужден продавать товары по 9 800 рублей за тонну. По истечении торговой сделки посредник получает разницу между биржевыми ценами: 10 600 – 10 000 = 600 рублей. По итогам реализации продукции торговый посредник, за каждую тонну, в действительности, получает 10 400 рублей, то есть на 600 рублей выше рыночной цены + цена реализации – 9 800. Таким образом посредник получил доход, по сравнению с рыночной ценой и доход от разницы между биржевыми ценами: 600 + 400 = 1000 рублей с каждой тонны

 

Торговый бизнес – это процесс постоянно взаимодействия крупного промышленного капитала и сфера обращения. Как правило практикуются две формы подобного взаимодействия:

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

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

Процесс разнообразия(диверсификации) бизнеса малого предприятия оплачивается им в виде бонуса крупной компанией в пределах 10% от валовой прибыли (Пв)

 

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

 

(Формула 1)

 

Да - Средства, направляемые на организации торговой системы

Т – товарная продукция, приобретаемая ц производителя по оптовым ценам

Д’ – торговая выручка от продажи, приобретенный у производителя товаров, по розничным ценам.

 

(Формула 2)

 

В основном прибыль зависит от уровня розничной цены, которая представляет собой следующую структуру:

 

(Формула 3)