Разработка защищенной системы тестирования с использованием WEB-программирования
Существует множество форм контроля — экзамен, зачет, аттестация, контрольная. Но наиболее корректным средством измерения знаний на сегодняшний день является тест. Тест — это совокупность специальным образом подготовленных и подобранных заданий, позволяющая провести выявление требуемых характеристик процесса обучения. Одно из главных преимуществ тестов состоит в том, что они позволяют опросить… Читать ещё >
Разработка защищенной системы тестирования с использованием WEB-программирования (реферат, курсовая, диплом, контрольная)
СОДЕРЖАНИЕ Введение
1. Основные требования к системам тестирования
2. Защита копирования
3. Защита от списывания, использования сторонних источников информации Заключение Список используемых источников Приложение А. Исходный код верстки, запрещающий копирование и выделение текста Приложение Б. Исходный код функции, запрещающей использование сторонних источников информации ВВЕДЕНИЕ В современном мире большую роль играет контроль знаний учащихся школ, работников, студентов вузов и.т.д. Как известно, под контролем понимается система научно обоснованной проверки результатов обучения. Более узкое определение гласит, что контроль — это выявление, измерение и оценка знаний, умений и навыков.
Существует множество форм контроля — экзамен, зачет, аттестация, контрольная. Но наиболее корректным средством измерения знаний на сегодняшний день является тест. Тест — это совокупность специальным образом подготовленных и подобранных заданий, позволяющая провести выявление требуемых характеристик процесса обучения. Одно из главных преимуществ тестов состоит в том, что они позволяют опросить всех участников по всем вопросам нужного материала в одинаковых условиях, применяя при этом ко всем без исключения одну и ту же, заранее разработанную шкалу оценок. Это значительно повышает объективность, нерасплывчитость и обоснованность оценки по сравнению, скажем, с экзаменом.
В настоящее время выработано четыре основных формы тестовых заданий, которые являются основой для составления тестов по любым учебным дисциплинам:
1) Задания закрытой формы. Инструкция: обвести кружком, либо отметить крестиком, галочкой нужный вариант ответа. Вариативность заданий закрытой формы весьма велика, но в основе всегда лежит один и тот же принцип: испытуемому предлагается выбрать ответ на задание из нескольких предложенных, причем только один из них является правильным. При этом подразумевается, что все предложенные варианты ответа являются равнопривлекательными.
Например:
3*3 равно:
2) Задания открытой формы. Инструкция: дополнить. В отличие от заданий закрытой формы здесь не предлагается вариантов ответа, а делается пропуск смысловой единицы в каком-либо утверждении, причем предполагается, что заполнить этот пропуск можно строго однозначно.
Например:
3*3 = ?
3) Задания на соответствие. Инструкция: установить соответствие. Здесь необходимо установить соответствие между смысловыми единицами в правом и левом столбиках, причем, справа иногда вариантов дается больше, чем слева, то есть заведомо предполагается, что какие-то из них являются в данном случае неправильными.
Например:
2*2 = 49
3*3 = 4
7*7 = 9
4) Задания на установление правильной последовательности. Инструкция: установить правильную последовательность. Достаточно сложная форма, проверяющая глубокие и прочные знания учебного материала. Смысл ее состоит в установлении последовательности каких-либо событий, действий, терминов и т. д. В пустых квадратиках надо расставить цифры.
Например: квадрат _______ равен сумме _______ катетов.
Существуют различные разновидности и модификации тестовых заданий, однако все они основываются на этих четырех формах.
Стоит отметить положительные стороны теста на конкретном примере. К примеру, если при оценке результатов за каждое правильно выполненное задание ставится единица, а в противном случае ноль, то уровень знаний по проблематике данного теста будет выражен в определенной сумме баллов. Расставив сдававших по возрастанию или убыванию, мы получим структурированный ряд уровня знаний по данной дисциплине. Если такая проверка проводится регулярно в течение всего изучения предмета, в конце преподаватель будет иметь достаточно четкое представление об уровне знаний данного курса. Создается своеобразный рейтинг обучаемых по изучаемой дисциплине. По итогам выполнения всех тестовых заданий видны пробелы в знаниях каждого, что позволяет составить индивидуальную программу для дополнительных занятий.
Тесты и тестовые задания получили свое распространение в сферах, где нужно точно определить знания по всему курсу обучения, где много сдающих, где нужен жесткий отбор участников: экзамены в ГИБДД, аттестация работников предприятий, прием на работу, аттестация и контроль остаточных знаний студентов, дистанционное образование, экзаменационный тест и.т.д.
В настоящее время, в эпоху информационного общества, глобальной компьютеризации, развития технологии Интернет и передачи данных все более актуальными становятся разнообразные компьютерные системы тестирования, способные дополнить или заменить традиционные методы контроля и методики преподавания. Благодаря компьютерным системам тестирования стало намного удобнее проводить тестирования во всех сферах, где применялись и применяются обычные тесты. Например, дистанционное образование, которое стало распространенным способом получения знаний.
Сегодня компьютерное тестирование обладает рядом преимуществ перед традиционным тестированием. Оно отличается высокой оперативностью, производительностью процесса тестирования и объективностью результатов контроля знаний — преподаватель может провести опрос гораздо большего числа студентов за меньшее время по сравнению с очным опросом, и позволяет проанализировать качество подготовки тестирующихся по большому кругу различных вопросов; также адаптация содержания и сложности тестовых вопросов уровню знаний обучаемых, возможность самоконтроля. В отличие от бланковых систем тестирования, компьютерные тесты позволяют использовать сложные методы контроля оценки знаний учащихся, снизить финансовые и временные затраты при проведении тестирования, применить в тестах мультимедийные задания, а так же повысить открытость процесса тестирования. Но наряду с достоинствами, у компьютерных тестов есть и свои недостатки: повышается вероятность случайного выбора ответа, понижается внимание на оформление решения, теряется логика рассуждения, теряется информация о процессе выполнения отдельных заданий учащимися, отношение многих людей к компьютеру не как к средству получения и контроля знаний, а как к средству развлечения.
1. Основные требования к системам тестирования
Создание модели системы тестирования на базе web технологий является крайней перспективной и актуальной научной задачей. Целью курсовой работы является создание современной модели web-сервиса тестирования знаний с помощью средств web-разработки и программная реализация для эффективной работы тестовой системы — защита от копирования информации и списывания при контроле знаний, т. е. выход в Интернет, поиск информации на самом компьютере, использование приложений и.т.д.
Перед формированием модели WEB-сервиса тестирования нужно четко очертить набор функций и требований к нему. Перечислим основные функции, требования, характеристики системы тестирования:
— основная функция — обеспечение эффективного тестирования знаний;
— точная и способная к адаптации оценка результатов тестирования;
— удобство и легкость создания и модификации тестов;
— отсутствие твердой привязки к какого-нибудь предмету, области знаний;
— возможность одновременного тестирования неограниченного количества пользователей;
— отсутствие жесткой привязки к конкретному аппаратному и программному обеспечению;
— легкая наращиваемость, масштабируемость системы;
— высокая безопасность, защищенность;
— неограниченное количество тестов, тем, вопросов и вариантов ответов на них;
— контроль времени тестирования ;
— поддержка режима модульного контроля, в процессе которого существует ряд вопросов и время, в течении которого на них необходимо ответить.
Содержание заданий тестов должно принадлежать одной предметной области, иметь известную меру трудности, выполнение его должно требовать напряжения. Задания должны быть краткими, ясными и корректными, не допускать двусмысленности. Все ответы в случае необходимости их выбора должны быть правдоподобными и равнопривлекательными.
Поэтому стоит упомянуть требования к тестовым заданиям:
— содержание тестового задания должно требовать от испытуемого однозначного ответа;
— содержание тестового задания должно быть ориентировано на получение ответа только по одной задаче из конкретной области знаний;
— следует избегать тестовых заданий, требующих развернутых ответов;
— основные термины тестового задания должны быть явно и ясно определены;
— тестовые задания должны быть прагматически корректными и рассчитаны на испытуемых с заданным (исходным) уровнем подготовки по конкретной предметной области;
— тестовое задание должно формулироваться в утвердительном или повелительном предложениях;
— количество слов в тестовом задании не должно превышать 10.
Рассмотрим пункты «легкая наращиваемость, масштабируемость системы», «удобство и легкость создания и модификации тестов», «высокая безопасность, защищенность» и «обеспечение эффективного тестирования знаний». Это базовые параметры и присутствие их необходимо. Первые два пункта решаются, например, созданием банка вопросов, которые будут выбираться оттуда случайным образом, а так же перемешиванием вариантов ответа. Поэтому даже в том случае, если некоторые студенты получат одни и те же вопросы (причем порядковый номер у них будет наверняка разный), то номера правильных вариантов ответа у них тоже будут разными.
Последние два означают создание равных для всех условий прохождения контроля знаний, невозможность списывания и использования сторонних источников информации и вспомогательных приложений (например, калькулятор) как на компьютере, так и в Интернете, а так же создание защищённого web-интерфейса. Это подразумевает защиту информации, защиту от копирования, распространения вопросов, выдача предупреждающих сообщений, ануллирования тестирования, защиту целостности, Рассмотрим подробнее каждый из них.
2. Защита от копирования
Защита от копирования — особый вид защиты информации, применяемый в отношении программного обеспечения и других объектов интеллектуальной собственности в тех случаях, когда создатель желает сделать информацию доступной только для чтения (воспроизведения, просмотра, запуска программ), но не хочет допускать несанкционированное копирование, тиражирование, распространение.
В этом разделе будут рассмотрены основные механизмы защиты от копирования информации непосредственно с web-страницы.
В вопросе защиты контента сайта от копирования существует несколько отличных друг от друга подходов. Один из вариантов это использование возможностей функционирования JavaScript. Так как выполнение сценариев JavaScript можно отключить в настройках браузера, этот метод легко обойти. Поэтому рассмотрим другие методы.
Например можно размещённую в виде файлов формата HTML информацию разбивать на файлы, размер каждого такого файла не должен превышать одной страницы. Это не создаёт больших неудобств при чтении (может даже быть полезным — при хорошей структурированности), но для полного копирования размещённой информации нужно будет затратить немало труда. Но этот метод предназначен скорее для затруднения копирования, но предотвратить его не может.
Так же можно в целях защиты поверх текста разместить прозрачную и невидимую картинку. При просмотре web-страницы ее наличие не будет заметно, однако попытка выделения текста обернется неудачей. Или же можно размещать всю информацию в виде изображений.
Если требуется разместить на одной web-странице большое количество текста, который хотелось бы предоставить для чтения, но уберечь от копирования, то можно фрагменты текста разместить на странице в элементах формы. Браузер не может выделить одновременно содержимое всех этих элементов, чтобы можно было перенести в другое приложение.
И наиболее простой метод — это запрет вызова контекстного меню правой клавиши мыши и соответствующей кнопкой клавиатуры, а так же запрет на выделение и копирование текста в буфер обмена. Исходный код данного метода — блокирования функций, позволяющий защитить информацию от копирования, представлен в Приложении А.
В этом разделе были рассмотрены основные способы защиты от копирования, которые используются в настоящее время. Каждый из них подходит для применения к тестовым системам, сделанных с помощью средств web-разработки. При этом пользователь не сможет скопировать вопросы, например к себе на флешку и распространить остальным пользователям, поэтому решается проблема частого обновления вопросов.
3. Защита от списывания, использования сторонних источников информации
Борьба с плагиатом и списыванием ведется неустанно многим учебным заведениям, том числе и высшим, особенно при проведении любого мероприятия, связанного с проверкой знаний. Безусловно, передовая цель такого мероприятия — получить максимально объективные данные о действительных знаниях, умения и навыков проверяемых. Поэтому контроль и защита от списывания — конечно же, главные признаки успешности проверки испытуемых. Рассмотрим два случая.
Если, например, тест, экзамен, контрольная проводятся без использования технических средств — т. е. на бумажных носителях, то вариантов списывания, как правило, возникает несколько. Основные — это шпаргалки, лекции, учебники на бумажных и электронных носителях, мобильные средства связи. Ограничить их использование достаточно просто — допускать на проверку знаний без лишней аппаратуры и бумажных носителей, а так же непосредственный визуальный контроль. Однако у данного способа проверки знаний есть ряд серьезных недостатков, упоминавшихся ранее. И конечно целесообразней использовать компьютерную систему для данных целей, особенно если сдающих очень много. Для примера будем рассматривать систему тестирования на базе web технологий. Здесь появляется еще больше возможностей и источников списывания — Интернет, который нужен для передачи данных на сервер, приложения на компьютере и все предыдущие варианты. Одни из очевидных методов решения данной проблемы:
1) Непосредственное наблюдение за сдающими тест. Сразу же возникает недостаток — если сдающих 100 или 1000 человек? Для наблюдения будет нужна целая группа людей, а это лишние затраты.
2) Установка камер наблюдения. Опять же, это довольно дорогая процедура.
3) Попросить не списывать, честно сдавать тест. Нету никаких затрат, но это и малоэффективно.
Поэтому один из эффективных способов — использование возможностей прикладных языков web программирования Вариантов создания алгоритмов и сценариев таких ограничений множество. Схема их работы зависит от конкретной поставленной задачи, от профессиональности программиста, от использования языка или нескольких языков. Один из эффективных и быстрых способов — использование возможностей JavaScript.
В рамках данной курсовой работы было решено реализовать следующие решения:
1) Невозможность запуска нескольких сессий браузера;
2) Запуск активного окна в полноэкранном режиме без лишних функций браузера — адресной строки, панели инструментов, полосы прокрутки, строки состояния;
3) Активное окно нельзя свернуть никаким способом;
4) Размеры активного окна нельзя изменить;
5) Нельзя создать новую вкладку;
6) Вывод предупреждающих сообщений при нарушении правил.
Реализация этих решений позволяет решить большинство проблем. Прохождение теста начинается в полноэкранном режиме, чтобы убрать все ненужные функции браузера и сконцентрировать внимание на тестировании. При попытке щелкнуть по значкам управления окном (закрыть, свернуть, развернуть) выводится предупреждающее сообщение. При попытке свернуть окно комбинациями «windows+d», «alt+tab» так же появляется предупреждающее сообщение. При попытке выйти из полноэкранного режима или изменении размеров окна текст содержимого теста пропадает и выводится предупреждающее сообщение. По сути дела воспользоваться чем-либо вообще не представляется возможным до окончания тестирования, как только зафиксируется «подглядывание», тест выдаст предупреждение, и не позволит воспользоваться сторонними источниками информации.
знание тестирование программный модель ЗАКЛЮЧЕНИЕ В данной курсовой работе была реализована первоначальная защита от действий, нежелательных или недопустимых (в зависимости от теста) при прохождении тестирования. В ходе выполнения работы были спроектированы две основные задачи:
— создание условия ограничения копирование информации;
— создание условия эффективного контроля знаний.
В перспективах развития этой темы можно реализовать кроссплатформенную систему, допуск к тестированию только с помощью аутентификации — ввод логина и пароля, отсутствие подключения к Интернету на компьютерах для тестирования, сохранение результатов тестирования в отдельном файле.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. Берденникова Н. Г., Меденцев В. И., Панов Н. И. Организационное и методическое обеспечение учебного процесса в вузе [Текст]: Учебно-методическое пособие. — СПб.: Д.А.Р.К., 2006
2. Аванесов В. С. Научные проблемы тестового контроля знаний. [Текст] - М., 1994
3. Аванесов В. С. Теоретические проблемы разработки заданий в тестовой форме. [Текст] М., 1995
4. Агапонов С. В., Джалиашвили З. О., Средства дистанционного обучения. Методика, технология, инструментарий. [Текст]: Спб: BHV-СПб, 2007
5. Морев И. А. Образовательные информационные технологии. Часть 2. Педагогические измерения [Текст]: Учебное пособие. — Владивосток: Изд-во Дальневост. ун-та, 2004.
6. Белов, Е. А. Проблема оценки знаний методом тестирования в системах дистанционного обучения [Текст] Под ред. О. А. Горленко. — Брянск: БГТУ, 2001. — С. 161−162.
7. Белов, Е. А. Разработка автоматизированной тестирующей системы с ответами испытуемого на естественном языке / Е. А. Белов // Единое образовательное пространство славянских государств в XXI веке: Проблемы и перспективы: Материалы II Междунар.науч.-практ.конф. /под ред. В. И. Аверченкова. — Брянск: БГТУ; СГА, 2006. — С. 242−245.
8. Опыт создания системы тестового контроля на историческом факультете http://hist.asu.ru/aik/testcont.html
9. Применение заданий в тестовой форме в новых образовательных технологиях
10. Защита информации в системах дистанционного обучения с монопольным доступом Карпов Андрей Сдавался 2004 г., Тула,
11. http://javascript.ru/
12. http://www.woweb.ru/
13. http://www.perkoka.ru/
14. http://www.emanual.ru
ПРИЛОЖЕНИЕ А
Исходный код верстки, запрещающий копирование и выделение текста
onselectstart="return false" - запрет выделение текста
oncontextmenu="return false" - запрещает вызов контекстного меню правой кнопки мыши и соответствующей клавиши.
ПРИЛОЖЕНИЕ Б
Исходный код функции, запрещающей использование сторонних источников информации
/*переносимый способ регистрации обработчиков события onload.
данный модуль определяет единственную функцию runOnLoad,
выполняющую регистрацию переносимым способом функций ;
обработчиков, которые могут вызываться только после полной
загрузки документа, когда будет доступна структура DOM*/
function runOnLoad (f){
if (runOnLoad.loaded)f (); // если документ уже загружен просто вызывать f ();
else runOnLoad.funcs.push (f); // иначе сохранить для вызова позднее
}
runOnLoad.funcs=[]; // массив функция которые должны быть вызваны
после загрузки документа
runOnLoad.loaded=false; //функции еще не запускались
runOnLoad.run=function () {
if (runOnLoad.loaded) return; // если функции запускались, значит ни чего не делаем
for (var i=0;i
try {
runOnLoad.funcs [i]();
} catch (e) {} // исключения вызванные в какой либо функции ни как не должно повлиять на вызов остальных
}
runOnLoad.loaded=true; // запомнить факт запуска
delete runOnLoad. funcs; // Но не запоминать сами функции
delete runOnLoad. run // забываем о существовании данных функций
}
// регистрируем runOnLoad как обработчик событий onload
if (window.addEventListener) {
window.addEventListener («load», runOnLoad. run, false);
}
else if (window.attachEvent) {
window.attachEvent («onload», runOnLoad. run);
}
else window. onload=runOnLoad.run;
// вызываем регистрацию событий onload функции sizeBody
runOnLoad (sizeBody);
/* функция обработчик изменения размера окна, она показывает или скрывает тег «закрытия текста» */
function sizeBody () {
var bodySize=document.documentElement.clientHeight; // высота браузера
if (parseFloat (bodySize)>=(screen.height-5)) { // screen. height-5
(высота монитора пользователя) «минус 5» сделано для совместимости
с браузером Firefox, так как в полноэкранном режиме он почему то
" оставляет 5 пикселей верхнего тулбара"
document.getElementById («noTextBody»).style.display="none"; //
скрываем тег «оповещения»
} else{ document. getElementById («noTextBody»).style.display="block" ;
// делаем оповещение, путем добавления «видимости» тега в наш
документ
}
}