Современные
информационные технологии/
3.Программное обеспечение
д.т.н. Рындин А.А., к.т.н. Сапегин С.В.
Воронежский государственный технический университет, Россия
Построение
архитектуры современных программных средств
IT-инфраструктура
любого предприятия имеет набор внутренних ограничений по функционированию и
разработке, обусловленных изначально заложенными архитектурными решениями.
Соответственно, решение задачи развития IT-инфраструктуры
в соответствии с требованиями бизнеса невозможно без методологий, обеспечивающих
эффективное и действенное использование информационных ресурсов предприятия в
рамках единой, тщательно проработанной архитектуры. В современной практике
построения крупных информационных систем существует целый ряд методик,
предназначенных для проектирования архитектур ИС и обладающих, как правило,
следующим набором недостатков:
1. Отсутствие
количественных оценок эффективности выстраиваемых архитектур. Современные
методологии обычно представляют собой набор постулированных, либо эмпирически
сформулированных правил, причем о приоритете, а также об эффекте от правил
можно только гадать.
2. Выраженный
акцент на проектировании одного из контуров архитектуры (системы
бизнес-процессов, инфраструктуры и т.д.) и, как следствие, нерациональность
выстраиваемой архитектуры с общей точки зрения.
При этом, в качестве
архитектуры корпоративной ИС необходимо понимать общую структуру организации
аппаратных и программных компонентов системы, предназначенных для
удовлетворения информационных потребностей пользователей. Исходя из этого
понятия, концептуальную модель архитектуры ИС можно представить в виде, как
показано на рис.1. При этом, в качестве подсистем корпоративной ИС
рассматриваются:
1. Организационные
структуры бизнес-процессов
, где N – общее количество
возможных организационных структур;
2. Элементы сетевой и
платформенной инфраструктуры
, где M – общее количество
платформенных подсистем, которые можно использовать в работе корпоративной ИС;
3. Программные компоненты
(сервисы) корпоративной ИС
, где L – общее количество
программных компонентов, которые возможно использовать на каждом этапе развития
системы. Каждая конфигурация корпоративной ИС может состоять из произвольного
количества подсистем
,
и
(рис. 1).
Исходя из этого
представления, архитектуру ИС можно представить в виде ориентированного
мультиграфа, в котором вершинами являются компоненты
,
и
, а дуги олицетворяют зависимости между этими компонентами.
При этом, можно выделить следующие типы зависимостей:
1. a-a,
зависимость бизнес-процессов друг от друга;
2. a-c,
реализация части бизнес-процесса a компонентом c;
3. c-c,
взамозависимость программных комронентов c;
4. c-b,
используемо аппаратное и инфраструктурное обеспечение;
5. b-b,
зависимости уровня инфраструктуры.

Рис. 1. Концептуальная модель
архитектуры ИС
Процесс развития архитектуры ИС во времени представляет собой
последовательный набор состояний, каждый из который обладает некоторой
комбинацией
,
и
, а также набором дуг зависимостей. Таким образом, модель ИС
во времени представляет собой дискретно-детерминированный автомат, который в
каждый момент времени T осуществляет переход в
новое состояние, характеризуемое составом компонентов и набором дуг. Постановка
задачи рационального развития архитектуры ИС подразумевает собой задачу выбора
на каждом этапе таких состояний из множества возможных, прохождение которых
повышает качество архитектуры системы. При этом, проектировщик системы имеет
возможность влиять на состав компонентов
и частично - на
некоторые типы зависимостей и инфраструктурные компоненты
. Среди показателей текущего качества архитектуры можно
выделить следующие:
1. Среднее
количество связей между компонентами системы:
,
(1)
где
- число связей i-го
компонента с другими; Может использоваться для оценки качества струтуры
2. Среднее количество
компонентов, участвующих в реализации бизнес-процесса:
, (2)
где
- число
компонентов системы, задействованных в j-м
бизнес-процессе; и т.д.
Поскольку возможность выбора того или иного состояния системы определяется
ее предыдущими состояниями, то решение задачи построения рациональной
архитектуры точными методами возможно только для ИС достаточно малой
размерности. В общем случае задача рационализации процесса развития крупных
программных систем представляет собой классическую задачу теории игр, суть
которой – найти наиболее рациональную стратегию в условиях неопределенности.
При этом, в качестве участников игры могут выступать различные архитектурные
виды системы (с соответствующими функциями вычисления платежной матрицы), а
сама игра является кооперативной, т.е. нацелена на максимальный совокупный
выигрыш.
ЛИТЕРАТУРА:
1. Протасов
И.Д. Теория игр и исследование операций. М.:Гелиос АРВ, 2006, 384 с.
2. Ivar Jacobson, Grady Booch, James Rumbaugh. The Unified Software
Development Process - Addison-Wesley Object Technology Series, 1999, 512 p.
3. Jorge Dias Jr. A Software Architecture Process for SOA Definition. LAP:
Lambert Academic Publishing, 2009, 160 p.