3-ЛЕКЦИЯ. ГРАНИЦЫ АРХИТЕКТУРНОГО ПРОЕКТИРОВАНИЯ ПО.
План:
Представить основные перспективы и структуры, используемые в архитектуре ПО
Ввести основные типы элементов и соединителей, используемые в архитектуре ПО
Представить процесс итеративного уточнения для проектирования архитектуры ПО
Архитектор ПО отвечает за предложение конкретной архитектуры, которая наилучшим образом поддерживает детальное проектирование и реализацию конкретного проекта. Архитекторы ПО должны знать, какие альтернативы дизайна им доступны, и какой из них наилучшим образом соответствует функциональным и нефункциональным требованиям. Иными словами, разработчик ПО должен понимать пространство проектирования архитектуры ПО.
В своей простейшей форме программная архитектура представляет собой набор программных элементов, соединенных набором соединителей. С точки зрения динамической структуры, программный элемент может быть процессом, объектом, экземпляром программного компонента или службой. Различные программные элементы могут работать на разных аппаратных и программных платформах и могут быть реализованы на разных языках программирования или на разных программных платформах. Два программных элемента могут выполняться в одном и том же процессе, в одной компьютерной системе, в интрасети или распространяться через Интернет. В зависимости от их относительного расположения соединители между парой программных элементов могут быть реализованы в различных формах, включая локальные вызовы методов, удаленные вызовы методов, вызовы служб и обмен сообщениями через очередь сообщений. Соединители также могут работать в синхронных или асинхронных узлах.
С точки зрения статической структуры программный элемент может быть пакетом, классом, компонентом или загружаемой библиотекой. Соответственно, соединитель может быть предложением импорта, предложением наследования, спецификацией интерфейса, каналом или фильтром.
Современная индустрия ПО характеризуется постоянно меняющимися требованиями проекта. Расширение или слияние организации может привести к разнородной ИТ-инфраструктуре интрасети, так же как интеграция B2B (бизнес-бизнес) может сделать интеграцию через Интернет критически важной для ее бесперебойной работы. Хорошая программная архитектура должна легко адаптироваться к этим изменяющимся средам без необходимости значительного реинжиниринга соответствующих программных систем.
За последнее десятилетие информационные технологии претерпели значительные изменения. Компонентная разработка ПО требует использования программных платформ. Например, такие технологии, как. NET и J2EE (Java 2 Enterprise Edition) значительно повысили уровень инкапсуляции. Веб-сервисы и сервис-ориентированные архитектуры принесли нам более гибкие технологии реализации коннекторов и разновидности программной архитектуры.
В оставшейся части этой главы мы обсудим пространство разработки для программных архитектур и представим основные концепции, лежащие в основе новейших технологий реализации.
Do'stlaringiz bilan baham: |