- •ЛЕКЦИЯ 15. SWEBOK. ОБЛАСТЬ ЗНАНИЙ «ПРОЕКТИРОВАНИЕ ПО» -
- •Источники литературы
- •Ядро знаний SWEBOK
- •Структура SWEBOK - 2004
- •Основные области SWEBOK
- •Дополнительные области SWEBOK
- •Область знаний
- •Область знаний «проектирование ПО» в SWEBOK
- •Область знаний «проектирование ПО» в SWEBOK
- •1. Основы проектирования ПО
- •1. Основы проектирования ПО
- •1.1. Общие концепции проектирования
- •Пример формулировки целей потока работ «Проектирование» в RUP
- •Цели проектирования RUP (1)
- •Цели проектирования RUP (2)
- •Цели проектирования RUP (3)
- •1. Основы проектирования ПО
- •1.2. Контекст проектирования
- •1.3. Процесс проектирования
- •Пример структуры результата проектирования (RUP)
- •1.4. Принципы (техники) проектирования ПО
- •1.4.1.Абстракция
- •1.4.3 Декомпозиция и разбиение на модули (Decomposition and Modularization)
- •1.4.2 Связность и связанность (Cohesion and Coupling)
- •Инкапсуляция/сокрытие
- •1.4.5 Разделение интерфейса и реализации (Separation of interface and implementation)
- •1.4.6 Достаточность, полнота и простота (Sufficiency, completeness and primitiviness)
- •Область знаний «проектирование ПО» в SWEBOK
- •2. Ключевые вопросы проектирования
- •2.1.Параллелизм
- •2.2. Контроль и обработка событий
- •2.3. Распределение компонентов
- •2.4 Обработка ошибок и исключительных ситуаций и обеспечение отказоустойчивости.
- •2.6 Сохраняемость данных (Data Persistence)
- •2.5 Взаимодействие и представление
- •Модель MVС (данные – представления – обработка)
- •Модель MVС (данные – представления – обработка)
- •Область знаний «проектирование ПО» в SWEBOK
- •3. Структура и архитектура программного обеспечения (Software Structure and Architecture)
- •Точки зрения
- •Архитектурные стили
- •3.3. Шаблоны проектирования
- •Классификации архитектур (архитектурных стилей)
- •Классификация Гамма - Брауде
- •Классификация архитектур Show&Garlan
Архитектурные стили
Архитектурный стиль определяет
номенклатуру компонентов и типов соединительных звеньев, а также
набор условий, в соответствии с которыми они могут соединяться.
Примеры:
Каналы и фильтры
Уровневые архитектуры
Данные-представления-обработка (MVC)
и т.д.
3.3. Шаблоны проектирования
Шаблон (образец, паттерн) – найденная опытным путем комбинация компонентов (обычно, классов или объектов), решающая общие задачи проектирования
Применяется как на стадии архитектурного, так и детального проектирования.
Классификации архитектур (архитектурных стилей)
Gamma - Braude
Эрик Брауде. Технология разработки программного обеспечения – СПб, Питер, 2004
Show & Garlan
Mary Shaw and David Garlan, Software Architecture -- Perspectives on an Emerging Discipline, Prentice Hall, 1996
Fowler
М.Фаулер. Архитектура корпоративных программных приложений.: — М.: Из дательский дом "Вильямс", 2006.
Классификация Гамма - Брауде
23 базовых шаблона
Шаблоны создания (Creational patterns) - builder, factory, prototype, singleton
Структурные шаблоны (Structural patterns) - adapter, bridge, composite, decorator, façade, flyweight, proxy
Шаблоны поведения (Behavioral patterns) - command, interpreter, iterator, mediator, memento, observer, state, strategy, template, visitor
Классификация архитектур Show&Garlan
Архитектура потоков данных
Независимые компоненты
Виртуальные машины
Репозиторные архитектуры
Уровневые архитектуры.