Анализ предметной области

Объект автоматизации – алгоритм Форда-Фалкерсона и система шифрования методом шифрующих таблиц.

Алгоритм Форда-Фалкерсона служит для нахождения максимального потока в графе. Метод Форда-Фалкерсона непосредственно основывается на постепенном нахождении меньшего из смежных ребер.

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

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

Работа с приложением предполагает выполнение следующих подзадач:

· нахождение максимального потока в графе;

· шифрование сообщений с использованием системы Цезаря (аффинная система подстановок Цезаря);

Пользователь может вносить следующие изменения:

· вводить граф;

· указывать с какой в какую вершину отобразить кратчайший путь;

· шифровать и дешифровать.


2 Разработка программного продукта

При запуске приложения открывается главное меню (рис. 1).

 

Рисунок 1 – Главное меню программы

При нажатии на одну из кнопок, за исключением кнопки «Выход», решается одна из поставленных задач. Нажав на кнопку «Теория», откроется Документ Microsoft Word IDZ.docx, в котором и содержится информация о графике и анимации в WPF (рис. 2).

 

Рисунок 2 – Результат выполнения Задания 1

При нажатии на кнопку «Алгоритм Форда-Фалкерсона», откроется форма, реализующая данное задание (рис. 3).

 

Рисунок 3 – Пустая форма Алгоритма Форда-Фалкерсона

Как видно на рисунке 3 нужно указать путь к файлу, а затем заполнить все возможные поля формы и нажать на кнопку Найти.

 

Рисунок 4 – Пример работы Алгоритма Форда-Фалкерсона

По нажатию на кнопку Шифр Цезаря, откроется форма, реализующая данное задание (рис.5).

Рисунок 5 – Пустая форма Шифр Цезаря (аффинная система подстановок)

Пример выполнения шифрования (рис.6).

 

Рисунок 6 – Пример шифрования


3 Тестирование программного продукта

Алгоритм Форда-Фалкерсона

 

Компоненты Ожидаемый результат Полученный результат
Button1 При нажатии на кнопку, должно открываться окно, в котором необходимо выбрать путь к файлу с данными матрицы. При нажатии на кнопку, открывается окно, в котором пользователь выбирает путь к файлу с данными матрицы.
TextBox1 При выборе файла, должен отображаться путь к нему. При выборе файла, отображается путь к нему.
TextBox2 Должно вводиться число, которое равно числу вершин в графе. Вводится число, которое равно числу вершин в графе.
TextBox3 Должно вводиться число, которое равно номеру начальной вершины, от которой будет высчитываться максимальный поток. Вводится число, которое равно номеру начальной вершины, от которой будет высчитываться максимальный поток.
TextBox4 Должно вводиться число, которое равно номеру конечной вершины, до которой будет высчитываться максимальный поток. Вводится число, которое равно номеру конечной вершины, до которой будет высчитываться максимальный поток.
Button3 При нажатии на кнопку, должен высчитываться результат алгоритма и выводится на экран. При нажатии на кнопку, высчитывается результат алгоритма и выводится на экран.
Button2 При нажатии на кнопку, должен осуществляться переход на главную форму. При нажатии на кнопку, осуществляется переход на главную форму.
Label1 Должен отображаться текст о введении пути к файлу. Отображается текст о введении пути к файлу.
Label2 Должен отображаться текст о введении вершин в графе. Отображается текст о введении вершин в графе.
Label3 Должен отображаться текст о введении начальной вершины. Отображается текст о введении начальной вершины.
Label4 Должен отображаться текст о введении конечной вершины. Отображается текст о введении конечной вершины.
Label5 Должен отображаться текст о выводе результата. Отображается текст о выводе результата.

Шифрование с использованием системы Цезаря (аффинная система подстановок Цезаря)

 

Компоненты Ожидаемый результат Полученный результат
numericUpDown1 Должен осуществляться ввод переменной а. Осуществляется ввод переменной а.
numericUpDown2 Должен осуществляться ввод переменной b. Осуществляется ввод переменной b.
TextBox2 Должно вводиться выражение, которое необходимо зашифровать. Вводится выражение, которое необходимо зашифровать.
TextBox1 Должен выводиться результат шифрования. Выводится результат шифрования.
Button1 При нажатии на кнопку, должно выполняться шифрование заданного выражения и выводиться в TextBox. При нажатии на кнопку, выполняется шифрование заданного выражения и выводится в TextBox.
Button2 При нажатии на кнопку, должен выполняться переход на главную форму. При нажатии на кнопку, выполняется переход на главную форму.

ЗАКЛЮЧЕНИЕ

 

Разработанные в ходе выполнения индивидуального задания алгоритм Форда-Фалкерсона и шифрования с использованием системы Цезаря (аффинная система подстановок Цезаря).

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

Целью работы было разработать программную реализацию системы шифрования с использованием системы Цезаря (аффинная система подстановок) и автоматизировать алгоритм Форда-Фалкерсона. Цель, поставленная перед началом разработки, достигнута.

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

Преимуществами являются:

- легкость и удобство в исполнении;

- быстрый расчет;

- легко переносится с одного компьютера на другой;

- возможность редактирования данных.

Недостатками являются:

- не очень высокий уровень безопасности.







Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: