ЛЕКЦИЯ 11.ppt
- Количество слайдов: 20
АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Архитектура – сквозная концепция или набор концепций, предназначенный для определения отношений и взаимодействий отдельных компонентов ПО. Создание архитектуры – это проектирование на самом высоком уровне. Дальнейшее проектирование соответствует детальному проектированию. Цели выбора архитектуры - расширение (степень, в которой архитектура должна поддерживать добавление новых возможностей в приложение); - изменения (возможности архитектуры, связанные с изменениями требований); - простота (простота понимания и реализации); - эффективность (оптимальных расход машинного времени и памяти).
ДЕКОМПОЗИЦИЯ Декомпозиция (модуляризация, рекурсивное проектирование) – разбиение сложной задачи на подзадачи, которые, в свою очередь, могут быть также декомпозированы и т. Д. Реализация подзадач возлагается на модули. Связность внутри модуля – сила взаимосвязей между элементами модуля. Сцепление – степень взаимодействия модуля с другими модулями. Цель декомпозиции – достижение эффективной модульности, при которой связность максимальна, а сцепление минимально.
ДЕКОМПОЗИЦИЯ. ПРИМЕРЫ Ролевая игра - Окружающая среда; механизм управления игрой; участники игры; артефакты игры. Персональное финансовой приложение Счета; оплата счетов; глобальные отчеты; займы; инвестиции. Персональное финансовой приложение (альтернатива) Интерфейс; поставщики; активы.
КАРКАСЫ Каркас – коллекция классов, используемых в нескольких различных приложениях.
ЗАВЕРШЕНИЕ МОДЕЛИ КЛАССОВ
КЛАССИФИКАЦИЯ АРХИТЕКТУР (ОБРАЗЦОВ ПРОЕКТИРОВАНИЯ) - Архитектуры потоков данных. - Последовательные пакеты. - Каналы и фильтры. - Независимые компоненты. - Параллельные взаимодействующие процессы. - Клиент-серверные системы. - Системы, управляемые событиями. - Виртуальные машины. - Интерпретаторы. - Системы, основанные на правилах. - Репозиторные архитектуры. - Базы данных. - Гипертекстовые системы. - Доски объявлений. - Уровневые архитектуры.
ОБРАЗЦЫ ПРОЕКТИРОВАНИЯ Образец проектирования – найденная опытным путем комбинация компонентов (классов или объектов), которая решает определенные общие проектировочные задачи. Образцы проектирования - Структурные (способы представления объектов – деревья, связанные списки и т. п. ). - Креационные (способы создания сложных объектов). - Поведенческие (отслеживание поведения объектов).
ТИПЫ АРХИТЕКТУР
АРХИТЕКТУРЫ, ОСНОВАННЫЕ НА ПОТОКАХ ДАННЫХ DFD (Data Flow Diagram) – диаграммы потоков данных.
АРХИТЕКТУРЫ, ОСНОВАННЫЕ НА ПОТОКАХ ДАННЫХ
АРХИТЕКТУРЫ, ОСНОВАННЫЕ НА ПОТОКАХ ДАННЫХ
НЕЗАВИСИМЫЕ КОМПОНЕНТЫ. ОБРАЗЕЦ ПРОЕКТИРОВАНИЯ FACADE Архитектура независимых компонентов состоит из компонентов, работающих параллельно и время от времени общающихся друг с другом.
НЕЗАВИСИМЫЕ КОМПОНЕНТЫ. АРХИТЕКТУРА ПАРАЛЛЕЛЬНО ВЗАИМОДЕЙСТВУЮЩИХ ПРОЦЕССОВ
НЕЗАВИСИМЫЕ КОМПОНЕНТЫ. АРХИТЕКТУРА ПАРАЛЛЕЛЬНО ВЗАИМОДЕЙСТВУЮЩИХ ПРОЦЕССОВ. ОБРАЗЕЦ OBSERVER
ПРИМЕР ОБРАЗЦА ПРОЕТИРОВАНИЯ OBSERVER
АРХИТЕКТУРЫ СОБЫТИЙНО-УПРАВЛЯЕМЫХ СИСТЕМ. ОБРАЗЕЦ ПРОЕКТИРОВАНИЯ STATE
ПРИМЕР ОБРАЗЦА ПРОЕКТИРОВАНИЯ STATE
РЕПОЗИТОРНЫЕ АРХИТЕКТУРЫ. ITERATOR
УРОВНЕВЫЕ АРХИТЕКТУРЫ
ЛЕКЦИЯ 11.ppt