Система проведения соревнований по спортивному программированию «S4RiS» (["sfO:ris], System for Right Solutions) Стрекаловский Олег Александрович Вологодский государственный педагогический университет Факультет прикладной математики и компьютерных технологий Научный руководитель: ст. преп. Меньшиков Ф.В. Рецензент: к.т.н., доц. Андрианов И.А. Вологда 2012 г. 1/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Система проведения соревнований
по спортивному программированию «S4RiS»
(["sfO:ris], System for Right Solutions)
Стрекаловский Олег Александрович
Вологодский государственный педагогический университетФакультет прикладной математики
и компьютерных технологий
Научный руководитель: ст. преп. Меньшиков Ф.В.Рецензент: к.т.н., доц. Андрианов И.А.
Вологда
2012 г.
1/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение
Цели и задачи работы
Изучить, в том числе на практике, принципы разработкиweb-приложений на основе Java Platform, Enterpise Edition.
Разработать систему для проведения соревнований поспортивному программированию формата ACM ICPC.
2/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение
ACM-ICPC International Collegiate Programming Contest
3/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение
Анализ технического задания
Функциональные требования к системе
Предоставление возможности управления соревнованиемАдминистратором системы.
Удобный интерфейс участника для отправки своихрешений и просмотра результатов.
Возможность просмотра хода соревнования для зрителей.
Дополнительные требования
Безопасность.
Расширяемость.
4/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение Средства и инструменты разработки
Фреймворки разработки для JavaEE
JavaServer Faces (JSF)
JSF — это фреймворк для web-приложений, написанный наJava.Технология JavaServer Faces включает:
Набор API для представления компонентпользовательского интерфейса (UI) и управления ихсостоянием, обработкой событий и валидацией вводимойинформации, определения навигации, а также поддержкуинтернационализации (i18n).
Специальная библиотека JSP, JSF тегов для выраженияинтерфейса JSF.
Hibernate
Библиотека для отображения информации из реляционных базданных в Java-объекты (object-relational mapping — ORM).
5/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение Средства и инструменты разработки
Фреймворки разработки для JavaEE
JavaServer Faces (JSF)
JSF — это фреймворк для web-приложений, написанный наJava.Технология JavaServer Faces включает:
Набор API для представления компонентпользовательского интерфейса (UI) и управления ихсостоянием, обработкой событий и валидацией вводимойинформации, определения навигации, а также поддержкуинтернационализации (i18n).
Специальная библиотека JSP, JSF тегов для выраженияинтерфейса JSF.
Hibernate
Библиотека для отображения информации из реляционных базданных в Java-объекты (object-relational mapping — ORM).
5/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение Средства и инструменты разработки
Cерверное ПО
Apache Tomcat
Программа-контейнер приложений, написанная на языке Java.Tomcat позволяет запускать web-приложения, содержит рядпрограмм для самоконфигурирования и используется вкачестве самостоятельного web-сервера.
СУБД MySQL
Система управления базами данных. MySQL является местомхранения базы данных системы, а также предоставляетфункции взаимодействия базы данных с внешнимиприложениями.
6/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Введение Средства и инструменты разработки
Cерверное ПО
Apache Tomcat
Программа-контейнер приложений, написанная на языке Java.Tomcat позволяет запускать web-приложения, содержит рядпрограмм для самоконфигурирования и используется вкачестве самостоятельного web-сервера.
СУБД MySQL
Система управления базами данных. MySQL является местомхранения базы данных системы, а также предоставляетфункции взаимодействия базы данных с внешнимиприложениями.
6/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Проектирование и разработка системы
Структура системы
7/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Проектирование и разработка системы
Подсистемы S4RiS
S4RiS Accepter
Web-приложение для проведения соревнований.
Предоставляет web-интерфейс для взаимодействияпользователей с системой.
Взаимодействует с проверяющими системами.
S4RiS Standings Dancing (S4RiS StanD)
Web-страница для визуализации процесса «разморозки»результатов соревнования.
Получает протокол соревнования в формате JSON, строитпо ней модель и позволяет итеративно проводить«разморозку».
8/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Проектирование и разработка системы
Подсистемы S4RiS
S4RiS Accepter
Web-приложение для проведения соревнований.
Предоставляет web-интерфейс для взаимодействияпользователей с системой.
Взаимодействует с проверяющими системами.
S4RiS Standings Dancing (S4RiS StanD)
Web-страница для визуализации процесса «разморозки»результатов соревнования.
Получает протокол соревнования в формате JSON, строитпо ней модель и позволяет итеративно проводить«разморозку».
8/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS Accepter»
Страница входа в систему
9/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
11/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS Accepter» Интерфейс участника
Выбор соревнования
12/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS Accepter» Интерфейс участника
Отправка решения
13/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS Accepter» Интерфейс участника
Просмотр персональных результатов
14/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS StanD»
Общие сведения
Получение протокола соревнованияв формате «S4RiS StanD JSON Log»
Протокол соревнования из тестирующей системы передаётся впрограмму-конвертор, которая преобразует его в формат JSONв соответствии со установленной спецификацией.
Построение модели соревнования
Полученные данные передаются в скрипт, который строит поним модель соревнования (связывается информация позадачам, участникам, отправкам решений).
Проведение «разморозки» результатов
Процесс «разморозки» происходит итерациями, каждая изкоторых инициируется нажатием клавиши ’N’ на клавиатуре.
15/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS StanD»
Общие сведения
Получение протокола соревнованияв формате «S4RiS StanD JSON Log»
Протокол соревнования из тестирующей системы передаётся впрограмму-конвертор, которая преобразует его в формат JSONв соответствии со установленной спецификацией.
Построение модели соревнования
Полученные данные передаются в скрипт, который строит поним модель соревнования (связывается информация позадачам, участникам, отправкам решений).
Проведение «разморозки» результатов
Процесс «разморозки» происходит итерациями, каждая изкоторых инициируется нажатием клавиши ’N’ на клавиатуре.
15/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS StanD»
Общие сведения
Получение протокола соревнованияв формате «S4RiS StanD JSON Log»
Протокол соревнования из тестирующей системы передаётся впрограмму-конвертор, которая преобразует его в формат JSONв соответствии со установленной спецификацией.
Построение модели соревнования
Полученные данные передаются в скрипт, который строит поним модель соревнования (связывается информация позадачам, участникам, отправкам решений).
Проведение «разморозки» результатов
Процесс «разморозки» происходит итерациями, каждая изкоторых инициируется нажатием клавиши ’N’ на клавиатуре.
15/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Подсистема «S4RiS StanD»
Принцип работы
[+ N] – участник сдал задачу с N-1 попытки до«заморозки».[+] – задача сдана с 1ой попытки.
[– N] – участник сделал N неудачных попыток сдачи и завремя «заморозки» попыток не было.
[? N] – участник сделал N попыток сдачи задачи засоревнование, некоторые были сделаны в «заморозке».
16/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Заключение
Результаты
В рамках выполнения выпускной квалификационнойработы была спроектирована и создана системапроведения соревнований по спортивномупрограммированию «S4RiS».
Реализованы подсистемы:
«S4RiS Accepter».
«S4RiS StanD».
Стал самостоятельным web-сервисом.
Был использован на церемонии закрытия
XV Межвузовской олимпиады по программированию
в г. Вологда. Его работа была положительно оценена
членами жюри и участниками.
17/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»
Заключение
Спасибо за внимание!
18/18 Стрекаловский Олег Александрович Система проведения соревнований «S4RiS»