Автоматизация проверки знаний и навыков студентов в области прикладной математики и информатики

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



В° тестов.

Сущность Users. Информация о пользователях.

Атрибуты:

User_id. Тип: integer. Первичный ключ.

User_group_id. Тип: integer. Хранится идентификатор из сущности Groups. Определяет принадлежность пользователя к группе.

User_name. Тип: varchar(512). Имя пользователя в формате ФИО.

User_code. Тип: varchar(128). Дополнительное поле для идентификатора пользователя (например, номера зачетной книжки).

User_password. Тип: varchar(128). Пароль пользователя. Хранится в закодированном виде. Алгоритм кодирования - md5.

User_desable_test. Тип: bit. Флаг, позволяющий временно запретить данному пользователю тестироваться

User_garants. Тип: integer. Кодирует права доступа пользователя. 0 - тестирующийся, 1 - редактор тестов, 2 - администратор

User_info. Тип: varchar(512). Информация о пользователе.

User_deleted. . Тип: bit. Флаг удаления пользователя. Принимает значения 1 и 0. При значении 1 становится невозможным использование учетной записи, данные сохраняются.

User_mail. Тип: varchar(128). Адрес e-mail пользователя.

Сущность User_results. Хранение результатов тестирования.

Атрибуты:

User_result_id. Тип: integer. Первичный ключ.

User_result_completed. Тип: bit. Флаг окончания теста (ответ на все имеющиеся вопросы). Принимает значения 1 и 0.

User_result_time_begin. Тип: smalldatetime. Время начала тестирования.

User_result_time_end. Тип: smalldatetime. Время окончания тестирования.

User_result_cmpleted_questions. Тип: integer. Количество пройденных вопросов.

User_result_right_questions. Тип: integer. Количество правильных ответов.

User_result_score. Тип: integer. Количество заработанных баллов.

User_result_percent_right. Тип: real. Процент правильных ответов.

User_result_total_questions. Тип: integer. Всего вопросов в тесте.

User_result_test_title. Тип: varchar(128). Название теста

User_id. Тип: integer. Хранится идентификатор из сущности Users. Определяет принадлежность результата к конкретному пользователю.

Сущность User_answers. Лог прохождения теста, может быть показан в отчете.

Атрибуты:

User_answer_user_result_id. Тип: integer. Первичный ключ.

User_answer_qnumber. Тип: integer. Номер вопроса.

User_answer_question. Тип: varchar(512). Текст вопроса с элементами разметки гипертекста для корректного вывода в поле отчета.

User_answer_answer. Тип: varchar(512). Текст ответа с элементами разметки гипертекста для корректного вывода в поле отчета.

User_answer_time. Тип: char(8). Время ответа на вопрос.

User_answer_is_right. Тип: bit. Флаг правильности ответа. Принимает значения T и F.

User_answer_score. Тип: integer. Полученные баллы.

User_answer_answerd. Тип: bit. Флаг ответа на вопрос. Принимает значения 1 и 0.

Поддержка целостности и непротиворечивости данных осуществляется средствами целевой СУБД MS SQL Server 2005. При возникновении конфликтной ситуации СУБД генерирует соответствующее сообщение, которое автоматически будет транслировано в клиентское приложение и показано пользователю. Вызвавшая исключительную ситуацию транзакция выполнена не будет, а набор данных будет возвращен в предыдущее непротиворечивое состояние.

Резервное копирование данных, настройка и иные административные функции выполняются средствами администрирования, такими, как SQL Server Management Studio и SQL Server Business Intelligence Development Studio.

Наличие описанных механизмов поддержки целостности и непротиворечивости данных, а так же средств администрирования базы данных, делает обоснованным использование SQL Server 2005 в качестве целевой СУБД.

.3 Разработка и описание рабочих алгоритмов

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

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

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

Рисунок 2.3 - Алгоритм работы модуля тестирования

Рисунок 2.4 - Алгоритм работы модуля тестирования (продолжение)

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

Таблица 2.1 Результаты тестирования на быстродействие в многопользовательском режиме.

№Тестовый серверКол-во пользователейВремя выполнения, с1 Intel Celeron2000, 2Гб ОЗУ PC-3200 100,013-0,015200,012-0,016

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

.4 Требования к системам передачи информации

Разрабатываемая система может использовать в качестве среды передачи данных как локал