рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Проектирование баз данных

Проектирование баз данных - раздел Программирование, Автоматизированная система тестирования студентов Проектирование Баз Данных. Для Обеспечения Требуемой Функциональности, Разраб...

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

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

Всем описанным требованиям отвечают реляционные базы данных. В качестве целевой системы управления базой данных (СУБД) выбран Microsoft SQL Server 2005(Standard Edition), который полностью обеспечивает выполнение поставленных выше требования к среде хранения данных. Кроме этого выбранный программный продукт обладает достаточно удобными средствами администрирования баз данных, что существенно упрощает разработку программного комплекса в целом.

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

Рисунок 2.2 – ER-модель базы данных Опишем входящие в базу данных сущности и их атрибуты Сущность Sections. Информация о разделах тестов. Атрибуты: • Section_id. Тип: integer. Первичный ключ. • Section_name. Тип: text. Наименование раздела тестов. • Section_hidden. Тип: bit. Флаг сокрытия раздела тестов. Принимает значения «1» и «0». При значении «1» раздел тестов удаляется из списка видимых. Информация не удаляется. Сущность Tests. Информация и параметры теста.

Атрибуты: • Test_id. Тип: integer. Первичный ключ таблицы. • Test_description. Тип: text. Описание теста. • Test_section_id. Тип: integer. Хранится идентификатор из сущности Sections. Определяет принадлежность теста к разделу. • Test_name. Тип: text. Имя теста. • Test_type. Тип: integer. Тип теста. Принимает значения «0» и «1». «0» - контрольный тест, «1» - психологический (подсчет баллов). • Test_author. Тип: varchar(128). Автор теста. • Test_questions_count. Тип: integer.

Количество вопросов в тесте. • Test_questions_limit. Тип: integer. Определяет то количество из общего числа вопросов в тесте, которое будет задано пользователю. • Test_is_random_answers. Тип: bit. Флаг перемешивания вариантов ответов. Принимает значения «1» и «0». • Tests_is_time_limit. Тип: bit. Флаг ограничения времени на тест. Принимает значения «1» и «0». • Test_time_limit. Тип: char(8). Ограничение времени на тест. • Test_is_back. Тип: bit. Флаг возможности возврата на предыдущий вопрос.

Принимает значения «1» и «0». Сущность Questions. Вопросы тестов. Атрибуты: • Question_id. Тип: integer. Первичный ключ. • Question_test_id. Тип: integer. Хранится идентификатор из сущности Tests. Определяет принадлежность вопроса к тесту. • Question _number. Тип: integer. Локальный номер вопроса. Нумерация начинается с единицы. • Question_header. Тип: varchar(1024). Заголовок вопроса. Может дублироваться текст вопроса. Используется при ведении истории ответов пользователя. • Question_Text. Тип: text. Текст вопроса.

Поддерживается возможность форматирования текста и использования стандартных OLE-объектов. • Question_time. Тип: char(8). Время на ответ. • Questin_type. Тип: integer. Тип вопроса. «0» - одиночный выбор, « 1» - множественный выбор, «2» -соответствие , «3» - упорядоченный список. «4» - свободный ввод. • Question_weight. Тип: integer. Количество начисляемых баллов в случае правильного ответа на вопрос. Сущность Answers. Варианты ответов к вопросам.

Атрибуты: • Answer_id. Тип: integer. Первичный ключ. • Answer_question_id. Тип: integer. Хранится идентификатор из сущности Questions. Определяет принадлежность варианта ответа к вопросу. • Answer_nu mber. Тип: integer. Локальный номер ответа. Нумерация начинается с единицы. Используется только для ответов на вопрос типа «упорядоченный список» • Answer_text. Тип: varchar(512). Текст варианта ответа. Возможность форматирования текста отсутствует. • Answer_score. Тип: integer. Количество баллов, начисляемых за ответ. Используется при типе теста «Психологический». • Answer_right.

Тип: bit. Флаг правильности ответа. Принимает значения «0» и «1». При типах вопроса «упорядоченный список», «на соответствие» и «свободный ввод» - всегда устанавливается значение «1» • Answer_corresp. Тип: varchar(512). Применяется для определения правильного ответа в вопросах на соответствие. • Answer_picture. Тип: image. Может храниться изображение с вариантом ответа С ущность Groups. Информация о группах пользователей.

Атрибуты: • Group_id. Тип: integer. Первичный ключ. • Group_name. Тип: varchar(512). Наименование группы. • Group_description. Тип: varchar(512). Описание группы. • Group_hidden. Тип: bit. Флаг сокрытия группы. Принимает значения «1» и «0». При значении «1» группа удаляется из списка видимых. Информация не удаляется. Сущность Groupsections. Информация о соответствии группам разделов тестов. Атрибуты: • Id. Тип: integer. Первичный ключ. • Gs_group_id. Тип: integer.

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

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

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

В модуле тестирования пользователя помимо задержек, связанных с пересылкой запросов от сервера к клиенту, дополнительно могут возникнуть задержки при обработке и анализе ответа пользователя. Рассмотрим общий алгоритм работы модуля тестиров ания пользователей. Рисунок 2.3 – Алгоритм работы модуля тестирования Рисунок 2.4 – Алгоритм работы модуля тестирования (продолжение) С целью приблизительной оценки задержки при работе модуля тестирования в многопользовательском режиме был произведен эксперимент, результаты которого приведенные в таблице 2.1 Таблица 2.1 Результаты тестирования на быстродействие в многопользовательском режиме. № Тестовый сервер Кол-во пользователей Время выполнения, с 1 Intel Celeron200 0, 2Гб ОЗУ PC-3200 10 0,013-0,015 20 0,012-0,016 Количество замеров для обоих случаев равно пяти. Как видим, полученные задержки малы, что обусловлено малой вероятностью выполнения сервером одновременно нескольких запросов к базе данных.

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

– Конец работы –

Эта тема принадлежит разделу:

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

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

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

Требования к функциональным характеристикам
Требования к функциональным характеристикам. Функции пользователя: а) создание учетной записи для последующего использования ее в системе; б) возможность выбора типа теста; в) прохождение тестирова

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

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

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги