УДК 004.652.8:004.652.6
А.Н. Бурнаев, Е.А. Малова
Камчатский государственный технический университет, Петропавловск-Камчатский, 683003 e-mail: [email protected]
ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ ПОДСИСТЕМЫ КОМПЬЮТЕРНОГО ТЕСТИРОВАНИЯ В ИС «КАФЕДРА»
Статья посвящена проектированию базы данных подсистемы компьютерного тестирования (КТест) информационной системы кафедры (ИСК) КамчатГТУ. Представлены функциональные задачи КТест, этапы проектирования базы данных, детально рассмотрены сущности и связи, включая инфологическое и даталогическое моделирование.
Ключевые слова: компьютерное тестирование, проектирование баз данных, ER-модель, даталогиче-ская модель.
A.N. Burnaev, E.A. Malova
Kamchatka State Technical University, Petropavlovsk-Kamchatskу, 683003 e-mail: [email protected]
DESIGNING THE DATABASE OF THE COMPUTER TESTING SUBSYSTEM IN THE INFORMATION SYSTEM «DEPARTMENT»
The article is devoted to the design of the database of the computer testing subsystem (CTest) by the information system "Department" (ISD) of Kamchatka State Technical University. The functional tasks of CTest, the stages of database design are presented, the entities and relationships, including infological and datalogical modeling, are considered in detail.
Key words: computer testing, database design, ER-model, datalogical model.
Камчатский государственный технический университет (КамчатГТУ) готовит специалистов для рыбной отрасли и поэтому является важной составляющей рыбохозяйственного комплекса, для которого внедрение информационных систем и технологий, автоматизация и управление на их основе является важнейшей задачей.
В КамчатГТУ на кафедре информационных систем ведется разработка информационной системы кафедры (ИСК), в состав которой должна быть включена система компьютерного тестирования (КТест) [1] в качестве подсистемы, но уже выполненная на основе веб-технологии с применением соответствующей библиотеки.
Необходимость внедрения предлагаемой системы в учебный процесс университета заключается в том, что существующие аналоги зачастую являются платными и требуют покупки лицензии, либо не позволяют гибко настраивать уже сформированные тесты под каждую конкретную группу, например, не позволяют указывать сложность назначенного теста, которая зависит от уровня сложности каждого вопроса, включенного в тест. КТест уровень сложности у вопросов формируется на основе фактических результатов прохождения тестов, что позволяет преподавателям определять темы и концепции, вызывающие у студентов наибольшие затруднения, а следовательно, способствует более тщательной проработке или доработке учебного материала.
Процесс тестирования является одним из способов оценивания полученных знаний учащихся и широко применяется как в образовательной, так и в профессиональной сферах, где тестирование служит инструментом повышения квалификации и переаттестации. Стремление к макси-
мизации положительного воздействия поднимает фундаментальный вопрос: как оптимально организовать процесс тестирования?
Центральным элементом любой информационной системы является ее база данных, и подсистема КТест не составляет исключения. Эффективная организация данных играет решающую роль в обеспечении успешного функционирования КТест. Процесс анализа предметной области и составления модели данных в целях создания наиболее эффективной базы данных известен как проектирование, которое включает в себя такие ключевые этапы, как инфологическое моделирование, которое предполагает частично формализованное описание объектов предметной области с использованием определенной смысловой модели, даталогическое моделирование, которое описывает структуру данных в рамках выбранной модели данных и отображает логические взаимосвязи между элементами данных, независимо от их содержания и физической организации, физическое проектирование базы данных, которое включает выбор наиболее эффективного расположения элементов базы данных на внешних носителях [2, 3].
Этапы проектирования базы данных представляют собой комплексный процесс, который требует тщательного анализа, понимания предметной области и правильного выбора методов моделирования для обеспечения оптимальной функциональности и эффективности информационной системы.
Функции КТест
КТест является подсистемой информационной системы кафедры (ИСК) и создан для того, чтобы на базе единого информационного ресурса обеспечить КамчатГТУ качественный контроль знаний и возможность эффективного обучения студентов. Следовательно, база данных КТест не представляет собой отдельную единицу, а является комплексом таблиц, интегрированных в базу данных ИСК и тесно взаимодействующих с другими ее таблицами.
Состав функциональных задач КТест определяется содержанием конкретных функций управления и информационными потребностями преподавателей и студентов (тестируемых) КамчатГТУ. К числу этих функций и потребностей относятся:
• создание и редактирование тестовых заданий (вопросов);
• формирование тестов из уже имеющихся в базе данных вопросов;
• назначение тестов конкретным учебным группам с возможностью указания сложности и режима прохождения (обучающий, контрольный) назначенного теста;
• прохождение тестов в двух режимах: контрольный и обучающий;
• просмотр результатов тестирования с возможностью комбинированного поиска по различным параметрам, таким как группа, студент, преподаватель и конкретный тест;
• формирование выходных х^-форм тестов в виде: списка вопросов, списка вопросов с вариантами ответов;
• внесение нового теста и соответствующих тестовых заданий (в случае их отсутствия в БД) в базу данных с использованием хк-форм заданного формата с вопросами и ответами.
Анализ вышеприведенных функций позволяет выделить ключевые сущности в информационной системе тестирования, необходимые для обеспечения ее корректного и эффективного функционирования.
Описание сущностей
Для описания объектов предметной области используются сущности как некоторые абстракции реальных объектов и процессов, информацию о которых требуется хранить в базе данных. Сущности КТест подразделяются на уже существующие в ИСК сущности и новые, необходимые для решения задачи тестирования:
1. Сущность «Преподаватель» обозначает преподавателя.
2. Сущность «Студент» обозначает студента.
3. Сущность «Группа» обозначает учебную группу.
4. Сущность «Дисциплина» обозначает учебную дисциплину.
5. Сущность «Вопрос» обозначает вопрос (тестовое задание).
6. Сущность «Ответы» обозначает ответы на вопрос.
7. Сущность «Тест» обозначает тест, который представляет собой набор вопросов.
8. Сущность «Назначение» обозначает назначение тестов. Назначение - это тест с задаваемым преподавателем уровнем сложности, количеством вопросов и временем прохождения,
сформированный для определенной группы и доступный для прохождения в установленном временном промежутке.
9. Сущность «Результаты теста» обозначает результаты пройденного назначенного теста.
10. Сущность «Результаты вопроса» обозначает результаты по конкретным вопросам пройденного назначенного теста.
ER-диаграмма
На основе выделенных сущностей была разработана ER-диаграмма, представленная в нотации Питера Чена (рис. 1).
Рис. 1. ER-диаграмма базы данных КТест
Даталогическая модель
На основе инфологической модели была построена даталогическая модель фрагмента базы данных ИСК (рис. 2), которая позволят реализовать основные функции информационной подсистемы КТест. Даталогическая модель включает в себя конкретные таблицы, атрибуты (поля) и связи между ними. В процессе построения даталогической модели учитывались требования предметной области, а также оптимальность и эффективность хранения и обработки данных.
Практически в каждую таблицу были включены поля iduser и timestamp для контроля корректировок данных таблиц: iduser - идентификационный код и внешний ключ, по которому можно определить пользователя, изменившего данные; timestamp - дата и время внесения изменений.
Помимо преподавателей и студентов в системе могут быть другие категории пользователей, например, администраторы, составители расписания, декан факультета, поэтому необходима таблица с пользователями. Однако в силу существенных различий в характеристиках между преподавателями и студентами представляется нецелесообразным объединение их данных в единую таблицу пользователей, поскольку это приведет к избыточности полей. Например, атрибуты, связанные с должностью, учеными степенями и званиями преподавателей, отсутствуют у студентов, в то время как атрибуты, такие как группа, форма зачисления, номер студенческой книжки, допуск к сессии, характерны исключительно для студентов. В связи с этим предпочтительным решением является разделение пользователей системы на три отдельные таблицы (пользователи, студенты, преподаватели), причем таблицы students и teachers имеют связь один-к-одному c таблицей users. Такой подход позволяет избежать избыточности данных в каждой записи и обеспечивает более эффективное хранение и обработку информации. И в связи с тем, что каждый студент и преподаватель является также и пользователем, в подсистеме КТест было принято решение использовать только таблицу users. Таблица students задействована в подсистеме исключительно для определения принадлежности студента к той или иной группе.
Рис. 2. Фрагмент даталогической модели базы данных ИСК*
Рассмотрим связи между таблицами КТест более подробно.
Таблица users (Преподаватель и Студент) имеет связь один-ко-многим (1-N) с questions (Вопросы), tests (Тесты), test_assign (Назначение), results (Результаты), так как один преподаватель может формировать множество вопросов, тестов и множество раз назначать тесты, а у одного студента может быть множество результатов (пройденных тестов).
Поскольку вопрос может иметь несколько вариантов ответов, таблица questions (Вопросы) имеет связь один-ко-многим (1-N) с таблицей answers (Ответы). Также вопрос может принадлежать множеству дисциплин и множеству тестов, но и тестам, и дисциплинам может принадлежать множество вопросов. В таком случае таблица questions имеет связь многий-ко-многим (N-N) с subjects (Дисциплины), tests (Тесты). Реализуется данная связь с помощью добавления специальной таблицы связи: таблица test_questions - для таблиц questions и tests, таблица ques-tion_subjects - для таблиц questions и subjects.
Таблица tests (Тесты) имеет связь один-ко-многим (1-N) с test_assign (Назначения), так как один тест может назначаться множество раз, в то время как у одного назначения может быть только один тест. Также у одной группы может быть множество назначенных тестов, следовательно, между таблицами grups (Группы) и test_assign (Назначение) связь один-ко-многим (1-N).
* На данном фрагменте дат. модели в таблицах со звездочкой приведены только те поля, которые используются в подсистеме компьютерного тестирования КТест.
У одного назначенного теста может быть множество результатов, так как тест назначается группе, в которой находятся множество студентов, следовательно, таблица test_assign (Назначения) имеет связь один-ко-многим (1-N) с таблицей results (Результаты тестов).
Таблицы: results, questions, answers имеют связь один-ко-многим (1-N) с results_answers (Результаты вопросов), в данной таблице хранится информация об ответах на каждый конкретный вопрос каждого конкретного прохождения назначенного теста.
В результате инфологического и даталогического моделирования удалось обосновать структуру фрагмента базы данных ИСК, отвечающего за реализацию функций компьютерного тестирования подсистемы КТест. Дальнейший переход к физической модели и созданию таблиц в выбранной СУБД обеспечит соответствие максимуму требований надежности, непротиворечивости и эффективности БД ИСК.
Литература
1. Бурнаев А.Н. Автоматизированная информационная система компьютерного тестирования КТест // E-POSTULAT.RU: Электрон. науч. журнал. - 2023. - URL: https://www.e-postulat.ru/ index.php/Postulat/article/view/5119
2. Махмутова М.В. Теория и практика разработки баз данных: Учеб. пособие. - 2-е изд., стер. - 2023. - 185 с.
3. Карпова Т.С. Базы данных: модели, разработка, реализация: Учеб. пособие. - 2-е изд. -2016. - 403 с.