- •ЛЕКЦИЯ 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
1. Основы проектирования ПО
1.1.Общие концепции проектирования
1.2.Контекст проектирования ПО
1.3.Процесс проектирования ПО
1.4.Принципы проектирования ПО
1.1. Общие концепции проектирования
Пример формулировки целей потока работ «Проектирование» в RUP
1.Понимание влияния нефункциональных требований и ограничений
Цели проектирования RUP (1)
1) Получить глубокое понимание моментов, относящихся к нефункциональным требованиям и ограничениям, связанным с:
языками программирования,
многократным использованием компонентов,
операционными системами,
технологиями распределённой и параллельной обработки,
технологиями баз данных,
управления транзакциями и т.п.
Цели проектирования RUP (2)
2)Получить возможность разбить работу на множество управляемых частей, которые можно распределить между командами разработчиков, возможно – работающих параллельно.
3)Определить основные интерфейсы между подсистемами.
Цели проектирования RUP (3)
4)Получить возможность визуализировать в стандартной нотации и объяснить проект
5)Создать абстракцию реализации системы, близкую к тривиальной, исходя из следующей парадигмы: реализация является уточнением проекта, которое приводит лишь к «наращиванию мяса», но не меняет структуру.
1. Основы проектирования ПО
1.1. Общие концепции проектирования
1.2. Контекст проектирования ПО
1.3. Процесс проектирования ПО
1.4. Принципы проектирования ПО
1.2. Контекст проектирования
Анализ |
Проекти |
Реализац |
требован |
||
ий |
рование |
ия |
Тестиров
ание
1.3. Процесс проектирования
Архитектурн
ое
проектирова
ние
Детальное
проектирова
ние
Резуль
тат
проект
ирован
ия