
- •Оглавление
- •Обоснование выбора языка программирования.
- •Обоснование выбора структур данных для решения задачи.
- •Спецификации программных модулей.
- •Обоснование выбора типа интерфейса и описание основных форм ввода-вывода.
- •Тестирование программы.
- •Заключение
- •Приложение 1
- •Алгоритмы обработки данных
- •Порядок контроля и приемки.
- •Приложение 2
- •Приложение 3
- •Приложение 4
Обоснование выбора структур данных для решения задачи.
Использование записи Ant представляет собой единичного «муравья» и позволяет собрать в одну структуру набор различных типов данных и легко обращаться к этим ним. Динамический массив записей An позволяет создавать различное число «муравьев» и работать с ними. Массивы Dist, Fer, Result позволяют удобно работать с данными о дистанциях между городами и количеством феромона на каждом участке.
Табл. 1.
Наименование |
Описание |
An: array of Ant; |
Массив данных о муравьях |
Ant=record City: array of integer; ………. Route: array of integer; лл T: integer; now: integer; 1111 D: array of array of integer; |
Запись, содержит поля: города, которые надо поситить муравью; путь, состоящий из пройденных городов длина пути, пройденная муравьем номер города, в котором находится муравей массив дистанций между городами |
Result: array of integer; |
Одномерный массив, используется при выводе информации. |
Продолжение табл. 1
Dist: array of array of integer; |
Двумерный массив, используется для хранения информации о расстоянии между городами. |
Fer: array of array of real; |
Двумерный массив, используется для хранения информации о количестве феромона на каждом отрезке пути. |
Спецификации программных модулей.
Табл. 2.
Наименование |
Описание |
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); |
Приводит матрицу в симметричный вид при движении мыши по таблице. |
procedure TForm1.Button1Click(Sender: TObject); |
Расчет оптимального с использованием муравьиного алгоритма |
procedure TForm1.FormCreate(Sender: TObject); |
Задает начальные параметры и строит начальную матрицу путей. |
procedure TForm1.Button2Click(Sender: TObject); |
Строит матрицу, заданную пользователем |
procedure TForm1.BitBtn1Click(Sender: TObject); |
Открывает окно справки |
Обоснование выбора типа интерфейса и описание основных форм ввода-вывода.
В программе используются процедурные интерфейсы: интерфейс со свободной навигацией и интерфейс-меню.
Интерфейс программы содержит 2 окна: расчеты и помощь.
Формы ввода: ввод осуществляется на первой форме. Ввод может быть произведен вручную либо задан автоматически. При ручном вводе необходимо заполнить таблицу расстояний между городами и ввести параметры расчета.
Рис. 2 Окно ввода данных и вывода результата
Рис. 3. Окно помощи
Тестирование программы.
Табл. 3
Дата тестирования |
Тестируемый модуль или подпрограмма |
Кто проводил тестирование |
Описание теста |
Результаты тестирования |
15.10.2012 |
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); |
Разработчик: Попов Федор |
Проверка процедуры строящей симметрич-ную матрицу |
Успешно. |
20.10.2012 |
procedure TForm1.Button1Click(Sender: TObject); |
Разработчик: Попов Федор |
Проверка основных вычислений |
Неправильные вычисления. |
25.10.2012 |
procedure TForm1.Button1Click(Sender: TObject); |
Разработчик: Попов Федор |
Проверка основных вычислений |
Неправильные вычисления. |
5.11.2012 |
procedure TForm1.Button1Click(Sender: TObject); |
Разработчик: Попов Федор |
Проверка основных вычислений |
Успешно |
Продолжение табл. 3
18.11.2012 |
procedure TForm1.Button1Click(Sender: TObject); |
Разработчик: Попов Федор |
Проверка вывода результата |
Ошибка вывода. |
21.11.2012 |
procedure TForm1.Button1Click(Sender: TObject); |
Разработчик: Попов Федор |
Проверка вывода результата |
Успешно |
1.12.2012 |
Комплексное тестирование |
Разработчик: Попов Федор |
Полная проверка работоспособности |
Успешно |