Разработка системы тестирования решений задач для проведения олимпиад по программированию
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
рмат выходного файла
Ограничения данных
Ограничение по времени
Количество открытых тестов
Содержимое турнира
Код турнира
Код задачи
Список решений задач
Код задачи
Исходный код
Описание решения
Список тестов для задач
Код задачи
Тест
Ответ
Список комментариев задач
Код задачи
Время добавления
Комментарий
Код пользователя
Список категорий
Код категории
Название
Описание
Содержимое категории
Код категории
Код задачи
Список компиляторов
Код компилятора
Название
Параметры командной строки
Результат турнира
Код турнира
Код пользователя
Код задачи
Сообщение компилятора
Количество попыток сдачи
Процент выполнения
Исходный код решения
Время отправки
Новости
Заголовок
Сообщение
Дата и время размещения
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) и появляется возможность дос