Промышленная автоматизация и порталы

Ave Customer, integrituri te salutant!

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи Программная инженерия Уровни компонентного проектирования

Уровни компонентного проектирования

E-mail Печать PDF

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

Для понимания дальнейшей работы, нам необходимо ввести ряд понятий: уровни компонентного проектирования, компонент, соединитель, система.

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

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

Интерфейс представляет собой специфицированные входы и выходы данных для компонент.

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

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

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