- •Требования к функциональным характеристикам
- •Требования к программной документации
- •Стадии и этапы разработки
- •Порядок контроля и приемки
- •2 Технический проект
- •Описание функционала разрабатываемого проекта
- •Разработка программного интерфейса
- •Описание алгоритма решения задачи
- •Описание функций, используемых системой
- •Описание функции «выбор загружаемого файла из системы»
- •Описание функции «сохранение промежуточных результатов»
- •Описание функции «ввод ключа дешифровки»
- •Описание функции «вывод информации о дешифровании»
- •Описание функции «вывод информации о возникающих ошибках»
- •3 Рабочий проект
- •Модули и объекты интерфейса пользователя
- •Описание объектов интерфейса программы
- •Тестирование программной системы
- •Случай использования: дешифровка методом Виженера.
- •Случай использования: проверка кнопки «Сохранить как…».
- •Случай использования: переход с формы навигации на форму «о программе».
- •Случай использования: переход с формы «Дешифровка» по кнопке «Назад» на предыдущую форму.
- •Случай использования: выбор зашифрованного файла.
- •Приложение а
- •Приложение б
Описание функции «сохранение промежуточных результатов»
Данная функция предназначена для того, чтобы пользователь на различных этапах дешифровки мог проверить результат работы программы. Промежуточные файлы будут сохраняться куда прописан путь программы, либо же пользователь может сам выбрать куда следует сохранить полученный результат.
Предусловие: открыта форма «Дешифрование». Нажата кнопка «Загрузить зашифрованный файл». Пользователь выбрал зашифрованный файл.
Постусловие: введен ключ дешифровки. Нажата кнопка «Дешифровка методом …».
Входные данные: зашифрованный файл.
Выходные данные: форма отображает результат дешифровки методом Гронсфельда/Виженера.
Описание функции «ввод ключа дешифровки»
Данная функция предназначена для ввода пользователем ключа дешифровки. Дешифрование не будет происходить пока не будет введен ключ, для конкретного метода дешифрования свой ключ. Метод Гронсфельда требует числовой ключ, а Виженера буквенный.
Предусловие: открыта форма «Дешифрование». Нажата кнопка «Загрузить зашифрованный файл». Пользователь выбрал зашифрованный файл.
Постусловие: введен ключ дешифровки. Нажата кнопка «Дешифровка методом …».
Входные данные: зашифрованный файл.
Выходные данные: форма отображает результат дешифровки методом Гронсфельда/Виженера.
Описание функции «вывод информации о дешифровании»
Данная функция предназначена для того, чтобы пользователь мог быстро видеть результат дешифрования после ввода ключа. Результат должен выводиться в отдельное текстовое поле на экране программы.
Предусловие: открыта форма «Дешифрование». Нажата кнопка «Загрузить зашифрованный файл». Пользователь выбрал зашифрованный файл. Введен ключ дешифровки. Нажата кнопка «Дешифровка методом …».
Постусловие: результат дешифровки выведен в текстовое поле программы.
Входные данные: зашифрованный файл.
Выходные данные: форма отображает результат дешифровки методом Гронсфельда/Виженера.
Описание функции «вывод информации о возникающих ошибках»
Данная функция предназначена для того, чтобы пользователь мог понять, в каких случаях происходит ошибка. Вывод ошибок должен быть в отдельное окно с уведомлением пользователя (проверка данной функции произведена на отказе пользователя выбрать файл).
Предусловие: открыта форма «Дешифрование». Нажата кнопка «Загрузить зашифрованный файл». Пользователь нажал кнопку «Отмена».
Постусловие: появилось уведомление «Выберите файл».
Входные данные: отсутствуют.
Выходные данные: отсутствуют.
3 Рабочий проект
Модули и объекты интерфейса пользователя
Пользовательский интерфейс включает в себя следующие компоненты:
главное окно;
рабочее окно;
кнопки управления программой;
поле выбора файла;
поле ввода ключа дешифровки.
Описание объектов интерфейса программы
На основе макета интерфейса, представленного в пункте 1.3.2 технического задания, с помощью языка программирования C# и IDE Visual Studio 2017 был создан пользовательский интерфейс программы дешифровки методами Гронсфельда и Виженера [6].
На Рисунок 4 представлен данный интерфейс с представленными на нём полями и кнопками. Числами на рисунке обозначены номера объектов интерфейса. На Рисунок 5 показано содержание кнопки «Файл».
В Таблица 2 представлено описание объектов интерфейса взаимодействия пользователя и программы для интерфейса, что представлен на Рисунок 4 и Рисунок 5.
Программная реализация данного интерфейса представлена в виде исходного кода программы в ПРИЛОЖЕНИЕ А
Рисунок 4 - Интерфейс программы
Рисунок 5 - Содержание кнопки «файл»
Таблица 2 - Описание объектов интерфейса взаимодействия пользователя и программы
№ |
Тип объекта |
Имя объекта (name) |
Действие/описание объекта |
1 |
Button |
ButtonNavi |
Открывает форму навигации. |
2 |
Button |
ButtonInfo |
Открывает форму о программе. |
3 |
Button |
ButtonDecode |
Открывает форму дешифрования. |
4,7 |
Button |
ButtonBack |
Открывает предыдущую (главное меню) форму. |
5 |
Button |
ToolStripMenuItemMain |
Открывает меню дополнительных действий. |
6 |
Button |
ToolStripMenuItemInfo |
Открывает форму о программе. |
8 |
Button |
ButtonOpen |
Открывает диалоговое окно, где выбирается зашифрованный файл. |
9 |
Text |
textBoxGronsf |
Поле для ввода ключа в цифровом формате. |
10 |
Text |
label1, label2 |
Поле для отображения названия. |
11 |
Button |
buttonGronsf |
Выполняет алгоритм дешифровки методом Гронфельда. |
12 |
Text |
textBoxVijener |
Поле для ввода ключа в буквенном формате. |
Продолжение таблицы 1 |
|||
13 |
Button |
buttonVijener |
Выполняет алгоритм дешифровки методом Виженера. |
14 |
Text |
textBoxRez |
Поле для вывода результатов дешифровки. |
15 |
Button |
ToolStripMenuItemOpen |
Открывает диалоговое окно, где выбирается зашифрованный файл. |
16 |
Button |
ToolStripMenuItemSave |
Открывает диалоговое окно, где выбирается куда сохранить итоговый файл. |
17 |
Button |
ToolStripMenuItemNavi |
Открывает форму навигации. |