Автоматизация проверки знаний и навыков студентов в области прикладной математики и информатики
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
В° тестов.
Сущность 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 Требования к системам передачи информации
Разрабатываемая система может использовать в качестве среды передачи данных как локал