Создание тренажерно-тестирующей системыРефераты >> Программирование и компьютеры >> Создание тренажерно-тестирующей системы
Для организации информационной базы будем использовать реляционную СУБД. Поэтому должна быть разработана логическая структура реляционной базы данных, на основе которой будет осуществляться решение задачи. Используем процессный подход к разработке базы данных, определяя состав только тех данных, которые необходимы для получения выходной информации задачи
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.
- Идентификатор пользователя;
- идентификатор теста;
- код доступа; (0 – не подписан, 1 – подписан, 2 – тест сдан)
Установим функциональные зависимости реквизитов, учитывая, что один и тот же пользователь может пройти различные тесты с различными результатами. Следовательно, эти данные не уникальны, кроме реквизита дата, при условии, что пользователь не может успеть физически пройти более одного теста за одну минуту (табл. 3).