Автор работы: Пользователь скрыл имя, 04 Сентября 2013 в 05:38, дипломная работа
Все эти проблемы позволяет решить разработанная мною система тестирования. Основное преимущество трёхзвенной структуры заключается в превосходной степени защиты (к базе данных нет прямого доступа из интернета, многоуровневая защита с различными алгоритмами шифрования).
Для проектирования и разработки базы данных использовались источники [1, 5, 6], для создания приложения тестирования [2, 3], а для обеспечения защиты данных [4, 7].
Введение 5
1 Теоретические основы 6
1.1 Постановка задачи6
1.2 Проектирование баз данных10
1.3 Среда Firebird как средство разработки СУБД14
1.4 Разработка интерфейса пользователя18
1.5 Выбор средств защиты информации22
2 Разработка и апробация проекта 26
Заключение 39
Список использованных источников 40
Приложение А (обязательное) Код программы 41
Дипломная работа содержит 63 страницы, 10 рисунков и 7 источников.
СИСТЕМА ТЕСТИРОВАНИЯ, ЗАЩИТА ДАННЫХ, СУБД FIREBIRD, ТЕСТИРОВАНИЕ ЗНАНИЙ, ЭКЗАМЕНАЦИОННАЯ СИСТЕМА.
Объектом разработки является защищённая система тестирования знаний учащихся.
Цель работы – автоматизация процесса тестирования, защита от изменения, подмены и перехвата при передаче данных и от беспрепятственного физического копирования базы данных с сервера.
В процессе работы проводилась разработка системы тестирования, выбор и настройка средств шифрования.
В результате проведённой работы создана удобная в эксплуатации, максимально защищённая система тестирования знаний учащихся не имеющая свободно распространяемых аналогов.
Основные эксплуатационные характеристики: дешевизна, высокая степень защиты, интуитивно понятный интерфейс, гибкие настройки, большая скорость обработки результатов тестирования.
Степень внедрения – предполагается.
Эффективность – автоматизированный контроль успеваемости учащихся, высокая степень защиты от хищения и подмены вопросов, ответов и результатов тестирования.
Область внедрения – учебный процесс, процесс контроля знаний.
Содержание
Введение 5
1 Теоретические основы 6
1.1 Постановка задачи6
1.2 Проектирование баз данных10
1.3 Среда Firebird как средство разработки СУБД14
1.4 Разработка интерфейса пользователя18
1.5 Выбор средств защиты информации22
2 Разработка и апробация проекта 26
Заключение 39
Список использованных источников 40
Приложение А (обязательное) Код программы 41
Введение
Тесты широко применимы на всех ступенях всех форм образования, для принятия на работу, для получения документов, повышенных разрядов и квалификации. Стоит также отметить, что у тестируемых нет простого и общедоступного способа для самостоятельной подготовки не выходя из дома. А ведь именно самостоятельная подготовка может улучшить подготовку и сократить число попыток сдать тот или иной тест. Поток экзаменуемых зачастую настолько велик, что образуются огромные очереди, нарушается плановость процесса приема экзаменов, создаются условия для коррупции экзаменаторов. Унификация, автоматизация, безопасность, простота интерфейса, обслуживания и количество затраченных ресурсов являются важными факторами при тестировании. С каждым годом всё возрастает число хищений персональных данных (паспортных, водительских) и число преступлений связанных с подделкой тестов, документов об образовании и т.д. В настоящий момент существуют закрытые проекты тестирования, внедряющиеся в некоторых регионах, работающих в ГИБДД, разрабатывающиеся в министерстве образования на web-технологиях и т.д. Но эти программы не предоставляются в широкое пользование, нет каких-либо сведений о методах защиты от подмены при проведении тестов, от хищения правильных ответов и результатов экзамена, а также о цене на данную продукцию, что не позволяет повсеместное внедрение таких систем, а также большинство известных систем двухзвенные (клиент-база данных).
Все эти проблемы позволяет решить разработанная мною система тестирования. Основное преимущество трёхзвенной структуры заключается в превосходной степени защиты (к базе данных нет прямого доступа из интернета, многоуровневая защита с различными алгоритмами шифрования).
Для проектирования и разработки базы данных использовались источники [1, 5, 6], для создания приложения тестирования [2, 3], а для обеспечения защиты данных [4, 7].
1. Теоретические основы
1.1 Постановка задачи
Целью данной работы является автоматизация процесса тестирования, защита от изменения, подмены и перехвата при передаче данных и от беспрепятственного физического копирования базы данных с сервера.
При создании автоматизированных систем важным этапом является четкое формулирование постановки задачи, т.е. уяснения того, чего необходимо достичь в конечном итоге. Для этого необходимо тщательное изучение и анализ предметной области и процесса, подвергающегося автоматизации. В данном случае основными задачами, поставленными перед разработкой проекта, являются:
1) структурирование информации и создание базы данных, из экзаменационных билетов;
2) разработка трёхзвенной (клиент – сервер - БД) системы тестирования знаний учащихся (разработка приложения клиента, приложения сервера, базы данных);
3) организация защиты от изменения, подмены и перехвата данных передаваемых между всеми звеньями системы, а также от беспрепятственного физического копирования базы данных ответов и результатов тестирования;
4) реализация функций администрирования всего процесса тестирования;
5) реализация обработки данных: регистрация тестируемых, фиксация их ответов, сохранение и вывод на печать;
6) соблюдение ограничения выполнения теста по времени;
7) разработка дружественного и интуитивно понятного интерфейса как для клиента, так и для сервера.
Возможность обработки имеющихся данных подразумевает получение программным путем сведений о количестве правильных и не правильных ответах и т. д. Полученные при обработке данные при необходимости должны сопровождаться отчетами, подводящими итоги проделанной работы, с возможностью их печати, т.е. документирования. Процесс обработки должен реализовываться наиболее оптимальными методами, обеспечивающими наибольшую точность и достоверность полученных результатов.
Важным при разработке программ управления данными является и то, как разработан пользовательский интерфейс, насколько программа проста и удобна в применении.
Под простотой подразумевается легкое освоение работы с данным приложением, под удобством — эффективность и удовлетворение всех потребностей пользователя при работе. В первую очередь, это осуществляется путем визуальных компонентов, экранных форм и диалогового способа общения между приложением и пользователем. При работе с данными для исключения ошибок набора и редактирования необходимо предусмотреть защиту. Эффективность работы предполагает организацию работы программы таким образом, чтобы минимизировать затраты времени пользователя при работе с данными. Так как предусматривается, что разрабатываемое приложение будет иметь клиентскую и серверную часть важно чтобы обмен данными осуществлялся с максимальной для данного объема БД скоростью и защищённым от перехвата и подмены. Это возможно лишь при правильной организации таблиц, их индексации и связи, сжатия данных при передаче, а также при создании оптимального алгоритма работы программы, показанного с помощью UML – диаграммы деятельности (activity diagram) в соответствии с рисунком 1.
Для защиты данных при передаче между звеньями системы рассмотреть работу и настройку программы ZeBeDee, для защиты хранящихся на сервере в БД результатов экзаменов, вопросов и ответов работу TrueCrypt, а в перспективе для защиты данных клиент-сервер компоненты Synapse с TLS криптографией в соответствии с рисунком 2.
1.2 Проектирование баз данных
Любое предприятие,
учреждение, организацию можно
Задачей
проектировщиков
Создание современных информационных систем представляет собой сложнейшую задачу, решение которой требует применения специальных методик и инструментов.
На современном
рынке средств разработки ИС достаточно
много систем, в той или иной
степени удовлетворяющих
Базами данных (БД) называют электронные хранилища информации, доступ к которым осуществляется с помощью одного или нескольких компьютеров. Обычно БД создается для хранения и доступа к данным, содержащим сведения о некоторой предметной области человеческой деятельности или области реального мира.
Системы управления базами данных (СУБД) - это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных.
Различают три основных вида СУБД:
- промышленные универсального назначения
- промышленные специального назначения
- разрабатываемые для конкретного заказчика
Специализированные СУБД создаются для управления базами данных конкретного назначения - бухгалтерские, складские, банковские и т.д. Универсальные СУБД не имеют четко очерченных рамок применения, они рассчитаны "на все случаи жизни" и, как следствие, достаточно сложны и требуют от пользователя специальных знаний. Как специализированные, так и универсальные промышленные СУБД относительно дешевы, достаточно надежны (отлажены) и готовы к немедленной работе, в то время как заказные СУБД требуют существенных затрат, а их подготовка к работе и отладка занимают значительный период времени. Однако, в отличие от промышленных, заказные СУБД в максимальной степени учитывают специфику работы заказчика, их интерфейс обычно интуитивно понятен пользователям и не требует от них специальных знаний.
В зависимости от расположения СУБД различают локальные и распределенные (удаленные) СУБД. Все части локальной СУБД размещаются на компьютере пользователя базы данных. Если к одной базе данных обращаются несколько пользователей одновременно, каждый пользовательский компьютер должен иметь свою копию локальной СУБД. В отличие от этого, значительная часть программно-аппаратных средств распределенной СУБД централизована и находится на одном достаточно мощном компьютере (сервере), в то время как компьютеры пользователей несут относительно небольшую часть СУБД, которая называется клиентом. Локальные СУБД могут работать в сети, но могут и не использовать ее, в то время как распределенные (клиент-серверные) СУБД обязательно работают в компьютерной сети. Местонахождение базы данных никак не влияет на специфику СУБД: в локальных СУБД сама БД может располагаться как на компьютере пользователя, так и на удаленном сетевом компьютере (файл-сервере). Безусловным достоинством клиент-серверных систем является возможность централизованного управления доступом к БД. В таких системах база данных в значительной мере защищена как от случайных, так и намеренных искажений, в них проще реализовать целостность и непротиворечивость данных.
Исходя из задачи, проектируемая база данных будет БД «выборки».
Требования:
По степени открытости различают открытые (включающие) и замкнутые (специализированные, автономные) языки.
Включающий - это стандартный язык программирования, расширенный средствами подъязыка данных - операторами манипулирования базами данных, то есть операторами, связанными с обращением к БД. Операции, непосредственно не связанные с обращением к БД, не входят в функции подъязыка и реализуются средствами включающего языка.
Замкнутый язык программирования является специальным языком, ориентированным на работу с базами данных. По возможностям средств манипулирования он существенно превосходит включающие языки, но несколько уступает им по вычислительным возможностям. Такие языки широко применяются в СУБД на персональных компьютерах. В качестве примера можно указать языки dBase, Clipper, SQL, QBE.
Процедурность и декларативность - два противоположных свойства языка, отражающие степень алгоритмизации решаемой задачи. Примером декларативного языка является QBE, примером процедурного языка dBase. Высокой степенью декларативности обладает язык SQL.
Третий
признак классификации (по используемому
в языке математическому
Программа в СУБД, так же как и в стандартных системах программирования, представляет собой последовательность операторов языка программирования. В зависимости от степени сложности решаемых задач программа может иметь простую либо сложную структуру. В последнем случае программа строится по модальному принципу, т. е. включает главный модуль и множество подпрограмм (процедур). При разработке БД принцип модульности наиболее удобен и эффективен.
1.3 Среда Firebird как средство разработки СУБД