Разработка автоматизированной системы организации
Номер патента: 2 137 190. Класс (ы) патента: G06F19/00, G06F161:00, G07F17/32. Дата подачи заявки: 27.01.1995. Изобретатели: Петер Айба Суть изобретения: Предлагаемые способ и система предназначены для автоматизированного проведения турниров и могут найти применение при проведении турниров с большим числом участников в разных населенных пунктах. Техническим результатом изобретения является… Читать ещё >
Разработка автоматизированной системы организации (реферат, курсовая, диплом, контрольная)
1. Предпроектное обследование. Анализ научно-технической литературы и патентов
1.1 Характеристика и анализ предметной области
Многие международные или национальные спортивные соревнования сопровождаются соответствующим компьютерным обеспечением. Для крупных соревнований разрабатываются заказные системы с узкой специализацией под конкретный вид спорта.
Региональные федерации, местные объединения и отдельные спортклубы тоже проводят турниры: массовые соревнования среди любителей, детей и юношей. Число участвующих в них в разы превышает число взрослых спортсменов профессионалов. Такие организации также нуждаются в программном обеспечении соревнований и классификации спортсменов. Им нужны доступные системы, автоматизирующие рутинные процедуры, облегчающие координацию и ведение протоколов.
Компьютерная система проведения соревнований (англ. Computer-Aided Tournament System) — аппаратно-программный информационный комплекс для организации спортивных соревнований. Программная часть обеспечивает составление турнирных таблиц, планирование состязаний, ввод, обработку и публикацию результатов.
Компьютерная система актуальна при большом числе участников в индивидуальных видах спорта, в которых лучший выявляется в результате серии поединков один на один или двое на двое (парный разряд). Её применение начинается со стадии подготовки и приёма заявок. Она позволяет лучше отслеживать ход соревнований, оперативно выводить информационные материалы на стенды и в Интернет для участников и зрителей.
В XXI веке трудно представить международное или национальное спортивное событие без соответствующего компьютерного сопровождения. Для крупных соревнований разрабатываются заказные системы с узкой специализацией под конкретный вид спорта.
Данная система относится к компьютерным системам проведения соревнований и разрабатывается для СДЮШОР города Волжского по гребле на байдарках и каноэ.
Разрабатываемая система автоматизирует следующие процессы:
— добавление и корректировка соревнования;
— подача заявки на участие в соревновании;
— оповещение тренеров о появлении или изменении соревнования и об изменении заявки, поданной ими ранее.
Положение о соревнованиях Положение о соревнованиях составляет организация, проводящая соревнования, и рассылает его всем заинтересованным организациям не позднее чем за 3 месяца до начала соревнований.
В Положение о соревнованиях рекомендуется включать следующие основные разделы:
— цели и задачи соревнований;
— время и место проведения соревнований;
— характер соревнований;
— организации, организующие и проводящие соревнования, их контактные телефоны и факсы;
— программа соревнований;
— состав участников, количество допускаемых спортсменов, тренеров, судей, обслуживающего персонала;
— срок предоставления заявок;
— порядок обеспечения участников соревнований лодками и номерами;
— время и место проведения жеребьевки;
— порядок определения первенства в командном зачете и система зачета;
— таблицы начисления очков командного зачета;
— порядок награждения победителей и призеров соревнований;
— сумма стартового взноса;
— условия финансирования.
Изменения в Положение о соревнованиях вносит и утверждает организация, издавшая его. Обо всех изменениях в Положении участвующие организации должны быть извещены не позднее чем за 30 дней до начала соревнований.
Положение не должно противоречить Правилам соревнований. При наличии в Положении пунктов, противоречащих Правилам соревнований, судейская коллегия обязана руководствоваться Правилами.
Заявки и изменения в заявках Каждая организация, принимающая участие в соревнованиях, обязана представлять заявки на участие в соревнованиях в сроки, определенные Положением о соревнованиях:
— предварительная заявка — подается за 1 неделю до начала соревнований по требованию организации, проводящей данные соревнования;
— именная заявка — подается в мандатную комиссию по установленной форме.
К именной заявке должны быть приложены документы, установленные Положением о соревнованиях, и записи на участие в соревнованиях (приложение № 3).
До и в момент проведения жеребьевки возможны дозаявки лодок во все виды программы. По окончании жеребьевки никакие дозаявки не принимаются.
До и в момент проведения жеребьевки возможны дозаявки лодок во все виды программы. По окончании жеребьевки никакие дозаявки не принимаются.
Обратная замена участника не разрешается.
В полуфинальных и финальных заездах всякая замена запрещается (в случае, если проводились предварительные заезды).
После проведения жеребьевки снятие представителем команды участников соревнований (экипажей) не разрешается.
Участник, снятый представителем команды по болезни или другой подобной причине и исключенный из соревнований, может быть допущен к дальнейшему участию в соревнованиях только по допуску врача и решению Комитета соревнований.
Проведение соревнования Соревнования в определенном виде программы могут проводиться, если для участия в нем заявлено не менее 3 лодок.
Если для участия в соревнованиях на дистанциях 200, 500 и 1000 м в виде программы заявлено большое количество лодок, и необходимо проведение предварительных, полуфинальных и финальных заездов, то в одном заезде должно быть не более 9 лодок. При ограниченном регламенте времени на проведение соревнований и при наличии соответствующих условий разрешается давать старт в предварительных заездах одновременно 10 лодкам, но при этом расстояние между лодками должно быть не менее 5 метров.
Во всех официальных соревнованиях распределение участников соревнований по заездам и «водам» в предварительных заездах осуществляется только на основании результатов жеребьевки.
Жеребьевка проводится под наблюдением главного судьи соревнований.
Неявка представителей команд на жеребьевку не может служить основанием для протестов на порядок распределения участников по заездам и «водам».
Распределение участников по «водам» в полуфинальных и финальных (А и В) заездах проводится согласно системе выхода спортсменов в финалы.
При распределении участников по заездам судейская коллегия должна исходить из того, что количество лодок в каждом заезде должно быть одинаковым или на одну больше или меньше. Если количество участников в заездах разное, то в первую очередь проводятся заезды с большим количеством участников.
Если в соревнованиях в одном виде программы заявлено несколько участников одной команды, то в предварительных заездах, по возможности, они не должны стартовать в одном заезде.
Предварительные, полуфинальные и финальные заезды должны проводиться на одной гребной дистанции.
Перерывы между предварительными и полуфинальными заездами, а также между полуфинальными и финальными заездами в соревнованиях для одного класса лодок на дистанции 200 м должны быть не менее 30 минут, на дистанциях 500 м и 1000 м — не менее 60 минут.
На дистанции длиной более 1000 метров предварительные заезды не проводятся. Старт в каждом виде программы рекомендуется давать одновременно для всех участников.
Если ширина акватории не позволяет разместить на старте всех участников, то главный судья соревнований может принять решение о проведении соревнований на этой дистанции с раздельным стартом. Интервал между раздельно стартующими лодками должен быть не менее 15 секунд.
В соревнованиях с раздельным стартом последовательность старта участников на всех дистанциях определятся жеребьевкой. Пускать одновременно со старта более, чем по одной лодке запрещается, если это не оговорено Положением о соревнованиях.
Рисунок 1 — Процесс проведения соревнования
1.2 Анализ существующих систем и патентов
Анализ потребностей спортивных организаций и судейского корпуса привёл к списку важнейших функций и возможностей компьютерных систем проведения соревнований. Для примера рассматриваются две популярные программы. Они универсальны, поддерживают более одного вида спорта, достаточно бюджетные и могут обслуживаться одним грамотным секретарем.
Автоматическая система Team Sport Planner
Team Sport Planner не только помогает подготовить турнир, но и вести полную отчетность во время самих соревнований. Так же он поддерживает множество типов турниров по многим видам спорта.
Team Sport Planner имеет понятный и удобный интерфейс, с помощью одного щелчка мыши можно спланировать матч, распечатать отчет, показать различные мероприятия и многое другое. Имеет возможность публикации турнира в интернете, так что не только игроки, но и их родители, пресса и болельщики могут сами увидеть все результаты. При этом нужно иметь подключение к интернету и не нужно иметь особых навыков и знаний в настройках сети и интернета.
Особенности:
— неограниченное число команды;
— неограниченное число событий;
— неограниченное число матчей;
— неограниченное число ничьих.
Отчеты:
— турнирная таблица;
— матчи в день;
— матч карты;
— записей на события;
— все команды;
— все должностные лица;
— список ничей;
— первые матчи за команду;
— список платежей.
Системные требования для П.К.:
— pentium процессор или выше;
— 16 Мб оперативной памяти;
— 20 MB свободного места на диске;
— 800×600 SVGA High Color;
Поддерживаемые версии Windows
— Windows 8;
— Windows 7;
— Windows Vista;
— Windows XP.
Доступные языки:
— английский;
— голландский.
Стоимость: бесплатная.
Недостатки:
— недоступен русский язык;
— не поддерживаются турниры по гребле на байдарках и каноэ.
Программно-информационный комплекс «Исток-Спортклуб»
Исток-Спортклуб — программно-информационный комплекс управления фитнес-центрами, спортивными клубами и ДЮСШ. Он предназначен для администраторов и руководителей объектов спорта.
Исток-Спортклуб является системой планирования и оперативного учёта занятий, анализа загруженности спортивных сооружений и активности посетителей. Программа функционирует в многопользовательском режиме, предоставляет удобный, интуитивный интерфейс для составления расписаний, обеспечивает быструю сортировку и фильтрацию данных, многократно сокращая нагрузку на персонал.
Основные возможности:
— база данных клиентов, отслеживание оплаты абонементов и разовых посещений;
— справочник подразделений и ресурсов: тренажерных залов, кортов, дорожек бассейна и т. п. — для групповых занятий и под аренду;
— простые ресурсы и составные ресурсы-агрегаты;
— справочник номенклатуры товаров и услуг, прейскуранты;
— повторяющиеся, календарные и текущие расписания;
— кадровый учёт;
— оперативные и аналитические отчеты по ресурсам, клиентам, тренерам и видам спорта.
Составление расписаний:
— повторяющиеся расписания: суточные по подразделению или агрегату, недельные по простому ресурсу;
— календарные расписания на конкретные даты или недели; их формирование исходя из повторяющихся расписаний, предварительной записи, последних пожеланий и отмен;
— планирование аренды и индивидуальных занятий с тренером или без;
— планирование массового обслуживания и групповых занятий с возможным поимённым перечислением членов группы;
— исключение противоречий, возникающих при попытке наложения разных занятий на одно время или место;
— одно занятие или группа может одновременно задействовать несколько ресурсов, например, два корта и тренера;
— временной интервал занятия может охватывать несколько запусков;
— различные временные шкалы для разных подразделений:
? равномерные — единый интервал разбивки с возможными; перерывами одинаковой длительности;
? неравномерные — точное время каждого запуска;
? гибкие для сотрудников.
База данных клиентов:
— контактная информация о физических лицах;
— абонементы и клубные карты для постоянных клиентов;
— регистрация платежей, поступающих от клиентов, и ведение внутренних депозитных счетов;
— взаиморасчёты с юридическими лицами и индивидуальными предпринимателями, контактная информация о сотрудниках сторонних организаций;
— учёт посещений индивидуальных и групповых занятий;
— баланс «платежи / посещения» по клиенту в целом и по отдельным абонементам или договорам;
— поддержка пластиковых карт с магнитной полосой или со штрихкодом;
— возможности поиска:
? по фамилии, имени, отчеству или названию организации;
? по номеру абонемента;
? по видам спорта;
? по коду пластиковой карты;
? по ключу от шкафчика;
Справочник номенклатуры и прейскуранты:
— иерархический классификатор номенклатуры;
— основные виды услуг: индивидуальные занятия, аренда, групповые занятия и массовое обслуживание;
— сопутствующие товары и услуги;
— определение ресурсов, необходимых для оказания тех или иных услуг;
— учёт в двух единицах: посещениях и основных (часах, месяцах и т. п.);
— формирование цены на каждую позицию в зависимости от:
? дня недели и времени суток,
? типа документа (клубная карта, абонемент или разовый билет).
— cистема скидок.
— автоматическое проставление цены при выписке абонемента или регистрации разового посетителя.
Кадровый учёт:
— база данных сотрудников: тренеров, инструкторов, массажистов т. п.
— индивидуальное расписание сотрудника, автоматически генерируемое исходя из расписаний подразделений.
— возможность приписывания одного тренера к нескольким видам спорта.
— учёт отработанного времени.
— учёт отпусков, премиальных и вычетов.
Оперативная отчётность:
— сводки о продажах абонементов и оказании услуг за произвольные периоды времени;
— отчёты о выручке в разрезе видов спорта, подразделений, тренеров;
— взаиморасчеты с клиентами и организациями.
Требования к оборудованию и базовому программному обеспечению:
— компьютер не ниже Pentium166, ОЗУ 64Мб, 30Мб на диске; Windows 2000/XP/Server 2003/2008 (Vista не гарантируется: на одних машинах — работает, на других — нет);
— система управления базами данных MS Jet/Access (файл-серверная, встроена в Windows XP SP2 или старше) или другая, комплектуемая ODBC_драйвером (клиент-серверная, например, PostgreSQL);
— программа для просмотра и распечатки документов в формате PDF;
— локальная сеть для сетевой версии (подключение к Интернет требуется только для дополнительного модуля).
Стоимость:
— Электронная персональная лицензия — 16 000 р.;
— Сетевая версия (2 рабочих места) — 26 000 р.;
— Сетевая версия (3 рабочих места) — 32 000 р.
1.3 Обзор патентов
Патент «Способ и система для автоматизированного проведения турниров»
Номер патента: 2 137 190. Класс (ы) патента: G06F19/00, G06F161:00, G07F17/32. Дата подачи заявки: 27.01.1995. Изобретатели: Петер Айба Суть изобретения: Предлагаемые способ и система предназначены для автоматизированного проведения турниров и могут найти применение при проведении турниров с большим числом участников в разных населенных пунктах. Техническим результатом изобретения является организация турнира с большим количеством участников, с оперативным информированием их об условиях игры и быстром проведении турниров с подведением итогов игры. Технический результат достигается тем, что с помощью центральной вычислительной машины и узлов, которыми она управляет, объявляют турнир и приглашают к участию в турнире на одном или нескольких электронных устройствах индикации, доступных для множества потенциальных участников игры, вводят личные идентификационные данные, относящиеся к соответствующим участникам игры, вплоть до определенного числа участников игры, в устройство считывания данных, связанное с устройством индикации, определяют группы играющих друг против друга участников игры по случайному принципу, проводят игры с соответствующим автоматизированным определением победителя игрового тура, распределяют группы участников игры следующего тура, вплоть до финальной игры, и заканчивают игру с подведением итога турнира.
Патент «Система для автоматического проведения турниров и использованный в ней метод»
Номер патента: 2 132 084. Класс (ы) патента: G06F17/60, G06F161:00, G07F17/32, A63F9/24. Дата подачи заявки: 09.07.1993. Изобретатели: Петер Айба.
Суть изобретения: Изобретение относится к системе и способу автоматического проведения турниров. Технический результат достигается за счет создания системы и способа автоматического проведения турниров, исключающих преднамеренное или случайное неправильное обслуживание. В системе для проведения турниров предусмотрены машинные картообразные носители данных для каждого участника турнира и управляющих данных для каждого вида турнира, по меньшей мере одно считывающее устройство для картообразных носителей данных, посредством которого в вычислительный блок осуществляется ввод данных об участниках и управляющих данных, и по меньшей мере табло, соединенное с вычислительным блоком для индикации данных турнира, причем отдельные этапы проведения турнира определяются в строгом соответствии с последовательностью ввода носителей данных в считывающее устройство.
1.4 Анализ общих требований к системам изучаемого типа
Веб-приложение — программа, работающая через интернет. Это значит, что она сама находится на удаленном сервере, а пользователи взаимодействуют с ней через обычный интернет-браузер (например, Internet Explorer).
Данная система будет реализована как web_приложение по следующим причинам:
— все данные хранятся в одном месте и доступны для коллективной работы с любого компьютера, подключенного к интернету. обмен информацией;
— программу не нужно устанавливать и настраивать, ее нельзя случайно повредить или стереть;
— при обновлении версии программы, она обновляется на сервере, нет необходимости устанавливать новые версии на каждом компьютере;
— каждый пользователь может работать лишь в рамках установленных полномочий, что делает невозможным случайное удаление важных данных.
Типовая архитектура для систем данного типа представлена на рисунке 2.
Рисунок 2 — Двухуровневая клиент-серверная архитектура
1.5 Анализ программно-аппаратных средств реализации системы организации и проведения соревнований
Для реализации требуемой системы необходимо рассмотреть средства реализации, такие как используемая СУБД и языки программирования.
Обзор языков программирования Для разработки web_приложения можно использовать различные высокоуровневые языки программирования, такие как Java, PHP, Perl.
Язык программирования Java
Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems. Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java_машине (JVM) вне зависимости от компьютерной архитектуры.
Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java_приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java:
? применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT_технология) с возможностью сохранения версий класса в машинном коде;
? широкое использование платформенно-ориентированного кода (native_код) в стандартных библиотеках;
? аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).
Язык программирования Perl
Perl (Practical Extraction and Report Language) — это динамический язык программирования общего назначения. Основной характеристикой, которая отличает этот язык программирования от других, является обширная поддержка работы с текстом. Богатые возможности по работе с текстом включают широкий выбор средств по обработке регулярных выражений, встроенных в синтаксис языка. Сам по себе Perl — это некий симбиоз языков С и AWK, а также языков командных оболочек UNIX — ничего сверхъестественного, но, тем не менее, оригинально и практично.
На сегодняшний день Perl используется для выполнения задач системного администрирования, при создании разнообразных приложений в сети Интернет (к примеру, для работы с электронной почтой), либо же для создания CGI_сценариев. Очень удобен язык программирования и для поддержки узлов Web.
Так, как Perl имеет богатые возможности по обработке текста, он часто применяется для обеспечения работоспособности веб-узлов (сайтов или тематически связанных страниц в пределах одного домена), которые в большинстве случаев представляют собой набор текстовых сценариев для корректного отображения определенной информации. Perl хорошо справляется с обработкой и структурированием таких сценариев.
Язык программирования PHP
PHP представляет собой работающий на стороне сервера кросс-платформный интерпретируемый язык программирования. Большинство синтаксиса (выражений для описания желаемых действий) позаимствовано из языков C и Perl.
PHP успешно используется для быстрого создания веб-страниц с динамически-генерируемым содержанием. Возможность встраивать код PHP в HTML_страницы очень удобна по одной простой причине: HTML_код полностью статичен. Поэтому для создания динамичных страниц необходимы дополнительные средства, одним из которых и является PHP, быстро и эффективно «оживляющий» статичные сайты.
Помимо этого, PHP поддерживает большинство известных баз данных (Access, MySQL и т. д.), различные интернет-протоколы, работу с архивами и множество других полезных функций. Проще говоря, данный язык обладает всеми необходимыми качествами, чтобы прочно занять лидирующую позицию в стане языков для веб-разработки. И, надо сказать, что по заверениям многих разработчиков, эта позиция уже принадлежит PHP.
Анализ web_серверов Назначение web_сервера — приём HTTP_запросов от клиентов и выдача им HTTP_ответов. Можно использовать различные web_серверы, такие как Apache, IIS.
Web_сервер Apache
Apache — бесплатная открытая программа, предназначена для Unix_систем (FreeBSD, Linux и др.). По функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой системой. Существуют локализации сервера для различных языков, в том числе и для русского. Для поддержки языка php необходимо установить интерпретатор.
Сервер Apache Server способен надежно обслуживать содержимое большинства ныне существующих Web_узлов. Будучи бесплатной открытой программой, предназначенной для бесплатных Unix_систем (FreeBSD, Linux и др.), Apache по функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой системой.
Web_сервер IIS
IIS — программное обеспечение для web_сервера, состоящее из серии служб, включая протокол передачи файлов (FTP), протокол передачи гипертекста (HTTP), простой протокол передачи почты (SMTP) и другие, которые позволяют системе Windows управлять web_сайтами. Последняя версия также включает различные модули для безопасности, кэширования, журналирования, сжатия и диагностики.
IIS работает только с ОС Windows Server, что, несомненно, увеличивает эксплуатационные расходы. Как следствие, IIS подвержен большему количеству вредоносных атак на программное обеспечение и имеет репутацию менее защищенного сервера, чем Apache.
Обзор систем управления базами данных (СУБД) СУБД MySQL
MySQL — свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорацияOracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компаниюMySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типаMyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL_лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
СУБД Firebird
Firebird — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.
В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.
Среди недостатков: отсутствие кеша результатов запросов, полнотекстовых индексов, ограничение SQL (отсутствие временных таблиц и внешних хранимых процедур).
СУБД Microsoft SQL Server
Microsoft SQL Server — система управления реляционными базами данных, разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL (T-SQL), создан совместно Microsoft и Sybase. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями.
Microsoft SQL Server поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP.
Также SQL Server поддерживает зеркалирование и кластеризацию баз данных.
SQL Server поддерживает избыточное дублирование данных по трем сценариям:
— производится «снимок» базы данных, который сервер отправляет получателям;
— все изменения базы данных непрерывно передаются пользователям;
— базы данных нескольких серверов синхронизируются между собой (изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных).
Версия Microsoft SQL Server Express Edition является бесплатной.
Web_браузеры
Web_браузер (Web browser) — программное обеспечение для просмотра web_сайтов, то есть для запроса web_страниц, их обработки, вывода и перехода от одной страницы к другой. Браузер — комплексное приложение для обработки и вывода разных составляющих web_страницы.
Web_браузер Windows Internet Explorer
Internet Explorer — серия браузеров, разрабатываемая корпорацией Microsoft с 1995 года. Входит в комплект операционных систем семейства Windows. Занимает первое место по числу пользователей (рыночная доля в апреле 2010 года — 59,95%, в январе 2011 — Ў45,99%, в феврале 2012 — 52,84%, в январе 2013 — 55,14% (по данным Net Applications)).
Web_браузер Mozilla Firefox
Mozilla Firefox — свободно распространяемый браузер, входящий в набор программ Mozilla Application Suite, разработкой и распространением которого занимается Mozilla Corporation. Третий по популярности браузер в мире и второй среди свободного ПО. В России Firefox занимает второе место по популярности среди браузеров.
В браузере присутствуют интерфейс со многими вкладками, проверка орфографии, поиск по мере набора, «живые закладки», менеджер закачек, поле для обращения к поисковым системам. Новые функции можно добавлять при помощи расширений.
Web_браузер Opera
Opera — веб-браузер и программный пакет для работы в Интернете, выпускаемый компанией Opera Software. Суммарная рыночная доля Opera и Opera Mobile в апреле 2013 года составляла 1,75%.
Opera также является единственным браузером для игровых систем.
Движок Opera (Presto) лицензирован Adobe и интегрирован в пакет Adobe Creative Suite (в частности, Presto используется в Dreamweaver).
Web_браузер Google Chrome
Google Chrome — браузер, разрабатываемый компанией Google на основе свободного браузера Chromium и использующий для отображения веб-страниц движок WebKit.
2. Проектная часть
2.1 Техническое задание
Наименование и основание для создания Наименование проекта: «Разработка автоматизированной системы организации и проведения соревнований для СДЮШОР по гребле на байдарках и каноэ с целью упрощения учета спортсменов».
Основанием для разработки системы является задание по дипломному проекту «Разработка автоматизированной системы организации и проведения соревнований для СДЮШОР по гребле на байдарках и каноэ с целью упрощения учета спортсменов», выданного кафедрой «Автоматика, электроника и вычислительная техника» ВПИ (филиал) ВолгГТУ.
Система разрабатывается для автоматизации процесса организации и проведения соревнований по гребле на байдарках и каноэ в СДЮШОР города Волжского.
Плановые сроки начала и окончания работ по созданию системы:
— начало работ: 7.02.2013 г.;
— окончание работ: 1.06.2013 г.
Назначение и цели создания системы Целью разработки автоматизированной системы является предоставление web_интерфейса организаторам для размещения информации о предстоящем соревновании и корректировки информации уже существующего соревнования, web_интерфейса тренерам для регистрации на сайте своих спортсменов, а так же для онлайн-регистации этих спортсменов на соревнованиях.
Система организации и проведения соревнований должна выполнять следующие функции:
— предоставлять информацию о предстоящих и текущих соревнованиях тренерам;
— предоставлять тренерам возможность подавать заявки на участие в соревнованиях от имен своих спортсменов;
— вести учет и статистику спортсменов;
— выполнять автоматическую жеребьёвку;
— генерировать отчеты до и после соревнований;
В результате внедрения системы должны быть решены следующие задачи:
— снижение временных затрат на организацию и описание отдельного соревнования, а также на оповещение об этом соревновании тренеров;
— снижение временных затрат на обслуживание каждого отдельного спортсмена при регистрации в определенном соревновании и его оповещении;
— формирование истории проведения соревнований в виде автоматических отчётов.
Характеристика автоматизируемого процесса Добавления и корректировки соревнований является важной задачей данной системы и разрабатывается непосредственно для организаторов. Организатор имеет право создавать неограниченное количество новых соревнований, так же он имеет право корректировать информацию уже существующего соревнования, но только при условии что он сам создал его ранее. Организатор не имеет права изменять данные о соревновании, созданном другим организатором.
Задача подачи заявки на участие в соревновании разрабатывается для тренеров. Тренер имеет права отправлять заявки на участие в соревнованиях только от имени спортсменов, которых они сами зарегистрировали в системе. Тренер не имеет права отправлять заявку от имени спортсмена, зарегистрированного в системе другим тренером.
Оповещение тренеров реализовано в данной системе для сокращения времени, требуемого на подачу заявки тренером, а так же для того, чтобы заранее предупредить тренера ио изменении в том или ином соревновании. Система оповещает тренеров о добавлении нового соревнования или изменении в уже существующем соревновании, так же система оповещает об изменении статуса заявки, отправленной тренером ранее.
Требования к системе Требования к структуре и функционированию системы Разрабатываемая система должна содержать несколько модулей, сгруппированных логически в подсистемы. В разрабатываемой системе необходимо реализовать следующие подсистемы:
— подсистема управления пользователями;
— подсистема работы организатора;
— подсистема работы тренера;
— подсистема проведения соревнований.
В подсистему управления пользователями должны входить следующие модули:
— модуль регистрации;
— модуль авторизации и аутентификации.
В подсистему работы тренера должны входить следующие модули:
— модуль регистрации спортсмена;
— модуль подачи заявки на участие в соревновании от имени своего спортсмена.
В подсистему работы организатора должны входить следующие модули:
— модуль ввода и корректировки информации о соревнованиях;
— модуль оповещения тренеров.
В подсистему проведения соревнований должны входить следующие модули:
— модуль генерации отчетов;
— модуль ведения статистики спортсменов;
— модуль автоматической жеребьевки.
Требования к подсистеме управления ччпользователями Требования к модулю регистрации Необходимо разработать модуль, позволяющий регистрировать новых пользователей на основе указанных ими паспортных данных, электронной почты.
Модуль должен выполнять следующие функции:
— регистрация нового пользователя в системе;
— корректировка данных уже зарегистрированного пользователя;
— удаление пользователя;
Требования к модулю авторизации ссси аутентификации Необходимо разработать модуль, позволяющий выполнять авторизацию и аутентификацию пользователя системы.
Модуль авторизации и аутентификации должен обеспечивать выполнение следующих функций:
— аутентификация организаторов и тренеров;
— реализация механизма авторизации.
Требования к подсистеме работы тренера Требуется разработать модуль управления работы тренера, позволяющий тренеру вводить информацию о своих спортсменах, а так же редактировать её в дальнейшем, а так же позволяющий подавать заявки на участие в соревновании от имен своих спортсменов.
Требования к модулю регистрации спортсмена Необходимо разработать модуль, позволяющий обрабатывать данные, введённые тренером об спортсменах.
Модуль должен предоставлять возможность реализации следующих функций:
— создание нового спортсмена (ввод данных о спортсмене);
— проверка непротиворечивости данных;
— изменение данных у зарегистрированного спортсмена;
— удаление зарегистрированного спортсмена из системы.
Требования к модулю подачи заявки на участие в соревновании Требуется разработать модуль подачи заявки тренером на участие в соревновании от имено своего зарегистрированного спортсмена. Каждый тренер может подать заявку от имено только своего спортсмена.
Модуль должен выполнять следующие функции:
— подача заявки на участие в соревновании;
— откат подачи заявки на участие в соревновании;
Требования к подсистеме работы организатора Требования к модулю добавления нового ч ссоревнования Необходимо разработать модуль, позволяющий вводить информацию о предстоящем соревновании, который имеет поля для ввода: название соревнования, описание, количество участников, вид соревнования, дата и спонсоры. Так же организатор может в любой момент изменить введенную им информацию, но только в соревновании, созданном непосредственно им.
Модуль должен выполнять следующие функции:
— добавление соревнования (ввод информации о соревновании);
— корректировка информации в уже добавленном соревновании;
— удаление соревнования из системы.
Требования к модулю оповещения тренеров Необходимо разработать модуль, позволяющий оповещать тренеров о появлении нового вореснования в системе, об изменении в текущих соревнованиях, а так же о статусе поданной тренером заявки.
Модуль должен выполнять следующие функции:
— оповещение тренера о появлении нового соревнования;
— оповещение тренера о изменении в текущих соревнованиях;
— оповещение тренера об изменении статуса заявки, поданной им ранее.
Требования к подсистеме проведения соревновании Требования к модулю ведения статистики сспортсменов, а автоматической жеребьевки.
Необходимо разработать модуль, позволяющий вести статистику спортсменов, исходя из результатов прошедших соревнований. Так же вывожить рейтинги зарегистрированных спортсменов, по тренерам и общий.
Модуль должен выполнять следующие функции:
— ведение учета спортсменов (по результатам соревнований);
— постройка рейтинга спортсменов;
— автоматическая жеребьевка.
Требования к модулю генерации отчётов Требуется разработать модуль генерации отчётов, который должен формировать статистические отчёты по запросам организаторов соревнований и просто тренеров.
Модуль должен выполнять следующие функции:
— генерация отчетов перед соревнованием;
— промежуточная генерация отчетов во время соревнований;
— генерация итогового отчета после проведения соревнования.
— Генерация отчетов по статистике и учету спортсменов;
Требования к взаимодействию модулей Модули разрабатываемой системы должны взаимодействовать между собой следующим образом:
— каждый модуль взаимодействует с модулем аутентификации, при обращении пользователя к какому-либо ресурсу система должна осуществлять проверку наличия прав у данного пользователя на выполнение соответствующей операции;
— назначенные пользователю права должны учитываться в каждом модуле системы;
— во всех модулях должна обеспечиваться проверка на корректность ввода данных;
— любая попытка записи в базу данных должна отслеживать возникновение конфликтных ситуаций, специфичных для многопользовательской среды;
— должна обеспечиваться целостность базы данных при удалении и изменении записей в таблицах.
Требования к архитектуре системы Разработанная система должна представлять собой двухуровневую распределённую систему, построенную по технологии «клиент-сервер» с использованием набора прикладных клиентских программ (web_интерфейсов для каждой группы пользователей), имеющих общий доступ к ресурсам системы и работающих с сервером базы данных.
Система должна функционировать на следующих уровнях:
— серверов;
— web-интерфейсов.
Требования к уровню серверов На уровне серверов должны использоваться два основных сервера:
— web_сервер Apache версии не ниже 1.3 для предоставления контента выполнения сервисов и обеспечения поддержки интерпретатора PHP версии не ниже 5;
— сервер СУБД MySQL версии 5 для хранения данных и работы с ними.
Требования к уровню web-интерфейсов Уровень web-интерфейсов должен содержать средства доступа к web-серверу посредством протокола гипертекстовой передачи данных HTTP. В качестве приложения, позволяющего использовать web_интерфейс, должен использоваться web-браузер.
Скрипты web-приложений должны быть написаны на языке программирования PHP. Допускается применение языка программирования JavaScript, каскадных таблиц стилей CSS и технологии асинхронного обмена данными с сервером AJAX.
Клиенты должны иметь возможность устанавливать соединения с удалённым web-сервером на порт № 80 протокола TCP, обслуживающим скрипты web-приложений системы, а также принимать входящие данные на локальный компьютер пользователя. В качестве основных средств использовать готовые решения — web-браузеры.
Требования к форматам и моделям данных Требования к структуре базы данных Для хранения данных о тренерах, спортсменах и соревнованиях необходимо использовать реляционную базу данных. Для каждого реального объекта предметной области создается таблица в базе данных.
База данных, обеспечивающая хранение системных данных, должна предусматривать размещение всех необходимых данных для обеспечения обработки заявок тренеров, задания параметров системы и ведения отчётов. Таблицы системы должны размещаться в базе данных Games
Для реализации функций системы база данных Games должна содержать следующие таблицы:
— «Пользователи» (users) — должна содержать информацию о логинах и паролях входа в систему зарегистрированных пользователей, а также о группах пользователей системы;
— «Тренер» (coach) — должна содержать информацию о тренерах: Ф.И.О., категорию, телефон, электронный адрес, дату рождения город и спортивную организацию, которую они представляют;
— «Спортивная организация» (s_organization) — должна содержать информацию о спортивной организации: название, адрес, телефон, электронную почту и телефон.
— «Соревнование» (game) — должна содержать информацию о соревнованиях: название, организатора, спортсменов, участвующих в данном соревновании, дату проведения, тип соревнования, место его проведения, лимит участников, и дополнительное описание.;
— «Организатор» (sponsor) — должна содержать информацию об организаторах соревнований: Ф.И.О., электронный адрес, телефон, дату рождения, город и организацию, которую представляет данный организатор;
— «Организация» (organization) — должна содержать информацию об организации, проводящей соревнование: название, телефон, электронную почту и адрес;
— «Спортсмен» (sportsman) — должна содержать информацию о спортсмене: его тренера, Ф.И.О., дату рождения, категорию, город и дополнительную информацию;
— «Город» (city) — должна содержать информацию о городе: название и область;
— «Место проведения соревнования» (place_of_game) — должна содержать информацию о месте проведения соревнования: название и контактный телефон;
— «Тип соревнования» (type_of_game) — должна содержать информацию о типе соревнования.
Требования к составу таблиц Таблица 1 — Структура таблицы «Пользователи» (users)
Название поля | Описание поля | |
Id_user | Идентификатор пользователя | |
Login | Уникальный идентификатор пользователя | |
Pass | Хеш пароля | |
Status | Статус пользователя | |
Таблица 2 — Структура таблицы «Тренер» (coach)
Название поля | Описание поля | |
Id_c | Идентификатор тренера | |
Id_user | Идентификатор пользователя | |
FIO_с | Ф.И.О. тренера | |
Category_с | Категория тренера | |
Telefon_c | Телефон тренера | |
Email_c | Электронная почта тренера | |
DR_c | Дата рождения тренера | |
Id_city | Идентификатор города | |
Id_sport_org | Идентификатор спортивной организации | |
Таблица 3 — Структура таблицы «Спортивная организация» (s_organization)
Название поля | Описание поля | |
Id_sport_org | Идентификатор спортивной организации | |
Name_sport_org | Название спортивной организации | |
Adds_sport_org | Адрес спортивной организации | |
Telefon_sport_org | Телефон спортивной организации | |
Email_sport_org | Электронная почта спортивной организации | |
Таблица 4 — Структура таблицы «Соревнование» (game)
Название поля | Описание поля | |
Id_game | Идентификатор соревнования | |
Id_sp | Идентификатор спортсмена | |
Id_sponsor | Идентификатор организатора | |
Date | Дата проведения соревнования | |
Id_type_game | Идентификатор типа соревнования | |
Id_place_game | Идентификатор места проведения соревнования | |
Limit | Лимит участников | |
Description_game | Дополнительное описание соревнования | |
Таблица 5 — Структура таблицы «Организатор» (sponsor)
Название поля | Описание поля | |
Id_sponsor | Идентификатор организатора | |
Id_user | Идентификатор пользователя | |
FIO_с | Ф.И.О. организатора | |
Email_sponsor | Электронная почта организатора | |
Telefon_sponsor | Телефон спонсора | |
DR_sponsor | Дата рождения спонсора | |
Id_city | Идентификатор города | |
Id_organization | Идентификатор организации | |
Таблица 6 — Структура таблицы «Организация» (organization)
Название поля | Описание поля | |
Id_organization | Идентификатор организации | |
Name_org | Название организации | |
Telefon_org | Телефон организации | |
Email_org | Электронная почта организации | |
Adds_org | Адрес организации | |
Таблица 7 — Структура таблицы «Спортсмен» (sportsman)
Название поля | Описание поля | |
Id_sp | Идентификатор спортсмена | |
Id_c | Идентификатор тренера | |
FIO_sp | Ф.И.О. спортсмена | |
DR_sp | Дата рождения спортсмена | |
Category_sp | Категория спортсмена | |
Id_city | Идентификатор города | |
D_infa_sp | Дополнительная информация о спортсмене | |
Telefon_sp | Телефон спортсмена | |
Таблица 8 — Структура таблицы «Город» (city)
Название поля | Описание поля | |
Id_city | Идентификатор города | |
Name_city | Название города | |
Obl_city | Область, к которой принадлежит город | |
Таблица 9 — Структура таблицы «Место проведения соревнования» (place_of_game)
Название поля | Описание поля | |
Id_place_game | Идентификатор места проведения соревнования | |
Name_place_game | Название места проведения соревнования | |
Telefon_place_game | Телефон места проведения соревнования | |
Таблица 10 — Структура таблицы «Тип соревнования» (type_of_game)
Название поля | Описание поля | |
Id_type_game | Идентификатор типа соревнования | |
Name_type_game | Название типа соревнования | |
Состав таблиц базы данных Sport_Games должен удовлетворять следующим требованиям.
Таблица «Пользователи» должна содержать следующие поля:
— «Код пользователя» — уникальный идентификатор пользователя;
— «Логин» — уникальный логин тренера;
— «Пароль» — хеш пароля пользователя;
— «Статус» — статус пользователя (3);
Таблица «Тренер» должна содержать следующие поля:
— «Код тренера» — уникальный идентификатор тренера;
— «Код юзера» — уникальный идентификатор пользователя;
— «Ф.И.О._тр» — Ф.И.О. тренера;
— «Категория_тр» — категория данного тренера;
— «Емейл_тр» — электронная почта тренера;
— «Телефон_тр» — контактный номер тренера;
— «ДР_тр» — дата рождения тренера;
— «Код_города» — уникальный идентификатор города;
— «Код_спорт_орг» — уникальный идентификатор спортивной организации.
Таблица «Спортсмен» должна содержать следующие поля:
— «Код_сп» — идентификатор спортсмена;
— «Код_тр» — уникальный идентификатор тренера;
— «Ф.И.О._сп» — Ф.И.О. спортсмена;
— «Код_города» — уникальный идентификатор города;
— «ДР_сп» — дата рождения спортсмена;
— «Телефон_сп» — контактный номер спортсмена;
— «Доп_Инфа_сп» — дополнительная информация о спортсмене;
— «Категория_сп» — категория спортсмена.
Таблица «Организатор» должна содержать следующие поля:
— «Код организатора» — идентификатор организатора;
— «Ф.И.О._о» — Ф.И.О. организатора;
— «К.номер_о» — контактный номер организатора;
— «Должность_о» — данные о должности организатора;
Таблица «Соревнование» должна содержать следующие поля:
— «Код соревнования» — идентификатор соревнования;
— «Код организатора» — идентификатор организатора;
— «Код спортсмена» — идентификатор спортсмена;
— «Название соревнования» — название соревнования;
— «Количество мест в соревновании» — общее количество мест на соревновании;
— «Количество туров» — количество туров в одном соревновании.
Требования к связям между таблицами В СУБД таблицы связываются между собой для того, чтобы в конечном счете уменьшить объем БД, при этом следует избегать дублирования информации.
Связи формально определяются как ассоциации между участниками. Существует несколько типов связей между сущностями: «один-к-одному», «один-ко-многим», «многие-ко-многим».
Связи между таблицами должны удовлетворять требованиям, описанным ниже.
Таблица «Тренер» связана с таблицей «Спортсмен» по принципу «один-ко-многим» при помощи поля «Код тренера».
Таблица «Организатор» связана с таблицей «Соревнование» по принципу «один-ко-многим» при помощи поля «Код Организатора».
Таблица «Спортсмен» связана с таблицей «Соревнование» по принципу «один-ко-многим» при помощи поля «Код Спортсмена».
База данных должна быть приведена к третьей нормальной форме.
Требования к интерфейсу системы Интерфейс каждого модуля должен быть в едином стиле для всей системы. Допускается использование цветов, представленных в таблице 1, и производных от них градиентов. Ссылки и алфавитно-цифровые элементы навигации оформляются синим и (или) голубым цветом, обычный текст — серым и (или) светло-серым, выделение — темно-красным.
Основной фон составляет белый цвет, отдельные блоки текста и элементов навигации допускается размещать на синем фоне. В случае, когда текст располагается на синем фоне, его цвет должен быть установлен в белый. Допускается применение градиентов для элементов оформления на основе синего цвета, а также использование полужирного начертания для выделения смыслового ударения
Таблица 11 - Палитра допустимых цветов web_интерфейса
Цвет | Компонента согласно цветовой модели RGB | |||
R | G | B | ||
синий_1 | 0x51 | 0x71 | 0xB7 | |
синий_2 | 0x4E | 0x8B | 0xC8 | |
синий_3 |