Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Архитектура программного обеспечения - Темы по программной архитектуре22 января 2011Оглавление: 1. Архитектура программного обеспечения 2. История 3. Темы по программной архитектуре 4. Примеры архитектурных стилей и моделей Языки описания архитектурыЯзыки описания архитектуры используются для описания архитектуры программного обеспечения. Различными организациями было разработано несколько различных ADLS, в том числе AADL, Wright, Acme, xADL, Darwin, DAOP-ADL, а также ByADL. Общими элементами для всех этих языков являются понятия компонента, коннектора и конфигурации. ВидыАрхитектура ПО обычно содержит несколько видов, которые аналогичны различным типам чертежей в строительстве зданий. В онтологии, установленной ANSI / IEEE 1471-2000, виды являются экземплярами точки зрения, где точка зрения существует для описания архитектуры с точки зрения заданного множества заинтересованных лиц. Примеры видов: * Функциональный/логический вид * Вид код/модуль * Вид разработки/структурный * Вид параллельности выполнения/процесс/поток * Физический вид/вид развертывания * Вид с точки зрения действий пользователя * Вид с точки зрения данных Хотя было разработано несколько языков для описания архитектуры программного обеспечения, но в настоящий момент нет согласия по поводу того, какой набор видов должен быть принят в качестве эталона. В качестве стандарта "для моделирования программных систем" был создан язык UML. Базовые фреймворки для архитектуры ПОСуществуют следующие фреймворки, относящихся к области архитектуры ПО:
Такие примеры архитектур как фреймворк Захмана, DODAF и TOGAF относятся к области архитектуры предприятия. Отличие архитектуры ПО от детального проектирования ПОАрхитектура ПО является реализацией нефункциональных требований к системе, в то время проектирование ПО является реализацией функциональных требований. Архитектура ПО, которую также можно представить себе в виде разработки стратегии - это деятельность, связанная с определением глобальных ограничений, накладываемых на проектирование системы, такие как выбор парадигмы программирования, архитектурных стилей, стандарты разработки ПО, основанные на использовании компонентов, принципы проектирования и ограничения, накладываемые государственным законодательством. Детальное проектирование, т.е. разработка тактики - это деятельность, связанная с определением локальных ограничений проекта, такие как шаблоны проектирования, архитектурные модели, идиомы программирования и рефакторинга. Согласно "гипотезе напряжения/окрестности", различие между архитектурным и детальным проектированием определяется критерием окрестности, согласно которому утверждение, что дизайн ПО не является локальным истинно тогда и только тогда, когда программа, которая удовлетворяет этому критерию может быть расширена в программу, которая не удовлетворяет ему. Например, стиль приложения клиент-сервер является архитектурным стилем, потому что программа, которая построена на этом принципе, может быть расширена в программу, которая не является клиент-сервером, например, путем добавления peer-to-peer узлов. Архитектура является проектированием, но не всякий дизайн является архитектурным дизайном. На практике, архитектор определяет грань между архитектурой программного обеспечения и детальным дизайном. Не существует правил или инструкций, как сделать это, которые подходят для любого случая. Просмотров: 6027
|