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

 

Процесс разработки программы для решения конкретной задачи разбивается на следующие задачи:

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

2. Выбор метода решения задачи и разработка алгоритма.

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

4. Отладка программы и создание загрузочного (исполняемого) модуля для решения задачи.

5. Анализ результатов и созданных программ.

 

 

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

 

Прежде чем создать программу для решения задачи на ЭВМ необходимо выполнить постановку этой задачи. Часто под постановкой задачи понимается только представление ее в виде математических формул или последовательности логических операций.

При постановке задачи необходимо прежде всего определить роль, отведенную ЭВМ, и сделать хотя бы грубую оценку целесообразности ее применения. Кроме того, определяют класс к которому принадлежит задача. Например, задача может заключаться в выработке рекомендаций при принятии человеком окончательного решения (задача принятия решений). Либо задача может заключаться в многократном выполнении сложных математических операций при различных исходных данных (вычислительная задача) и т.п.

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

Итак, при постановке задачи необходимо:

- Определить исходные данные, поделить их на два класса: переменные (меняющиеся при повторном решении) и постоянные.

- Задать вид, свойства и ограничения на исходные данные.

- Определить выходные данные и требования к ним (вид, точность и т.п.).

- Определить требования к разрабатываемой программе.

 

Пример. Рассмотрим следующую задачу: создание программы для вычисления интеграла:

J=

При постановке этой задачи необходимо отразить следующие моменты:

Исходные данные - границы интегрирования и параметры, определяющие вид подынтегральной функции. Перечень параметров подынтегральной функции определяется классом к которому принадлежит функция. Предположим подынтегральная функция - это полином пятой степени: а0х51х42х3+ а3х24х+а5. Поэтому кроме границ интегрирования исходными данными будут коэффициенты полинома: а0, а1, а2, а3, а4 , а5. Все исходные данные являются переменными параметрами.

Вид исходных данных - целые, действительные или комплексные переменные.

Результатом выполнения программы является значение интеграла. Необходимо задать точность вычисления интеграла.

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

 

 

3.2 Выбор метода

Для решения одних и тех же задач можно выбрать различные методы. Для примера рассмотренного в предыдущем разделе можно предложить методы приближенного вычисления интегралов:

- метод прямоугольников;

- метод Cимпсона;

- метод трапеций

и другие.

При выборе метода учитывают:

- точность (точность получения результатов);

- быстродействие (время решения задачи с заданной точностью);

- необходимый объем внешней памяти;

- необходимый объем оперативной памяти.

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

Если методов решения задачи несколько, то выбор должен быть обоснованным.

Для обоснования метода необходимо ввести критерии выбора.

Критерии выбора должны быть построены на основе исходных требований к решению задачи.

Для задачи, описанной в параграфе 3.1, могут быть использованы все вышеперечисленные методы. Каждый метод может вычислить интеграл с любой точностью. Естественно, что точность вычисления будет взаимосвязана с быстродействием: чем выше точность, тем больше времени необходимо для вычислений. Метод прямоугольников дает более простой алгоритм и, следовательно, менее сложную программу (т.е. для хранения созданной программы необходим меньший объем памяти).

 

3.3 Разработка алгоритма

Предположим для решения задачи выбран метод прямоугольников. Изложим этот метод с помощью рис.4.2. Идея метода заключается в следующем. Промежуток интегрирования (а,в) разделим на n равных частей. В результате на оси хобразуются точки x0=a, х1, х2, ... ,хn=b.Строим на полученных отрезках прямоугольники покрывающие площадь фигуры образованной кривой f(x), осью х, и прямыми параллельными оси у, проведенными в точках x01,...,хn. Прямоугольники могут быть вписанными, как на нашем рисунке, либо описывающими вычисляемую площадь. Ведем следующие обозначения: y0=f(x0), y1=(x1),...,yn=f(xn), h=(b-a)/n. Тогда интеграл вычисляется по следующей формуле: