Разработка веб-приложения для организации и проведения соревнований по кёрлингу
|
АННОТАЦИЯ 5
ВВЕДЕНИЕ 9
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 11
1.1 ОБЗОР АНАЛОГОВ 11
1.2 АНАЛИЗ ОСНОВНЫХ ТЕХНОЛОГИЧЕСКИХ РЕШЕНИЙ 12
1.2.1 ВЫБОР ФРЕЙМВОРКОВ ДЛЯ ВЕБ-ПРИЛОЖЕНИЯ 12
1.2.2 ВЫБОР СУБД 16
1.2.3 ВЫБРОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 22
1.3 ВЫВОД 23
2 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ 24
2.1 ТРЕБОВАНИЯ К СТРУКТУРЕ И ФУНКЦИОНИРОВАНИЮ
СИСТЕМЫ 24
2.2 ТРЕБОВАНИЯ К НАДЕЖНОСТИ 30
2.3 ТРЕБОВАНИЯ К БЕЗОПАСНОСТИ И ЗАЩИТЕ ИНФОРМАЦИИ ОТ
НЕСАНКЦИОНИРОВАННОГО ДОСТУПА 31
2.4 ТРЕБОВАНИЯ К ТЕХНИЧЕСКОЙ ЭСТЕТИКЕ 31
2.5 ТРЕБОВАНИЯ К ПАТЕНТНОЙ ЧИСТОТЕ 32
3 ПРОЕКТИРОВАНИЕ СИСТЕМЫ 32
3.1 АРХИТЕТУРА ПРОГРАММЫ 32
3.2 ВЫБОР АРХИТЕКТУРНОГО ШАБЛОНА ДЛЯ РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЯ 36
3.2.1 МОДЕЛЬ MVC В ВЕБ-ПРИЛОЖЕНИИ 42
3.3 ОПИСАНИЕ ДАННЫХ 60
4 РЕАЛИЗАЦИЯ 70
4.1 РЕАЛИЗАЦИЯ ИНТЕРФЕЙСОВ 70
5 ТЕСТИРОВАНИЕ 81
ЗАКЛЮЧЕНИЕ 97
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 98
ПРИЛОЖЕНИЕ А ИСХОДНЫЙ КОД КОНТРОЛЛЕРА
ENDING_CONTROLLER 100
ПРИЛОЖЕНИЕ Б ИСХОДНЫЙ КОД КОНТРОЛЛЕРА GAME_CONTROLLER 104
ПРИЛОЖЕНИЕ В ИСХОДНЫЙ КОД КОНТРОЛЛЕРА GROUP_CONTROLLER 109
ПРИЛОЖЕНИЕ Г ИСХОДНЫЙ КОД КОНТРОЛЛЕРА
HOME_CONTROLLER 115
ПРИЛОЖЕНИЕ Д ИСХОДНЫЙ КОД КОНТРОЛЛЕРА SCORE_CONTROLLER 116
ПРИЛОЖЕНИЕ Е ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TEAM_CONTROLLER 121
ПРИЛОЖЕНИЕ Ж ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TEAM_PLACEMENT_CONTROLLER 128
ПРИЛОЖЕНИЕ К ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TEAM_PLACEMENT_GLOBAL_CONTROLLER 133
ПРИЛОЖЕНИЕ Л ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TOUR_CONTROLLER 137
ПРИЛОЖЕНИЕ М ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TOURNAMENT_CONTROLLER 141
ПРИЛОЖЕНИЕ Н ИСХОДНЫЙ КОД МОДЕЛИ CITY_MODEL 152
ПРИЛОЖЕНИЕ П ИСХОДНЫЙ КОД МОДЕЛИ COACH_MODEL 153
ПРИЛОЖЕНИЕ Р ИСХОДНЫЙ КОД МОДЕЛИ ENDING_MODEL 154
ПРИЛОЖЕНИЕ С ИСХОДНЫЙ КОД МОДЕЛИ GAME_MODEL 155
ПРИЛОЖЕНИЕ Т ИСХОДНЫЙ КОД МОДЕЛИ GROUP_ASSIGNMENT_MODEL 156
ПРИЛОЖЕНИЕ У ИСХОДНЫЙ КОД МОДЕЛИ GROUP_MODEL 157
ПРИЛОЖЕНИЕ Ф ИСХОДНЫЙ КОД МОДЕЛИ JUDGE_MODEL 158
ПРИЛОЖЕНИЕ Х ИСХОДНЫЙ КОД МОДЕЛИ SCORE_MODEL 159
ПРИЛОЖЕНИЕ Ц ИСХОДНЫЙ КОД МОДЕЛИ TEAM_ASSIGNMENT_MODEL 160
ПРИЛОЖЕНИЕ Ш ИСХОДНЫЙ КОД МОДЕЛИ TEAM_MODEL 161
ПРИЛОЖЕНИЕ Щ ИСХОДНЫЙ КОД МОДЕЛИ TEAM_PLACEMENT ... 163
ПРИЛОЖЕНИЕ Э ИСХОДНЫЙ КОД МОДЕЛИ TEAM_PLACEMENT_GLOBAL 164
ПРИЛОЖЕНИЕ Ю ИСХОДНЫЙ КОД МОДЕЛИ TEAM_TOURNAMENT_ASSIGNMENT_MODEL 165
ПРИЛОЖЕНИЕ Я ИСХОДНЫЙ КОД МОДЕЛИ TOUR_MODEL 166
ПРИЛОЖЕНИЕ A ИСХОДНЫЙ КОД МОДЕЛИ TOURNAMENT_MODEL 167
ПРИЛОЖЕНИЕ B ИСХОДНЫЙ КОД МОДЕЛИ ERROR_VIEW_MODEL169
ПРИЛОЖЕНИЕ C ИСХОДНЫЙ КОД ДЛЯ ЗАПРОСОВ К БАЗЕ ДАННЫХ 170
ВВЕДЕНИЕ 9
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 11
1.1 ОБЗОР АНАЛОГОВ 11
1.2 АНАЛИЗ ОСНОВНЫХ ТЕХНОЛОГИЧЕСКИХ РЕШЕНИЙ 12
1.2.1 ВЫБОР ФРЕЙМВОРКОВ ДЛЯ ВЕБ-ПРИЛОЖЕНИЯ 12
1.2.2 ВЫБОР СУБД 16
1.2.3 ВЫБРОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 22
1.3 ВЫВОД 23
2 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ 24
2.1 ТРЕБОВАНИЯ К СТРУКТУРЕ И ФУНКЦИОНИРОВАНИЮ
СИСТЕМЫ 24
2.2 ТРЕБОВАНИЯ К НАДЕЖНОСТИ 30
2.3 ТРЕБОВАНИЯ К БЕЗОПАСНОСТИ И ЗАЩИТЕ ИНФОРМАЦИИ ОТ
НЕСАНКЦИОНИРОВАННОГО ДОСТУПА 31
2.4 ТРЕБОВАНИЯ К ТЕХНИЧЕСКОЙ ЭСТЕТИКЕ 31
2.5 ТРЕБОВАНИЯ К ПАТЕНТНОЙ ЧИСТОТЕ 32
3 ПРОЕКТИРОВАНИЕ СИСТЕМЫ 32
3.1 АРХИТЕТУРА ПРОГРАММЫ 32
3.2 ВЫБОР АРХИТЕКТУРНОГО ШАБЛОНА ДЛЯ РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЯ 36
3.2.1 МОДЕЛЬ MVC В ВЕБ-ПРИЛОЖЕНИИ 42
3.3 ОПИСАНИЕ ДАННЫХ 60
4 РЕАЛИЗАЦИЯ 70
4.1 РЕАЛИЗАЦИЯ ИНТЕРФЕЙСОВ 70
5 ТЕСТИРОВАНИЕ 81
ЗАКЛЮЧЕНИЕ 97
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 98
ПРИЛОЖЕНИЕ А ИСХОДНЫЙ КОД КОНТРОЛЛЕРА
ENDING_CONTROLLER 100
ПРИЛОЖЕНИЕ Б ИСХОДНЫЙ КОД КОНТРОЛЛЕРА GAME_CONTROLLER 104
ПРИЛОЖЕНИЕ В ИСХОДНЫЙ КОД КОНТРОЛЛЕРА GROUP_CONTROLLER 109
ПРИЛОЖЕНИЕ Г ИСХОДНЫЙ КОД КОНТРОЛЛЕРА
HOME_CONTROLLER 115
ПРИЛОЖЕНИЕ Д ИСХОДНЫЙ КОД КОНТРОЛЛЕРА SCORE_CONTROLLER 116
ПРИЛОЖЕНИЕ Е ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TEAM_CONTROLLER 121
ПРИЛОЖЕНИЕ Ж ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TEAM_PLACEMENT_CONTROLLER 128
ПРИЛОЖЕНИЕ К ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TEAM_PLACEMENT_GLOBAL_CONTROLLER 133
ПРИЛОЖЕНИЕ Л ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TOUR_CONTROLLER 137
ПРИЛОЖЕНИЕ М ИСХОДНЫЙ КОД КОНТРОЛЛЕРА TOURNAMENT_CONTROLLER 141
ПРИЛОЖЕНИЕ Н ИСХОДНЫЙ КОД МОДЕЛИ CITY_MODEL 152
ПРИЛОЖЕНИЕ П ИСХОДНЫЙ КОД МОДЕЛИ COACH_MODEL 153
ПРИЛОЖЕНИЕ Р ИСХОДНЫЙ КОД МОДЕЛИ ENDING_MODEL 154
ПРИЛОЖЕНИЕ С ИСХОДНЫЙ КОД МОДЕЛИ GAME_MODEL 155
ПРИЛОЖЕНИЕ Т ИСХОДНЫЙ КОД МОДЕЛИ GROUP_ASSIGNMENT_MODEL 156
ПРИЛОЖЕНИЕ У ИСХОДНЫЙ КОД МОДЕЛИ GROUP_MODEL 157
ПРИЛОЖЕНИЕ Ф ИСХОДНЫЙ КОД МОДЕЛИ JUDGE_MODEL 158
ПРИЛОЖЕНИЕ Х ИСХОДНЫЙ КОД МОДЕЛИ SCORE_MODEL 159
ПРИЛОЖЕНИЕ Ц ИСХОДНЫЙ КОД МОДЕЛИ TEAM_ASSIGNMENT_MODEL 160
ПРИЛОЖЕНИЕ Ш ИСХОДНЫЙ КОД МОДЕЛИ TEAM_MODEL 161
ПРИЛОЖЕНИЕ Щ ИСХОДНЫЙ КОД МОДЕЛИ TEAM_PLACEMENT ... 163
ПРИЛОЖЕНИЕ Э ИСХОДНЫЙ КОД МОДЕЛИ TEAM_PLACEMENT_GLOBAL 164
ПРИЛОЖЕНИЕ Ю ИСХОДНЫЙ КОД МОДЕЛИ TEAM_TOURNAMENT_ASSIGNMENT_MODEL 165
ПРИЛОЖЕНИЕ Я ИСХОДНЫЙ КОД МОДЕЛИ TOUR_MODEL 166
ПРИЛОЖЕНИЕ A ИСХОДНЫЙ КОД МОДЕЛИ TOURNAMENT_MODEL 167
ПРИЛОЖЕНИЕ B ИСХОДНЫЙ КОД МОДЕЛИ ERROR_VIEW_MODEL169
ПРИЛОЖЕНИЕ C ИСХОДНЫЙ КОД ДЛЯ ЗАПРОСОВ К БАЗЕ ДАННЫХ 170
Принято считать, что кёрлинг появился в одном из старейших городов Шотландии в начале XVI века, в Стерлинге. На рубеже XX столетия кёрлинг приобрел репутацию престижной игры, а после Второй мировой войны количество стран, в которых развивался кёрлинг, возросло. Это повлекло за собой необходимость проведения регулярных соревнований, в том числе международных. В 1950 году по инициативе федераций ряда стран Европы и Америки была основана Международная федерация кёрлинга, под эгидой которой с 1951 года проводятся чемпионаты Европы, а с 1959 года чемпионаты Мира.
Современный кёрлинг становится все более эстетичным и спортивным, а азарт, присущий этой игре, сделал ее очень популярной во многих странах мира.
В 1991 году была создана Федерация кёрлинга России (ФКР). Так данный вид спорта начал приобретать популярность в нашей стране и развиваться в регионах. В Челябинске кёрлинг появился в 2004 году и начал активно развиваться. Федерация кёрлинга Челябинской области активно занимается проведением и организацией спортивных мероприятий.
АКТУАЛЬНОСТЬ ТЕМЫ
Одно из основных направлений деятельности ФКР - организация различных соревнований, отборов и турниров.
Организация мероприятий сопряжена с работой с документами, включающими в себя заявки на участие спортсменов, ведение протоколов матчей и составление итогового протокола, список участников и судей. Также создается набор документов для каждого участника.
Создание веб-приложения для организации и проведения соревнований по кёрлингу позволит сократить бумажную работу, и, следовательно, уменьшить количество ошибок. Повышается также оперативность, появляется возможность получать быстрый доступ к необходимой информации.
На сегодняшний день ведение документации для проведения соревнований происходит следующим образом: организатор соревнований назначает главного судью и главного секретаря соревнований, которые образуют ГСК соревнований, далее члены ГСК разрабатывают положение о проведении соревнований и отправляют его в регионы. Получив положение, команды отправляют заявки на участие, в которых указаны данные спортсменов. На основе заявок секретарь составляет расписание, распределяет судей и готовит протоколы матчей. В ходе соревнований судьи заполняют протоколы и отдают их секретарю для внесения информации в турнирные таблицы, по окончании соревнований на основе протоколов матчей формируется итоговый протокол.
Такой способ ведения документации является очень трудоемким, а также ограничивает возможности одновременной работы над мероприятием для нескольких человек.
Таким образом, актуальной становится задача разработки веб-приложения, упрощающего создание всех необходимых документов для проводимых мероприятий.
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Целью данной работы является разработка веб-приложения для организации и проведения соревнований по кёрлингу. Для достижения поставленной цели необходимо решить следующие задачи:
1. Провести анализ предметной области и аналогичных проектов;
2. Разработать техническое задание.
3. Выбрать среду и средства реализации.
4. Разработать архитектуру приложения.
5. Разработать дизайн приложения.
6. Спроектировать и создать базу данных.
7. Реализовать функционал приложения.
8. Произвести тестирование разработанного программного обеспечения.
Современный кёрлинг становится все более эстетичным и спортивным, а азарт, присущий этой игре, сделал ее очень популярной во многих странах мира.
В 1991 году была создана Федерация кёрлинга России (ФКР). Так данный вид спорта начал приобретать популярность в нашей стране и развиваться в регионах. В Челябинске кёрлинг появился в 2004 году и начал активно развиваться. Федерация кёрлинга Челябинской области активно занимается проведением и организацией спортивных мероприятий.
АКТУАЛЬНОСТЬ ТЕМЫ
Одно из основных направлений деятельности ФКР - организация различных соревнований, отборов и турниров.
Организация мероприятий сопряжена с работой с документами, включающими в себя заявки на участие спортсменов, ведение протоколов матчей и составление итогового протокола, список участников и судей. Также создается набор документов для каждого участника.
Создание веб-приложения для организации и проведения соревнований по кёрлингу позволит сократить бумажную работу, и, следовательно, уменьшить количество ошибок. Повышается также оперативность, появляется возможность получать быстрый доступ к необходимой информации.
На сегодняшний день ведение документации для проведения соревнований происходит следующим образом: организатор соревнований назначает главного судью и главного секретаря соревнований, которые образуют ГСК соревнований, далее члены ГСК разрабатывают положение о проведении соревнований и отправляют его в регионы. Получив положение, команды отправляют заявки на участие, в которых указаны данные спортсменов. На основе заявок секретарь составляет расписание, распределяет судей и готовит протоколы матчей. В ходе соревнований судьи заполняют протоколы и отдают их секретарю для внесения информации в турнирные таблицы, по окончании соревнований на основе протоколов матчей формируется итоговый протокол.
Такой способ ведения документации является очень трудоемким, а также ограничивает возможности одновременной работы над мероприятием для нескольких человек.
Таким образом, актуальной становится задача разработки веб-приложения, упрощающего создание всех необходимых документов для проводимых мероприятий.
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Целью данной работы является разработка веб-приложения для организации и проведения соревнований по кёрлингу. Для достижения поставленной цели необходимо решить следующие задачи:
1. Провести анализ предметной области и аналогичных проектов;
2. Разработать техническое задание.
3. Выбрать среду и средства реализации.
4. Разработать архитектуру приложения.
5. Разработать дизайн приложения.
6. Спроектировать и создать базу данных.
7. Реализовать функционал приложения.
8. Произвести тестирование разработанного программного обеспечения.
В ходе дипломного проектирования выполнено следующее:
1. Проведен анализ предметной области и существующих решений;
2. Разработано техническое задание;
3. Выбрана среда и средства реализации, разработаны основные архитектурные решения;
5. Разработана база данных;
6. Реализована пользовательская и серверная части приложения;
7. Протестировано разработанное программное обеспечение.
В веб-приложении были реализованы следующие функции:
1. Регистрация пользователей;
2. Создание соревнований;
3. Закрепление судей на соревнованиях;
4. Добавление команд на соревнования;
5. Формирование групп на турнирах;
6. Добавление туров и игр на соревнования;
7. Ведение счета онлайн и добавление постановочных бросков на игру;
8. Формирование турнирных таблиц и итогового протокола с автоматическим подсчетом постановочных бросков, очков и побед.
9. Места в турнирных таблицах выставляются вручную, в итоговом протоколе места так же выставляются вручную, но по мере добавления мест список упорядочивается по возрастанию итогового места.
В настоящее время веб-приложения готово к эксплуатации, но его необходимо доработать, в частности: доработать ролевую модель, добавить поиск и фильтрацию спортсменов/судей/тренеров/членов ФК/соревнований,.
1. Проведен анализ предметной области и существующих решений;
2. Разработано техническое задание;
3. Выбрана среда и средства реализации, разработаны основные архитектурные решения;
5. Разработана база данных;
6. Реализована пользовательская и серверная части приложения;
7. Протестировано разработанное программное обеспечение.
В веб-приложении были реализованы следующие функции:
1. Регистрация пользователей;
2. Создание соревнований;
3. Закрепление судей на соревнованиях;
4. Добавление команд на соревнования;
5. Формирование групп на турнирах;
6. Добавление туров и игр на соревнования;
7. Ведение счета онлайн и добавление постановочных бросков на игру;
8. Формирование турнирных таблиц и итогового протокола с автоматическим подсчетом постановочных бросков, очков и побед.
9. Места в турнирных таблицах выставляются вручную, в итоговом протоколе места так же выставляются вручную, но по мере добавления мест список упорядочивается по возрастанию итогового места.
В настоящее время веб-приложения готово к эксплуатации, но его необходимо доработать, в частности: доработать ролевую модель, добавить поиск и фильтрацию спортсменов/судей/тренеров/членов ФК/соревнований,.





