Albrecht A. J. Measuring Application Development Productivity? Proceedings of the Joint SHARE/GUIDE/IBM Application Development Simposium? 1979. October. P 83—92.
Боэм Б. Инженерное проектирование программного обеспечения. М.: Радио и связь, 1985.
Visual С++ 6. Руководство разработчика.
Брауде Э. Д. Технология разработки программного обеспечения. СПб.: Питер, 2004.
Зиндер Е. 3. Бизнес-реинжиниринг и технологии системного проектирвания. М.: Центр информационных технологий, 1996.
Канер С, ФолкД.у Нгуен Е. К. Тестирование программного обеспечения: пер. с англ. Киев: ДиаСофт, 2000.
Предметный указатель
А
Application 17
С
CASE-технология 28
О
OS/2 23 OS/2 Warp 23
Problem definition 18 Problem, task 17 Program 84 Program, routine 17 Programming 18
R
Routine 84
s
Software 17 Spiral 66
System Software 20
w
Windows NT 24
А
Алгоритм 18 Архитектура 84 Архитектура программного обеспечения 83 Архитектура программного обеспечения системы 84 Архитектура программы 83 Архитектура ПС 83
б
Базовое ПО 27 в
Векторы 89 Г
Генераторы отчетов 30
Двумерные массивы 89 Двусвязные списки 93
з
Задача 17 Записи 90
И
Инструментальная среда пользователя 27 Интегрированные пакеты 31 Интегрированные среды разработки программ 27 Итерационная модель 65
К
Каскадная модель 64
л
Логическая структура данных 86
м
Методо-ориентированные ППП 31 Множества 90
Модульное программирование 94 О
Операционная система 21 Операционные оболочки 24 Органайзеры 31 ОС UNIX 23 Офисные ППП 31
п
Постановка задачи 18 ППП автоматизированного проектирования 29 ППП общего назначения 29 Прикладное ПО 20 Приложение 17 Проблемно-ориентированные ППП 28
Программа /7, 84 Программирование 18 Программное обеспечение 17 Программные комплексы 84 Программные модули 94 Программные продукты 19 Программные продукты: freeware 19 Программные продукты: shareware 19 Программные системы 85 Простой тип данных 86 Прочность модуля 96
Р
Размер модуля 96 Распознавание текста 31 Рутинность модуля 97
С
Связность модулей 98 Связные линейные списки 93 Серверы БД 30
Сервисное ПО 21
Сетевая ОС 24
Системное ПО 20
Системы программирования 27
Системы управления базами
данных 29
Сопровождение программы 18 Спиральная модель 66 Средства для создания приложений 26 Средства презентационной графики 30
Средства создания \\г\\^-страниц 31 Средства электронной почты 31 Структура данных 85 Сцепление модуля 96
т
Технология программирования 17 у
Утилиты 25
ф
Физическая структура данных 86
э
Эксплуатационные требования 81 адаптируемость 83 аппаратная совместимость 82 защищенность 82 надежность 81 повторная входимость 83 правильность 81 проверяемость 82 программная совместимость 82 реентерабельность 83 точность результатов 82 универсальность 81 эффективность 82
я
Язык программирования 26
Оглавление
Введение 3
Глава 1. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 5
1.1. Технология программирования в историческом
аспекте 5
Основные понятия и определения 17
Классификация программного обеспечения 20
Системное программное обеспечение 21
Инструментарий технологии программирования 26
Пакеты прикладных программ 28
Глава 2. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
И ПОДХОДЫ 33
2.1. Особенности создания программного продукта 33
2.1.1. Принципы работы с требованиями
к программному обеспечению. Проблематика
проектирования 33
Оценка стоимости ошибок 34
Управление требованиями 36
Последовательность работы с требованиями. Анализ проблемы 37
Преграды на пути выявления требований 41
2.2. Оценка
качества процессов создания
программного
обеспечения 46
Серия стандартов [80 9000 47
СММ 53
Процесс сертификации программ на базе информации об их использовании 55
2.3. Жизненный цикл программы 60
Понятие технологии разработки программы 60
Основа разработки программного обеспечения 62
Модели жизненного цикла 64
Rational Objectory Process — модель жизненного цикла (методология объектно-ориентированного
программирования) 66
2.3.5. Жизненный цикл UML (Rational
Objectory Process) 67
Специфицирование и планирование 70
Процесс разработки 72
Выпуск продукта и механизмы обратной связи 76
Глава 3. АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ
СПЕЦИФИКАЦИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 79
3.1. Определение требований к программным продуктам 79
Функциональные требования 79
Эксплуатационные требования 81
Выбор архитектуры программного обеспечения 83
Структура и формат данных. Статические, полустатические и динамические структуры 85
Классификация структур данных 86
Простые структуры данных 87
Статические структуры данных 89
Полустатические структуры данных 92
Динамические структуры данных 92
3.4. Модульное программирование 94
Понятие модуля 94
Основные характеристики программного
модуля 95
3.4.3. Модульная структура программных
продуктов 100
3.4.4. Методы
разработки при модульном
программировании 101
3.5. Анализ требований и определение спецификаций
при структурном подходе 108
3.5.1. Спецификации процессов 108
Словарь терминов 113
Диаграммы переходов состояний (SDT) 114
Функциональные диаграммы 115
Диаграммы потоков данных (DFD) 122
Диаграммы сущность—связь 126 3.6. Анализ требований и определение спецификаций
при объектном подходе 133
Некоторые теоретические сведения о UML — унифицированном языке моделирования 133
Определение прецедентов (вариантов использования) 134
Построение концептуальной модели предметной области 138
Описание поведения системы. Диаграммы последовательностей, деятельности
и состояний 145
Глава 4. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ 158
4.1. Проектирование программного обеспечения
при структурном подходе 161
Структурная схема разрабатываемого программного обеспечения 161
Функциональная схема 162
Метод пошаговой детализации
при составлении алгоритмов 163
Структурные карты Константайна 165
Структурные карты Джексона 168
CASE-технологии 170
Ускорение разработки программного обеспечения. Методология RAD 175
4.2. Проектирование программного обеспечения
при объектном подходе 178
Разработка структуры программного обеспечения при объектном подходе 179
Диаграммы кооперации 188
4.3. Экстремальное
программирование 189
4.3.1. Основополагающие
практики ХР 189
Преимущества простого дизайна 191
Простой дизайн 192
Рефакторинг и принцип YAGNI 193
Наращивание архитектуры 194
UML и ХР 195
Суть проектирования. Программирование
и тестирование 197
Глава 5. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММ 199
Термины и определения 200
Тестирование «белого ящика» и «черного ящика» 203
Порядок разработки тестов 204
Автоматизация тестирования 205
Модульное тестирование 206
Интеграционное тестирование 210
Системное тестирование 213
Эффективность и оптимизация программ 215
Стиль программирования 218