Интернет магазин китайских планшетных компьютеров



Компьютеры - Архитектура программного обеспечения - Темы по программной архитектуре

22 января 2011


Оглавление:
1. Архитектура программного обеспечения
2. История
3. Темы по программной архитектуре
4. Примеры архитектурных стилей и моделей



Языки описания архитектуры

Языки описания архитектуры используются для описания архитектуры программного обеспечения. Различными организациями было разработано несколько различных ADLS, в том числе AADL, Wright, Acme, xADL, Darwin, DAOP-ADL, а также ByADL. Общими элементами для всех этих языков являются понятия компонента, коннектора и конфигурации.

Виды

Архитектура ПО обычно содержит несколько видов, которые аналогичны различным типам чертежей в строительстве зданий. В онтологии, установленной ANSI / IEEE 1471-2000, виды являются экземплярами точки зрения, где точка зрения существует для описания архитектуры с точки зрения заданного множества заинтересованных лиц.

Примеры видов:

   * Функциональный/логический вид
   * Вид код/модуль
   * Вид разработки/структурный
   * Вид параллельности выполнения/процесс/поток
   * Физический вид/вид развертывания
   * Вид с точки зрения действий пользователя
   * Вид с точки зрения данных

Хотя было разработано несколько языков для описания архитектуры программного обеспечения, но в настоящий момент нет согласия по поводу того, какой набор видов должен быть принят в качестве эталона. В качестве стандарта "для моделирования программных систем" был создан язык UML.

Базовые фреймворки для архитектуры ПО

Существуют следующие фреймворки, относящихся к области архитектуры ПО:

  • 4+1
  • RM-ODP
  • Service-Oriented Modeling Framework

Такие примеры архитектур как фреймворк Захмана, DODAF и TOGAF относятся к области архитектуры предприятия.

Отличие архитектуры ПО от детального проектирования ПО

Архитектура ПО является реализацией нефункциональных требований к системе, в то время проектирование ПО является реализацией функциональных требований.

Архитектура ПО, которую также можно представить себе в виде разработки стратегии - это деятельность, связанная с определением глобальных ограничений, накладываемых на проектирование системы, такие как выбор парадигмы программирования, архитектурных стилей, стандарты разработки ПО, основанные на использовании компонентов, принципы проектирования и ограничения, накладываемые государственным законодательством. Детальное проектирование, т.е. разработка тактики - это деятельность, связанная с определением локальных ограничений проекта, такие как шаблоны проектирования, архитектурные модели, идиомы программирования и рефакторинга. Согласно "гипотезе напряжения/окрестности", различие между архитектурным и детальным проектированием определяется критерием окрестности, согласно которому утверждение, что дизайн ПО не является локальным истинно тогда и только тогда, когда программа, которая удовлетворяет этому критерию может быть расширена в программу, которая не удовлетворяет ему. Например, стиль приложения клиент-сервер является архитектурным стилем, потому что программа, которая построена на этом принципе, может быть расширена в программу, которая не является клиент-сервером, например, путем добавления peer-to-peer узлов.

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



Просмотров: 6027


<<< Антипаттерн
Аспектно-ориентированная разработка программного обеспечения >>>