Разбор задач областного этапа всероссийской олимпиады школьников по информати...
Защита моей ВКР.
1. Система проведения соревнований
по спортивному программированию «S4RiS»
(["sfO:ris], System for Right Solutions)
Стрекаловский Олег Александрович
Вологодский государственный педагогический университет
Факультет прикладной математики
и компьютерных технологий
Научный руководитель: ст. преп. Меньшиков Ф.В.
Рецензент: к.т.н., доц. Андрианов И.А.
Вологда
2012 г.
1/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
2. Введение
Цели и задачи работы
Изучить, в том числе на практике, принципы разработки
web-приложений на основе Java Platform, Enterpise Edition.
Разработать систему для проведения соревнований по
спортивному программированию формата ACM ICPC.
2/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
4. Введение
Анализ технического задания
Функциональные требования к системе
Предоставление возможности управления соревнованием
Администратором системы.
Удобный интерфейс участника для отправки своих
решений и просмотра результатов.
Возможность просмотра хода соревнования для зрителей.
Дополнительные требования
Безопасность.
Расширяемость.
4/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
5. Введение Средства и инструменты разработки
Фреймворки разработки для JavaEE
JavaServer Faces (JSF)
JSF — это фреймворк для web-приложений, написанный на
Java.
Технология JavaServer Faces включает:
Набор API для представления компонент
пользовательского интерфейса (UI) и управления их
состоянием, обработкой событий и валидацией вводимой
информации, определения навигации, а также поддержку
интернационализации (i18n).
Специальная библиотека JSP, JSF тегов для выражения
интерфейса JSF.
Hibernate
Библиотека для отображения информации из реляционных баз
данных в Java-объекты (object-relational mapping — ORM).
5/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
6. Введение Средства и инструменты разработки
Фреймворки разработки для JavaEE
JavaServer Faces (JSF)
JSF — это фреймворк для web-приложений, написанный на
Java.
Технология JavaServer Faces включает:
Набор API для представления компонент
пользовательского интерфейса (UI) и управления их
состоянием, обработкой событий и валидацией вводимой
информации, определения навигации, а также поддержку
интернационализации (i18n).
Специальная библиотека JSP, JSF тегов для выражения
интерфейса JSF.
Hibernate
Библиотека для отображения информации из реляционных баз
данных в Java-объекты (object-relational mapping — ORM).
5/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
7. Введение Средства и инструменты разработки
Cерверное ПО
Apache Tomcat
Программа-контейнер приложений, написанная на языке Java.
Tomcat позволяет запускать web-приложения, содержит ряд
программ для самоконфигурирования и используется в
качестве самостоятельного web-сервера.
СУБД MySQL
Система управления базами данных. MySQL является местом
хранения базы данных системы, а также предоставляет
функции взаимодействия базы данных с внешними
приложениями.
6/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
8. Введение Средства и инструменты разработки
Cерверное ПО
Apache Tomcat
Программа-контейнер приложений, написанная на языке Java.
Tomcat позволяет запускать web-приложения, содержит ряд
программ для самоконфигурирования и используется в
качестве самостоятельного web-сервера.
СУБД MySQL
Система управления базами данных. MySQL является местом
хранения базы данных системы, а также предоставляет
функции взаимодействия базы данных с внешними
приложениями.
6/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
9. Проектирование и разработка системы
Структура системы
7/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
10. Проектирование и разработка системы
Подсистемы S4RiS
S4RiS Accepter
Web-приложение для проведения соревнований.
Предоставляет web-интерфейс для взаимодействия
пользователей с системой.
Взаимодействует с проверяющими системами.
S4RiS Standings Dancing (S4RiS StanD)
Web-страница для визуализации процесса «разморозки»
результатов соревнования.
Получает протокол соревнования в формате JSON, строит
по ней модель и позволяет итеративно проводить
«разморозку».
8/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
11. Проектирование и разработка системы
Подсистемы S4RiS
S4RiS Accepter
Web-приложение для проведения соревнований.
Предоставляет web-интерфейс для взаимодействия
пользователей с системой.
Взаимодействует с проверяющими системами.
S4RiS Standings Dancing (S4RiS StanD)
Web-страница для визуализации процесса «разморозки»
результатов соревнования.
Получает протокол соревнования в формате JSON, строит
по ней модель и позволяет итеративно проводить
«разморозку».
8/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
13. Подсистема «S4RiS Accepter» Интерфейс администратора
Добавление новой задачи
10/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
14. Подсистема «S4RiS Accepter» Интерфейс администратора
Управление соревнованием.
Список участников соревнования.
11/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
15. Подсистема «S4RiS Accepter» Интерфейс участника
Выбор соревнования
12/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
16. Подсистема «S4RiS Accepter» Интерфейс участника
Отправка решения
13/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
17. Подсистема «S4RiS Accepter» Интерфейс участника
Просмотр персональных результатов
14/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
18. Подсистема «S4RiS StanD»
Общие сведения
Получение протокола соревнования
в формате «S4RiS StanD JSON Log»
Протокол соревнования из тестирующей системы передаётся в
программу-конвертор, которая преобразует его в формат JSON
в соответствии со установленной спецификацией.
Построение модели соревнования
Полученные данные передаются в скрипт, который строит по
ним модель соревнования (связывается информация по
задачам, участникам, отправкам решений).
Проведение «разморозки» результатов
Процесс «разморозки» происходит итерациями, каждая из
которых инициируется нажатием клавиши ’N’ на клавиатуре.
15/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
19. Подсистема «S4RiS StanD»
Общие сведения
Получение протокола соревнования
в формате «S4RiS StanD JSON Log»
Протокол соревнования из тестирующей системы передаётся в
программу-конвертор, которая преобразует его в формат JSON
в соответствии со установленной спецификацией.
Построение модели соревнования
Полученные данные передаются в скрипт, который строит по
ним модель соревнования (связывается информация по
задачам, участникам, отправкам решений).
Проведение «разморозки» результатов
Процесс «разморозки» происходит итерациями, каждая из
которых инициируется нажатием клавиши ’N’ на клавиатуре.
15/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
20. Подсистема «S4RiS StanD»
Общие сведения
Получение протокола соревнования
в формате «S4RiS StanD JSON Log»
Протокол соревнования из тестирующей системы передаётся в
программу-конвертор, которая преобразует его в формат JSON
в соответствии со установленной спецификацией.
Построение модели соревнования
Полученные данные передаются в скрипт, который строит по
ним модель соревнования (связывается информация по
задачам, участникам, отправкам решений).
Проведение «разморозки» результатов
Процесс «разморозки» происходит итерациями, каждая из
которых инициируется нажатием клавиши ’N’ на клавиатуре.
15/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
21. Подсистема «S4RiS StanD»
Принцип работы
[+ N] – участник сдал задачу с N-1 попытки до
«заморозки».[+] – задача сдана с 1ой попытки.
[– N] – участник сделал N неудачных попыток сдачи и за
время «заморозки» попыток не было.
[? N] – участник сделал N попыток сдачи задачи за
соревнование, некоторые были сделаны в «заморозке».
16/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
22. Заключение
Результаты
В рамках выполнения выпускной квалификационной
работы была спроектирована и создана система
проведения соревнований по спортивному
программированию «S4RiS».
Реализованы подсистемы:
«S4RiS Accepter».
«S4RiS StanD».
Стал самостоятельным web-сервисом.
Был использован на церемонии закрытия
XV Межвузовской олимпиады по программированию
в г. Вологда. Его работа была положительно оценена
членами жюри и участниками.
17/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»