Издательский центр
«Академия»
Вход
Регистрация
На главную
Номер страницы:
Содержание
Принятые сокращения
Введение
ЧАСТЬ I ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
Глава 1. Процесс создания программного обеспечения
1.1. Появление технологии программирования
1.2. Жизненный цикл разработки ПО
1.2.1. Каскадная модель
1.2.2. Процессная, или поэтапная, модель с промежуточным контролем
1.2.3. Спиральная модель
1.2.4. Формальные преобразования
1.2.5. Интеграция ранее созданных компонент
1.3. Жизненный цикл ПО
1.4. Документация
Глава 2. Управление разработкой
2.1. Коллективы разработчиков
2.1.1. Операционная бригада
2.1.2. Распределенная разработка
2.1.3. Разработка программ с открытыми кодами (Open Source
2.1.4. Гибкие методологии разработки
2.1.5. Методология Scrum
2.1.6. Экстремальное программирование
2.2. Управление качеством
Глава 3. Разработка требований
3.1. Специфицирование
3.2. Модели систем
3.2.1. Методология SADT
3.2.2. Унифицированный язык моделирования UML
3.2.3. ER-модель данных
3.2.4. Язык спецификации и описания SDL
3.3. Прототипирование
ЧАСТЬ II АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Глава 4. Вычислимость
4.1. Вычислимость и программирование
4.2. Ламбда-исчисление
4.2.1. Грамматика ламбда-исчисления
4.2.2. Каррирование
4.2.3. Использование скобок
4.2.4. Свободные и связанные переменные
4.2.5. Подстановка
4.2.6. Переименование переменных
4.2.7. Парадокс вывода любого равенства
4.2.8. Конверсия
4.2.9. Редукция
4.3. Рекурсивные функции
4.4. Машины Тьюринга
4.5. Другие системы вычислимости
4.5.1. Машина Поста
4.5.2. Нормальные алгоритмы А. А. Маркова
4.5.3. Аппликативные вычисления
4.6. Неразрешимые задачи
Глава 5. Языки высокого уровня
5.1. Причины появления ЯВУ
5.2. Электронные вычислительные машины
5.2.1. Краткая история развития ЭВМ
5.2.2. Структура вычислительной системы
5.3. История развития ЯВУ
5.4. Классификация ЯВУ
5.5. Какой язык следует считать хорошим
5.5.1. Простота языка
5.5.2. Ясность программы
5.5.3. Естественность в приложениях
5.5.4. Легкость расширения
5.5.5. Внешнее обеспечение
5.5.6. Эффективность
5.6. Структура программы
5.7. Управляющие операторы
5.8. Процедуры и функции
5.9. Модули
5.10. Компиляция и трансляция
5.11. Надежность и надежное программирование
5.11.1. Написание программы, работающей без ошибок
5.11.2. Обнаружение и устранение ошибок в ходе выполнения программы
5.11.3. Устойчивость
Глава 6. Основы программирования
6.1. Язык программирования
6.2. Первая программа
6.3. Объявление переменных
6.4. Основные операторы
6.4.1. Арифметические операторы
6.4.2. Логические операторы
6.4.3. Операторы сравнения
6.4.4. Индексирование
6.5. Управляющие операторы
6.5.1. Оператор if
6.5.2. Оператор switch
6.5.3. Оператор while
6.5.4. Оператор for
6.6. Инструкции прерывания
6.6.1. Инструкция break
6.6.2. Инструкция continue
6.6.3. Инструкция return
6.7. Ламбда-выражения
Глава 7. Введение в объектно-ориентированное программирование
7.1. Основные принципы
7.2. Создание объектов
7.3. Члены класса
7.4. Модификаторы доступа
7.5. Статические члены класса
7.6. Наследование
7.7. Виртуальные методы
Глава 8. Методы проектирования
8.1. Цель проектирования
8.2. Структурное проектирование
8.3. Объектно-ориентированное проектирование
8.4. Нисходящий и восходящий подходы
Глава 9. Типизация данных
9.1. Основные сведения
9.2. Стек, очередь и дек
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.5. Динамические типы
9.5.1. Динамическая память
9.5.2. Указатели
9.5.3. Преобразование типов и коллизии
9.5.4. Статика и динамика — различия в работе с переменными
9.5.5. Динамические переменные
9.6. Абстрактные типы
9.6.1. Понятие абстрактного типа данных
9.6.2. Операции абстрактного типа данных
9.6.3. Реализация абстрактного типа
9.6.4. Проблемы абстрактных типов данных
9.6.5. Уровни абстракции
9.7. Скрытые типы
9.8. Вывод и сообщения об ошибках
Глава 10. Алгоритмы
10.1. Понятие алгоритма
10.2. Вычислительная сложность алгоритмов
10.3. Рекурсия
10.3.1. Расширенный алгоритм Евклида
10.4. Поиск
10.4.1. Устройства С. Н. Корсакова
10.4.2. Поиск элемента в последовательности
10.4.3. Поиск подстроки
10.5. Сортировка
10.5.1. Метод простых вставок
10.5.2. Метод Шелла
10.5.3. Сортировка с вычислением адреса
10.5.4. Слияние
10.5.5. Метод пузырька
10.5.6. Параллельная сортировка Бэтчера
10.5.7. Быстрая сортировка (Хоара
10.5.8. Поразрядная обменная сортировка
10.5.9. Простой выбор
10.5.10. Сортировка при помощи дерева
10.5.11. Пирамидальная сортировка
ЧАСТЬ III АНАЛИЗ И ТЕСТИРОВАНИЕ
Глава 11. Тестирование и верификация
11.1. Введение в тестирование
11.2. Качество программного обеспечения
11.3. Инспекции
11.4. Тестовые примеры и тест-план
11.5. Основные подходы и полнота тестирования
11.6. Метод «черного ящика
11.7. Метод «белого ящика
11.8. Заглушки
11.9. Тестирование реализации протокола Нидхема — Шредера
11.10. Этапы тестирования. Нисходящий и восходящий подходы
11.11. Сопровождение тестов
11.12. Валидация
Глава 12. Анализ моделей
12.1. Задачи моделирования
12.2. Модель Долева — Яy
12.3. BAN-логика
12.3.1. Основные принципы
12.3.2. Нотация
12.3.3. Формальное определение требований
12.3.4. Анализ протокола Нидхема — Шредера
12.4. CSP-алгебра
12.4.1. Процессы и события
12.4.2. Трассы
12.4.3. Коммуникации
12.4.4. Спецификации требований
12.4.5. Анализ протокола Нидхема — Шредера
12.5. PI-исчисление и его расширения
12.5.1. Основные определения
12.5.2. Операционная семантика
12.5.3. SPI-исчисление
12.6.Область применения методов анализа моделей
12.7. Практический анализ моделей протоколов
Приложение
Пример реализации протокола Нидхема — Шредера
Список литературы
Программирование на языке высокого уровня
Демонстрационный фрагмент!
Для приобретения печатной книги или чтения онлайн обратитесь к менеджеру.