Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
53
Добавлен:
01.06.2015
Размер:
2.03 Mб
Скачать

Разделение образцов проектирования

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

Образцы проектирования разделяются в зависимости от масштаба решений на:

архитектурные, определяющие возможную декомпозицию системы в целом или больших подсистем, области ответственности подсистем и правила их взаимодействия;

проектные, определяющие шаблон взаимодействий группы компонентов, обычно в рамках некоторой подсистемы, для решения некоторой общей задачи проектирования в повторяющемся контексте;

10 / 52

Разделение образцов проектирования

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

Образцы проектирования разделяются в зависимости от масштаба решений на:

архитектурные, определяющие возможную декомпозицию системы в целом или больших подсистем, области ответственности подсистем и правила их взаимодействия;

проектные, определяющие шаблон взаимодействий группы компонентов, обычно в рамках некоторой подсистемы, для решения некоторой общей задачи проектирования в повторяющемся контексте;

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

10 / 52

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

Проектирование архитектуры программной системы

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

архитектурный или высокоуровневый дизайн (software architectural design, top-level design) описание высокоуровневой структуры и организации компонентов системы;

детализированная архитектура (software detailed design) описывающая каждый компонент в том объеме, который необходим для конструирования.

11 / 52

Сочетание архитектурных стилей

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

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

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

12 / 52

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

Архитектурных стили. Конвейер обработки данных

Конвейер обработки данных или data-flow:

доступность данных контролирует работу системы;

система выдает хорошо определенные выходные данные в результате обработки хорошо определенных

входных;

процесс обработки не зависит от времени, применяется многократно, одинаково к любым данным на входе;

четко определенная структура данных и поддержка возможности интеграции с другими системами.

13 / 52

Конвейерная обработка. Шаблон перемещения данных

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

14 / 52

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

Конвейерная обработка. Пакетная обработка данных

один вывод производится на основе чтения некоторого набора данных на входе;

промежуточные преобразования последовательны;

каждый шаг обработки начинается только после того, как заканчивается предыдущий.

15 / 52

Пакетная обработка данных. Пример

Архитектур-

ные стили

программ- Пакетная обработка изображений в редакторе

ных

систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

16 / 52

Конвейерная обработка. Каналы и фильтры

Архитектурные стили программных систем

Данилов И. Г.

ассистент каф. МОП ЭВМ

нужно обеспечить преобразование непрерывных потоков данных;

преобразования инкрементальны;

следующее преобразование может быть начато до окончания предыдущего;

возможно добавление дополнительных преобразований.

17 / 52

Каналы и фильтры. Пример #1

Архитектурные стили программных систем

Данилов И.

Компиляторы

 

Г.

 

ассистент

 

каф. МОП

 

ЭВМ

 

18 / 52

Соседние файлы в папке лекции