Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Другие взгляды на архитектуру. Программная архитектура как дисциплина стремительно развивается, но все же она еще молода; поэтому какого-то универсального




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

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

Архитектура — это проект, поднятый на высокий уровень. Действительно, лошадь относится к млекопитающим, однако они не равнозначны. В про­цессе проектирования решаются разные задачи, в том числе и неархитек­турные — взять хоть вопрос об инкапсуляции значимых структур данных. Интерфейсы этих структур, без сомнения, относятся к архитектуре, но соб­ственно их отбор — нет.

Архитектура — это общая структура системы. Согласно распространен­ному (но неверному) мнению, у любой системы одна структура. Мы-то знаем, что это не так, а если кто-то вознамерится утверждать обратное, спросите его, какую конкретно структуру он имеет в виду. Эффект будет не только педагогическим. Как мы увидим впоследствии, наполнение систе­мы атрибутами качества, которые в конечном итоге определяют ее успех или провал, происходит именно через разнообразные структуры. Множе­ственность структур в рамках архитектуры составляет суть самого этого понятия.

Архитектура - это структура компонентов программы или системы, вза­имосвязи, а также принципы и нормы их проектирования и развития во времени. Это одно из ряда процессно-ориентированных определений, вклю­чающих дополнительные сведения о принципах и нормах. Многие счита­ют, что в состав архитектуры входят декларация потребностей заинтересо­ванных лиц и логическое обоснование, регламентирующее реализацию их требований. Действительно, сбор такой информации важен и необходим с точки зрения профессионализма. Однако мы не считаем, что эти доку­менты являются частью архитектуры, — никто ведь не берется утверждать, что руководство пользователя автомобиля входит в состав автомобиля. Архитектуру, к какой бы системе она ни относилась, можно исследовать и проанализировать, не располагая знаниями о процессах ее проектирова­ния и развития.

Архитектура — это компоненты и соединители. Под соединителями име­ется в виду механизм периода прогона, предназначенный для передачи в рам­ках системы сигналов управления и данных. Следовательно, данное опре­деление ориентировано на архитектурные структуры периода прогона. К примеру, соединителем является UNIX-канал. Согласно этой логике, все архитектурные структуры, которые не относятся к периоду прогона (на­пример, рассмотренное выше статическое разделение на ответственные блоки реализации), признаются второстепенными. В то же время в контексте ре­шения системных задач они не менее важны, чем структуры периода прого­на. Рассуждая об «отношениях» между элементами, мы имеем в виду все отношения - те, что реализуются в период прогона, и те, что к нему не относятся.


 

Все дискуссии по поводу программной архитектуры крутятся вокруг струк­турности систем. Иногда словом «архитектура» обозначают конкретный архи­тектурный образец (например, клиент-сервер), в других случаях — область ис­следований (например, книгу об архитектуре), однако в большинстве случаев под «архитектурой» имеют в виду структурные аспекты конкретной системы. Имен­но их мы пытались отразить в своем варианте определения.




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 491; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.