Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура программного обеспечения — Википеди...docx
Скачиваний:
18
Добавлен:
01.09.2019
Размер:
60.66 Кб
Скачать

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

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

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

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

[Править] Примеры архитектурных стилей и моделей

Есть много распространенных способов разработки программных модулей и их связей, в том числе:

  • Blackboard

  • Клиент-серверная модель (client-server)

  • Архитектуры, построенные вокруг базы данных (database-centric architecture)

  • Распределенные вычисления (distributed computing)

  • Событийная архитектура (event-driven architecture)

  • Front end and back end

  • Неявные вызовы (implicit invocations)

  • Монолитное приложение (monolithic application)

  • Peer-to-peer

  • Пайпы и фильтры (pipes and filters)

  • Plugin

  • Representational State Transfer

  • Rule evaluation

  • Поиск-ориентированная архитектуры

  • Сервис-ориентированная архитектура

  • Shared nothing architecture

  • Software componentry

  • Space based architecture

  • Структурированная

  • Трех-уровневая

[Править] Примечания [править] Ссылки

  • Крачтен Ф., Оббинк Х.,Стаффорд Д. Ретроспектива программных архитектур на сайте http://www.osp.ru

  • Software Architecture:Glossary, Software Engineering Institute  (англ.)

  • Architecture: Publications, Software Engineering Institute  (англ.)

Это заготовка статьи о программировании. Вы можете помочь проекту, исправив и дополнив её.

Это заготовка статьи о программном обеспечении. Вы можете помочь проекту, исправив и дополнив её.

п·о·р

Разработка программного обеспечения

Известные деятели

Кент БекГради БучФред БруксBarry BoehmУорд КаннингемОле-Йохан ДальТом ДемаркоЭдсгер Вибе ДейкстраДональд КнутМартин ФаулерЧарльз Энтони Ричард ХоарWatts HumphreyМайкл ДжексонИвар ЯкобсонCraig LarmanJames MartinBertrand MeyerDavid ParnasWinston W. RoyceJames RumbaughНиклаус ВиртЭдвард ЙорданСтив Макконнелл

Процесс

Анализ требованийПроектированиеПрограммированиеТестированиеВнедрениеСопровождениеФормальные методы

Концепции

Моделирование данныхАрхитектура ПОФункциональная спецификацияЯзык моделированияПарадигма программированияПрограммное обеспечение (Методология разработкиЦикл разработкиКачествоОбеспечение качестваСтруктурный анализ)

Направления

Программирование (Аспектно-ориентированноеОбъектно-ориентированноеПроблемно-ориентированное) • ОнтологияСервис-ориентированная архитектураОценка затрат на разработку

Модели разработки

Гибкая методология разработкиCleanroomCASEИтеративная разработкаRUPOpenUPRADScrumMSFСпиральная модельКаскадная модельXPV-ModelDual Vee ModelDSDM

Другие модели

CMMCMMIМодель данныхFunction modelIDEFInformation modelMetamodelingObject modelView modelUML

Прочее

ИнформатикаКомпьютерная инженерияОрганизационная инженерияИстория разработки ПОКонфигурационное управлениеДокументированиеУправление проектамиУправление программамиВсеобщее управление качествомЭргономикаСистемотехникаОбратная разработка

Источник — «http://ru.wikipedia.org/w/index.php?title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F&oldid=42864506»

Категории:

  • Архитектура программного обеспечения

  • Разработка программного обеспечения

Скрытые категории:

  • Незавершённые статьи о программировании

  • Незавершённые статьи о программном обеспечении

Личные инструменты

  • Представиться / зарегистрироваться

Пространства имён

  • Статья

  • Обсуждение

Варианты

Просмотры

  • Чтение

  • Текущая версия

  • Правка

  • История

Действия

Поиск

Начало формы

Конец формы

Навигация

  • Заглавная страница

  • Рубрикация

  • Указатель АЯ

  • Избранные статьи

  • Случайная статья

  • Текущие события

Участие

  • Сообщить об ошибке

  • Портал сообщества

  • Форум

  • Свежие правки

  • Новые страницы

  • Справка

  • Пожертвования

Печать/экспорт

  • Создать книгу

  • Скачать как PDF

  • Версия для печати

Инструменты

  • Ссылки сюда

  • Связанные правки

  • Спецстраницы

  • Постоянная ссылка

  • Цитировать страницу

На других языках

  • العربية

  • Català

  • Dansk

  • Deutsch

  • English

  • Español

  • فارسی

  • Suomi

  • Français

  • Galego

  • עברית

  • Bahasa Indonesia

  • 日本語

  • 한국어

  • Nederlands

  • Polski

  • Português

  • Türkçe

  • Tiếng Việt

  • 中文

  • 粵語

  • Последнее изменение этой страницы: 09:51, 23 марта 2012.

  • Текст доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия. Подробнее см. Условия использования. Wikipedia® — зарегистрированная торговая марка Wikimedia Foundation, Inc., некоммерческой организации.

  • Свяжитесь с нами

  • Политика конфиденциальности

  • Описание Википедии

  • Отказ от ответственности

  • Мобильная версия