Разработка информационной системы для проведения чемпионата по программированию. Самара 2013
Введение Олимпиады по информатике широко распространены и имеют достаточно долгую историю. Командный студенческий чемпионат мира по программированию ACM ICPC (Association for Computing Machinery International Collegiate Programming Contest) проводится с 1977 года. Соревнования обычно проходят следующим образом: Команда состоит из 3х человек, каждой команде выдается 1 компьютер, набор задач (обычно от 8 до 15) и 5 часов на то чтобы их решить. Решение задачи должно быть оформлено в виде программы на алгоритмическом языке. В стандарте ACM прописаны следующие языки: С, С++, Java, но в рамках правил региональных соревнований набор языков может быть расширен. Все решения отправляются проверяющей системе, каждое неверное решение приносит команде 20 минут штрафного времени. Победителем становится команда, решившая наибольшее количество задач, за наименьшее время.
Цель работы: Спроектировать и реализовать информационную систему для проведения чемпионатов по программированию Задачи работы: Изучить предметную область Спроектировать базу данных Выбрать методы реализации Разработать Use-Case диаграммы Разработать диаграммы классов Разработать диаграммы последовательностей Реализовать серверную часть Реализовать Клиентскую часть Протестировать систему
Анализ предметной области Основные решения: Клиент-серверное приложение Кроссплатформенность Необходимость БД для хранения решений и информации о Соревнованиях, задачах и пользователях. Сервер имеет подключение к базе данных Тонкий клиент
Физическая модель базы данных
Выбор средств реализации Средство моделирования базы данных: dbForge studio for MySQL Средства создания UML-диаграмм: ArgoUML и StarUML База данных: MySQL 5.5 Реализация программы: Java NetBeans 7.1.1
Use-Case проверяющая система
Use-Case пользователь – администратор
Диаграмма классов клиент
Диаграмма классов Сервер
Диаграмма последовательностей: пересылка сообщений
Диаграмма последовательностей: Авторизация в системе
Диаграмма последовательностей: Отправка решения на тестирование
Диаграмма последовательностей: Тестирование
Окно сервера
Окно авторизации (клиент)
Экран отправки решения (клиент)
Экран с монитором (клиент)
Планы реализации Функциональные возможности для администратора Сообщения организаторов Автоматическая генерация и печать сертификатов и дипломов