Сопровождение программы

Анализ результатов решения задачи

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

Отладка

Программирование

Построение алгоритма

Выбор метода, математической модели и спецификации данных

Постановка задачи

Этапы решения задачи с помощью компьютера

 

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

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

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

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

Пятый этап связан с отладкой программы и включает в себя ее компиляцию и проверку правильности выполнения на контрольных тестах. Компиляция предполагает выполнение, во-первых, трансляции программы (перевод текста программы с языка программирования на машинный язык и формирование объектного кода программы), и, во-вторых, редактирование связей (формирование на основе полученного объектного кода программы и на основе библиотеки объектных кодов исполняемого кода программы). Трансляция начинается с выполнения синтаксического анализа исходного текста программы. В случае выявления синтаксических ошибок выдаются соответствующие сообщения, и дальнейшая трансляция приостанавливается. Когда все синтаксические ошибки будут исправлены, то проводится редактирование связей и формируется готовый к выполнению на компьютере код программы в виде отдельного файла. Отметим, что построенная таким образом программа не обязательно не содержит ошибок. Дело в том, что в программе кроме синтаксических ошибок могут присутствовать ошибки времени выполнения программы и логические ошибки.

Синтаксические ошибки связаны с неправильным соблюдением правил описаний элементов программы, например, в программе забыли описать переменную, при вызове процедуры неправильно записали список фактических параметров и т.д. Трансляторы могут по-разному производить обработку выявленных синтаксических ошибок. Так в пакете Borland Pascal при выявлении ошибки указывается ее предполагаемое местоположение путем позиционирования курсора и выводится сообщение об ошибке в служебном окне Edit. Пользователю необходимо исправить ошибку и вновь повторить трансляцию. После успешного прохождения компиляции могут возникать ошибки времени выполнения программы, которые часто называют Runtime-ошибками. Эти ошибки связаны с возможным наличием в выполняемой программе запрещенных действий, например, деление на ноль, чтение данных из несуществующего файла и т.п. В пакете Borland Pascal подобные ошибки сопровождаются выводом на экран сообщения формата:

Runtime error ## at seg:sme.

Кроме того, определяется местоположение ошибки и происходит переход в окно редактирования соответствующего исходного файла.

 

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

 

Отладка программы предполагает локализацию и исправление всевозможных выявленных ошибок и тесно связана с еще одним этапом разработки компьютерной программы – тестированием.

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

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

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

1) решенной задаче;

2) математической модели;

3) алгоритму;

4) программе;

5) набору тестов;

6) использованию.