
- •Архитектура программного обеспечения
- •[Править] Обзор
- •[Править] История
- •[Править] Темы по программной архитектуре [править] Языки описания архитектуры
- •[Править] Виды (views)
- •[Править] Базовые фреймворки для архитектуры по (software architecture frameworks)
- •[Править] Отличие архитектуры по от детального проектирования по
- •[Править] Примеры архитектурных стилей и моделей
- •[Править] Примечания [править] Ссылки
[Править] История
Начало архитектуре программного обеспечения как концепции было положено в научно-исследовательской работе Эдсгера Дейкстры в 1968 году и Дэвида Парнаса в начале 1970-х. Эти ученые подчеркнули, что структура системы ПО имеет важное значение, и что построение правильной структуры - критически важно. Популярность изучения этой области возросла с начала 1990-х годов вместе с научно-исследовательской работой по исследованию архитектурных стилей (шаблонов), языков описания архитектуры, документирования архитектуры, и формальных методов.
В развитии архитектуры программного обеспечения как дисциплины играют важную роль научно-исследовательские учреждения. Мэри Шоу и Дэвид Гэрлан из университета Carnegie Mellon написали книгу под названием "Архитектура программного обеспечения: перспективы новой дисциплины в 1996 году", в которой выдвинули концепции архитектуры программного обеспечения, такие как компоненты, соединители (connectors), стили и так далее. В калифорнийском университете институт Ирвайна по исследованию ПО в первую очередь исследует архитектурные стили, языки описания архитектуры и динамические архитектуры.
Первым стандартом программной архитектуры является стандарт IEEE 1471: ANSI / IEEE 1471-2000: Рекомендации по описанию преимущественно программных систем. Он был принят в 2007 году, под названием ISO ISO / IEC 42010:2007.
[Править] Темы по программной архитектуре [править] Языки описания архитектуры
Языки описания архитектуры (ADLS) используются для описания архитектуры программного обеспечения. Различными организациями было разработано несколько различных ADLS, в том числе AADL (стандарт SAE), Wright (разработан в университете Carnegie Mellon), Acme (разработан в университете Carnegie Mellon), xADL (разработан в UCI), Darwin (разработан в Imperial College в Лондоне), DAOP-ADL (разработан в Университете Малаги), а также ByADL (Университет L'Aquila, Италия). Общими элементами для всех этих языков являются понятия компонента, коннектора и конфигурации.
[Править] Виды (views)
Архитектура ПО обычно содержит несколько видов, которые аналогичны различным типам чертежей в строительстве зданий. В онтологии, установленной ANSI / IEEE 1471-2000, виды являются экземплярами точки зрения, где точка зрения существует для описания архитектуры с точки зрения заданного множества заинтересованных лиц.
Примеры видов:
* Функциональный/логический вид
* Вид код/модуль
* Вид разработки (development)/структурный
* Вид параллельности выполнения/процесс/поток
* Физический вид/вид развертывания
* Вид с точки зрения действий пользователя
* Вид с точки зрения данных
Хотя было разработано несколько языков для описания архитектуры программного обеспечения, но в настоящий момент нет согласия по поводу того, какой набор видов должен быть принят в качестве эталона. В качестве стандарта "для моделирования программных систем (и не только)" был создан язык UML.
[Править] Базовые фреймворки для архитектуры по (software architecture frameworks)
Существуют следующие фреймворки, относящихся к области архитектуры ПО:
4+1
RM-ODP (Reference Model of Open Distributed Processing)
Service-Oriented Modeling Framework (SOMF)
Такие примеры архитектур как фреймворк Захмана (Zachman Framework), DODAF и TOGAF относятся к области архитектуры предприятия (enterprise architectures).