47792 (588502), страница 2

Файл №588502 47792 (Обучающе-контроллирующая система для подготовки студентов) 2 страница47792 (588502) страница 22016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Проектирование реализации БД(логическое проектирование) представляет собой трансформацию концептуальной модели в набор отношений в нормальной форме Бойса-Кодда(НФБК). Для приведения спроектированного универсального отношения в НФБК воспользуемся декомпозиционным методом проектирования, содержанием которого является описание семантики универсального отношения в терминах функциональных зависимостей(ФЗ) и использование последних для нормализации отношения.

Введем следующие понятия: функциональная зависимость, ключ, первичный ключ, детерминант, НФБК.

Если даны два атрибута A и B, то говорят, что B функционально зависит от A (обозначается A B), если для каждого A существует ровно одно связанное с ним значение B. A и B могут быть не только единичными атрибутами, но и группами из двух и более атрибутов.

Ключом называется атрибут или совокупность атрибутов, которые используются для идентификации записи и обнаружения ее на ЗУ. Ключей может быть несколько.

Первичный ключ используется для уникальной идентификации кортежа.

Детерминант. Если в ФЗ A B B не зависит от любого подмножества A(т.е. функциональная зависимость полна), то A является детерминантом B.

НФБК определяется следующим образом: отношение находится в НФБК, если каждый детерминант отношения является ключом. Проверим находится ли универсальное отношение R(ТЕМА, ТЕМА, ВОПРОС, ВОПРОС, ОТВЕТ, ОТВЕТ, ИСТИННОСТЬ) в НФБК.

Выпишем ФЗ для универсального отношения:

ТЕМА ТЕМА,

ТЕМА, ВОПРОС ВОПРОС,

ВОПРОС, ОТВЕТ ОТВЕТ,

ВОПРОС, ОТВЕТ ИСТИННОСТЬ.

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

Легко обнаружить, что ни один детерминант не является ключом. Из чего следует, что рассматриваемое отношение не находится в НФБК и подлежит декомпозиции.

Алгоритм декомпозиционного проектирования выглядит так:

  1. разрабатывается универсальное отношение для БД;

  2. определяются все ФЗ между атрибутами отношения;

  3. определяется, находится ли отношение в НФБК. Если ДА, то проектирование завершено, если НЕТ, отношение должно быть разложено на два;

  4. шаги 2 и 3 повторяются для каждого нового отношения, полученного в результате декомпозиции. Проектирование завершается, когда все отношения будут находиться в НФБК.

Детерминант не является ключом и имеет два зависимых от него атрибута

ВОПРОС, ОТВЕТ ОТВЕТ

ВОПРОС, ОТВЕТ ИСТИННОСТЬ,

что можно рассматривать в качестве единичной ФЗ с составными правой и левой частями ВОПРОС, ОТВЕТ ОТВЕТ,ИСТИННОСТЬ.

Таким образом, получаются два новых отношения R1 и R2:

R1(ТЕМА, ТЕМА, ВОПРОС, ВОПРОС)

ФЗ: ТЕМА ТЕМА,

ТЕМА, ВОПРОС ВОПРОС.

Возможные ключи: .

Детерминанты:,.

R2(ВОПРОС, ОТВЕТ, ОТВЕТ, ИСТИННОСТЬ)

ФЗ: ВОПРОС, ОТВЕТ ОТВЕТ,ИСТИННОСТЬ.

Возможные ключи: .

Детерминанты: .

Отношение R2(ВОПРОС, ОТВЕТ, ОТВЕТ, ИСТИННОСТЬ) находится в НФБК, т.к. его детерминант является ключом, а потому в дальнейшей декомпозиции не нуждается.

В отношении R1(ТЕМА, ТЕМА, ВОПРОС, ВОПРОС) детерминант не является возможным ключом, поэтому R1 не находится в НФБК и подлежит дальнейшему расщеплению. Результатом расщепления отношения R1 являются отношения R3,R4:

R3(ТЕМА, ВОПРОС, ВОПРОС)

ФЗ: ТЕМА, ВОПРОС ВОПРОС.

Возможные ключи: .

Детерминанты: .

R4(ТЕМА, ТЕМА)

ФЗ: ТЕМА ТЕМА.

Возможные ключи: .

Детерминанты: .

Эти два отношения находятся в НФБК, следовательно проектирование завершается и его результатом является логическая модель БД в НФБК:

R2(ВОПРОС, ОТВЕТ, ОТВЕТ, ИСТИННОСТЬ),

R3(ТЕМА, ВОПРОС, ВОПРОС),

R4(ТЕМА, ТЕМА).

3.3 Структура файлов базы данных

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

  • Широкий выбор типов полей, включая авто-инкремент, BLOBs и т.п.

  • Соблюдение целостности данных, контроля данных, обновления индексов на уровне ядра BDE.

  • Первичный индекс таблицы автоматически соблюдает уникальность записей, вторичные индексы обеспечивают отсортированный «вид» на записи таблицы.

В результате анализа поставленной задачи были разработаны следующие файлы данных:

  1. TEMA - содержит информацию о имеющихся разделах(темах);

  2. QUESTION - предназначен для хранения вопросов к темам из таблицы TEMA;

  3. ANSWER - содержит варианты ответов на вопросы из таблицы QUESTION;

  4. TICKETS - предназначен для хранения информации о билетах;

  5. CONTROL - содержит информацию о результатах тестирования;

  6. RESULT - предназначен для сбора информации об истинности ответов студента.

Структуры файлов данных приводятся ниже в табличной форме.

Таблица 3.3

Структура файла данных TEMA.DB

Название поля

Тип

Назначение

Tema_id

autoincrement

уникальный идентификатор раздела(темы)

Tema_name

alpha(100)

название раздела(темы)

Таблица 3.4

Структура файла данных QUESTION.DB

Название поля

Тип

Назначение

Quest_id

autoincrement

уникальный идентификатор вопроса

Tema_id

long integer

номер темы, которой принадлежит вопрос

Quest_name

memo

текст вопроса

Таблица 3.5

Структура файла данных TICKETS.DB

Название поля

Тип

Назначение

Ticket_id

autoincrement

уникальный идентификатор записи

Ticket_num

long integer

номер билета

Quest_id

long integer

идентификатор вопроса

Таблица 3.6

Структура файла данных ANSWER.DB

Название поля

Тип

Назначение

Otvet_id

autoincrement

уникальный идентификатор варианта ответа

Quest_id

long integer

идентификатор вопроса, которому принадлежит вариант ответа

Otvet_name

memo

текст варианта ответа на вопрос

Trued

logical

истинность варианта ответа

Таблица 3.7

Структура файла данных CONTROL.DB

Название поля

Тип

Назначение

Id

autoincrement

уникальный идентификатор записи

Name

alpha(40)

фамилия студента

Ticket_num

long integer

номер билета, по которому проводилось тестирование

Date

date

дата тестирования

Time

time

время завершения тестирования

Mark

number

относительная оценка (0..1)

Таблица 3.8

Структура файла данных RESULT.DB

Название поля

Тип

Назначение

Answer_id

long integer

уникальный идентификатор ответа

Trued

logical

истинность ответа

  1. ОПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ

Разработанная универсальная обучающе-контролирующая система содержит следующие части:

  1. программу для создания и модификации тестов;

  2. сервисную программу настройки параметров контроля знаний, формирования билетов, просмотра и распечатки результатов тестирования;

  3. программу контроля знаний

и предназначен для разработки, модификации и эффективного использования тестов в процессе обучения практически по любой дисциплине.

Описание основных принципов функционирования программ, входящих в состав системы, приведено ниже.

    1. Описание программы создания и модификации тестов

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

  • создание, модификация и удаление тематических разделов;

  • создание, модификация и удаление контрольных вопросов;

  • создание для любого вопроса произвольного числа вариантов ответа;

  • модификация и удаление вариантов ответа на вопрос.

Программа реализована на языке Object Pascal в среде визуального программирования Delphi 2.0 фирмы Borland International. Текст программы и используемых ею модулей приведен в прил.1.

Программой используются следующие файлы БД: Tema.db, Question.db, Answer.db. Схема связей файлов БД, используемая рассматриваемой программой, приведена на рис.4.1.


Рис.4.1. Схема связей файлов БД для программы создания тестов

Так как программа разрабатывалась в системе визуального программирования Borland Delphi в соответствии с принципом модульности, то в каждом модуле объявляется отдельный класс, который содержит данные и методы работы с ними а также методы работы с данными из других классов. Ниже приведены описания классов, используемых в рассматриваемой программе.

  1. Класс TTreeForm ( модуль S2) ‑ отображает главное окно программы.

Переменные класса:

  • x1,x2 - вспомогательные переменные;

  • CreateMainForm - индикатор создания формы (True,если выполняется метод FormCreate).

Методы класса:

  • AddDocButClick() - выполняет добавление нового контрольного вопроса в текущую тему;

  • MainTreeClick() - изменяет положение указателей в файлах БД Tema.db,Question.db;

  • DeleteButClick() - выполняет удаление текущего вопроса или темы;

  • FullExpButClick() - производит полное раскрытие тематического дерева;

  • FullColButClick() - выполняет полное сворачивание тематического дерева;

  • ExitButClick() - производит закрытие программы;

  • FormClose( ) - выполняет все необходимые действия перед закрытием программы;

  • AddTemaButClick() - выводит диалог добавления новой темы;

  • FormShow() - выполняет инициализацию данных при запуске программы;

  • FormResize() - производит действия по изменению размеров объектов окна;

  • FormCreate() - выполняет инициализацию переменных x1,x2;

  • AppendQuestion() - добавляет в таблицу Question.db новый вопрос;

  • ClearQuestion() - осуществляет логическое удаление текущего вопроса из БД.

  1. Класс TEditForm (модуль DB_Unit) - отображает окно редактирования контрольных вопросов.

Переменные класса:

  • x1,x2 - вспомогательные переменные.

Методы класса:

  • FormClose( )- производит выход из программы;

  • DBEditTemaChange() - сохраняет в БД изменения в названии темы;

  • AddAnswerButClick() - добавляет новый вариант ответа на текущий вопрос;

  • DelAnswerButClick() - удаляет текущий вариант ответа на вопрос;

  • FormCreate() - выполняет инициализацию переменных;

  • AppendAnswer() - производит добавление в БД нового ответа;

  • ClearAnswer() - выполняет удаление из БД текущего ответа;

  • FormResize() - изменяет размер объектов окна;

  • MemoScrollResize() - изменяет размер объектов в области модификации ответов.

  1. Класс TAnswer (модуль DBUnit) - отвечает за отображение вариантов ответа на вопрос.

Переменные класса:

  • nocreate - индикатор создания объекта(False,если выполняется метод Create).

Методы класса:

  • Create() - создает объект типа TAnswer;

  • Free() - освобождает память занятую объектом;

  • CheckClick() - заносит в файл БД Answer.db состояние флажка правильности ответа;

  • MemoChange() - сохраняет текст ответа в файле БД Answer.db;

  • DeleteAnswer() - производит перерисовку области вывода вариантов ответа на вопрос после удаления одного из ответов.

  1. Класс TWinEditTema(модуль AddTema) - отображает диалог добавления новой темы.

Методы класса:

  • butCancelClick() - добавляет новую тему в файл БД Teма.db.

  • butOkClick() - закрывает диалог добавления новой темы.

4.2 Описание программы администрирования

Программа администрирования, являясь составной частью универсальной обучающе-контролирующей системы, предназначена для использования в сочетании с программой создания тестов и предоставляет пользователю следующие возможности:

  • формирование билетов;

  • задание времени ответа на вопросы билета;

  • задание системы оценки результатов тестирования;

  • просмотр и распечатка результатов (протокола) тестирования на принтере.

Программа реализована на языке Object Pascal в среде визуального программирования Delphi 2.0 фирмы Borland International. Текст программы и используемых ею модулей приведен в прил.2.

Программой используются следующие файлы БД: Control.db, Tema.db, Question.db, Tickets.db. Схема связей файлов БД, используемая рассматриваемой программой, приведена на рис.4.2.

Характеристики

Тип файла
Документ
Размер
11,28 Mb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7027
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее