Electronic Tests Information System
Project Overview The Electronic Tests Information System is designed to facilitate online examinations for students. The system supports a variety of question types, including essay questions, multiple-choice questions, and computational questions, enabling a comprehensive assessment of students’ knowledge. The application automatically grades the exams based on the answers provided, and it has mechanisms for managing exam prerequisites to enhance learning pathways.
Features
- Unique Exam Identification: Each exam has a unique identifier and a title.
- Question Management: Questions can be reused across multiple exams, with point values that may vary per exam.
- Question Types:
- Essay: Open-ended text answers from students.
- Multiple Choice: A set of options where students select the correct answer.
- Computational: Students input a numerical answer.
- Prerequisite Exams: Certain exams require students to have passed specific prior exams.
- Automatic Grading: The system calculates final grades based on assigned points.
Database Design - The project includes a comprehensive database schema to support the electronic testing system, which consists of the following key components:
- Entities and Relationships: Representation of exams, questions, user responses, and their interrelations.
- Keys and Constraints:
- Primary Keys: Unique identifiers for each entity.
- Foreign Keys: Maintain referential integrity between exams and questions.
- Constraints: Unique value constraints, checks, and rules for data consistency.
File Structure
- createTables.sql: Defines the database tables and their relationships.
- createViews.sql: Specifies the views used to simplify data retrieval.
- loadData.sql: Populates the database with sample data for initial testing.
Technologies Used
- Database: MySQL
- Programming Language: Java
- IDE: IntelliJ IDEA
- Modeling Tool: draw.io (diagrams.net)
How to Run the Project
- Clone the repository: Download or clone this repository to your local machine.
- Setup the Database:
- Use MySQL to import the createTables.sql file to create the database structure.
- Import the loadData.sql file to populate the database with sample data.
- Run the Application:
- Open the Java application in IntelliJ IDEA.
- Configure the database connection settings in the application if needed.
- Run the application to test the functionality of the electronic tests system.
Future Improvements
- Enhance support for additional question types.
- Implement a user-friendly interface for exam creation and grading.
- Strengthen security measures for exam access.
Информационна система за електронни тестове
Обзор на проекта Информационната система за електронни тестове е проектирана да улесни онлайн изпитите за студенти. Системата поддържа разнообразие от типове въпроси, включително есета, затворени въпроси и изчислителни въпроси, което позволява цялостна оценка на знанията на студентите. Приложението автоматично оценява изпитите въз основа на предоставените отговори и разполага с механизми за управление на предварителните изпити, за да подобри обучителните пътеки.
Характеристики
- Уникална идентификация на изпита: Всеки изпит има уникален идентификатор и заглавие.
- Управление на въпросите: Въпросите могат да се използват повторно в различни изпити, с точки, които могат да варират в зависимост от изпита.
- Типове въпроси:
- Есе: Отворени текстови отговори от студентите.
- Затворен въпрос: Комплект опции, от които студентите избират правилния отговор.
- Изчислителен: Студентите въвеждат числов отговор.
- Предварителни изпити: Някои изпити изискват от студентите да са преминали определени предходни изпити.
- Автоматично оценяване: Системата изчислява крайни оценки на базата на зададените точки.
Дизайн на базата данни - Проектът включва обширна схема на базата данни, която поддържа електронната тестова система, състояща се от следните ключови компоненти:
- Същности и връзки: Представяне на изпити, въпроси, отговори на потребителите и техните взаимовръзки.
- Ключове и ограничения:
- Първични ключове: Уникални идентификатори за всяка същност.
- Външни ключове: Поддържат референтна цялост между изпити и въпроси.
- Ограничения: Ограничения за уникални стойности, проверки и правила за последователност на данните.
Структура на файловете
- createTables.sql: Определя таблиците на базата данни и техните взаимоотношения.
- createViews.sql: Специфицира изгледите, използвани за опростяване на извличането на данни. 3 loadData.sql: Запълва базата данни с примерни данни за първоначално тестване.
Използвани технологии
- База данни: MySQL
- Програмен език: Java
- IDE: IntelliJ IDEA
- Инструмент за моделиране: draw.io (diagrams.net)
Как да стартирате проекта
- Клонирайте репозитория: Изтеглете или клонирайте този репозиторий на локалната си машина.
- Настройка на базата данни:
- Използвайте MySQL, за да импортирате файла createTables.sql, за да създадете структурата на базата данни.
- Импортирайте файла loadData.sql, за да запълните базата данни с примерни данни.
- Стартиране на приложението:
- Отворете Java приложението в IntelliJ IDEA.
- Конфигурирайте настройките за връзка с базата данни в приложението, ако е необходимо.
- Стартирайте приложението, за да тествате функционалността на електронната тестова система.
Бъдещи подобрения
- Подобряване на поддръжката за допълнителни типове въпроси.
- Реализиране на потребителски интерфейс за създаване и оценяване на тестовете.
- Усилване на мерките за сигурност за достъп до изпитите.