Создание тренажерно-тестирующей системы
Разработка тренажерно-тестирующей системы в виде сайта, с целью создания и хранения справочной информации и тестовых заданий для студентов. Анализ статистики прохождения тестов пользователями. Логическая структура реляционной базы данных задачи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 05.10.2013 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Создание тренажерно-тестирующей системы
Содержание
1. Введение
2. Анализ предметной области
2.1 Описание предметной области и функции решаемой задачи
2.2 Документы предметной области, содержащие информацию, необходимую для решения задачи
3. Постановка задачи
3.1 Организационно-экономическая сущность задачи
3.2 Описание выходной информации
3.3 Описание входной информации
4. Разработка информационного обеспечения задачи
4.1 Информационный анализ предметной области и выделение информационных объектов задачи
4.2 Определение связей информационных объектов и построение ИЛМ
4.3 Определение логической структуры реляционной базы данных
4.4 Исходные данные контрольного примера
5. Разработка алгоритмов и технологии решения задачи
5.1 Технология ввода и накопления входной информации, обеспечивающей решение задачи
5.2 Определение макета форм ввода-вывода для загрузки в БД входной информации
5.3 Обобщенный алгоритм решения задачи и его декомпозиция на модули (функции)
5.4 Детальные алгоритмы реализации отдельных модулей задачи.
6. Руководство администратора
6.1 Системные и технические требования
6.2 Подготовка к работе
6.2.1 Подготовка веб-сервера
6.2.2 Подготовка базы данных
6.3. Вход в систему
6.4 Просмотр таблиц пользователей
6.5 Работа с пользователями
6.5.1 Общие положения
6.5.2 Регистрация пользователя
6.5.3 Подписка пользователя на тест
6.5.4 Удаление пользователя
6.5.5 Удаление просроченных пользователей
6.6 Работа с тестами
6.6.1 Формат тестов РВУ
6.6.2 Добавление нового теста
6.7 Статистика
6.7.1 По тестам
6.7.2 По пользователям
6.7.3 Список всех пользователей
7. Литература
Приложение 1. Логическая структура реляционной базы данных задачи
1. Введение
тестовый студент база данные
Предметной областью является система тестирования знаний учащихся. Теория систем тестирования и тренажерных систем является одной из наиболее развитых педагогических теорий.
Современная педагогическая наука считает тестирование основой контроля знаний. Именно на нем построены системы обучения во многих западных странах. Широко известны примеры, такие как:
· «К12» - системам обучения студентов/школьников в Соединенных Штатах Америки. Основным принципом в системе «К12» считается полностью самостоятельное обучение дисциплинам по заданной литературе. Контроль знаний осуществляется через тестирования.
· «BrainBench» - http://www.brainbench.com/xml/bb/homepage.xml . Очень известная система тестирования, как за границей, так и в России. Это платная система контроля знаний по различным отраслям деятельности и науки. Не предоставляет учебный или справочный материал, оставляя выбор источников информации обучаемому.
· «Система дистанционного обучения ОмГУ» - http://www.do.omskreg.ru . Система тестирования абитуриентов по математике. В этой системе представлены материалы, подготовленные опытными преподавателями и специалистами ОмГУ.
· «Омский виртуальный университет» - http://omsk.openet.ru . Это региональный образовательный портал, открытый на базе Омского Государственного Университета в соответствие с договором с Российским государственным институтом открытого образования (РГИОО), г. Москва. Последний является головной организацией в научно-технической программе Минобразования РФ «Создание системы открытого образования».
К основным признакам системы тестирования относятся:
· регистрация тестируемого (имя, фамилия, идентификатор, пароль, и т.д.);
· системам добавления правил работы с тестом (краткое описание целей и задач, правила работы с материалом, условия доступа к системе тестирования и т.д.);
· система представления вопросов и ответов на вопросы (например: один вопрос - три варианта ответа - один верный);
· система хранения, добавления и редактирования вопросов и ответов на вопросы;
· система ведения статистики;
· система выдачи сертификатов;
· система регистрации тестирования в глобальной педагогической сети.
Система тестирования знаний абитуриентов и студентов является частью тренажерно-тестирующей системы ОмГУ.
2. Анализ предметной области
2.1 Описание предметной области и функции решаемой задачи
В предметной области комплекса задач, к которому относится задача создания тренажерно-тестирующей системы, рассматриваются процессы создания и хранения справочной информации и тестовых заданий, анализ статистики прохождения тестов пользователями, учет и анализ оплаты за представленную информацию.
К функциям, которые должны быть реализованы в рассматриваемой задаче, относятся:
· учет оплаты информационных услуг пользователями;
· ведение статистики прохождения пользователями тестов;
· создание учебно-методического материала и хранение его в базе данных;
· создание тестирующей системы.
Из общего описания предметной области известен ряд ограничений, существенных для процессов, которые относятся к рассматриваемой задаче. Тесты и справочная информация создаются преподавателем и/или группой преподавателей. Один пользователь не может иметь больше одного учетного номера, а, следовательно, и не больше одного логина и пароля. Один пользователь может пользоваться несколькими тестами или группами тестов, при условии, что он имеет разрешение на доступ к ним (т.е. пользование тестом оплачено). Предполагается, что пользователь обладает электронным почтовым ящиком. Это необходимо для оперативной связи с пользователем - на адрес его электронного почтового ящика будет высылаться образец формы для оплаты услуг, подтверждение о регистрации, логин и пароль. Также предполагается, что пользователь имеет доступ в Интернет.
2.2 Документы предметной области, содержащие информацию, необходимую для решения задачи
Входная информация задачи «Создание тренажерно-тестирующей системы» разделяется на условно-постоянную и оперативно-учетную информацию.
Условно-постоянная информация, необходимая для решения этой задачи, включает справочные материалы и тесты по разным дисциплинам. Эту информацию предоставляет преподаватель и/или группа преподавателей. Для регистрации пользователя необходима информация о нем: ФИО, полный почтовый адрес, адрес электронной почты, номер телефона. Для того, чтобы выдать пользователю логин и пароль, тем самым разрешить ему доступ к информации, необходимо получить подтверждение об оплате пользователем услуг.
Входная информация, содержащая данные оперативного учета, включает данные о прохождении пользователем тестов, рекомендации преподавателя абитуриенту или студенту, в зависимости от результатов прохождения тестов.
3. Постановка задачи
3.1 Организационно-экономическая сущность задачи
В настоящее время уже существуют и успешно функционируют проекты, которые являются либо тестирующими, либо тренажерными. В данной системе воплощена попытка объединения выше названных особенностей. Кроме того, в связи с развитием сети Интернет, ОмГУ получает дополнительную возможность рекламирования и предложения образовательных услуг. В связи с развитием рынка платных услуг данная система призвана быть каналом для поступления дополнительных финансовых потоков в вуз. Система обеспечивает автоматизацию образовательного процесса для абитуриентов вуза желающих проверить свою готовность к экзаменам, потренироваться в ответах на экзаменационные вопросы и обеспечивает объективную оценку знаний в интерактивном режиме.
Проект выполнен в виде сайта, где справочная и другая статическая информация хранится в html-файлах, а тесты и другая динамическая информация хранится в базе данных MSSQL 2000, к которой обращаются скрипты PHP. Ведется система регистрации и учета пользователей, информация о которых также заносится и хранится в базе данных. Пользователь может посмотреть статистику своего прохождения тестов и сравнить свои показатели с другими пользователями.
3.2 Описание выходной информации
Выходной информацией задачи для пользователя являются:
· результат о прохождении теста;
· рекомендации преподавателя повторить те или иные главы учебного материала.
Эти данные должны выводиться на экран интернет-браузера пользователя.
3.3 Описание входной информации
Для создания нового теоретического раздела преподаватель и/или группа преподавателей предоставляют необходимые данные для создания новых html-страниц, которые администратор выложит на сайт. Это статическая информация.
Для создания нового теста нужно:
· создать файл теста в формате тестов РВУ (пример ниже), при условии, что данная система поддерживает вопросы с единственным верным вариантом ответа;
· поместить этот файл на сервер;
· вызвать скрипт newtest.php, которому нужно передать имя созданного файла;
Формат файла для создания нового теста. Форма 1.
№ строки в файле |
Описание строки |
|
1 |
Название теста (группы вопросов). |
|
2 |
<$:TestPortion: XX (где XX - количество задач, выдаваемых за тест) |
|
3 |
--/New Question/-- |
|
4 |
<$:QuestionType:1 (не используется, добавлено для совместимости) |
|
5 |
<$:QuestionBody:YYY (где YYY - само тело вопроса) |
|
6 |
<$:Variants: |
|
7 |
1-й вариант ответа |
|
8 |
2-й вариант ответа |
|
… |
N-й вариант ответа |
|
<$:RightAnswers:ZZZ (где ZZZ - строка правильных ответов) |
||
<$:Difficulty:1 (не используется, добавлено для совместимости) |
||
--/end/-- |
||
--/New Question/-- |
||
… |
||
--/end/-- |
Пример файла для создания нового теста:
№ строки в файле |
Содержание строки |
|
1. |
Тест по школьной физике №3 |
|
2. |
<$:TestPortion:10 |
|
3. |
--/New Question/-- |
|
4. |
<$:QuestionType:1 |
|
5. |
<$:QuestionBody:Консервативной является... |
|
6. |
<$:Variants: |
|
7. |
сила тяжести |
|
8. |
сила трения |
|
9. |
сила Ампера |
|
10. |
<$:RightAnswers:1 0 0 |
|
11. |
<$:Difficulty:1 |
|
12. |
--/end/-- |
|
13. |
--/New Question/-- |
|
14. |
<$:QuestionType:1 |
|
15. |
<$:QuestionBody:Индукция магнитного поля измеряется в СИ: |
|
16. |
<$:Variants: |
|
17. |
Тл (теслах) |
|
18. |
Гн (генри) |
|
19. |
Ф (фарадах) |
|
20. |
<$:RightAnswers:1 0 0 |
|
21. |
<$:Difficulty:1 |
|
22. |
--/end/-- |
Замечание: Подробнее о формате файлов РВУ Вы можете прочитать в «Руководстве Администратора»
При регистрации нового пользователя необходимы некоторые данные о нем. Эти данные будут использоваться преимущественно для связи с пользователем: при подтверждении регистрации, для выдачи логина и пароля и для связи преподавателя с пользователем.
Данные пользователя. Форма 2.
1. 1. Имя;
2. Отчество;
3. Фамилия;
4. Почтовый индекс;
5. Край / регион;
6. Город;
7. Улица;
8. Номер дома, квартиры;
9. Email;
10. Телефон (не обязательно).
4. Разработка информационного обеспечения задачи
Разработка информационного обеспечения включает подготовку документов, содержащих информацию, необходимую для решения задачи, и анализ этой информации. Такой анализ позволит произвести формализацию данных, которая имеет целью их однозначное определение для хранения, поиска и обработки во внутримашинной сфере.
Для организации информационной базы будем использовать реляционную СУБД. Поэтому должна быть разработана логическая структура реляционной базы данных, на основе которой будет осуществляться решение задачи. Используем процессный подход к разработке базы данных, определяя состав только тех данных, которые необходимы для получения выходной информации задачи
4.1 Информационный анализ предметной области и выделение информационных объектовзадачи.
Произведем анализ исходной информации предметной области с целью определения состава и структуры информации для последующей формализации и построения информационно-логической модели данных (ИЛМ). Приведенные выше формы входных документов, а также дополнительные сведения из описания предметной области позволяют определить роль реквизитов во взаимосвязанной полученной информации. На основе такого анализа установим функциональные зависимости реквизитов в соответствии с рекомендациями и требованиями нормализации данных.
Рассмотрим информацию, содержащуюся в форме регистрации пользователя (Форма 2). В ней содержатся реквизиты, общие для всей формы. Причем каждый из них имеет единственное значение. Среди этих реквизитов особую роль играет e-mail пользователя. Поскольку этот реквизит уникален, то есть его значение не может повториться, он играет роль идентификатора всей информации по пользователю, содержащейся в форме. Остальные реквизиты однозначно определяются e-mail'ом пользователя. Помимо полученных от пользователя данных необходимо учитывать дату и сам факт регистрации, т.е. оплаты права на пользование услугами и выдачи пользователю логина и пароля. В целях экономии дискового пространства нужно завести реквизит уникальный номер пользователя, который будет связывать информацию о пользователе, о его логине/пароле и “истории” прохождения тестов. На основе проведенного анализа установим функциональные зависимости реквизитов регистрационной формы и отобразим их в таблице 2.
Аналогично проанализируем информацию, содержащуюся в форме для создания нового теста (форма 1). В соответствии с описанием предметной области установим функциональные зависимости их реквизитов (табл. 1).
Таблица 1. Функциональные зависимости реквизитов формы создания нового теста.
Наименование реквизитов документа |
Имя реквизита |
Функциональные зависимости |
|
Уникальный номер теста |
Test_Un |
||
Описание теста |
Test_Cont |
||
Имя теста |
TestName |
||
Директория вспомогательных файлов теста |
TestDir |
||
Количество задач, выводимых за тест |
Test_Portion |
||
Уникальный номер задачи |
Task_Un |
||
Номер задачи в тесте |
Task_n |
||
Формулировка задачи |
Task_Cont |
||
Уникальный номер ответа |
Answ_Un |
||
Номер ответа в задаче |
Answ_n |
||
Истинность ответа |
Answ_True |
||
Формулировка ответа |
Answ_Cont |
Таблица 2. Функциональные зависимости реквизитов формы регистрации
Наименование реквизитов документа |
Имя реквизита |
Функциональные зависимости |
|
Уникальный номер пользователя |
Id |
||
Имя |
FName |
||
Отчество |
MName |
||
Фамилия |
LName |
||
Почтовый индекс |
Zip |
||
Край / регион |
Region |
||
Город |
City |
||
Улица |
Street |
||
Номер дома, квартиры |
House |
||
|
|
||
Телефон |
Phone |
||
Логин |
Login |
||
Пароль |
Pwd |
||
Дата регистрации |
RegData |
||
Отметка о регистрации |
Registered |
После прохождения пользователем тестов появится информация о результате прохождения, которую тоже необходимо учитывать и хранить для статистики. Статистика будет вестись не только по пользователям но и по тестам. Кроме того, пользователь может иметь доступ к тесту (т.е. подписан на тест), а может не иметь.
Данные статистики. Форма 3.
1. Идентификатор пользователя, проходившего тест;
2. идентификатор теста;
3. результат (количество баллов);
4. дата прохождения теста;
5. идентификатор задачи;
6. правильность ответа на задачу.
Данные о правах пользователя на тест. Форма 4.
1. Идентификатор пользователя;
2. идентификатор теста;
3. код доступа; (0 - не подписан, 1 - подписан, 2 - тест сдан)
Установим функциональные зависимости реквизитов, учитывая, что один и тот же пользователь может пройти различные тесты с различными результатами. Следовательно, эти данные не уникальны, кроме реквизита дата, при условии, что пользователь не может успеть физически пройти более одного теста за одну минуту (табл. 3).
Таблица 3. Функциональные зависимости реквизитов данных статистики.
Наименование реквизитов документа |
Имя реквизита |
Функциональные зависимости |
|
Идентификатор пользователя |
Id |
||
Идентификатор теста |
Test_Un |
||
Результат |
Points |
||
Дата |
Data |
||
Идентификатор задачи |
Task_Un |
||
Правильность ответа |
Answ_True |
Таблица 4. Информация о правах пользователя на тест
Наименование реквизитов документа |
Имя реквизита |
Функциональные зависимости |
|
Идентификатор пользователя |
Id |
||
Идентификатор теста |
Test_Un |
||
Код доступа |
SubCodes |
Выделение информационных объектов.
Проанализируем установленные функциональные взаимосвязи реквизитов и установим для каждого из зависимых реквизитов, от каких реквизитов он зависит. Результаты отобразим в таблице соответствия зависимых (описательных) и ключевых реквизитов (табл. 5).
Таблица 5. Соответствие описательных и ключевых реквизитов.
Описательные реквизиты |
Ключевые реквизиты |
Название ИО*, в который включается реквизит |
|
Test_Cont |
Test_Un |
Тесты |
|
TestName |
Test_Un |
Тесты |
|
TestDir |
Test_Un |
Тесты |
|
Test_Portion |
Test_Un |
Тесты |
|
Task_n |
Task_Un, Test_Un |
Задачи |
|
Task_Cont |
Task_Un |
Задачи |
|
Answ_n |
Answ_Un, Test_Un |
Ответы |
|
Answ_True |
Answ_Un |
Ответы |
|
Answ_Cont |
Answ_Un |
Ответы |
|
FName |
Id |
Общая информация о пользователе |
|
MName |
Id |
Общая информация о пользователе |
|
Lname |
Id |
Общая информация о пользователе |
|
Zip |
Id |
Общая информация о пользователе |
|
Region |
Id |
Общая информация о пользователе |
|
City |
Id |
Общая информация о пользователе |
|
Street |
Id |
Общая информация о пользователе |
|
House |
Id |
Общая информация о пользователе |
|
|
Id |
Общая информация о пользователе |
|
Phone |
Id |
Общая информация о пользователе |
|
Registered |
Id |
Общая информация о пользователе |
|
Login |
Id |
Зарегистрированные пользователи |
|
Pwd |
Id |
Зарегистрированные пользователи |
|
RegData |
Id |
Зарегистрированные пользователи |
|
Points |
Data, Test_Un, Id |
История пользователя |
|
Answ_True |
Task_Un, Test_Un, Id |
История теста |
|
SubCodes |
Id, Test_Un |
Подписка на тесты |
* ИО - информационный объект.
Таблица 6. Реквизитный состав информационных объектов.
Реквизиты ИО |
Признак ключа |
Имя ИО |
Название ИО |
Семантика (описание) |
|
Test_Un Test_Cont Test_Dir TestName Test_Portion |
* |
TestCom |
Описание тестов |
Общие данные о тесте |
|
Test_Un Task_Un Task_n |
* * |
Tests |
Тесты |
Информация о тестах: какие задачи входят в тест |
|
Task_Un Task_Cont |
* |
Tasks |
Задачи |
Формулировки задач |
|
Answ_Un Answ_n Answ_True Task_Un |
* * |
Answ |
Ответы |
Формулировки ответов и их принадлежность к задачам |
|
Id FName MNane LName Zip Region City Street House Phone Registered |
* |
UserReg |
Пользователи |
Общая информация о пользователе |
|
Id Login Pwd RegData |
* |
UserLog |
Зарегистрированные пользователи |
Зарегистрированные пользователи |
|
Id Test_Un Points Data |
* * * |
TheHistory |
«История» (статистика) теста |
Информация о прохождении разными пользователями теста. |
|
Id Test_Un Task_Un Answ_True |
* * * |
History |
«История» (статистика) пользователя |
Информация о прохождении разных тестов одним пользователем |
|
Id Test_Un SubCodes |
* * |
TestSubscribe |
Подписка на тесты |
Права пользователя на тест |
Таким образом, выделены все информационные объекты, отображающие данные, которые используются в рассматриваемой задаче.
4.2 Определение связей информационных объектов и построение ИЛМ.
Связи между выявленными информационными объектами определяются реальными отношениями между парами объектов, показанными в таблице 7. При их определении учитывались сведения из описания ПО и семантика ИО. В частности, известно, что одному пользователю соответствует один логин и пароль, но много тестов для прохождения. Один тест могут проходить несколько пользователей. В одном тесте содержится несколько задач. Для одной задачи существует несколько вариантов ответа. У каждого варианта ответа есть только одна формулировка и т.д.
Таблица 7. Связи информационных объектов.
Ключ связи |
Главный ИО |
Подчиненный ИО |
Тип отношения |
|
Id |
UserLog |
UserReg |
1:1 |
|
Id |
UserLog |
TheHistory |
1:M |
|
Id |
UserLog |
History |
1:1 |
|
Id |
UserLog |
TestSubscribe |
1:M |
|
Test_Un |
TestCom |
Tests |
1:M |
|
Test_Un |
TestCom |
TestSubscribe |
1:M |
|
Test_Un |
TestCom |
History |
1:M |
|
Test_Un |
TestCom |
TheHistory |
1:M |
|
Task_Un |
Tests |
Tasks |
1:M |
|
Task_Un |
Tests |
Answ |
1:M |
|
Task_Un |
Tests |
History |
1:M |
Графическое изображение ИЛМ, наглядно показывающей иерархические отношения подчиненности информационных объектов, приведено на рис. 1.
Рис. 1. ИЛМ данных, обеспечивающая решение задачи создания тренажерно-тестирующей системы для абитуриентов.
4.3 Определение логической структуры реляционной базы данных.
Логическая структура реляционной базы данных определяется совокупностью логически взаимосвязанных реляционных таблиц. Каждая реляционная таблица имеет структуру, определяемую реквизитным составом одного из информационных объектов полученной ИЛМ. Логические связи таблиц соответствуют структурным связям между объектами.
Логическая структура реляционной базы данных, построенная на основе полученной ИЛМ, приведена в Приложении 1. На этой схеме реляционные таблицы представлены структурой, определяемой составом и последовательностью полей (атрибутов). Ключевые поля отмечены знаком . Логические связи изображены линиями между одинаковыми ключами связи.
4.4 Исходные данные контрольного примера.
В качестве контрольного примера служит «Гостевой вход» и «пробный тест».
Требования к данным контрольного примера - их представительность, учитывающая особенности информации, указанные в описании предметной области. Такие данные должны обеспечить отладку алгоритма на компьютере и подтвердить работоспособность реализации алгоритма. В данных контрольного примера для рассматриваемой задачи должно быть предусмотрено, что одному тесту может соответствовать несколько задач, одной задаче - несколько вариантов ответа, из которых только один правильный. Если тестируемый ответит на вопрос, не отметив никакой из вариантов, то ответ считается неверным. Данные контрольного примера, предназначенные для тестирования, отладки и демонстрации решения задачи, приведены в табл. 8 - 13.
Таблица 8. Данные Test_Com.
Test_Cont |
Test_Un |
TestDir |
TestName |
Test_Portion |
|
Пробный тест №1. |
1001 |
%DOROOT%/tests/physics/ |
Пробный тест. |
5 |
Таблица 9. Данные Tests.
Test_Un |
Task_n |
Task_Un |
|
1001 |
1 |
1001 |
|
1001 |
2 |
1002 |
|
1001 |
3 |
1003 |
|
1001 |
4 |
1004 |
|
1001 |
5 |
1005 |
Таблица 10. Данные Tasks
Task_Un |
Task_Cont |
|
1001 |
Укажите формулу скорости равнозамедленного движения. |
|
1002 |
Закон Гука выражается формулой: |
|
1003 |
Консервативной является... |
|
1004 |
На каком рисунке правильно показан ход луча? |
|
1005 |
Индукция магнитного поля измеряется в СИ в: |
Таблица 10. Данные Answ
Answ_n |
Answ_Un |
Answ_True |
Answ_Cont |
Task_Un |
|
1 |
1001 |
0 |
<I>V = S/t</I> |
1001 |
|
2 |
1001 |
0 |
<I>V = V<SUB>0</SUB>t - at<SUP>2</SUP>/2</I> |
1001 |
|
3 |
1001 |
1 |
<I>V = V<SUB>0</SUB> - at</I> |
1001 |
|
1 |
1002 |
0 |
<i>F = kx<sup>2</sup></i> |
1002 |
|
2 |
1002 |
0 |
<i>F = kx<sup>2</sup>/2</i> |
1002 |
|
3 |
1002 |
1 |
<img src = ./physics/DMP/image53.gif> |
1002 |
|
1 |
1003 |
1 |
сила тяжести |
1003 |
|
2 |
1003 |
0 |
сила трения |
1003 |
|
3 |
1003 |
0 |
сила Ампера |
1003 |
|
1 |
1004 |
0 |
<img src=./physics/GMO/image51.gif> |
1004 |
|
2 |
1004 |
1 |
<img src=./physics/GMO/image52.gif> |
1004 |
|
3 |
1004 |
0 |
<img src=./physics/GMO/image53.gif> |
1004 |
|
1 |
1005 |
1 |
Тл (теслах) |
1005 |
|
2 |
1005 |
0 |
Гн (генри) |
1005 |
|
3 |
1005 |
0 |
Ф (фарадах) |
1005 |
Примечание: Таблицы UserReg, UserLog, History, TheHistory в данном примере не задействованы.
5. Разработка алгоритмов и технологии решения задачи
Общие сведения о содержании и алгоритме решения задачи.
По мере поступления документов, содержащих данные о тестах и теоретическому материалу, должен осуществляться ввод этих данных в БД или помещение html-страниц на сайт, где они должны храниться. Таким образом осуществляется накопление необходимой для решения задачи оперативно-учетной информации.
Тест должен быть представлен пользователю в виде диалога, где будет представлена задача и несколько вариантов ответа к ней. Пользователь может выбрать один вариант и перейти к следующей задаче. При запросе теста пользователем задачи «тасуются», то есть определяется случайный порядок следования задач. Варианты ответа также «перемешиваются» во время запроса очередной задачи. Если пользователь не выбрал ни один из предложенных вариантов и перешел к следующей задаче, то это засчитывается как неверный ответ.
5.1 Технология ввода и накопления входной информации, обеспечивающей решение задачи.
Для решения рассматриваемой задачи должен производиться ввод и накопление в БД оперативно-учетной информации о тестах и пользователях. Справочная информация должна хранится в html-файлах на сайте.
В соответствии с этим технология ввода входной оперативной информации и решение рассматриваемой задачи с помощью базы данных приведены на рис. 2.
5.2 Определение макета форм ввода-вывода
Для ввода информации о пользователе при его регистрации и идентификации должны быть разработаны экранные формы. Через них будет осуществляться ввод информации в базу данных.
Форма для загрузки данных о пользователе при регистрации (см. форму 5) является простой однотабличной. Форма строится на базе таблицы UserReg, в которую и будут загружаться соответствующие поля. При внесении в базу данных о новом пользователе необходимо установить поле Registered в 0. Если пользователь получит разрешение на прохождение, то этот поле поменяем на 1. Поле Id будет заполняться автоматически при добавлении записи в таблицу.
Макет формы ввода данных о пользователе при регистрации. Форма 5.
Имя |
(FName) |
||
Отчество |
(MName) |
||
Фамилия |
(LName) |
||
Почтовый индекс |
(Zip) |
||
Край/Регион |
(Region) |
||
Город |
(City) |
||
Улица |
(Street) |
||
Номер дома, квартиры |
(House) |
||
|
(Email) |
||
Телефон* |
(Phone) |
||
(* - не обязательно) |
Для загрузки данных в таблицу UserLog и изменения записи в таблице UserReg будем использовать форму выдачи пользователю логина и пароля (форма 6). Эта форма связана с предыдущей формой по ключевому полю Id. После выдачи логина и пароля пользователю необходимо изменить поле Registered записи о нем в таблице UserReg с 0 на 1.
Макет формы выдачи пользователю логина и пароля. Форма 6
Список пользователей, которые ожидают завершения регистрации. (Претенденты на получение логина и пароля) Выберите пользователя, которому выдать логин и пароль: |
||||
Фамилия (LName) |
Имя (FName) |
Отчество (MName) |
E-mail (Email) |
|
Иванов |
Иван |
Иванович |
ivan@com.ru |
|
… … … |
||||
Петров |
Петр |
Петрович |
petr@ru.com |
Логин |
(Login) |
||
Пароль |
(Pwd) |
Выдать
Для входа в систему нужна форма, принимающая логин и пароль пользователя для проверки их в базе данных (форма 7). Это простая форма, связанная с таблицей UserLog полями Login и Pwd.
Макет формы идентификации. Форма 7
Логин: |
(Login) |
||
Пароль: |
(Pwd) |
Войти |
Очистить |
Для добавления нового теста в базу данных используется форма 8. Ей необходимо указать только имя файла с добавляемым тестом. Формат файла определен выше. Эта форма наполняет и связывает таблицы TestCom, Tests, Tasks, Answ.
Макет формы добавления нового теста. Форма 7
Имя файла с тестом |
С:\…\test23.txt |
Создать тест |
Очистить |
5.3 Обобщенный алгоритм решения задачи и его декомпозиция на модули (функции)
Из рисунка 2 видна общая декомпозиция задачи на модули. Рассмотрим систему тестирования пользователя. При входе в систему пользователь вводит свой логин и пароль. По этим данным из базы данных необходимо получить уникальный номер пользователя (Id), этот номер, в свою очередь, будет передан тестирующему модулю системы вместе с уникальным номером теста (Test_Un), запрошенного пользователем. Отображать вопросы (задачи) теста будем дозировано, т.е. по одной задаче за раз.
Функционально-технологическая схема и алгоритм тестирования.
Рис. 3. Общая функционально-технологическая схема подсистемы тестирования
Подсистема тестирования может быть разбита на несколько основных этапов - модулей, реализуемых средствами СУБД (запросы, отчеты). Блок-схема алгоритма подсистемы тестирования приведена на рис. 4.
Рис. 4. Блок-схема алгоритма подсистемы тестирования
5.4 Детальные алгоритмы реализации отдельных модулей задачи
Модуль 1.1. Проверка логина и пароля.
На входе имеем: login - логин пользователя, password - пароль пользователя.
Посылам запрос к SQL серверу:
SELECT * FROM UserReg, UserLog WHERE Login = `login' AND Pwd = `password' AND UserReg.Id = UserLog.Id
Если результат запроса не пустой, то считаем, что пользователь авторизовался успешно, также в результате запроса имеем все его данные - ФИО, адрес, …
Модуль 1.2 Формирование теста.
На входе имеем: Test_Un - номер теста, который выбрал пользователь для прохождения.
Посылам запрос к SQL серверу:
SELECT Task_Un FROM Tests WHERE Test_Un = Test_Un
В результате получаем набор (массив) номеров задач, которые соответствуют этому тесту.
Модуль 1.3. Установка случайного порядка следования задач.
Необходимо узнать, сколько задач нужно выдать пользователю.
Посылам запрос к SQL серверу:
SELECT Test_Portion FROM TestCom WHERE Test_Un = Test_Un
Результат запомним в Portion. «Перемешиваем» массив задач, полученный на предыдущем шаге, и оставляем только Portion из них.
Модуль 1.4. Установка случайного порядка следования ответов.
На входе: Task_Un - номер задачи, для которой выбираем ответы.
Посылам запрос к SQL серверу:
SELECT * FROM Answ WHERE Task_Un = Task_Un
Результат - массив ответов, который также «перемешиваем».
Модуль 1.5. Отображение задачи и вариантов ответов.
На входе: Task_Un - номер задачи, текст которой нужно вывести. Answers - массив вариантов ответов для этой задачи.
Посылам запрос к SQL серверу:
SELECT Task_Cont FROM Tasks WHERE Task_Un = Task_Un
Результат - тело задачи в формате HTML, его и выводим.
Для каждого варианта ответа посылам запрос к SQL серверу:
SELECT Answ_Cont FROM Answ WHERE Answ_Un = Answers[i]
Результат - тело варианта ответа в формате HTML, его и выводим.
Модуль 1.6. Проверка правильности ответов и вывод результата теста.
На входе: Answer - номер ответа, который выбрал пользователь.
Посылам запрос к SQL серверу:
SELECT Answ_True FROM Answ WHERE Answ_Un = Answer
Результат - 0 (не правильный) или 1 (правильный) ответ. Этот результат заносим в таблицу History и храним до конца теста.
После того, как пользователь ответит на все предложенные вопросы, нужно посчитать, сколько раз он ответил правильно (n), и сколько всего вопросов было (m). После чего выводим итог: «Ваш результат n баллов из m».
6. Руководство администратора
6.1 Системные и технические требования
Для работы системы необходимо наличие следующего программного обеспечения на сервере:
· OS Windows (Server Family);
· MSSQL Server 7.0 или выше;
· Apache Win32 / PHP 4.0 или выше;
Вместо Apache можно использовать и другой веб-сервер, например MS IIS, единственное требование - поддержка PHP хотя бы на уровне CGI.
6.2 Подготовка к работе
6.2.1 Подготовка веб-сервера
Для начала работы необходимо скопировать файлы системы в каталог
%Apache%/htdocs/do/, где %Apache% - установочный каталог веб сервера.
Далее все пути на диске будут указываться относительно каталога %Apache%/htdocs/.
6.2.2 Подготовка базы данных.
1. Создаем в MSSQL Server базу данных и называем ее DO.
2. В базе данных DO создаем пользователя с логином do_user и паролем www123 . Естественно, что пароль стоит выбрать более сложный. Эти данные - пример.
3. Логин и пароль для доступа к базе данных используются в файле do/bin/admin/register.php
4. Создаем в базе DO хранимую процедуру CreateAllTables, текст которой можно посмотреть в файле do/tsql/CreateAllTables.sql, и выполняем эту процедуру. В результате создадутся все необходимые для работы системы таблицы.
5. Создаем в базе DO хранимую процедуру DropAllTables, текст которой можно посмотреть в файле do/tsql/DropAllTables.sql. Результатом этой процедуры будет полное удаление всех таблиц, созданных процедурой CreateAllTables, и дынных в них. Сейчас эту процедуру выполнять не нужно. Она нужна при удалении системы.
6. Для добавления тестов по физике, необходимо создать в базе DO ряд хранимых процедур, тексты которых приведены в файлах вида do/tsql/phys/nn_CreateTestXXX.sql , где nn - номер теста; XXX - сокращенное название теста.
7. Создаем хранимую процедуру CreateAllTests (do/tsql/phys/ CreateAllTests.sql), которая создаст 17 тестов по физике: 1 пробный, 15 тренажерных и 1 экзаменационный.
8. Создаем процедуру DeleteAllTests (do/tsql/phys/DeleteAlllTests.sql), которая удаляет все, созданное процедурой CreateAllTests.
9. Теперь необходимо дать права пользователю базы данных do_user на операции SELECT, UPDATE, INSERT, DELETE во всех таблицах, созданных процедурой CreateAllTables.
6.3 Вход в систему
На сайте системы выбираем раздел «Вход». Появится форма как на рисунке 1.
В появившейся форме авторизации вводим логин и пароль администратора. Эти данные хранятся не в базе данных, а в файле do/bin/user/logon.php, для того, чтобы администратор смог авторизоваться, даже если база данных не доступна.
Рис. 1. Форма авторизации
В случае успешной авторизации появится меню Администрирование:
· Просмотр таблиц пользователей
o Посмотреть таблицу UserReg (просмотр всех зарегистрированных пользователей)
o Посмотреть таблицу UserLog (просмотр всех пользователей, подавших заявку на регистрацию)
· Работа с пользователями
o Добавить пользователя в UserLog (зарегистрировать пользователя, подавшего заявку на регистрацию)
o Подписать пользователя на тест (дать доступ пользователю к определенному тесту)
o Удалить пользователя (удалить пользователя из системы вместе со всей историей прохождения тестов)
o Удалить «просроченных» пользователей (как предыдущий пункт, но для пользователей, которые находятся в системе больше месяца)
· Тесты
o Добавить новый тест
o Создать тесты Калистратовой (создать тесты по физике, которые были описаны в процедуре CreateAllTests)
o Удалить тесты Калистратовой (соответственно DeleteAllTests)
· Статистика
o По тестам (кем и когда проходился определенный тест)
o По пользователям (какие тесты и когда проходил определенный пользователь)
o Список всех пользователей (список ФИО, логин, пароль)
6.4 Просмотр таблиц пользователей
Выбрав пункт меню администратора «Посмотреть таблицу UserReg», можно посмотреть таблицу UserReg, в которой находятся все данные о пользователях: ФИО, адрес, e-mail, телефон и т.д. как на рис. 2.
Рис. 2. Данные таблицы UserReg.
Выбрав пункт меню администратора «Посмотреть таблицу UserLog», можно посмотреть таблицу UserLog, в которой представлена информация о зарегистрированных пользователях: логин, пароль, дата регистрации как на рис. 3.
Рис. 3. Данные таблицы UserReg.
6.5 Работа с пользователями
6.5.1 Общие положения
Когда пользователь заполняет форму регистрации и нажимает кнопку «Отослать», ему приходит подтверждение в виде письма на указанный e-mail. Дальше пользователь ждет, когда его зарегистрирует администратор и вышлет логин и пароль для входа в систему.
В случае, если система будет платной, то администратор ждет оплаты за пользование системой, после чего регистрирует пользователя.
По умолчанию пользователь не имеет доступа ни к каким тестам системы. Для того, чтобы пользователь получил доступ к тесту, его (пользователя) необходимо «подписать» на этот тест. После того, как пользователь прошел тест, он снова теряет доступ к нему.
6.5.2 Регистрация пользователя.
В меню администратора выбираем пункт «Добавить пользователя в UserLog». Появится форма как на рис. 4.
Рис. 4. Форма поиска пользователей.
В приведенной форме можно ввести данные пользователя, чтобы его было легче найти, или оставить все поля пустыми. Нажимаем кнопку «Найти». Появится список всех (если поля формы остались пустыми) пользователей, которые в данный момент ожидают регистрации (рис. 5)
Рис. 5. Выбор пользователя для регистрации его в системе.
Необходимо выбрать одного из них, указать его логин и пароль и нажать на кнопку «Зарегистрировать». После чего система посылает письмо пользователю с подтверждением факта регистрации и его данными для входа в систему.
6.5.3 Подписка пользователя на тест
В меню администратора выбираем пункт «Подписать пользователя на тест». В появившейся форме (рис. 4) можно ввести данные пользователя, чтобы его было легче найти, или оставить все поля пустыми. Нажимаем кнопку «Найти». Появится список всех (если поля формы остались пустыми) пользователей, которые зарегистрированы в системе (рис. 6).
Рис. 6. Выбор пользователя для «подписки» на тест
Выбираем одного пользователя и нажимаем «Подписать». Появится список тестов, на которые можно подписать выбранного пользователя. Если пользователь уже подписан на этот тест, то напротив названия таста будет пометка - «подписан» (если тест сдан, то пометка - «сдан») как на рис. 7.
Рис. 7. Выбор теста(ов), на который(е) нужно подписать пользователя.
Отмечаем нужные тесты и нажимаем «Подписать». После этого пользователь получает доступ к выбранным тестам.
6.5.4 Удаление пользователя
В меню администратора выбираем пункт «Удалить пользователя». В приведенной форме (рис. 4) можно ввести данные пользователя, чтобы его было легче найти, или оставить все поля пустыми. Нажимаем кнопку «Найти». Появится список всех (если поля формы остались пустыми) пользователей, которые зарегистрированы в системе. Выбираем одного пользователя и нажимаем «Удалить». После этого пользователь полностью удален из системы со всей историей прохождения тестов.
6.5.5 Удаление «просроченных» пользователей
В меню администратора выбираем пункт «Удалить просроченных пользователей». Появится список всех зарегистрированных пользователей, которые были зарегистрированы в системе более месяца назад.
Рис. 8. Удаление «просроченных» пользователей
Нажатие кнопки «Удалить» приведет к удалению (как в пункте выше) всех «просроченных» пользователей.
6.6 Работа с тестами
6.6.1 Формат тестов РВУ
Информация в файле с вопросами имеет блочную структуру. Каждый блок содержит полную информацию об одном вопросе. Внутри блока информация организована по строкам, назначение которых определяется внутренним стандартом.
Первая строка файла должна содержать имя группы вопросов.
Формат строки: имя группы вопросов.
Примечание: в случае, если такая группа уже существует, то вопросы будут к ней добавлены.
Далее следуют блоки вопросов. Каждый вопрос обладает рядом обязательных характеристик, которые должны быть описаны в соответствующих строках файла импорта.
Примечание: в строках блока, описывающих характеристики вопроса, перед каждым полем обязательно устанавливается указатель поля «<$:».
Система РВУ поддерживает следующие форматы вопросов:
1. Выбор из списка единственного правильного ответа;
2. Выбор из списка нескольких правильных ответов;
3. Ввод некоторых данных, которые впоследствии будут сравнены с заложенным "эталоном"
4. Ответ на естественном языке;
5. Последовательность.
В случае необходимости могут быть заданы дополнительные форматы (после согласования с Консалтинговым центром РСОО).
В каждом блоке должно быть описано несколько обязательных для любого формата вопросов строк:
· Формат строки:--/New Question/--
· Назначение: указывает на начало блока информации о вопросе.
· Примечание: любой вопрос должен начинаться этой строкой.
· Формат строки: <$:QuestionType:N
· Назначение:описывает поле QuestionType, которое задает вариант формата заносимого вопроса в виде натурального числа N из диапазона [1, 5].
· Примечание:форматы вопросов разрабатываются в Консалтинговом центре РСОО.
· Формат строки: <$:QuestionBody: текст вопроса.
Назначение: описывает поле QuestionBody, которое содержит формулировку основного задания (условия) вопроса.
Примечание:указывается в одну строку (макс. 64000 символов).
· Формат строки: <$:Difficulty:N
· Назначение: описывает поле Difficulty, которое отражает сложность вопроса.
· Примечание:сложность вопроса задается в виде числа N, где N - натуральное число из диапазона [1, 10].
· Форма...
Подобные документы
Определение автоматизированных информационных систем. Обоснование выбора среды разработки информационной системы. Создание запросов для выбора информации. Логическая и физическая структура реляционной базы данных. Разработка интерфейса пользователя.
курсовая работа [2,1 M], добавлен 16.04.2017Основные функции, требования и характеристики системы тестирования. Создание современной модели WEB-сервиса тестирования знаний студентов с помощью средств WEB-разработки. Описание пользовательского интерфейса сайта, этапы прохождения тестовых заданий.
курсовая работа [6,4 M], добавлен 14.07.2012Создание базы данных, построение на ее основе информационной системы в виде веб-сайта. Обоснование и выбор системы управления базой данных. Датологическое проектирование, разработка алгоритма решения задачи, создание форм. Результаты обработки данных.
отчет по практике [904,1 K], добавлен 13.04.2015Применение тестовых заданий на уроках информатики. Основные виды тестовых заданий. Подбор тестовых заданий по темам курса информатики. Программные продукты для разработки и создания тестовых заданий. Общие правила оформления компьютерных тестовых заданий.
курсовая работа [2,2 M], добавлен 28.09.2011функциональные части обучающей системы: программа для создания и модификации тестов, сервисная программа администрирования и программа контроля знаний. Концептуальная и логическая модель базы данных. Структура файлов базы данных. Руководство пользователя.
дипломная работа [807,0 K], добавлен 24.11.2010Разработка программного обеспечения, предназначенного для предоставления трех способов прохождения тестов для студентов. Построение модели потоков данных, физической базы данных. Выбор языка программирования. Условия эксплуатации, требования к надежности.
дипломная работа [2,7 M], добавлен 18.04.2014Создание сетевой системы тестирования с целью автоматизации процесса контроля знаний, оценивания результатов и создания тестовых заданий. Файлы проекта и их назначение. Описание алгоритмов и модулей программы. Работа с сетью, руководство пользователя.
контрольная работа [928,3 K], добавлен 23.12.2012Разработка тестирующей программы для проверки знаний студента по математике на языке программирования Turbo Pascal с использованием подпрограмм "Vvod" (создание файла с вопросами и ответами) и "Initialization" (запуск тестирование и инициализация файла).
курсовая работа [137,7 K], добавлен 28.03.2010Разработка системы для хранения и обработки статистических данных с результатами тестов, создание модулей их прохождения, назначения и просмотра. Требования к системе, общая архитектура, инструменты и методы реализации. Разработка web-интерфейсов.
дипломная работа [1,3 M], добавлен 28.01.2014Проектирование системы управления базой данных "Почтовые отделения" для создания единой информационной системы: создание таблиц для хранения данных, ввод данных, разработка элементов базы, предназначенных для просмотра, редактирования и вывода информации.
курсовая работа [1,4 M], добавлен 31.03.2010Создание автоматизированной системы по сбору и анализу статистических данных сайта. Принципы сбора статистических данных. Исследование информационных потоков. Обзор современных СУБД и языков программирования. Логическая и физическая модель базы данных.
дипломная работа [3,0 M], добавлен 08.07.2012Методы и технологии создания виртуальных магазинов. Программные средства для создания сайта. Разработка php-модуля. Технические возможности СУБД MySQL. Приложения для создания графики и дизайна. Логическая структура сайта. Разработка базы данных.
курсовая работа [248,1 K], добавлен 24.04.2012Обзор технологий проектирования компьютерных тестов и анализ существующих систем тестирования. Создание системы автоматизированного тестирования студентов с динамической генерацией тестовых заданий при участии преподавателя, с функцией оценивания.
дипломная работа [3,6 M], добавлен 18.07.2012Разработка автоматизированной информационно-справочной системы хранения и обработки информации оптового склада, которая способствует быстрому поиску необходимых данных. Создание таблиц и базы данных. Добавление и удаление данных в записной книжке.
курсовая работа [1,0 M], добавлен 08.12.2014Создание базы данных для хранения и обработки информации городской телефонной станции. Состав программного продукта. Практические аспекты лицензирования Access. Инфологическое моделирование системы. Определение логической структуры реляционной базы.
курсовая работа [295,1 K], добавлен 16.12.2013Создание системы компьютерного тестирования для контроля знаний. Проблемы, возникающие при создании тестовой оболочки в среде Ren`Py. Разработка проектных решений по системе и её частям. Структура тестирования, вопросы и ответы тестирующей системы.
дипломная работа [501,6 K], добавлен 12.09.2016Описание функциональной структуры автоматизированной системы обработки информации и управления. Логическая и физическая структуры базы данных. Система классификации и кодирования. Математическое и программное обеспечение реляционной базы данных.
курсовая работа [739,7 K], добавлен 14.12.2017Понятие Internet как глобальной мировой системы передачи информации. Анализ системы World Wide Web, ее особенности. Рассмотрение главных целей сайта, создание сайта для магазина продуктов питания. Этапы разработки дизайна сайта и создание базы данных.
курсовая работа [2,1 M], добавлен 13.07.2012Разработка Web-сайта с подключенной к нему базой данных для управления пользователями, их авторизацией и регистрацией. Подключение базы данных к сайту. Использование технологии AJAX. Виды SQL инъекций и способы защиты базы данных от попыток взлома.
дипломная работа [2,9 M], добавлен 13.02.2016Создание Windows-приложения для проведения обучения и тестирования студентов по информационной безопасности. Алгоритм решения задачи, блок-схема работы программы, выбор языка программирования Delphi. Охрана труда программиста, обязанности пользователя.
дипломная работа [4,8 M], добавлен 04.06.2013