Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом ИПОВС 2003 / Пояснительная запискаFinalVersion.doc
Скачиваний:
58
Добавлен:
16.04.2013
Размер:
1.28 Mб
Скачать
    1. Алгоритмы работы программы

Общая схема работы представлена на рисунке 6.

Рис.6 Схема общего алгоритма работы программы

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

Рис.7 Схема алгоритма инициализации

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

Рис.8 Схема алгоритма оптимизации

Генные операторы кроссовера, мутации, инверсии реализованы функциями класса TGeneticAlgorithm. Проверка приспособленности производится фитнесс-функцией, сформированной программой.

Рис.9 Схема алгоритма преобразования данных

Преобразование в код Грея и обратно производится с помощью таблиц преобразования.

GrayToDec : array[0..15] of byte = (0,1,3,2,7,6,4,5,15,14,12,13,8,9,11,10);

DecToGray : array[0..15] of byte = (0,1,3,2,6,7,5,4,12,13,15,14,10,11,9,8);

    1. Методика испытаний

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

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

Тестирование окончательной версии программы показало, что все ошибки были найдены и исправлены, и релиз избавлен от недоработок.

    1. Разработка программной документации

В рамках работы над дипломным проектом были созданы следующие документы: схемы алгоритмов, текст программы и руководство оператора.

Текст всех модулей приведён в приложении 1. Руководство оператора – в приложении 2.

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