
- •1 Основы программной инженерии 6
- •2 Процессы жизненного цикла программного средства 33
- •3 Инструменты и методы программной инженерии 184
- •4 Качество и эффективность в программной инженерии 193
- •Введение
- •1Основы программной инженерии
- •1.1Кризисы программирования и возникновение программной инженерии
- •1.2Программная инженерия и сущность инженерного подхода к созданию программного обеспечения
- •1.3Системная инженерия программного обеспечения
- •1.4Управление жизненным циклом программных средств
- •1.4.1Понятие жизненного цикла
- •1.4.2Масштабы программных средств
- •1.4.3Классификация процессов жизненного цикла по исо/мэк 12207
- •1.4.4Стадии разработки программных средств по еспд
- •1.4.5Типичная схема управления процессом создания программного обеспечения
- •1.5Модели жизненного цикла
- •1.5.1Каскадная (водопадная) модель
- •1.5.2Итеративная и инкрементальная модель – эволюционный подход
- •1.5.3Спиральная модель
- •2Процессы жизненного цикла программного средства
- •2.1Управление требованиями к программному обеспечению
- •2.1.1Программные требования
- •2.1.1.1Пирамида требований
- •2.1.1.2Характеристики программных требований
- •2.1.2Процесс управления требованиями
- •2.1.3Извлечение требований
- •2.1.4Анализ программных требований
- •2.1.5Документирование требований
- •2.1.6Проверка требований (верификация и аттестация)
- •2.1.7Измерение программных требований
- •2.2Проектирование программных средств
- •2.2.1Принципы проектирования
- •2.2.2Структура и архитектура программного обеспечения
- •2.2.2.1Архитектурные структуры и точки зрения
- •2.2.2.2Архитектурные стили
- •2.2.2.3Шаблоны проектирования
- •2.2.2.4Семейства программ и фреймворков
- •2.2.3Анализ качества и оценка программного дизайна
- •2.2.3.1Атрибуты качества
- •2.2.3.2Анализ качества и техники оценки
- •2.2.3.3Измерения
- •2.2.4Нотации проектирования
- •2.2.4.1Структурные описания
- •2.2.4.2Поведенческие (динамические) описания
- •2.2.5Подходы и методы проектирования программного обеспечения
- •2.2.5.1Общие подходы
- •2.3Использование uml в программной инженерии
- •2.3.1Основные компоненты uml
- •2.3.2Диаграмма вариантов использования
- •2.3.3Диаграмма классов
- •2.3.4Диаграмма состояний
- •2.3.5Диаграмма деятельности
- •2.3.6Диаграмма последовательности
- •2.3.7Диаграмма кооперации
- •2.3.8Диаграмма компонентов
- •2.3.9Диаграмма развертывания
- •2.4Тестирование программного обеспечения
- •2.4.1Основы тестирования
- •2.4.2Уровни тестирования
- •2.4.2.1Над чем производятся тесты
- •2.4.2.2Цели тестирования
- •2.4.3Техники тестирования
- •3.1 Техники, базирующиеся на интуиции и опыте инженера (Based on the software engineer’s intuition and experience)
- •3.2 Техники, базирующиеся на спецификации (Specification-based techniques)
- •3.3 Техники, ориентированные на код (Code-based techniques)
- •3.4 Тестирование, ориентированное на дефекты (Fault-based techniques)
- •3.5 Техники, базирующиеся на условиях использования (Usage-based techniques)
- •3.6 Техники, базирующиеся на природе приложения (Techniques based on the nature of the application)
- •3.7 Выбор и комбинация различных техник (Selecting and combining techniques)
- •4.1 Оценка программ в процессе тестирования (Evaluation of the program under test, ieee 982.1-98)
- •2.4.4.2Оценка выполненных тестов
- •2.4.5Процесс тестирования
- •2.4.5.1Практические соображения
- •2.4.5.2Тестовые работы
- •2.5Сопровождение программного обеспечения
- •2.5.1Основы сопровождения программного обеспечения
- •2.5.1.1Определения и терминология
- •2.5.1.2Природа сопровождения
- •2.5.1.3Потребность в сопровождении
- •2.5.1.4Приоритет стоимости сопровождения
- •2.5.1.5Эволюция программного обеспечения
- •2.5.1.6Категории сопровождения
- •2.5.2Ключевые вопросы сопровождения программного обеспечения
- •2.5.2.1Технические вопросы
- •2.5.2.2Оценка стоимости сопровождения
- •2.5.2.3Измерения в сопровождении программного обеспечения
- •2.5.3Процесс сопровождения
- •2.5.3.1Процессы сопровождения
- •2.5.3.2Работы по сопровождению
- •2.5.4Техники сопровождения
- •2.5.4.1Понимание программных систем
- •2.5.4.2Реинжиниринг
- •2.5.4.3Обратный инжиниринг
- •2.6Конфигурационное управление
- •2.6.1Управление конфигурационным процессом
- •2.6.1.1Организационный контекст управления конфигурацией по
- •2.6.1.2Ограничения и правила управления конфигурацией по
- •2.6.1.3Планирование при управлении конфигурацией по
- •2.6.1.4План конфигурационного управления
- •2.6.1.5Контроль выполнения процесса управления конфигурацией по
- •2.6.2Идентификация программных конфигураций
- •2.6.2.1Идентификация элементов, требующих контроля
- •2.6.2.2Программная библиотека
- •2.6.3Контроль программных конфигураций
- •2.6.3.1Предложение, оценка и утверждение изменений
- •2.6.3.2Реализация изменений
- •2.6.3.3Отклонения и отказ от изменений
- •2.6.4Учет статусов конфигураций
- •2.6.4.1Информация о статусе конфигураций
- •2.6.4.2Отчетность по статусу конфигураций
- •2.6.5Аудит конфигураций
- •2.6.5.1Функциональный аудит программных конфигураций
- •2.6.5.2Физический аудит программных конфигураций
- •2.6.5.3Внутренние аудиты базовых линий
- •2.6.6Управление выпуском и поставкой
- •2.6.6.1Сборка программного обеспечения
- •2.6.6.2Управление выпуском программного обеспечения
- •3Инструменты и методы программной инженерии
- •3.1Инструменты
- •3.1.1Инструменты работы с требованиями
- •3.1.2Инструменты проектирования и конструирования
- •3.1.3Инструменты тестирования
- •3.1.4Инструменты сопровождения
- •3.1.5Инструменты конфигурационного управления
- •3.1.6Инструменты управления инженерной деятельностью
- •3.1.7Инструменты поддержки процессов
- •3.1.8Инструменты обеспечения качества
- •3.2Методы
- •3.2.1Эвристические методы
- •3.2.2Формальные методы
- •3.2.3Методы прототипирования
- •4Качество и эффективность в программной инженерии
- •4.1Обеспечение качества программного обеспечения
- •4.1.1Качество программного продукта
- •4.1.2Культура и этика программной инженерии
- •4.1.3Значение и стоимость качества
- •4.1.4Повышение качества пс с использованием процессного подхода
- •4.1.5Показатели качества программных средств
- •4.1.6Количественная оценка качества программного обеспечения
- •4.2Модели качества процессов конструирования
- •4.2.1Качество процессов
- •4.2.4Прочие подходы
- •4.3Процессы управления качеством программного обеспечения
- •4.3.1Подтверждение качества программного обеспечения
- •4.3.2Проверка (верификация) и аттестация
- •4.3.3Оценка и аудит
- •4.3.4Характеристика дефектов
- •4.3.5Методы управления качеством программного обеспечения
- •4.4Стандартизация качества программного обеспечения
- •4.4.1Стандарты в сфере программной инженерии
- •4.4.2Стандартизация программных продуктов в еспд
- •4.4.3Виды стандартных программных документов
- •4.4.4Действующие международные стандарты в сфере разработки программных средств и информационных технологий
- •4.5Документирование программных средств
- •4.6Сертификация программных средств
- •4.6.1Правовые акты по сертификации программных продуктов
- •4.6.2Сертификация пс
- •4.6.3Перечень объектов, подлежащих сертификации и их характеристики
- •Заключение Библиография
4.4.4Действующие международные стандарты в сфере разработки программных средств и информационных технологий
ISO/IEC 90003:2004. Техника программного обеспечения. Рекомендации по применению ISO 9001:2000 к компьютерному программному обеспечению.
ISO/IEC 15504-1:2004. Информационные технологии. Оценка процессов. Часть 1. Общие понятия и словарь.
ISO/IEC 15504-2:2003. Информационные технологии. Оценка процессов. Часть 2. Выполнение оценки
ISO/IEC 15504-3:2004. Информационные технологии. Оценка процесса. Часть 3. Руководство по выполнению оценки.
ISO/IEC 15504-4:2004. Информационные технологии. Оценка процесса. Часть 4. Руководство для усовершенствования процессов и определения их результативности.
ISO/IEC TR 15504-5:1999. Информационные технологии. Оценка процессов программного обеспечения. Часть 5. Оценочная модель и руководящие указания по индикации.
ISO/IEC 14756:1999. Информационные технологии. Измерение и оценка эксплуатационных характеристик автоматизированных систем программного обеспечения.
ISO/IEC TR 14759:1999. Разработка программного обеспечения. Макет и прототип. Категоризация моделей макета и прототипа программного обеспечения и их применение.
ISO/IEC TR 12182:1998. Информационные технологии. Классификация программного обеспечения
ISO/IEC 12207:1995. Информационные технологии. Процессы жизненного цикла программного обеспечения.
ISO/IEC TR 15271:1998. Информационные технологии. Руководство по применению ISO/IEC 12207 (Процессы жизненного цикла программных средств).
ISO/IEC TR 16326:1999. Разработка программного обеспечения. Руководство по применению ISO/IEC 12207 к управлению проектом.
ISO/IEC 12207:1995/Amd.1:2002. Информационные технологии. Процессы жизненного цикла программного обеспечения. Изменение 1
ISO/IEC 12207:1995/Amd.2:2004. Информационные технологии. Процессы жизненного цикла программного обеспечения. Изменение 2.
ISO/IEC 16085:2004. Информационные технологии. Процессы жизненного цикла программного обеспечения. Управление рисками.
ISO/IEC TR 19759:2005. Совокупность знаний о разработке программного обеспечения. Руководство.
ISO/IEC 15026:1998. Информационные технологии. Системные и программные уровни целостности.
ISO/IEC 25000:2005. Технология программного обеспечения. Требования и оценка качества программного продукта. Руководство.
ISO/IEC 9126-1:2001. Программная инженерия. Качество продукта. Часть 1. Модель качества.
ISO/IEC TR 9126-2:2003. Программная инженерия. Качество продукта. Часть 2. Внешние метрики.
ISO/IEC TR 9126-3:2003. Программная инженерия. Качество продукта. Часть 3. Внутренние метрики.
ISO/IEC TR 9126-4:2004. Программная инженерия. Качество продукта. Часть 4. Показатели качества в использовании.ISO/IEC 12119:1994. Информационные технологии. Пакеты программ. Требования к качеству и тестирование.
ISO/IEC 14598-1:1999. Информационные технологии. Оценка программного продукта. Часть 1. Общий обзор.
ISO/IEC 14598-2:2000. Разработка программного обеспечения. Оценка программного продукта. Часть 2. Планирование и руководство.
ISO/IEC 14598-3:2000. Разработка программного обеспечения. Оценка программного продукта. Часть 3. Процесс для разработчиков.ISO/IEC 14598-4:1999. Разработка программного обеспечения. Оценка продукта. Часть 4. Процесс для закупщика.
ISO/IEC 14598-5:1998. Информационные технологии. Оценка программного продукта. Часть 5. Процесс для оценщика.
ISO/IEC 14598-6:2001. Разработка программного обеспечения. Оценка продукта. Часть 6. Документирование модулей оценки
ISO/IEC 15939:2002. Технология программного обеспечения. Процесс измерения программного обеспечения
ISO/IEC TR 9294:2005. Руководство по управлению документированием программного обеспечения.
ISO/IEC 15910:1999. Информационные технологии. Процесс создания документации пользователя программного обеспечения.
ISO/IEC 18019:2004. Программное обеспечение и системотехника. Рекомендации по проектированию и подготовке документации пользователя для прикладного программного обеспечения.
ISO/IEC 6592:2000. Информационные технологии. Руководящие указания по разработке документации на компьютерные прикладные системы.
ISO 9127:1988. Системы обработки информации. Документация пользователя и сопроводительная информация программных пакетов потребителя.
ISO/IEC 14764:1999. Информационные технологии. Сопровождение программного обеспечения.
ISO/IEC TR 15846:1998. Информационные технологии. Процессы жизненного цикла программного обеспечения. Управление конфигурацией.
ISO/IEC 15408-1:2005. Информационные технологии. Методы защиты. Критерии оценки для информационных технологий. Часть 1. Введение и общая модель.
ISO/IEC 15408-2:1999. Информационные технологии. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Часть 2. Функциональные требования безопасности.
ISO/IEC 15408-3:1999. Информационные технологии. Методы защиты. Критерии оценки безопасности информационных технологий. Часть 3. Требования к обеспечению защиты.
ISO/IEC 13335-1:2004. Информационные технологии. Способы защиты. Управление защитой информационных и коммуникационных технологий. Часть 1. Понятия и модели для управления защитой информационных и коммуникационных технологий.
ISO/IEC TR 13335-3:1998. Информационные технологии. Руководящие указания по управлению защитой информационных технологий. Часть 3. Методы управления защитой информационных технологий.
ISO/IEC TR 13335-4:2000. Информационные технологии (ИТ). Руководящие указания по управлению защитой ИТ. Часть 4. Выбор защитных мер.
ISO/IEC TR 13335-5:2001. Информационные технологии (ИТ). Руководящие указания по управлению защитой ИТ. Часть 5. Административное руководство по обеспечению безопасности сетей.
ISO/IEC 14143-1:1998. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 1. Определение понятий.
ISO/IEC 14143-2:2002. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 2. Оценка соответствия методов измерения размера программного обеспечения стандарту ИСО/МЭК 14143-1:1998.
ISO/IEC TR 14143-3:2003. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 3. Проверка методов измерения функционального размера.
ISO/IEC TR 14143-4:2002. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 4. Эталонная модель.
ISO/IEC TR 14143-5:2004. Информационные технологии. Оценка программного обеспечения. Измерение функционального размера. Часть 5. Определение функциональных доменов, используемых для измерения функционального размера.
ISO/IEC 2382-20:1990. Информационные технологии. Словарь. Часть 20. Разработка системы.
ISO/IEC 8211:1994. Информационные технологии. Спецификация описательного файла данных для обмена информацией.
ISO/IEC 14102:1995. Информационные технологии. Руководство по оцениванию и выбору инструментальных CASE-средств.