- •Архитектура программного обеспечения
- •[Править] Обзор
- •[Править] История
- •[Править] Темы по программной архитектуре [править] Языки описания архитектуры
- •[Править] Виды (views)
- •[Править] Базовые фреймворки для архитектуры по (software architecture frameworks)
- •[Править] Отличие архитектуры по от детального проектирования по
- •[Править] Примеры архитектурных стилей и моделей
- •[Править] Примечания [править] Ссылки
[Править] Отличие архитектуры по от детального проектирования по
Архитектура ПО является реализацией нефункциональных требований к системе, в то время как проектирование ПО является реализацией функциональных требований.
Архитектура ПО, которую также можно представить себе в виде разработки стратегии - это деятельность, связанная с определением глобальных ограничений, накладываемых на проектирование системы, такие как выбор парадигмы программирования, архитектурных стилей, стандарты разработки ПО, основанные на использовании компонентов, принципы проектирования и ограничения, накладываемые государственным законодательством. Детальное проектирование, т.е. разработка тактики - это деятельность, связанная с определением локальных ограничений проекта, такие как шаблоны проектирования, архитектурные модели, идиомы программирования и рефакторинга. Согласно "гипотезе напряжения/окрестности" (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 Larman • James Martin • Bertrand Meyer • David Parnas • Winston W. Royce • James Rumbaugh • Никлаус Вирт • Эдвард Йордан • Стив Макконнелл |
Процесс |
Анализ требований • Проектирование • Программирование • Тестирование • Внедрение • Сопровождение • Формальные методы |
Концепции |
Моделирование данных • Архитектура ПО • Функциональная спецификация • Язык моделирования • Парадигма программирования • Программное обеспечение (Методология разработки • Цикл разработки • Качество • Обеспечение качества • Структурный анализ) |
Направления |
Программирование (Аспектно-ориентированное • Объектно-ориентированное • Проблемно-ориентированное) • Онтология • Сервис-ориентированная архитектура • Оценка затрат на разработку |
Модели разработки |
Гибкая методология разработки • Cleanroom • CASE • Итеративная разработка • RUP • OpenUP • RAD • Scrum • MSF • Спиральная модель • Каскадная модель • XP • V-Model • Dual Vee Model • DSDM |
Другие модели |
CMM • CMMI • Модель данных • Function model • IDEF • Information model • Metamodeling • Object model • View model • UML |
Прочее |
Информатика • Компьютерная инженерия • Организационная инженерия • История разработки ПО • Конфигурационное управление • Документирование • Управление проектами • Управление программами • Всеобщее управление качеством • Эргономика • Системотехника • Обратная разработка |
Источник — «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., некоммерческой организации.
Свяжитесь с нами
Политика конфиденциальности
Описание Википедии
Отказ от ответственности
Мобильная версия