Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Архитектура и проектирование программных систем

Архитектурный вид - структура многослойной программной системы

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

Остановимся на особенностях основных вариантов многослойных структур. Если в варианте по рис. 2.4 каждый слой имеет доступ к командам только одного слоя, разработчик должен иметь в виду только предыдущий слой. Хотя с точки зрения проектирования этот вариант кажется привлекательным, он может оказаться очень неэффективным. Например, если некоторое средство, предоставляемое слоем (2), потребуется в слое (/), то каждый из слоев (3), (4),..., (/- 1) должен обеспечить это средство. Это значит, что запрос данного средства слоем (г) должен «просачиваться» вниз через слой (г - 1), пока не достигнет слоя (2), который способен выполнить запрос. Такой подход связан с дополнительными затратами времени на трансляцию запросов. Эти трудности, связанные с проблемой эффективности, могут склонить к принятию структуры по рис. 2.5, в которой каждый слой (г), где 2 < / < п, может непосредственно обращаться к слою (2).

Представим структуру многослойной программной системы в обобщенном виде, показанном на рис. 2.18. В данном случае каждый слой показан в виде одного модуля с возможностью организации связей с любым произвольным слоем системы. Такая обобщенная схема позволяет рассмотреть любую структуру я-слойной программной системы, лежащую в диапазоне структур, приведенных на рис. 2.4 и рис. 2.5.

Произвольная структура описывается некоторым множеством булевых переменных:

X ={^ е {0,1} | / = л, я-1,..., 2; у = я-1, я-2,..., 1; г > у}, (2.3)

где Ху - 1, если существует связь между слоями / и у, и Ху - 0, если такой связи нет. Так как между смежными слоями всегда имеется связь, то

(V/1 / = у + 1)(х,у =1), / = я, я -1,..., 2 . (2.4)

Если в многослойной структуре программы, представленной выражением (2.3), принимают единичное значение только переменные, описываемые условием (2.4), то эта программа имеет структуру, соответствующую варианту по рис. 2.5. Если справедливо условие

(3/1 (I = л, п -1,..., 2)) & (3/ | (/ - у > 2))(ху =1), (2.5)

то программа имеет структуру, соответствующую промежуточному варианту между вариантами структур, представленными на рис. 2.5 и рис. 2.6.

Если справедливо условие

(V/11 = л, п -1,..., 2)(3у | (/ - у > 2))(ху = 1), (2.6)

то программа имеет структуру, соответствующую варианту, представленному на рис. 2.6.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы