Разработка прикладного программного обеспечения
Процесс разработки программы для решения конкретной задачи разбивается на следующие задачи:
1 Постановка задачи.
2. Выбор метода решения задачи и разработка алгоритма.
3. Программирование.
4. Отладка программы и создание загрузочного (исполняемого) модуля для решения задачи.
5. Анализ результатов.
Постановка задачи
При постановке задачи необходимо, прежде всего, определить роль, отведенную ЭВМ, и сделать хотя бы грубую оценку целесообразности ее применения. Кроме того, определяют класс к которому принадлежит задача. Например, задача может заключаться в выработке рекомендаций при принятии человеком окончательного решения (задача принятия решений).Либо задача может заключаться в многократном выполнении сложных математических операций при различных исходных данных(вычислительная задача) и т.п.
Чтобы облегчить дальнейший процесс разработки и отладки программы, при постановке задачи необходимо четко определить дальнейшую судьбу программы, на кого она рассчитана, какие требования, пожелания, ограничения, какие данные могут меняться в процессе решения задачи, какие будут постоянными, какие будут использоваться в качестве справочных. Это позволит избежать внесения изменений в программу и повторной ее отладки. Кроме того, это дает возможность правильно организовать исходные данные и их хранение.
Итак, при постановке задачи необходимо:
- Определить исходные данные, поделить их на два класса: переменные (меняющиеся при повторном решении) и постоянные.
- Задать вид, свойства и ограничения на исходные данные.
- Определить выходные данные и требования к ним (вид, точность и т.п.).
- Определить перечень выполняемых функций.
- Определить требования к разрабатываемой программе (объем памяти, интерфейс, пользователей, ограничения на время выполнения функций ит.п.).
Пример. Рассмотрим следующую задачу: создание программы для вычисления интеграла:
J=
При постановке этой задачи необходимо отразить следующие моменты:
Исходные данные - границы интегрирования и параметры, определяющие вид подынтегральной функции. Перечень параметров подынтегральной функции определяется классом к которому принадлежит функция. Предположим подынтегральная функция - это полином пятой степени: а0х5+а1х4 +а2х3+ а3х2 +а4х+а5. Поэтому кроме границ интегрирования исходными данными будут коэффициенты полинома: а0, а1, а2, а3, а4 , а5. Все исходные данные являются переменными параметрами.
Вид исходных данных - целые, действительные или комплексные переменные.
Результатом выполнения программы является значение интеграла. Необходимо задать точность вычисления интеграла.
Определить способ ввода исходных данных (с клавиатуры, с дискеты из другой программы и т.п.). Определить форму выходных данных и путь (принтер, файл на гибком или жестком диске).
Выбор метода
Для решения одних и тех же задач можно выбрать различные методы. Для вычисления интеграла можно предложить один из следующих методов:
- метод прямоугольников;
- метод Cимпсона;
- метод трапеций
и другие.
При выборе метода учитывают:
- точность (точность получения результатов);
- быстродействие (время решения задачи с заданной точностью);
- необходимый объем внешней памяти;
- необходимый объем оперативной памяти.
Могут быть и другие критерии выбора метода решения задачи. Поэтому при решении задачи необходимо придерживаться следующих правил:
Если методов решения задачи несколько, то выбор должен быть обоснованным.
Для обоснования метода необходимо ввести критерии выбора.
Критерии выбора должны быть построены на основе исходных требований к решению задачи.
Пример: Для задачи вычисления интеграла предложены методы:
- метод прямоугольников;
- метод Cимпсона;
- метод трапеций.
Каждый метод может вычислить интеграл с любой точностью. Естественно, что точность вычисления будет взаимосвязана с быстродействием: чем выше точность, тем больше времени необходимо для вычислений. Метод прямоугольников дает более простой алгоритм и, следовательно, менее сложную программу (т.е. для хранения созданной программы необходим меньший объем памяти).