
- •Введение
- •Системное проектирование
- •1.1. Описание предметной области
- •1.2. Структура программы
- •1.3. Выбор и обоснование среды разработки
- •2.4. Алгоритмы шифрования
- •3. Разработка программных модулей
- •3.1. Открытие и загрузка изображения
- •3.2. Проверка длины текста
- •3.3. Шифрация сообщения
- •3.4. Сохранение картинки
- •3.5. Дешифрация текста
- •3.6. Сохранение ключа шифрования
- •4. Программа и методика испытаний
- •4.1. Этапы отладки
- •4.2. Типы ошибок
- •4.3. Функциональное тестирование
- •4.4. Полное тестирование
- •5. Руководство пользователя
- •5.1. Назначение
- •5.2. Требования к программному и аппаратному обеспечению компьютера
- •5.3. Работа с формами
- •Заключение
- •Литература
Системное проектирование
1.1. Описание предметной области
Тема дипломного проекта «Программа-утилита «Шифратор текста».
Основной задачей программного продукта является обеспечение пользователя инструментом для шифрования текстовой информации и последующего дешифрования информации. Зашифрованную информацию программа записывает в рисунок формата *.bmp.
Функции и требования к моделируемому программному продукту:
открытие рисунка и запись в него шифрованного текста;
открытие рисунка и считывание из него шифрованного текста;
генерация ключа шифрования;
сохранение ключа шифрования;
открытие ключа шифрования;
сохранение рисунка с зашифрованным текстом;
вывод данных на экран.
Программа должна выполнять все выше перечисленные функции для упрощения процесса шифрования и дешифрования текстовой информации.
1.2. Структура программы
Структуру программы можно представить в следующем виде (см. рис. 1.1.):
Определение размера текста и сопоставление его с максимально допустимым размером
Определение шага продвижения по битмапу
А
А
Рис. 1.1. Структура программы
1.3. Выбор и обоснование среды разработки
Визуальное программирование является объектно-ориентированным программированием.
C++ Builder 2009 - средство быстрой разработки приложений для Windows на C++. C++ Builder предоставляет разработчику программного обеспечения лучшее, что есть в двух технологиях: вы получаете мощь языков и библиотек C и C++ в сочетании с продуктивностью быстрой визуальной разработки приложений.
Одним из преимуществ C++ Builder 2009 является полная поддержка Unicode, благодаря чему приложения могут выполняться на любой языковой версии Windows. Применение Unicode гарантирует, что приложения будут одинаково выглядеть и функционировать во всех языковых версиях Windows и безукоризненно поддерживать как Unicode-, так и ANSI-строки. Кроме того, новые усовершенствованные средства локализации помогают переводить приложения на различные языки.
Главное преимущество C++ Builder 2009 это поддержка новых стандартов и библиотек C++. Среда разработки предоставляет возможность воспользоваться широким кругом библиотек с открытым кодом и коммерческих библиотек C и C++, а также библиотеками Dinkumware STL и Boost, входящими в комплект поставки. Компилятор C++Builder 2009 обеспечивает опережающую поддержку будущих стандартов C++0x, поэтому вы сможете работать с будущей версией C++ уже сегодня.
C++Builder 2009 обеспечивает эффективный и быстрый доступ ко всем популярным системам управления базами данных. С помощью надёжной и мощной платформы доступа к базам данных разработчики могут легко получать доступ и просматривать данные без написания кода. Создание, чтение, обновление и удаление данных можно легко выполнять с помощью визуальных элементов управления или кода. Новая многоуровневая архитектура DataSnap позволяет создавать в среде быстрой разработки высокопроизводительные, масштабируемые middleware-приложения для баз данных. Профессиональное средство моделирования ER/Studio, входящее в состав редакции Architect, позволяет проектировать схемы баз данных и выводит на новый уровень интеграцию разработки приложений и разработки баз данных.
Новые возможности UML-визуализации кода в C++Builder 2009 дают наглядное представление о структуре приложений. C++Builder 2009 обеспечивает полное двустороннее взаимодействие модели со средствами моделирования LiveSource, в результате чего изменения модели отражаются в исходном коде, а изменения исходного кода - в модели UML.
Таким образом, на основании выше изложенного, для разработки программного продукта «Программа-утилита «Шифратор текста» использовалась визуальная среда программирования C++ Builder 2009.
ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ
2.1. Входная информация
Входной информаций являются данные, которые пользователь вводит в соответствующие поля. Все входные данные должны соответствовать определенному формату. Для разрабатываемого программного продукта входной информацией будет является:
картинка формата bmp;
текст, который необходимо зашифровать.
2.2. Выходная информация
Выходной информацией для разрабатываемого программного продукта будут:
картинка формата bmp с зашифрованным в ней текстом;
ключ шифрования;
расшифрованный текст.
2.3. Структура интерфейса
Для запуска программы необходима операционная система MS Windows:
XP;
Vista;
Seven.
После запуска программы на экране появится главная форма.
Рис. 2.1. Главная форма
Для реализации простого и удобного интерфейса, в программном продукте использовались следующие элементы визуальной среды программирования C++ Builder 2009:
Image – был использован для создания заднего фона программного продукта, а так же для отображения загруженной картинки.
RichEdit – используется для ввода или вывода текста на экран.
Label – в интерфейсе программы были задействованы различные информационные надписи, реализуемые с помощью данного компонента.
Button – использует для выполнения каких-либо действий.