Автоматизированная WEB-система тестирования студентов

Способы оценки знаний. WEB-система тестирования студентов. Блок регистрации и авторизации. Категорирование страниц сайта по различным терминам. Создание вопроса с выбором количества правильных вариантов ответа. Система настройки тестов и вопросов в них.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 15.04.2012
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Выпускная квалификационная работа

Тема Автоматизированная WEB-система тестирования студентов

ОГЛАВЛЕНИЕ

Введение

1. Техническое задание

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

1.2 Предметная область

1.3 Список терминов, сокращений и обозначений

2. Информационное обеспечение

2.1 Физическая модель

2.2 Диаграмма модели «сущность-связь»

2.3 Список объектов и их свойств

2.4 Описание процессов

2.4.1 Регистрация

2.4.2 Тестирование

2.4.3 Формирование статистики

2.4.4 Защита от несанкционированного доступа.

2.4.5 Массовая регистрация пользователя

2.4.6 Создание теста

2.4.7 Создание вопроса

2.5 Зависимости ПС

3. Описание ПС

3.1 Сведения о работе ПС

3.1.1 Учетная запись незарегистрированного пользователя

3.1.2 Учетная запись зарегистрированного пользователя

3.1.3 Учетная запись преподавателя

3.1.4 Учетная запись администратора

3.2 Порядок использования ПС

3.2.1 Создание теста

3.2.2 Создание вопроса

3.2.3 Тестирование

Заключение

Список использованных источников

Приложение А

ВВЕДЕНИЕ

С давних времен тестирование было одним из наиболее удобных способов проверки и оценки знаний. Тестирование - от англ. test - испытание, проверка. Само слово «тест» имеет французские корни и означает сосуд, используемый в аптечном деле для проведения различных опытов. В современном контексте это понятие употребляют, когда надо пройти проверку, пробу, испытание. Многие люди привыкли, что тестовые задания представлены в виде печатных вопросов с вариантами ответов. Однако прародителями современных тестов были определенные испытания, которые предлагались претенденту на должность в качестве проверки. Так, еще около двух тысяч лет назад в Китае кандидатов на правительственные должности отбирали с помощью тестовой проверки, а в Древнем Египте посвящение в жрецы происходило после серии испытаний.

На сегодняшний день тестирование глубоко проникло во многие сферы деятельности человечества. В образование, работу, медицину и т.д. Тесты особенно популярны в Америке, они служат для отбора наиболее достойных кандидатов. Многие бизнесмены считают эту систему очень удобной, так как она позволяет малыми усилиями решить проблему комплектации кадров. Специалисты считают, что тесты более надежны в предсказании неблагоприятных результатов (например, вам не стоит заниматься определенным видом деятельности). А вот развитость каких-либо качеств или способностей определяется с меньшей степенью достоверности. Поэтому с помощью тестового отбора легче ограничить круг претендентов.

Тесты классифицируются по разным признакам.

По виду свойств личности они делятся на тесты достижений и личностные. К первым относятся тесты интеллекта, школьной успеваемости, тесты на творчество, тесты на способности, сенсорные и моторные тесты. Ко вторым - тесты на установки, на интересы, на темперамент, характерологические тесты, мотивационные тесты. Однако не все тесты (например, тесты развития, графические тесты) можно упорядочить по данному признаку. По способу применения различаются индивидуальные и групповые тесты. При групповом тестировании одновременно обследуется группа испытуемых. Если в тестах уровня временных ограничений нет, то в тестах на скорость они обязательны. В зависимости от того, насколько в результате тестирования проявляется субъективность исследователя, различают тесты объективные и субъективные.

К объективным тестам относится большинство тестов достижений и психофизиологические тесты, к субъективным - проективные тесты. Это деление в определенной степени совпадает с делением на прямые и непрямые тесты, которые различаются в зависимости от того, знают или не знают испытуемые значение и цель теста.

Для проективных тестов типична ситуация, когда испытуемый не информирован о действительной цели исследования. При выполнении заданий проективных тестов не существует "правильных" ответов. В зависимости от наличия в тесте речевого компонента различаются тесты вербальные и невербальные. Вербальным, например, является тест на словарный запас, невербальным - тест, требующий в качестве ответа определенных действий.

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

Каждое тестирование имеет свои плюсы и минусы.

Достоинства тестирования:

– Возможность проводить массовые измерения знаний.

– Возможность установить уровень знаний учащегося по предмету в целом и по отдельным его разделам.

– Тест это более точный инструмент, так, например, шкала оценивания теста из 20 вопросов, состоит из 20 делений, в то время, как обычная шкала оценки знаний -- только из четырёх.

– Оперативность и экономичность.

– Все тестирующиеся находятся в одинаковых условиях.

– Объективность оценки знаний.

Недостатки тестирования:

– Везде разный уровень знаний.

– Возможность угадывания ответов.

– Данные, получаемые преподавателем в результате тестирования, хотя и включают в себя информацию о пробелах в знаниях по конкретным разделам, но не позволяют судить о причинах этих пробелов.

– Разработка качественного теста -- длительный, трудоемкий и дорогостоящий процесс. Стандартные наборы тестов для большинства дисциплин ещё не разработаны, а разработанные обычно имеют очень низкое качество.

– Тест не позволяет проверять и оценивать высокие, продуктивные уровни знаний, связанные с творчеством.

– Широта охвата тем в тестировании имеет и обратную сторону. Учащийся при тестировании, в отличие от устного или письменного экзамена, не имеет достаточно времени для сколько-нибудь глубокого анализа темы.

В наше время большинство учебных заведений и высшие учебные заведения используют такую форму тестирования, как интернет-тестирование.

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

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

Необходимо разработать WEB-систему тестирования студентов со следующими возможностями:

– Наличие блока регистрации и авторизации. С уведомлением о прохождении регистрации на электронную почту, шифрованием пароля по алгоритму md5, а так же с проверкой «анти-бот» и возможностью изменять свои персональные данные.

– Категорирование страниц сайта по различным терминам. С возможностью для преподавателей создать свои категории сортировки и включать в них термины.

– Создание теста. С возможностями: сортировки вопросов в случайном порядке по желанию преподавателя, отображения результатов и правильных ответов, установки количества попыток на прохождение теста, выбора настроек по прохождению теста, настройки доступности тестов по числу и времени, установки порога успешной сдачи теста в процентах, вывода оценки по завершению тестирования (расчет оценки происходит в зависимости от набранного процента).

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

– Создание вопроса с рукописным ответом. Преподаватель сам проверяет ответ студента.

– Создание вопроса с возможностью установить соответствие между пунктами подвопроса, а также создание вопроса с возможностью установить порядок подвопросов.

– Использование групповой политики доступа для обеспечения безопасности. Студент, незарегистрированный пользователь, администратор и преподаватель.

– Назначение максимального количества баллов за каждый полностью правильный ответ.

1.2 Предметная область

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

В ходе разработки данного программного средства были выявлены следующие особенности системы интернет тестирования, которые необходимо учесть в данном продукте:

– Реализация возможности возврата к пропущенным вопросам. Зачастую пользователи пропускают сложные вопросы и в первую очередь отвечают на простые, однако, вернуться к пропущенным вопросам уже не могут.

– Восстановление сессии. Сессия - это механизм, позволяющий однозначно идентифицировать браузер и создающий для этого браузера файл на сервере, в котором хранятся переменные сеанса. Иногда пользователи случайно закрывают страницу на которой находятся или же просто кликают мышью не на те ссылки. Для предотвращения нежелательных действий необходимо реализовать восстановление сессии пользователя. В сессии будут храниться все данные, которые вводил пользователь, где он был в момент закрытия страницы и куда нажимал мышью. Это позволит предотвратить несанкционированное прекращение незаконченного теста или же потерю несохраненных данных.

– Реализация массовой регистрации пользователей. Если тестирование проходит одновременно большая группа пользователей, то перед преподавателем станет вопрос скорости регистрации участников тестирования и выдачи им уникальных логинов и паролей. Чтобы оптимизировать этот процесс, необходимо реализовать массовую регистрацию в одно действие.

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

– Разным преподавателям необходимы разные настройки для тестирования, а значит необходимо реализовать гибкую систему настройки тестов и вопросов в них. К примеру, разрешить пользователям продолжить тестирование, если они его закрыли, случайно или намеренно. Разрешить пользователям пропускать вопросы, если они сложные, и разрешить возвращаться к пропущенным вопросам. Также запретить переходить к следующему вопросу пока не будет дан правильный ответ на текущий вопрос (для пробных тестов). Чтобы исключить появление однотипных тестов необходимо реализовать сортировку вопросов в случайном порядке или же, наоборот, отключить сортировку вопросов в случайном порядке, если необходим одинаковый порядок вопросов в тесте. Для пробного тестирования необходимо реализовать возможность показывать правильные ответы после прохождения теста или же наоборот скрыть их. Реализовать возможность обозначения количества попыток для прохождения теста. Если преподаватель захочет обозначить время старта тестирования и время его завершения, необходимо реализовать настройки доступности тестирования. Реализованные процентные настройки теста, позволят установить минимальный порог сдачи теста. Также, комментарии по каждому результату позволят разделить баллы на оценки по пятибалльной шкале.

А когда все эти настройки реализованы, необходимо реализовать их сохранение, чтобы вновь не выбирать в новых тестах те же параметры.

– Реализация разных типов вопросов. Чтобы наиболее полно раскрыть знания пользователя, а так же для того, чтобы сделать тестирование интересным, необходимо добавлять в тест вопросы разного типа. Например, вопрос с одним или несколькими правильными ответами. Или же вопрос с рукописным ответом, который проверяется преподавателем, после окончания тестирования. А так же, вопрос - соответствие, в котором необходимо указать соответствие подвопросов с терминами, и вопрос - порядок, где нужно выстроить термины в правильном порядке.

– Особое внимание нужно уделить возможности использования одного и того же вопроса в разных тестах. Чтобы преподаватель не тратил время на создание аналогично вопроса для другого теста, если темы для разных дисциплин пересекаются.

– Реализовать формирование статистики на основе технологии AJAX. Намного удобнее и быстрее делать выборку по определенному тестирующемуся вводом первой буквы его имени или фамилии.

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

– В современных системах интернет - тестирования используется механизм защиты от спам - программ - «капча». Обычно «капча» представлена в виде картинки с искаженными символами. Разобрать, что изображено на рисунке сложно, поэтому необходимо разработать более простую систему защиты - математическую капчу. Происходит генерация двух случайных чисел, между которыми ставится знак сложения. Пользователю предлагается ввести результат сложения в поле проверки. Если результат совпадает с данными хранящимися в БД, то пользователь проходит проверку, иначе, вновь происходит генерация «капчи».

– Для более удобного мониторинга за результатами тестирования по каждому пользователю необходимо реализовать доступ к этим данным.

– Реализация групповой политики доступа. Администратор, преподаватель, зарегистрированный пользователь, не зарегистрированный пользователь - все эти пользователи системы обладают своими правами доступа и своими привилегиями, необходимые для разграничения уровня доступа к данным.

Исключив все недостатки конкурирующих систем, и добавив все их достоинства, мы получим современную и гибкую систему интернет тестирования.

1.3 Список терминов, определений и сокращений

Полное наименование разрабатываемого проекта программного комплекса «Автоматизированная WEB-система тестирования студентов», в дальнейшем именуемое как «комплекс», «система», «программное средство», «программный продукт».

Список терминов, сокращений и определений:

– БД - база данных.

– Аккаунт - это учетная запись, где хранится персональная информация пользователя для входа на сайт.

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

– Сессия - это механизм, позволяющий однозначно идентифицировать браузер и создающий для этого браузера файл на сервере, в котором хранятся переменные сеанса.

– Словарь - Категорирование терминов.

– Термин - Категорирование тестов.

– Категорирование - разбиение по категориям.

– Тест - это кратковременное, сравнительно просто обставленное испытание, проводимое в равных для всех испытуемых условиях. С помощью тестов производится тестирование.

– Тестирование - это специально разработанная научно оптимизированная аттестационная процедура, позволяющая максимально объективно оценивать уровень достижений человека и выражать эти возможности количественно в форме чисел.

– Спам - нежелательная реклама.

– Спам - программа - программа рассылающая спам.

– Регистрация - инициализация пользователя в системе, выделение ему прав доступа и привилегий.

– Незарегистрированный пользователь - человек, не прошедший регистрацию.

– Права доступа - совокупность правил, регламентирующих порядок и условия доступа субъекта к информации. Права определяют набор действий(чтение, запись, выполнение), разрешенных для выполнения субъектам(пользователям системы) над объектами данных.

– Преподаватель - физическое лицо, зарегистрированное в системе с возможностями создавать и редактировать тесты и вопросы в них, проверять ответы студентов, создавать и удалять словари и термины в них.

– Студент (от лат. studens -- усердно работающий, занимающийся) -- учащийся высшего, в некоторых странах среднего, учебного заведения.

– Массовая регистрация - регистрация студентов в системе в одно действие преподавателя, с выдачей логинов и паролей для каждого студента.

– Вопрос с рукописным ответом - это такой тип вопроса, в котором студент может написать свой ответ в свободной форме. После чего этот ответ будет проверен преподавателем.

– Вопрос - порядок - такой тип вопроса, в котором студенту необходимо выстроить подвопросы(действия, даты и прочее) в правильном порядке.

– Вопрос - соответствие - такой тип вопроса, в котором студенту необходимо сопоставить подвопросы и правильные ответы.

– Электронный ящик пользователя - адрес электронной почты пользователя.

– Электронная почта - технология и предоставляемые ею услуги по пересылке и получению электронных сообщений (называемых «письма» или «электронные письма») по компьютерной сети.

2. ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ

2.1 Физическая модель

Структура физической модели данных показана в таблицах 1-21

Таблица 1 - Структура таблицы User

uid*

FIO

Login

Pass

E_mail

Код пользователя

Фамилия, имя и отчество пользователя

Логин

Пароль

Электронный адрес

Int

Varchar(50)

Varchar(16)

Varchar(16)

Varchar(50)

Таблица предназначена для хранения списка пользователей и информации о них.

Таблица 2 - User_role

Uid*

Rid*

Код пользователя

Код прав доступа

Int

Int

Таблица предназначена для хранения информации о том, какими правами обладает какой-либо пользователь.

Таблица 3 - Role

Rid*

Name

Код прав доступа

Название

Int

Varchar(50)

Таблица предназначена для хранения списка привилегий.

Таблица 4 - Test_role

Tid*

Rid*

Код теста

Код прав доступа

Int

Int

Таблица хранит информацию о том, для каких привилегий доступен текущий тест.

Таблица 5 - Tests

Tid*

Title

Body

Tsid

Код теста

Название

Описание

Код настроек

Int

Varchar(50)

Text

int

Таблица хранит в себе информацию о тесте.

Таблица 6 - Test_settings

Tsid*

Код настроек

Int

Random

Случайный порядок для вопросов

Int

Bin_setting

Настройки теста

Int

View_res

Отображение результатов

Int

View_good_res

Отображение правильных результатов

Int

Count_try

Число попыток

Int

Date_start

Дата начала тестирования

Date

Date_stop

Дата окончания тестирования

Date

Percent

Процент прохождения теста

Int

P_good

Текст при положительном результате

Text

P_bad

Текст при отрицательном результате

Text

Таблица Test_settings содержит в себе информацию о настройках теста.

Таблица 7 - Test_comment

Tsid*

Tcid*

Код настроек

Код комментариев

Int

int

Таблица содержит информацию о том, каким настройкам соответствуют какие комментарии.

Таблица 8 - Comment

Tcid*

Percent_min

Body

Percent_max

title

Код комментария

Минимальный процент

Текст оценки

Максимальный процент

Название оценки

Int

Int

Text

Int

Varchar(50)

Таблица хранит в себе комментарии по результату прохождения теста.

Таблица 9 - User_comment

Uid*

Tcid*

Код пользователя

Код коментария

Int

int

Таблица хранит информацию о том, какому пользователю присваивается данный комментарий.

Таблица 10 - Session

Sid*

Uid

Session

Код сессии

Код пользователя

Информация о сессии

Int

Int

text

Таблица хранит информацию о сессии пользователя.

Таблица 11 - Results

Uid*

Qid*

Tid*

Percent

Ball

Код пользователя

Код вопроса

Код теста

Процент

Балл

Int

Int

Int

Int

Int

Таблица хранит информацию о результатах пройденного теста.

Таблица 12 - Test_question

Tid*

Qid*

Код теста

Код вопроса

Int

int

Таблица содержит список соответствия между тестами и вопросами.

Таблица 13 - Question

Qid*

Body

Sid

Tid

Код вопроса

Текст вопроса

Настройки вопроса

Тип вопроса

Int

Text

Int

int

Таблица содержит список вопросов.

Таблица 14 - Types

Tid*

Sid

Title

Код типа вопроса

Код настроек

Заголовок

Int

Int

Varchar(50)

Таблица содержит список типов вопросов.

Таблица 15 - Setting

Sid*

Multy

Random

Код настроек

Множественный выбор ответов

Случайный порядок для ответов

Int

int

Int

Таблица содержит настройки к текущему вопросу.

Таблица 16 - Aidqid

Aid*

Qid*

Код ответа

Код вопроса

Int

int

Таблица хранит все ответы к текущему вопросу.

Таблица 17 - Answer

Aid*

Body

Answer

Код ответа

Текст ответа

Маркер правильного ответа

Int

Text

int

Таблица содержит в себе правильный ответ.

Таблица 18 - Test_term

Test_id*

Term_id*

Код теста

Код термина

Int

Int

Таблица содержит в себе информацию о том, к какому термину принадлежит какой тест.

Таблица 19 - Termin

Tid*

Title

Код термина

Заголовок

Int

Varchar(50)

Таблица хранит список терминов для категорирования тестов.

Таблица 20 - Vidtid

Vid*

Tid*

Код словаря

Код термина

Int

Int

Таблица содержит информацию о том, к какому словарю относится какой термин.

Таблица 21 - Vocabulary

Vid*

Title

Код словаря

Заголовок

Int

Varchar(50)

Таблица содержит категории терминов.

2.2 Диаграмма модели «сущность-связь»

Диаграмма, показывающая связи между таблицами показана на рисунке 1.

Рисунок 1 - Диаграмма модели «сущность-связь».

2.3 Список объектов и их свойств

Предметная область включает в себя следующие предметы и их свойства.

а) Список пользователей. Поля:

1) Код пользователя

2) Ф.И.О. пользователя

3) Логин

4) Пароль

5) Электронный адрес

б) Список соответствия привилегий и пользователей. Поля:

1) Код пользователя

2) Код привилегии

в) Список привилегий пользователей. Поля:

1) Код привилегии

2) Название привилегии

г) Список соответствия привилегий и тестов. Поля:

1) Код теста

2) Код привилегии

д) Список тестов. Поля:

1) Код теста

2) Название теста

3) Описание теста

4) Код настроек для текущего теста

е) Список настроек текущего теста. Поля:

1) Код настроек

2) Случайный порядок для вопросов

3) Основные настройки теста

4) Результаты ответов на вопросы

5) Правильные ответы

6) Число попыток

7) Дата доступности теста

8) Дата блокировки теста

9) Проход теста в процентах

10) Текст при положительном результате

11) Текст при отрицательном результате

ж) Список соответствия настроек к тесту и комментариев. Поля:

1) Код настроек

2) Код комментариев

з) Список комментариев по результату. Поля:

1) Код комментариев

2) Минимальный процент

3) Текст при достижении минимального процента

4) Максимальный процент

5) Заголовок результата

и) Список соответствия пользователей и комментариев по результатам. Поля:

1) Код комментария

2) Код пользователя

к) Список сессий. Поля:

1) Код сессии

2) Код пользователя

3) Информация о сессии пользователя

л) Список результатов по тесту. Поля:

1) Код пользователя

2) Код вопроса

3) Код теста

4) Процент правильных ответов

5) Балл

м) Список соответствия между тестами и вопросами. Поля:

1) Код теста

2) Код вопроса

н) Список вопросов. Поля:

1) Код вопроса

2) Текст вопроса

3) Тип вопроса

4) Настройки для текущего вопроса

о) Список типов вопросов. Поля:

1) Код типа вопроса

2) Код настроек

3) Заголовок типа вопроса

п) Список настроек для вопроса. Поля:

1) Код настроек

2) Множественный выбор ответов

3) Случайный порядок для ответов

р) Список ответов к текущему вопросу. Поля:

1) Код вопроса

2) Код ответа

с) Таблица с правильным ответом. Поля:

1) Код ответа

2) Текст ответа

3) Маркер правильного ответа

т) Список соответствия терминов и тестов. Поля:

1) Код теста

2) Код термина

у) Список терминов для категорирования тестов. Поля:

1) Код термина

2) Заголовок термина

ф) Список соответствия словарей и терминов. Поля:

1) Код словаря

2) Код термина

х) Список словарей. Поля:

1) Код словаря

2) Название словаря

2.4 Описание процессов

2.4.1 Регистрация

Процесс регистрации показан на рисунке 2.

Размещено на http://www.allbest.ru/

Рисунок 2 - Регистрация пользователя в системе.

2.4.2 Тестирование

Процесс тестирования показан на рисунке 3.

Размещено на http://www.allbest.ru/

Рисунок 3 - Тестирование.

2.4.3 Формирование статистики

Процесс формирования статистики показан на рисунке 4.

Размещено на http://www.allbest.ru/

Рисунок 4 - Формирование статистики.

2.4.4 Защита от несанкционированного доступа

Процесс защиты основан на генерации «капчи». «Капча» - от англ. CAPTCHA, «Completely Automated Public Turing test to tell Computers and Humans Apart» - «полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей». Тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером.

Процесс генерации «капчи» показан на рисунке 5.

Размещено на http://www.allbest.ru/

Рисунок 5 - Процесс генерации «капчи».

2.4.5 Массовая регистрация пользователей

Процесс массовой регистрации пользователей показан на рисунке 6.

Размещено на http://www.allbest.ru/

Рисунок 6 - Массовая регистрация пользователей.

2.4.6 Создание теста

Процесс создания теста показан на рисунке 7.

Размещено на http://www.allbest.ru/

Рисунок 7 - Создание теста.

2.4.7 Создание вопроса

Процесс создания вопроса показан на рисунке 8.

Размещено на http://www.allbest.ru/

Рисунок 8 - Создание вопроса.

2.5 Зависимости ПС

Для работы приложения на стороне сервера необходимо:

– WEB-сервер Apache.

– Библиотека PHP.

– База данных MySQL.

– Поддержка браузерами HTML 5.0, CSS 3.0, JavaScript 2.0 и jQuery 1.6.

Для работы приложения на стороне клиента необходимо:

– Internet Explorer (версия 6.0 и выше).

– Opera (версия 7.0 и выше).

– Mozilla Firefox (версия 2.0 и выше).

– Google Chrome.

3. ОПИСАНИЕ ПРОГРАМНОГО СРЕДСТВА

3.1 Сведения о работе ПС

Ниже будут описаны основные моменты о работе ПС.

3.1.1 Учетная запись незарегистрированного пользователя

Любой пользователь, зашедший на сайт тестирования, будет видеть главную страницу (см. рисунок 9).

Рисунок 9 - Главная страница.

На главной странице отображается блок регистрации и авторизации, механизм защиты «капча», а так же созданные тесты. Незарегистрированный пользователь может пройти тестирование только тех тестов, которые на данный момент доступны. Он может использовать блок категорирования по дисциплинам и специальностям для быстрого поиска интересующих тестов (см. рисунок 10).

Рисунок 10 - Категорирование тестов.

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

3.1.2 Учетная запись зарегистрированного пользователя

Каждый зарегистрированный пользователь может пройти тестирование по интересующей его дисциплине (см. рисунок 11). Учетная запись зарегистрированного пользователя отличается от учетной записи незарегистрированного пользователя тем, что результаты прохождения его теста будут сохранены в БД.

Рисунок 11 - Учетная запись зарегистрированного пользователя.

3.1.3 Учетная запись преподавателя

Преподаватель - это пользователь системы, наделенный определенными правами доступа и привилегиями (см. рисунок 12).

Рисунок 12 - Учетная запись преподавателя.

На рисунке 12 показан блок создания материалов (тестов и вопросов), а так же все раннее созданные тесты.

Преподаватель может создавать, удалять и редактировать тесты и вопросы. Имеет доступ к результатам тестирования. Может создавать свои словари и термины в них. А так же может выставлять свой бал за каждый полностью правильный ответ.

3.1.4 Учетная запись администратора

Администратор обладает всеми теми же правами и привилегиями что и преподаватель, кроме одной особенности. Только администратор имеет право делать из зарегистрированного пользователя преподавателя (см. рисунок 13).

Рисунок 13 - Аккаунт преподавателя.

3.2 Порядок использования ПС

Когда пользователь захочет зарегистрироваться ему будет представлена форма (см. рисунок 14) на которой отображены поля имени пользователя, его электронного адреса и пароля для входа в систему.

Рисунок 14 - Форма регистрации.

После успешной регистрации пользователю на электронный ящик будет выслано сообщение с подтверждением о регистрации, а затем будет осуществлен переход на форму главной страницы (см. рисунок 15). На главной странице отображены поля поиска по сайту, блок создания различных материалов, список существующих материалов, а так же блок категорирования по разным терминам.

Рисунок 15 - Форма главной страницы.

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

3.2.1 Создание теста

Для того чтобы начать создание теста, необходимо выбрать в блоке «Создание материала» пункт «Тест» (см. рисунок 16).

Рисунок 16 - Меню пользователя.

Далее Вы попадете на форму создания теста (см. рисунок 17).

Рисунок 17 - Создание материала «Тест».

На этой форме Вы можете указать название теста, соотнести его к какому-либо словарю и дать описание для теста. Далее идут гибкие настройки тестирования (см. рисунок 18).

Рисунок 18 - Настройка тестирования.

В настройках тестирования Вы можете выбрать следующие пункты:

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

– Разрешить пропустить вопрос. Этот пункт позволит пропустить вопросы в тесте.

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

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

– Сортировать вопросы в случайном порядке. Если отмечен пункт «Случайный порядок», то все вопросы будут сортироваться случайным образом.

Если вам захочется показать результаты прохождения теста пользователю, то Вы можете выбрать следующие настройки:

– В конце теста.

– После каждого вопроса.

– Не показывать.

– Показывать правильные ответы. Если в этом пункте стоит галочка, то пользователь увидит правильные ответы. Применять данную настройку можно при прохождении пробного тестирования по какой-либо дисциплине.

Вы можете установить настройки доступности теста (см. рисунок 19).

Рисунок 19 - Настройки доступности теста.

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

Если Вы хотите определить порог прохождения теста, то это можно сделать с помощью формы прохождения теста в процентах (см. рисунок 20).

Рисунок 20 - Форма прохождения теста в процентах.

Также Вы можете ввести определенный текст, который будет выводиться на экран при достижении какого-либо результата. Если же Вам нужна более гибкая шкала оценки, Вы можете воспользоваться расширенной формой процентной настройки (см. рисунок 21).

Рисунок 21 - Расширенная настройка оценки.

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

3.2.2 Создание вопроса

После того как тест был создан можно приступить к созданию вопросов для него. Для этого необходимо выбрать в меню пользователя (см. рисунок 16) пункт «Создание материала». Перед вами откроется форма создания различных типов материалов (см. рисунок 22).

Рисунок 22 - Создание материалов.

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

Для создания вопроса с одним или несколькими правильными ответами необходимо кликнуть мышью на надпись «Вопрос с несколькими правильными ответами», после чего перед Вами откроется форма создания данного типа вопросов (см. рисунок 23).

Рисунок 23 - Форма создания вопроса с несколькими правильными ответами.

В данной форме Вы можете ввести текст своего вопроса и выбрать настройки для ответа. Пункт «Множественный ответ» указывает на то, сколько правильных ответов в данном вопросе, один или несколько. Если галочки рядом с данным пунктом нет, значит вопрос с несколькими правильными ответами автоматически становится вопросом с одним правильным ответом. Пункт «Случайный порядок» позволяет сортировать ответы по данному вопросу в случайном порядке, что поможет исключить возможность подсказки студентов друг другу. После того, как Вы указали все настройки, Вам необходимо указать правильные ответы для этого вопроса (см. рисунок 24).

Рисунок 24 - Форма правильных ответов для вопроса с многими правильными ответами.

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

Для создания вопроса с рукописным ответом выбираем в меню пользователя (см. рисунок 16) соответствующий пункт. Перед Вами появиться форма создания вопроса с рукописным текстом (см. рисунок 25).

Рисунок 25 - Форма создания вопроса с рукописным ответом.

На данной форме достаточно просто ввести текст вопроса и определить, к какому тесту будет относиться этот вопрос. Суть вопроса с рукописным ответом состоит в том, что после прохождения теста пользователем, преподавателю придется проверить этот ответ лично, и поставить соответствующий бал. Затем Вы можете добавить вопрос в уже существующий тест или в несколько тестов, или же создать для данного вопроса новый тест.

Для создания вопроса - соответствия выбираем в меню пользователя (см. рисунок 16) соответствующий пункт. Перед Вами появиться форма создания вопроса - соответствия (см. рисунок 26).

Рисунок 26 - Форма создания вопроса соответствия.

На данной форме Вам нужно указать пояснение к подвопросам, чтобы пользователь понял, как ему отвечать на вопрос. Этот тип вопроса, можно легко превратить в вопрос - порядок, если вместо подвопросов поставить числа. Затем Вы можете добавить вопрос в уже существующий тест или в несколько тестов, или же создать для данного вопроса новый тест.

После того, как все вопросы созданы, и часть из них добавлена в тест, вы можете добавить оставшиеся вопросы в интересующие вас тесты с помощью пункта «Управление вопросами». Для этого нужно зайти в интересующий вас тест и перейти по соответствующей ссылке в форму управления вопросами (см. рисунок 27).

Рисунок 27 - Форма управления вопросами.

На данной форме Вы можете увидеть все вопросы, которые уже добавлены в тест, их тип и максимальное количество баллов за полностью правильный ответ, а так же список вопросов, которые не включены ни в один тест. Затем Вы можете добавить интересующие Вас вопросы в свой тест.

После того, как Ваш тест полностью готов для тестирования нужно зарегистрировать студентов в системе. Для этого используется массовая регистрация пользователей (см. рисунок 28).

Рисунок 28 - Массовая регистрация пользователей.

На этой форме Вам необходимо указать уникальный префикс, который в дальнейшем будет использован как логин, и указать термины в словарях, по которым будет идти выборка для выделения пароля и логина для входа в систему. А так же нужно указать количество пользователей, для которых нужно выделить логины и пароли.

Теперь пользователь может проходить тестирование.

тестирование студент сайт настройка

3.2.3 Тестирование

Пользователю необходимо выбрать тест и нажать кнопку «Начать тестирование», после чего, запустится тестирование (см. рисунок 29).

Рисунок 29 - Тестирование.

После того, как пользователь прошел тестирование на экране появится его результат.

Преподаватель имеет возможность просмотреть все результаты по всем пользователям и по каждому пользователю в отдельности (см. рисунки 30 и 31).

Рисунок 30 - Результаты по всем пользователям.

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

Рисунок 31 - Расширенные результаты по каждому пользователю.

В этой форме преподаватель может просмотреть результат прохождения теста по конкретному пользователю и оценить вопросы с рукописным ответом, если таковые имеются.

ЗАКЛЮЧЕНИЕ

В ходе работы над выпускной квалификационной работой было проанализировано множество систем интернет тестирования, выявлено множество плюсов и минусов и все они были учтены при разработке данного ПС. Созданный программный продукт отвечает всем поставленным требованиям и включает в себя:

– Блок регистрации и авторизации.

– Категорирование страниц сайта по различным терминам.

– Создание теста с гибкими настройками.

– Создание различных типов вопроса.

– Использование групповой политики доступа. Студент, незарегистрированный пользователь, администратор и преподаватель.

– Назначение максимального количества баллов за каждый полностью правильный ответ.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ИНФОРМАЦИИ

1 PHP, MySQL и другие веб-технологии[Электронный ресурс]: техническая документация по работе с PHP и MySQL - PHP: PHP.SU 2006 - 2011. - Режим доступа: www. URL: http://www.phpfaq.ru/sessions - 17.05.2011.

2 Википедия свободная энциклопедия [Электронный ресурс]: международная свободная энциклопедия. - Wikipedia: ru.wikipedia.org, 2003-2011. - Режим доступа: www. URL: http:// www.ru.wikipedia.org/. - 5.06.2011.

3 Котеров Д.В. и Кастарев А.Ф. «PHP 5 в подлиннике. Наиболее полное руководство» 2005г. Изд.:BHV. - 1104 с.

4 Дэвид Мак Фарланд «Java Script. Подробное руководство» 2009г. Изд.:Эксмо. - 608 с.

5 MySQL Documentation: MySQL Reference Manuals[Электронный ресурс]: техническая документация по работе с MySQL. - MySQL Documentation, 2010. Режим доступа: www. URL: http://dev.mysql.com/ - 10.05.2011.

ПРИЛОЖЕНИЕ А

Ниже представлен исходный код основных функций программного средства.

А.1 Функция добавления пользователя в БД.

<?php

function insertUser()

{

if( isset($_SESSION['login']) && isset($_SESSION['password']) && isset($_SESSION['passwordagain']) && isset($_SESSION[email]) )

{

if($_SESSION['password'] == $_SESSION['passwordagain'])

{

$res = mysql_query("SELECT * FROM User_List WHERE Login = '$_SESSION[login]' ; ")or die("ERROR ".mysql_error());

$num = mysql_num_rows($res);

if($num == '0')

{

$s = strftime("%S")+1;

$m = strftime("%M")+1;

$h = strftime("%H")+1;

$d = strftime("%d")+1;

$mm =strftime("%m")+1;

$id = $s * $m * $h *$d *$mm;

$res = mysql_query("INSERT INTO User(UID,Login,Pass,Email,init)

VALUES('$id','$_SESSION[login]','$_SESSION[password]','$_SESSION[email]','0'); ")or die("ERROR ".mysql_error());

if(res)

{

//$_SESSION['message'] = "Регистрация прошла успешно.";

include_once("auth.php");

additionalData();

verification();

}

echo"$res";

}

else

$_SESSION['message'] = "Данный логин уже зарегистрирован в системе.";

}

else

$_SESSION['message'] = "Несовпадение паролей.";

}

else

$_SESSION['message'] = "Заполните все поля.";

}

?>

А.2 Функция авторизации пользователя.

<?php

function authorization()

{?>

<div id="content">

<div id="posts">

<div class="post">

<h2 class="title">Авторизация : </h2>

<form method = post>

<table>

<tr>

<td><p>Логин:</p></td>

<td><input type=text name=login value='<?= $_SESSION['login']; ?>'><br></td>

</tr>

<tr>

<td><p>Пароль:</p></td>

<td><input type=password name=password value='<?= $_SESSION['password']; ?>'><br></td>

</tr>

<tr>

<table cellpadding="11">

<td></td>

<td> <a href="index.php?act=registration">Регистрация</a></td>

<td><input type = submit value = Войти></td>

</table>

</tr>

</table>

</form>

<?php

if(isset($_SESSION['message']))

{?>

<div id="content">

<div id="posts">

<div class="post">

<div class="story">Сообщение :

<?php

echo" $_SESSION[message] ";

unset($_SESSION['message']);

?>

</div>

</div>

</div>

</div>

<?php

}?>

</div>

</div>

</div>

<?php

}?>

А.3 Проверка данных пользователя.

<?php

function verification()

{

include_once("db.php");

if( isset($_SESSION['login']) && isset($_SESSION['password']) && !empty($_SESSION['login']) && !empty($_SESSION['password']) )

{

$res = mysql_query("SELECT * FROM User WHERE Login = '$_SESSION[login]' AND Pass = '$_SESSION[password]' ; ")or die("ERROR ".mysql_error());

$num = mysql_num_rows($res);

if($num == '0')

{

$res = mysql_query("SELECT * FROM User WHERE Login = '$_SESSION[login]' ; ")or die("ERROR ".mysql_error());

$num = mysql_num_rows($res);

if( $num == '0' )

$_SESSION['message'] = "Данный логин не зарегистрировани в системе.";

else

$_SESSION['message'] = "Неверная комбинация лигина и пароля.";

}

else

{

$tmp = mysql_fetch_array($res);

$_SESSION['UID'] = $tmp['UID'];

if( !get_magic_quotes_gpc() )

{

$_SESSION['login'] = mysql_escape_string($_SESSION['login']);

$_SESSION['pass'] = mysql_escape_string($_SESSION['pass']);

}

$_SESSION['login'] = $_SESSION['login'];

$_SESSION['pass'] = $_SESSION['pass'];

unset($_GET['act']);

unset($_SESSION['login']);

unset($_SESSION['pass']);

echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?act=groups'></HEAD></HTML>";

}

}

else

$_SESSION['message'] = "Пожалуйста, заполните поля: Логин и Пароль.";

}?>

А.4 Функция вывода на экран полей регистрации.

<?php

function registration()

{?>

<div id="content">

<div id="posts">

<div class="post">

<h2 class="title">Регистрация : </h2>

<form method = post>

<table>

<tr>

<td><p>Логин:</p></td>

<td><input type=text name=login value=''><br></td>

</tr>

<tr>

<td><p>Пароль:</p></td>

<td><input type=password name=password value=''><br></td>

</tr>

<tr>

<td><p>Пароль повторно:</p></td>

<td><input type=password name=passwordagain value=''><br></td>

</tr>

<tr>

<td><p>E-mail:</p></td>

<td><input type=text name=email value=''><br></td>

</tr>

<tr>

<td></td>

<td><input type = submit value = 'Регистрация' ></td>

</tr>

</table>

</form>

<?php

if(isset($_SESSION['message']))

{?>

<div id="content">

<div id="posts">

<div class="post">

<div class="story">Сообщение :

<?php

echo" $_SESSION[message] ";

unset($_SESSION['message']);

?>

</div>

</div>

</div>

</div>

<?php

}?>

</div>

</div>

</div>

<?php }?>

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.