Программная реализация

Модель данных

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

  • 1. Курс - сущность, используемая для группировки набора заданий. Данная сущность может быть ассоциирована с дисциплиной, которая содержит набор заданий.
  • 2. Задание - сущность, используемая для представления задания по программированию. Задание может содержать в себе описание, предоставлять общие файлы (common files) и файлы для проведения оценки (secret files), а также иметь крайний срок приема работ на проверку. Задание должно содержать в себе набор подправил оценивания, по которому осуществляется формирование итоговой оценки.
  • 3. Подправило оценивания - сущность, используемая для отображения определенного аспекта работы, которое возможно оценить. Правило оценивания содержит определенный вес, который отображает, насколько сильно данное правило влияет на формирование оценки.
  • 4. Попытка - сущность, используемая для представления оцениваемой работы студента. Программа должна предоставить оценку для каждого правила оценивания при осуществлении попытки. Попытка ассоциирована исключительно с одним студентом, загрузившим файл с оцениваемой программой.

Архитектура приложения

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

  • 1. Сервер оценки. Данный сервер является основным модулем, участвующим в ходе проверки. Основные функции сервера:
    • · Регистрация пользователей, а также аутентификация их в системе;
    • · Предоставление общей информации о доступных курсах и заданиях;
    • · Предоставление информации о результатах проверки работ;
    • · Осуществление оценки попытки сдачи определенного задания;
    • · Регистрация новых курсов, заданий;
    • · Загрузка файлов в файловое хранилище.
  • 2. Веб-интерфейс. Данный модуль предоставляет пользователю интерфейс, основанный на веб-страницах, чтобы осуществлять взаимодействие с программой. Модуль взаимодействует с сервером оценки в качестве интерфейса к предоставляемому сервером функционалу;
  • 3. Файловое хранилище - модуль, предоставляющий возможность хранить загруженные файлы, а также иметь к ним доступ через протокол HTTP.
  • 4. Оценивающие сервисы (оценщики) - совокупное название всех модулей, непосредственно осуществляющих проверку загруженных работ по критериям;
  • 5. База данных - хранилище данных учетных записей пользователей, информации о курсах, заданиях, правил (подправил) оценивания, а также результатов проверок;
  • 6. Прокси сервер - сервер, обрабатывающий все входящие запросы пользователя. Перенаправляет запросы в различные модули программы.
Изображение архитектуры программы

Рисунок 5. Изображение архитектуры программы

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >