Разработка системы тестирования решений задач для проведения олимпиад по программированию

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



рмат выходного файла

Ограничения данных

Ограничение по времени

Количество открытых тестов

Содержимое турнира

Код турнира

Код задачи

Список решений задач

Код задачи

Исходный код

Описание решения

Список тестов для задач

Код задачи

Тест

Ответ

Список комментариев задач

Код задачи

Время добавления

Комментарий

Код пользователя

Список категорий

Код категории

Название

Описание

Содержимое категории

Код категории

Код задачи

Список компиляторов

Код компилятора

Название

Параметры командной строки

Результат турнира

Код турнира

Код пользователя

Код задачи

Сообщение компилятора

Количество попыток сдачи

Процент выполнения

Исходный код решения

Время отправки

Новости

Заголовок

Сообщение

Дата и время размещения

2. ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ

.1 Физическая модель

Структура физической модели данных показана в таблицах 1 - 15

Таблица 1 - Структура таблицы User_List

User_ID*LoginPasswordEmailTournament_IDКод пользователяЛогинПарольЭлектронный адрессКод турнираintvarchar(30)varchar (30)varchar (30)int

Таблица предназначена для хранения списка пользователей и информации о них.

Таблица 2 - Структура таблицы Group_List

Group_IDTitleDiscriptionКод группыНазваниеОписаниеintvarchar(25)varchar(25)

Таблица предназначена для хранения списка групп.

Таблица 3 - Структура таблицы Group_Content_User

Group_ID*User_ID*Код группыКод пользователяintint

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

Таблица 4 - Структура таблицы Group_Content_Tournament

Group_ID*Tournament_ID*Код группыКод турнираintint

Таблица предназначена для хранения информации о том, в каких группах будут доступны турниры.

Таблица 5 - Структура таблицы Tournament_List

Tournament_ID*TitleDiscriptionStartStopКод турнираНазвание Описание Начало Завершение intVarchar(30)textdatetimedatetime

Таблица содержит список турниров.

Таблица 6 - Структура таблицы Problem_List

Problem_ID*TitleAuthorStatementIFFOFFDatlimTimelimCtКод задачиНазвание АвторПостановка задачиФормат входного файлаФормат выходного файлаОграничение данныхОграничение времени выполненияНазвание привлегииintvarchar(30)varchar(30)texttexttexttextintint

Таблица содержит список задач и информацию о них.

Таблица 7 - Структура таблицы Tournament_Content

Tournament_ID*Problem_ID*Код турнираКод задачиintintТаблица, в которой хранится информация о том, каким турнирам принадлежат какие задачи.

Таблица 8 - Структура таблицы Solution_List

Problem_IDSource_CodeDiscriptionКод задачиИсходный кодописаниеinttexttext

Таблица содержит исходные коды и описания решений для задач.

Таблица 9 - Структура таблицы Test_List

Problem_IDTestResultКод задачиТестРезультатinttexttext

Таблица содержит исходные тесты и правильные ответы на эти тесты.

Таблица 10 - Структура таблицы Comment_List

Problem_IDDate_TimeCommentUser_IDКод задачиВремя добавленияКомментарийКод пользователяintdatetimetexint

Таблица содержит комментарии к задачам, время их добавления и пользователей добавивших коментарии.

Таблица 11 - Структура таблицы Category_List

Category_ID*TitleDiscriptionКод категорииНазвание Описание intVarchar(30)textТаблица содержит список категорий.

Таблица 12 - Структура таблицы Category_Content

Category_IDProblem_IDКод категорииКод пользователяintint

Таблица содержит данные о том, к каким категориям какие задачи относятся.

Таблица 13 - Структура таблицы Compiler_List

Compiler_ID*NameParametersКод кафедрыНазваниеПараметры командной строкиintvarchar(30)varchar(200)

Таблица содержит информацию о компиляторах и способах их запуска.

Таблица 14 - Структура таблицы Result_List

Tournament_IDProblem_IDUser_IDMessageAttemp_CountPercentSource_CodeStatusКод турнираКод задачиКод пользователяРезультат тестирое тестированияintintinttextintfloattextInteger

Таблица содержит информацию о тестировании задач.

Таблица 15 - Структура таблицы News

TitleMessageDate_TimeЗаголовок новостиСообщениеВремя размещенияvarchar(30)textdatetimeТаблица содержит список новостей размещенных в системе.

2.2 Диаграмма модели "сущность-связь"

программа пользователь экранный тестирование

Диаграмма, показывающая связи между таблицами, изображена на рисунке 1.

Рисунок 1 - Диаграмма модели "сущность-связь"

2.3 Зависимости программного продукта

Для работы приложения необходимо:

Сервер БД MySql

Веб сервер Apache.

библиотека PHP

3. ОПИСАНИЕ ПРИЛОЖЕНИЯ

.1 Краткое описание экранных форм

После ввода в веб браузере адреса системы появляется страница уведомления (см. рисунок 2), на которой сообщается о том, что пользователь не авторизован и предлагается пройти регистрацию или авторизацию.

Рисунок 2 - Страница уведомления

Если пользователь решает пройти регистрацию, появляется страница регистрации (см. рисунок 3). Если пользователь решает пройти авторизацию, появляется страница авторизации (см. рисунок 4).

Рисунок 3 - Страница регистрации

Рисунок 4 - Страница авторизации

При успешной регистрации происходит автоматическая авторизация. При успешной авторизации появляется страница членства в группах (см. рисунок 5) и появляется возможность дос