Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мет.проект5г.doc
Скачиваний:
57
Добавлен:
15.06.2014
Размер:
407.04 Кб
Скачать

1.3 Повышение качества проектирования программ

При разработке программ рекомендуется придерживаться основных этапов

рис. 1.9.

Рисунок 1.9  Краткая схема разработки программы

Алгоритм относится к фундаментальным понятиям информатики. На основе алгоритма составляются программы для реализации на компьютере.

Алгоритм – это совокупность действий со строго определенными правилами выполнения [3]. Он характеризуется следующими свойствами: однозначностью, дискретностью, связностью, результативностью, конечностью, массовостью.

Для описания алгоритмов известно несколько способов:

- запись на естественном языке,

- схемы алгоритмов,

- структурограммы,

- псевдокоды.

Каждый проектировщик программы может выбрать наиболее удобный для себя способ, с точки зрения наглядности, простоты правил построения. Автор является сторонником применения схем алгоритмов в процессе обучения с использованием структуризации.

Структурированными считаются алгоритмы и программы, составленные только с использованием трех правил структурной композиции 3(в схемах алгоритмов они имеют графическое изображение):

  1. альтернативный выбор (блок “решение”);

  2. циклический повтор (два типа блоков для циклов);

  3. вспомогательные алгоритмы (подпрограммы).

Неструктурированными считаются программы, в которых используются операторы goto… или отсутствует ступенчатая запись циклов и альтернатив.

Алгоритм считается правильным и грамотным, если он дает правильные результаты при любых допустимых исходных данных и выдает диагностические сообщения при появлении запрещенных ситуаций и данных.

Структурный подход снижает количество ошибок в алгоритмах. Структурная форма записи упрощает поиск и исправление ошибок при отладке программы. Гарантии отсутствия ошибок сам по себе структурный подход не дает 2. О правильности программ нельзя утверждать ничего, если неизвестны предъявляемые к нему требования. Только при наличии строгих и четких спецификаций, систематическом их использовании для анализа проектируемых алгоритмов и программ, можно судить о правильности работы созданной программы.

Отладка программы – это процесс поиска и исправления ошибок в программе. Синтаксические ошибки обнаруживаются и локализуются компилятором, а семантические (смысловые или алгоритмические) находятся в процессе тестирования.

Тестирование – это проверка программ на компьютере с помощью некоторого набора тестовых примеров (теста).

Спецификация программы– это точная и полная формулировка задачи, содержащая информацию, необходимую для разработки алгоритма (программы) ее решения8, включающая описание характеристик, свойств и выполняемых ею функций.

Для разработки программ на любом языке программирования полезно предварительное проектирование реализуемых в них алгоритмов. Эти описания алгоритмов вместе со спецификациями позволяют в полной мере оценивать правильность составленных в дальнейшем программ с точки зрения семантики (или смыслового значения).

Составление программ с доказательством их правильности называется доказательным программированием 3.

Для формирования заключения о наличии ошибок в алгоритмах или программе достаточно указать входной набор, при котором получаются неправильные результаты. В доказательном программировании необходимо показать, что правильные результаты будут получаться для всех допустимых данных путем исчерпывающего анализа результатов выполнения программ при любых допустимых данных.

Существуют два подхода к проверке программ: прагматический и доказательный. При прагматическом подходе проверка программ реализуется на компьютере путем тестирования. При доказательном  предполагается составление спецификаций и доказательство правильности алгоритмов и программ по отношению к этим спецификациям.

Рекомендуется комплексный подход к доказательству правильности программы. Сначала обосновывается полнота спецификаций. Затем доказывается правильность алгоритма по отношению к этим спецификациям. Доказательство правильности алгоритмов следует проводить за два этапа:

  1. при построении алгоритмов;

  2. после окончания разработки алгоритмов.

На первом этапе показывается, что алгоритм является корректной реализацией метода решения, и доказывается, что метод - правильный. На втором этапе произво-дится программирование [1,10]и приводится исчерпывающий анализ результатов выполнения алгоритма на соответствие постановке решаемых задач для любых допустимых данных.

Далее программа тестируется. При этом тест должен включать такие тестовые наборы, которые перекрывают (охватывают), все спецификации, тестируют все условия, и предполагают выполнение всех ветвей алгоритма, а также каждого оператора программы.

Программа, отвечающая всем спецификациям и формирующая правильные результаты для всех тестовых наборов разработанного теста, считается отлаженной и правильной.

Соседние файлы в предмете Технология программирования