Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО учебное пособие.doc
Скачиваний:
24
Добавлен:
22.08.2019
Размер:
3.13 Mб
Скачать

265

Оглавление

1 Введение. Проблемы современного программирования 7

2 Этапы разработки программного обеспечения 9

2.1 Анализ требований, предъявляемых к системе 10

2.2 Определение спецификаций 11

2.3 Проектирование 12

2.4 Кодирование 15

2.5 Тестирование 15

2.6 Эксплуатация и сопровождение 18

Контрольные вопросы 21

3 Методы разработки программного обеспечения как научная дисциплина 22

3.1 Методы управления разработкой 22

3.1.1 Выполнение проекта 24

3.1.2 Методика оценки затрат 26

3.1.3 Контрольные точки 32

3.1.4 Средства разработки 32

3.1.5 Надежность 33

3.2 Методы проведения разработки программного обеспечения 34

3.3 Развитие методов разработки программного обеспечения 37

3.3.1 Язык определения задач и анализатор задач 37

3.3.2 Система структурного анализа и проектирования SADT 40

3.3.3 Система SREM 42

3.3.4 Методика Джексона 42

3.4 Выводы 43

Контрольные вопросы 44

4 Методы разработки программного обеспечения 46

4.1 Язык проектирования программ 46

4.2 Стратегия проектирования 50

4.2.1 Нисходящее проектирование и нисходящая разработка 50

4.2.2 Структурное проектирование 55

4.3 Данные 60

4.3.1 Обзор структур данных 60

4.3.2 Абстрактные конструкции 65

Контрольные вопросы 80

5 Правильность программ 81

5.1 Аксиомы 81

5.2 Правила преобразования данных 84

5.3 Доказательства правильности программ 84

Контрольные вопросы 87

6 Тестирование 88

6.1 Психология и экономика тестирования программ 88

6.2 Экономика тестирования 91

6.2.1 Тестирование программы как черного ящика 92

6.2.2 Тестирование программы как белого ящика 93

6.2.3 Принципы тестирования 95

6.3 Ручное тестирование 101

6.3.1 Инспекции и сквозные просмотры 102

6.3.2 Инспекции исходного текста 105

6.3.3 Список вопросов для выявления ошибок при инспекции 108

6.3.4 Сквозные просмотры 122

6.3.5 Оценка посредством просмотра 123

6.4 Проектирование теста 125

6.4.1 Тестирование путем покрытия логики программы 126

6.4.2 Эквивалентное разбиение 136

6.4.3 Анализ граничных значений 143

6.4.4 Применение функциональных диаграмм 150

6.4.5 Предположение об ошибке 171

6.4.6 Стратегия 173

Контрольные вопросы 174

7 Технология разработки программ 175

7.1 Разбиение задачи на независимые подзадачи 175

7.2 Разбиение задачи на одинаковые по сложности части 175

7.3 Рекурсия и динамическое программирование 176

7.3.1 Рекурсия 176

7.3.2 Динамическое программирование 177

7.3.3 Моделирование 177

7.4 Поиск 177

7.4.1 Поиск в списках 178

7.4.2 Деревья поиска 180

7.4.3 Стратегия распределения памяти 183

7.5 Сортировка 185

7.6 Алгоритм выбора из конечного состояния 186

7.7 Сопрограммы 187

Контрольные вопросы 189

8 Методы управления проектированием программных изделий 190

8.1 Организация управления проектированием программного изделия 190

8.1.1 Понятие изделия как средства общения 190

8.1.2 Нисходящий анализ процесса управления проектированием программного изделия 191

8.1.3 Организация взаимодействия 192

8.1.4 Установление целей, средства их достижения 193

8.1.5 Подбор и обучение кадров 195

8.2 Организация планирования разработок программного изделия 196

8.2.1 Виды планов 197

8.2.2 Декомпозиция планов 200

8.2.3 Организационная структура группы планирования 201

8.2.4 Планы, связанные с созданием программных изделий 204

8.2.5 Опытный образец изделия 207

8.2.6 Организация планирования в фазе исследования 207

8.2.7 Организация планирования в стадии анализа осуществимости 210

8.2.8 Организация планирования в фазах конструирования и кодирования 210

8.2.9 Организация планирования в фазах оценки и использования 211

8.2.10 Обязанности группы планирования при рассмотрении и утверждении планов разработки программного изделия 212