- •Введение Цели и задачи курса «Технология программирования»
- •Классификация программного обеспечения
- •Тема 1.Понятие программного изделия
- •1.1.Основные требования к программному изделию как к продукции производственно-технического назначения
- •1.2.Жизненный цикл программных изделий
- •1.3.Методическая, технологическая, инструментальная и организационная поддержка процесса проектирования программных изделий
- •1.4.Этапы проектирования сложных программных изделий
- •Тема 2.Внешнее проектирование программных изделий
- •2.1.Разработка требований и внешнее проектирование программных изделий
- •2.2.Обеспечение целей создания программных изделий Цели проекта с точки зрения пользователя
- •Цели проекта с точки зрения разработчика
- •2.3.Разработка внешних спецификаций проекта
- •Тема 3.Внутреннее проектирование программных изделий
- •3.1.Понятие модуля. Характеристики качества модулей
- •3.2.Методы проектирования программ
- •Иерархическая декомпозиция и абстрактные машины (метод нисходящей декомпозиции)
- •Программирование на основе принципа пошагового совершенствования
- •Структурное программирование по нисходящему принципу
- •Программирование с использованием пошаговой реорганизации
- •Способы описания программ. Язык проектирования программ
- •Тема 4.Структурированные программы
- •4.1.Блок-схемы и управляющие структуры
- •4.2.Теорема о структурировании
- •4.3.Рекурсивные структурированные программы
- •Тема 5.Методы Доказательства правильности программ
- •5.1.Математический аппарат доказательства Принцип простой индукции
- •Принцип модифицированной простой индукции
- •Принцип обобщенной индукции
- •5.2.Методы доказательства правильности программ Метод индуктивных утверждений
- •Пример доказательства правильности программы методом индуктивных утверждений
- •Тема 6.Рекурсивные программы. Методы доказательства их правильности
- •6.1.Понятие рекурсивных программ. Способы их описания Язык описания рекурсивных программ
- •Примеры рекурсивных программ
- •6.2.Рекурсивные программы работы со списками Списки и операции над ними
- •Примеры программ работы со списками
- •6.3.Примеры доказательства правильности рекурсивных программ
- •Тема 7.Отладка программ
- •7.1.Типичные ошибки в программных комплексах
- •7.2.Задачи отладки программ
- •7.3.Методы разработки тестов Метод эквивалентных разбиений
- •Методы тестирования программ путем покрытия логики
- •Метод функциональных диаграмм
- •Предположения об ошибках
- •7.4.Задачи комплексной отладки программ
- •Библиографический список
Предположения об ошибках
Заметим, что некоторые программисты обладают умением выискивать ошибки и без привлечения какой-либо методики тестирования. Объясняется это тем, что человек, обладающий большим практическим опытом, часто подсознательно применяет метод проектирования тестов, называемый предположением об ошибках. При наличии определенной программы, зная спецификации этой программы, он интуитивно предполагает вероятные типы ошибок и разрабатывает тесты для их обнаружения.
7.4.Задачи комплексной отладки программ
Основная задача комплексной отладки программ состоит в завершении разработки всего КП и в доведении его характеристик до значений, определенных требованиями технического задания.
Должны быть:
завершены и проверены сопряжение и взаимодействие по передаче управления и по информации всех компонентов, входящих в КП;
проверена возможность получения в процессе рабочего функционирования КП всех характеристик, заданных требованиями технического задания, а также вспомогательных, обоснованных в техническом проекте;
проверены полнота и состав технической документации, а также точное соответствие ее изделию - комплексу программ.
Библиографический список
Андерсон Р. Доказательство правильности программ: Пер. с англ. -М.: Мир, 1982. -168 с., ил.
Баженова И.Ю. Visual C++. Уроки программирования. – М.: Диалог-МИФИ, 1999 – 416с.
Бутаков Е.А. Методы создания качественного программного обеспечения ЭВМ. - М.: Энергоиздат, 1984. -232 с., ил.
Ван Гассел Д. Стиль, разработка, эффективность, отладка и испытание программ. - М.: Мир, 1981. -320 c., ил.
Волховер В.Г. , Иванов Л.Н. Производственные методы разработки программ. -М.: Финансы и статистика, 1983. -208 c., ил.
Гласс Р., Нуазо Р. Сопровождение программного обеспечения. -М.: Мир, 1983. -160 с., ил.
Зелковец М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения: Пер. с англ. -М.: Мир, 1982. -386 с., ил.
Лингер Р., Миллс Х., Уитт Б. Теория и практика структурного программирования. -М.: Мир, 1982. -408 с., ил.
Липаев В.В. Тестирование программ. -М.: Радио и связь, 1986. -296 c., ил.
Майерс Г. Искусство тестирования программ. -М.: Финансы и статистика, 1982. -176 с., ил.
Павловская Т.А., Щупак Ю.А. С++. Структурное программирование: Практикум. – СПб.: Питер, 2004.
Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование: Практикум. – СПб.: Питер, 2004.
Фокс Дж. Программное обеспечение и его разработка. -М.: Мир, 1985. -368 с., ил.
Оглавление
введение 3
Тема 1. понятие программного изделия 6
Тема 2. внешнее проектирование программных изделий 17
Тема 3. Внутреннее проектирование программных изделий 22
Тема 4. Структурированные программы 40
Тема 5. Методы Доказательства правильности программ 50
Тема 6. Рекурсивные программы. Методы доказательства их правильности 58
Тема 7. Отладка программ 64
Библиографический список 82
Оглавление 84
Копирование, переиздание запрещены.
Все авторские права защищены.
Подписано в печать 13.06.2007 г.
Компьютерная верстка, издание.
Тираж 100 экземпляров. Отпечатано в типографии Нижнекамского регионального учебно-методического цента.
Лицензия на издательскую деятельность № 06157