Основы инженерии качества программных систем
Скачать книгу в формате “pdf” вы можете в конце описания.
Содержание:
Глава 1. ПАРАДИГМА КАЧЕСТВА В ПРОГРАММНОЙ ИНЖЕНЕРИИ
1.1. Основные понятия в области качества
1.1.1. Инфраструктура разработки
1.1.2. Инженерия процессов разработки
1.1.3. Управление проектами
1.1.4. Процесс измерения при управлении проектами
1.1.5. Аспекты определения качества
1.1.6. Взаимосвязь понятий в парадигме качества
1.2. Концепции повышения качества программных систем
1.2.1. Применение процессов контроля качества
1.2.2. Использование прогнозирования при управлении проектом
1.2.3. Управление риском в проекте
1.2.4. Совершенствование процессов жизненного цикла
1.2.5. Повышение зрелости организации
1.2.6. Управление качеством и внедрение системы качества
1.3. Инженерия качества. Ядро профессиональных знаний
1.3.1. Связь ядра знаний в области качества с элементами SWEBOK и РМВОК
1.3.2. Концепция инженерии качества
Глава 2. МОДЕЛИ И МЕТРИКИ КАЧЕСТВА
2.1. Метрики качества программных систем
2.1.1. Метрика как основа измерения
2.1.2. Классификация мер качества
2.1.3. Классификация метрик качества
2.2. Модели качества программных систем
2.2.1. Обобщенная модель качества
2.2.2. Метрики в обобщенной модели качества
2.2.3. Другие модели качества программных систем
2.3. Построение метрик и моделей качества
2.3.1. Проектирование метрик качества
2.3.2. Правила подготовки к использованию метрик качества в измерениях
2.4. Применение метрик и моделей качества
2.4.1. Спецификация требований к качеству
2.4.2. Другие аспекты использования метрик
2.5. Парадигма «встраивания» качества в программной инженерии
2.5.1. Основные идеи в основе модели QFD
2.5.2. Компоненты модели QFD. Матрица «Дом Качества»
2.5.3. Методология QFD для программных систем
Глава 3. ИЗМЕРЕНИЯ В ПРОГРАММНОЙ ИНЖЕНЕРИИ
3.1. Измерение как процесс жизненного цикла
3.1.1. Архитектура процессов жизненного цикла
3.1.2. Цели, задачи и объекты измерения
3.1.3. Модель процесса измерения
3.2. Методология измерения в парадигме «Цель – Вопрос – Мера»
3.2.1. Принципы измерения и последовательность действий
3.2.3. Этап 2: идентификация объектов изучения
3.2.4. Этап 3: определение подцелей
3.2.5. Этап 4: идентификация сущностей и атрибутов
3.2.6. Этап 5: формализация целей измерения
3.2.7. Этап 6: формулирование вопросов и выбор диаграмм
3.2.8. Этап 7: идентификация элементов данных
3.2.9. Этап 8: разработка схем определения используемых мер
3.2.10. Этап 9: идентификация задач и инфраструктуры сбора данных
3.2.11. Этап 10: подготовка плана сбора данных
3.3. Измерения при управлении проектами и процессами
Глава 4. КОНТРОЛЬ И ГАРАНТИЯ КАЧЕСТВА
4.1. Обеспечение гарантии качества в жизненном цикле
4.1.1. Процесс SQA в архитектуре процессов жизненного цикла
4.1.2. Задачи обеспечения гарантии качества
4.1.3. План качества
4.1.4. Деятельность группы качества по мониторингу процессов
4.1.5. Деятельность группы качества на стадиях жизненного цикла
4.2. Профили процессов обеспечения гарантии и управления качеством
4.2.1. Элементы профиля процесса
4.2.2. Требования к подготовке компетентных специалистов
4.2.3. Формы документов процесса обеспечения качества
4.2.4. Ключевые метрики для контроля разработки
4.2.5. Стандарты в области инженерии качества
4.3. Подходы к управлению качеством программных систем
4.3.1. Цикл управления качеством и статистическое управление процессом
4.3.2. Всеобщее управление качеством
4.3.3. Лестницы восхождения к качеству
4.3.4. Гибкие технологические линии
4.3.5. Бездефектная разработка ПС. Подход Cleanroom
4.4. Инструменты анализа качества
4.4.1. Применение простых графических инструментов в инженерии качества
4.4.2. Применение методов интеллектуального анализа данных
4.4.3. Поддержка качества в CASE-инструментах
Глава 5. ПРОЦЕССЫ И МЕТОДЫ ПРОВЕРКИ
5.1. Процессы проверки в жизненном цикле
5.1.1. Назначение процессов проверки
5.1.2. Цели и задачи верификации и валидации
5.1.3. Управление верификацией и валидацией
5.2. Виды и методы проверки программных систем
5.2.1. Классификация методов проверки
5.2.2. Обзор аналитических методов
5.2.3. Обзор методов коллективной проверки
5.3. Формальные инспекции
5.3.1. Элементы процесса инспекции
5.3.2. Этап планирования
5.3.3. Этап обзора
5.3.4. Этап подготовки
5.3.5. Инспекционное совещание
5.3.6. Этап дополнительного обсуждения – «третий час»
5.3.7. Этап переделки рабочего продукта
5.3.8. Проверка внесенных изменений или повторная инспекция
5.3.9. Повышение эффективности процесса инспекции
5.4. Требования к рабочим продуктам, предъявляемым для проверки
Глава 6 ТЕСТИРОВАНИЕ ПРОГРАММНЫХ СИСТЕМ
6.1. Основные понятия и определения
6.2. Уровни тестирования
6.3. Методы тестирования
6.3.1. Классификация методов тестирования
6.3.2. Исследовательское тестирование
6.3.3. Эквивалентное разбиение
6.3.4. Анализ граничных значений
6.3.5. Разбиение входного пространства на категории
6.3.6. Тестирование переходов между состояниями
6.4. Описание процесса тестирования программных систем
6.4.1. Модель процесса тестирования
6.4.2. Создание группы тестирования
6.4.3. Анализ риска
6.4.4. Определение целей тестирования
6.4.5. Разработка плана тестирования
6.4.6. Разработка тестов
6.4.7. Автономное и интеграционное тестирование
6.4.8. Тестирование программного обеспечения системы
6.4.9. Системное тестирование
6.4.10. Анализ результатов тестирования и подготовка итогового отчета о результатах
6.4.11. Регрессионное тестирование
6.5. Анализ и классификация дефектов, обнаруженных при тестировании
6.5.1. Система отслеживания проблем
6.5.2. Классификация дефектов, обнаруженных при тестировании
6.6. Метрики тестирования
6.6.1. Метрики для планирования тестирования
6.6.2. Метрики оценивания
6.6.3. Метрики для управления процессом тестирования
6.6.4. Критерии завершения тестирования
6.7. Методы анализа риска отказа программной системы
6.7.1. Анализ дерева событий
6.7.2. Анализ дерева отказов
6.7.3. Анализ причин и последствий отказов
6.8. Инструменты тестирования
6.8.1. Классификация инструментов тестирования
6.8.2. Выбор инструментов тестирования
6.8.3. Набор инструментов тестирования фирмы Rational Inc
Глава 7. МЕТОДЫ ОЦЕНКИ РАЗМЕРА ПРОГРАММНОЙ СИСТЕМЫ
7.1. Методология анализа функционального размера
7.1.1. Истоки и перспективы
7.1.2. Программный компонент. Взгляд пользователя
7.1.4. Оценка размера и сложности функций обработки данных
7.1.5. Определение эквивалентного числа строк кода
7.1.6. Учет нефункциональных требований к ПС
7.2. FPA-подобные методы измерения размера
7.2.1. Метод Feature Points
7.2.2. Метод Mark-II Function Points
7.2.3. Метод 3D Function Points
7.2.4. Метод Object Points for ICASE
7.2.5. Метод Early Function Points. Раннее прогнозирование размера
7.2.6. Метод Full Function Points и его разновидности
7.3. Стандартизация методов измерения функционального размера
Глава 8. ОЦЕНКА ЗАТРАТ НА РАЗРАБОТКУ ПРОГРАММНЫХ СИСТЕМ
8.1. Модель оценивания затрат СОСОМО Ⅱ. Общая характеристика
8.2. Оценка трудозатрат по Предварительной модели
8.3. Общие уравнения номинальных затрат
8.4. Интегральные атрибуты масштаба разработки
8.4.1. Процедура определения коэффициентов масштаба разработки
8.4.2. Описание интегральных атрибутов масштаба
8.5. Оценка трудозатрат по Предпроектной модели
8.5.1. Уточнение оценок Предпроектной модели
8.5.2. Стоимостные атрибуты модели
8.6. Оценивание трудозатрат по Детальной модели
8.6.1. Характеристика стоимостных атрибутов модели
8.6.2. Алгоритм оценивания трудозатрат
8.6.3. Соотнесение стоимостных атрибутов Предпроектной и Проектной моделей
8.7. Распределение трудозатрат по стадиям разработки и видам работ
8.8. Корректировка оценок модели
Глава 9. УПРАВЛЕНИЕ РИСКОМ ПРОЕКТОВ
9.1. Парадигма управления риском проекта
9.1.1. Элементы парадигмы управления риском SEI
9.1.2. Таксономия риска
9.2. Обзор методологий управления риском проекта
9.2.1. Методология оценивания риска
9.2.2. Непрерывное управление риском
9.2.3. Коллективное управление риском
9.3. Процесс управления риском проекта
9.3.1. Требования к процессу управления риском
9.3.2. Этап согласования целей
9.3.3. Этап подготовки работ
9.3.4. Этап оценки риска
9.3.5. Этап подготовки к устранению риска
9.3.6. Разработка плана управления риском
9.4. Функции, методы и средства управления риском проекта
9.4.1. Идентификация риска
9.4.2. Анализ риска
9.4.3. Планирование устранения риска
9.4.4. Учет и контроль состояния риска
9.4.5. Регулирование состояния риска
9.4.6. Методы и средства коммуникации
9.5. Рекомендации по оценке риска проектов
Глава 10. ПОДХОДЫ К ОЦЕНКЕ КАЧЕСТВА ПРОГРАММНЫХ СИСТЕМ
10.1. Оценка качества программных продуктов
10.1.1. Процесс оценки программных продуктов
10.1.2. Технологические модули оценивания
10.1.3. Оценка интегрального показателя качества
10.2. Оценивание процессов жизненного цикла
10.2.1. Эталонная модель оценивания
10.2.2. Совместимая модель оценивания
10.2.3. Требования к оцениванию
10.2.4. Этапы процесса оценивания
10.3. Оценивание зрелости организаций-разработчиков
10.3.1. Модели зрелости
10.3.2. Уровни зрелости процесса программной инженерии
10.3.3. Методы оценивания зрелости
10.3.4. Иерархия оценок зрелости процесса по модели СММ
10.3.5. Процедура выбора организаций-исполнителей программных проектов
10.4. Сертификация систем управления качеством
10.4.1.Стандарты для построения и проверки систем управления качеством
10.4.2. Сертификация программных продуктов и систем управления качеством
Приложение 1. МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА
1.1. Назначение моделей разработки
1.2. Модели последовательного выполнения стадий
1.2.1. Каскадная модель
1.2.2. Каскадная модель с обратной связью
1.2.4. Каскадная модель с прототипированием (пилообразная модель)
1.3. Итерационные модели
1.3.1. Итерационные модели с приращениями
1.3.2. Эволюционные модели
1.3.3. Другие итерационные модели разработки
Приложение 2. ПРИМЕРЫ КОНТРОЛЬНЫХ ВОПРОСНИКОВ ДЛЯ ПРОВЕДЕНИЯ ИНСПЕКЦИИ
Приложение 3. ИНСТРУМЕНТЫ ТЕСТИРОВАНИЯ
Приложение 4. ВОПРОСЫ ДЛЯ ОЦЕНКИ РИСКА ПРОЕКТА
Приложение 5. КОНТРОЛЬНЫЕ ВОПРОСЫ ДЛЯ ОЦЕНКИ ТЕХНОЛОГИЧЕСКОЙ ЗРЕЛОСТИ ОРГАНИЗАЦИИ
5.1. Инструкция по заполнению опросных листов
5.2. Управление требованиями
5.3. Планирование проекта ПО
5.4. Мониторинг проекта ПО
5.5. Управление работой соисполнителя
5.6. Обеспечение гарантии качества ПО
5.7. Управление конфигурацией ПО
5.8. Определение используемых терминов