Введение
1. Особенности создания программных средств (ПС)
1.1. Специфические особенности ПС. ПС - новый вид товарной продукции
1.1.1. Понятие ПС
1.1.2. Специфика разработки ПС
1.1.3. Программное обеспечение - новый вид товарной продукции
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. Определение и категории требований
1.3.2. Разработка требований
1.3.3. Анализ требований
1.3.4. Документирование требований
1.4. Определение целей создания ПС
1.4.1. Разновидности целей
1.4.2. Общие правила постановки целей
1.5. Разработка внешних спецификаций на ПС
1.6. Цели и порядок проектирования ПС
1.6.1. Методическая, технологическая, инструментальная и организационная поддержка процесса проектирования
1.6.2. Этапы проектирования сложных ПС
1.7. Модульная структура ПС
1.7.1. Основные характеристики программного модуля
1.7.2. Методы разработки структуры программы
1.8. Внешнее проектирование модулей
1.9. Стиль программирования
2. Тестирование ПС
2.1. Принципы тестирования ПС.
Проектирование теста
2.1.1. Принципы тестирования ПС
2.1.2. Виды тестирования ПС
2.1.3. Проектирование теста
2.2. Общая характеристика методов тестирования
2.2.1. Статические методы тестирования
2.2.2. Динамические методы тестирования
2.2.3. Функциональное тестирование
2.2.4. Тестирование базового пути
2.3. Тестирование модулей
2.3.1. Пошаговое и монолитное тестирование
2.3.2. Восходящее тестирование
2.3.3. Нисходящее тестирование
2.3.4. Метод сандвича
2.3.5. Тестирование сопряжения и автономное тестирование
2.4. Тестирование комплексов программ
2.5. Отладка программ
3. Надежность ПС
3.1. Определение надежности ПС
3.1.1. Оценка надежности ПС
3.1.2. Основные понятия в проблематике надежности ПС
3.1.3. Факторы, определяющие надежность ПС
3.2. Показатели надежности программного средства
3.3. Факторы надежности ПС
3.4. Общая характеристика моделей надежности ПС
3.4.1. Модель надежности ПС
3.4.2. Классификация моделей надежности
3.4.3. Классификация Гоэла
3.5. Ошибки ПС и их причины
3.5.1. Неправильный перевод как причина ошибок
3.5.2. Ошибки вычислений
3.5.3. Ошибки обработки и интерпретации данных
3.5.4. Ошибки пользовательского интерфейса
3.6. Классификация программных ошибок
3.6.1. Ошибки пользовательского интерфейса
3.6.2. Ошибки обработки граничных условий
3.6.3. Ошибки управления потоком
3.6.4. Ошибки передачи и интерпретации данных
3.6.5. Ситуация гонок
3.6.6. Контроль версий и идентификаторов
3.6.7. Ошибки тестирования
3.6.8. Классификация ошибок с точки зрения тестировщика
3.6.9. Классификация ошибок по степени их критичности
3.6.10. Классификация ошибок в зависимости от их места в жизненном цикле программного изделия
3.6.11. Немного юмора
3.7. О моделях надежности программного обеспечения
3.8. Эмпирические модели надежности
3.8.1. Модель сложности
3.8.2. Модель, определяющая время доводки программ
3.9. Динамические модели надежности
3.9.1. Модель Шумана
3.9.2. Модель La Padula
3.9.3. Модель Джелинского-Моранды
3.9.4. Модель Шика-Волвертона
3.9.5. Модель Муса
3.9.6. Модель переходных вероятностей
3.9.7. Модель Гоэл-Окимото
Заключение
3.10. Статические модели надежности
3.10.1. Модель Миллса
3.10.2. Модель Лилова
3.10.3. Простая интуитивная модель
3.10.4. Модель Коркорэна
3.10.5. Модель Нельсона
Заключение
4. Экономические вопросы программной инженерии
4.1. Особенности определения экономической эффективности ПС
4.2. Расчет экономического эффекта при производстве ПС
4.2.1. Технико-экономическое обоснование проектов ПС
4.2.2. Эффективность технологий проектирования ПС
4.3. Расчет экономического эффекта при применении ПС
4.4. Расчет коэффициента экономической эффективности и срока окупаемости капитальных вложений ПС
4.5. Цели технико-экономического анализа разработки ПС
4.6. Факторы, определяющие затраты на создание ПС
4.6.1. Факторы, определяющие затраты на разработку ПС
4.6.2. Методики оценивания технико-экономических показателей
4.7. Составляющие затрат на разработку ПС
4.8. Методы сбора и обработки данных о разработках ПС
4.9. Трудоемкость, длительность, стоимость разработки ПС
4.9.1. Трудоемкость разработки
4.9.2. Оценка функционального размера информационной системы
4.9.3. Оценка длительности разработки информационной системы
4.9.4. Оценка стоимости разработки информационных систем
4.9.5. Оценка трудоемкости и стоимости процесса сопровождения информационной системы
4.10. Методы обеспечения технологической безопасности ПС и данных
4.10.1. Контрольно-испытательные методы анализа безопасности ПС
4.10.2. Логико-аналитические методы контроля безопасности ПС
5. Сертификация и стандартизация ПС
5.1. Задачи и проблемы сертификации ПС
5.1.1. Определение сертификации
5.1.2. Проблемы сертификации ПС
5.2. Цели и виды сертификации
5.3. Виды сертификационных испытаний программ
5.4. Методы, технология, средства обеспечения сертификации ПС
5.4.1. Методы сертификации программных средств
5.4.2. Технология сертификации
5.4.3. Средства обеспечения сертификации ПС
5.5. Стандарты сертификации ПС
5.6. Задача количественной оценки качества ПС. Виды метрик
5.6.1. Основные направления применения метрик
5.6.2. Метрические шкалы
5.7. Показатели качества ПС. Стандарты, регламентирующие показатели качества ПС
5.7.1. Показатели качества ПС
5.7.2. Стандарты, регламентирующие показатели качества ПС
5.7.3. Выбор показателей качества
5.7.4. Оценка качества
5.8. Понятие сложности, основные компоненты сложности
5.9. Оценка сложности программного средства
5.9.1. Предварительная оценка сложности программы на этапе разработки спецификации требований к программе
5.9.2. Предварительная оценка сложности на этапе определения архитектуры
5.9.3. Критерии оценки компьютерных программ и баз данных
5.9.4. Метрики размера программ
5.9.5. Метрики сложности потока управления программ
5.9.6. Метрики сложности потока данных
5.10. Основные понятия и виды корректности программ
5.10.1. Определение корректности
5.10.2. Виды корректности
5.10.3. Аналитическая проверка корректности
5.10.4. Типы эталонов, методы измерений и проверки корректности программ