Разработка автоматизированной системы организации

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    40,32 Кб
  • Опубликовано:
    2013-06-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка автоматизированной системы организации

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 не только помогает подготовить турнир, но и вести полную отчетность во время самих соревнований. Так же он поддерживает множество типов турниров по многим видам спорта.Sport Planner имеет понятный и удобный интерфейс, с помощью одного щелчка мыши можно спланировать матч, распечатать отчет, показать различные мероприятия и многое другое. Имеет возможность публикации турнира в интернете, так что не только игроки, но и их родители, пресса и болельщики могут сами увидеть все результаты. При этом нужно иметь подключение к интернету и не нужно иметь особых навыков и знаний в настройках сети и интернета.

Особенности:

-  неограниченное число команды;

-  неограниченное число событий;

-  неограниченное число матчей;

-  неограниченное число ничьих.

Отчеты:

-  турнирная таблица;

-  матчи в день;

-  матч карты;

-  записей на события;

-  все команды;

-  все должностные лица;

-  список ничей;

-  первые матчи за команду;

-  список платежей.

Системные требования для П.К.:

-  pentium процессор или выше;

-  16 Мб оперативной памяти;

-  20 MB свободного места на диске;

-  800x600 SVGA High Color;

Поддерживаемые версии Windows

-  Windows 8;

-  Windows 7;

-  Windows Vista;

-  Windows XP.

Доступные языки:

-  английский;

-  голландский.

Стоимость: бесплатная.

Недостатки:

-  недоступен русский язык;

-  не поддерживаются турниры по гребле на байдарках и каноэ.

Программно-информационный комплекс «Исток-Спортклуб»

Исток-Спортклуб - программно-информационный комплекс управления фитнес-центрами, спортивными клубами и ДЮСШ. Он предназначен для администраторов и руководителей объектов спорта.

Исток-Спортклуб является системой планирования и оперативного учёта занятий, анализа загруженности спортивных сооружений и активности посетителей. Программа функционирует в многопользовательском режиме, предоставляет удобный, интуитивный интерфейс для составления расписаний, обеспечивает быструю сортировку и фильтрацию данных, многократно сокращая нагрузку на персонал.

Основные возможности:

-  база данных клиентов, отслеживание оплаты абонементов и разовых посещений;

-  справочник подразделений и ресурсов: тренажерных залов, кортов, дорожек бассейна и т. п. - для групповых занятий и под аренду;

-  простые ресурсы и составные ресурсы-агрегаты;

-  справочник номенклатуры товаров и услуг, прейскуранты;

-  повторяющиеся, календарные и текущие расписания;

-  кадровый учёт;

-  оперативные и аналитические отчеты по ресурсам, клиентам, тренерам и видам спорта.

Составление расписаний:

-  повторяющиеся расписания: суточные по подразделению или агрегату, недельные по простому ресурсу;

-  календарные расписания на конкретные даты или недели; их формирование исходя из повторяющихся расписаний, предварительной записи, последних пожеланий и отмен;

-  планирование аренды и индивидуальных занятий с тренером или без;

-  планирование массового обслуживания и групповых занятий с возможным поимённым перечислением членов группы;

-  исключение противоречий, возникающих при попытке наложения разных занятий на одно время или место;

-  одно занятие или группа может одновременно задействовать несколько ресурсов, например, два корта и тренера;

-  временной интервал занятия может охватывать несколько запусков;

-  различные временные шкалы для разных подразделений:

−  равномерные - единый интервал разбивки с возможными; перерывами одинаковой длительности;

−  неравномерные - точное время каждого запуска;

−  гибкие для сотрудников.

База данных клиентов:

-  контактная информация о физических лицах;

-  абонементы и клубные карты для постоянных клиентов;

-  регистрация платежей, поступающих от клиентов, и ведение внутренних депозитных счетов;

-  взаиморасчёты с юридическими лицами и индивидуальными предпринимателями, контактная информация о сотрудниках сторонних организаций;

-  учёт посещений индивидуальных и групповых занятий;

-  баланс «платежи / посещения» по клиенту в целом и по отдельным абонементам или договорам;

-  поддержка пластиковых карт с магнитной полосой или со штрихкодом;

-  возможности поиска:

−  по фамилии, имени, отчеству или названию организации;

−  по номеру абонемента;

−  по видам спорта;

−  по коду пластиковой карты;

−  по ключу от шкафчика;

Справочник номенклатуры и прейскуранты:

-  иерархический классификатор номенклатуры;

-  основные виды услуг: индивидуальные занятия, аренда, групповые занятия и массовое обслуживание;

-  сопутствующие товары и услуги;

-  определение ресурсов, необходимых для оказания тех или иных услуг;

-  учёт в двух единицах: посещениях и основных (часах, месяцах и т. п.);

-  формирование цены на каждую позицию в зависимости от:

−  дня недели и времени суток,

−  типа документа (клубная карта, абонемент или разовый билет).

-  cистема скидок.

-  автоматическое проставление цены при выписке абонемента или регистрации разового посетителя.

Кадровый учёт:

-  база данных сотрудников: тренеров, инструкторов, массажистов т. п.

-  индивидуальное расписание сотрудника, автоматически генерируемое исходя из расписаний подразделений.

-  возможность приписывания одного тренера к нескольким видам спорта.

-  учёт отработанного времени.

-  учёт отпусков, премиальных и вычетов.

Оперативная отчётность:

-  сводки о продажах абонементов и оказании услуг за произвольные периоды времени;

-  отчёты о выручке в разрезе видов спорта, подразделений, тренеров;

-  взаиморасчеты с клиентами и организациями.

Требования к оборудованию и базовому программному обеспечению:

-  компьютер не ниже Pentium-166, ОЗУ 64Мб, 30Мб на диске; Windows 2000/XP/Server 2003/2008 (Vista не гарантируется: на одних машинах - работает, на других - нет);

-  система управления базами данных MS Jet/Access (файл-серверная, встроена в Windows XP SP2 или старше) или другая, комплектуемая ODBC-драйвером (клиент-серверная, например, PostgreSQL);

-  программа для просмотра и распечатки документов в формате PDF;

-  локальная сеть для сетевой версии (подключение к Интернет требуется только для дополнительного модуля).

Стоимость:

-  Электронная персональная лицензия - 16000 р.;

-  Сетевая версия (2 рабочих места) - 26000 р.;

-  Сетевая версия (3 рабочих места) - 32000 р.

1.3 Обзор патентов

Патент «Способ и система для автоматизированного проведения турниров»

Номер патента: 2137190. Класс(ы) патента: G06F19/00, G06F161:00, G07F17/32. Дата подачи заявки: 27.01.1995. Изобретатели: Петер Айба

Суть изобретения: Предлагаемые способ и система предназначены для автоматизированного проведения турниров и могут найти применение при проведении турниров с большим числом участников в разных населенных пунктах. Техническим результатом изобретения является организация турнира с большим количеством участников, с оперативным информированием их об условиях игры и быстром проведении турниров с подведением итогов игры. Технический результат достигается тем, что с помощью центральной вычислительной машины и узлов, которыми она управляет, объявляют турнир и приглашают к участию в турнире на одном или нескольких электронных устройствах индикации, доступных для множества потенциальных участников игры, вводят личные идентификационные данные, относящиеся к соответствующим участникам игры, вплоть до определенного числа участников игры, в устройство считывания данных, связанное с устройством индикации, определяют группы играющих друг против друга участников игры по случайному принципу, проводят игры с соответствующим автоматизированным определением победителя игрового тура, распределяют группы участников игры следующего тура, вплоть до финальной игры, и заканчивают игру с подведением итога турнира.

Патент «Система для автоматического проведения турниров и использованный в ней метод»

Номер патента: 2132084. Класс(ы) патента: 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(Practical Extraction and Report Language) - это динамический язык программирования общего назначения. Основной характеристикой, которая отличает этот язык программирования от других, является обширная поддержка работы с текстом. Богатые возможности по работе с текстом включают широкий выбор средств по обработке регулярных выражений, встроенных в синтаксис языка. Сам по себе Perl - это некий симбиоз языков С и AWK, а также языков командных оболочек UNIX - ничего сверхъестественного, но, тем не менее, оригинально и практично.

На сегодняшний день Perl используется для выполнения задач системного администрирования, при создании разнообразных приложений в сети Интернет (к примеру, для работы с электронной почтой), либо же для создания CGI-сценариев. Очень удобен язык программирования и для поддержки узлов Web.

Так, как Perl имеет богатые возможности по обработке текста, он часто применяется для обеспечения работоспособности веб-узлов (сайтов или тематически связанных страниц в пределах одного домена), которые в большинстве случаев представляют собой набор текстовых сценариев для корректного отображения определенной информации. Perl хорошо справляется с обработкой и структурированием таких сценариев.

Язык программирования PHPпредставляет собой работающий на стороне сервера кросс-платформный интерпретируемый язык программирования. Большинство синтаксиса (выражений для описания желаемых действий) позаимствовано из языков C и Perl.успешно используется для быстрого создания веб-страниц с динамически-генерируемым содержанием. Возможность встраивать код 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-сайтами. Последняя версия также включает различные модули для безопасности, кэширования, журналирования, сжатия и диагностики.работает только с ОС Windows Server, что, несомненно, увеличивает эксплуатационные расходы. Как следствие, IIS подвержен большему количеству вредоносных атак на программное обеспечение и имеет репутацию менее защищенного сервера, чем Apache.

Обзор систем управления базами данных (СУБД)

СУБД MySQL

MySQL - свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорацияOracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компаниюMySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типаMyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

СУБД Firebird

Firebird - компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.

В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

Среди недостатков: отсутствие кеша результатов запросов, полнотекстовых индексов, ограничение SQL (отсутствие временных таблиц и внешних хранимых процедур).

СУБД Microsoft SQL ServerSQL Server - система управления реляционными базами данных, разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact-SQL (T-SQL), создан совместно Microsoft и Sybase. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями.SQL Server поддерживает Open Database Connectivity (ODBC) - интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP.

Также SQL Server поддерживает зеркалирование и кластеризацию баз данных.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 Software. Суммарная рыночная доля Opera и Opera Mobile в апреле 2013 года составляла 1,75 %.также является единственным браузером для игровых систем.

Движок 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) - должна содержать информацию о логинах и паролях входа в систему зарегистрированных пользователей, а также о группах пользователей системы;

-  «Спортивная организация» (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

0x5E

0x88

0xDB

голубой

0x00

0xA9

0xFF

серый

0x65

0x65

0x65

светло-серый

0xB9

0xB9

0xB9

белый

0xFF

0xFF

0xFF


Ссылки и алфавитно-цифровые элементы навигации оформляются, синим цветом, обычный текст - черным и (или) светло-серым. Основной фон составляет белый цвет, отдельные блоки текста и элементов навигации допускается размещать на синем или светло-сером фоне. В случае, когда текст располагается на оранжевом или синем фоне, его цвет должен быть установлен в белый. Допускается применение градиентов для элементов оформления на основе синего и белого цветов, а также использование курсива и полужирного начертания для выделения смыслового ударения.

Сообщения и надписи в системе должны оформляться на русском и (или) английском языках.

Основной шрифт в системе Arial, кегель 13 pt. Шрифт заголовков первого уровня сайта Arial, кегель 17 pt, жирный. Шрифт заголовков таблиц Areal, кегель 14 pt, жирный. Шрифт ссылок Arial, кегель 11 pt, жирный.

Сообщения и надписи в системе должны оформляться на русском и (или) английском языках.

Все подсистемы разрабатываемой системы должны придерживаться общего интерфейса. В качестве основного системного интерфейса предполагается использовать web-интерфейс для всех пользователей системы.

Требования к видам обеспечения

Требования к программному обеспечению

Программное обеспечение сервера должно поддерживать:

-  операционная система (Windows XP, Windows 7, Windows Server 2003)

-  web-сервер Apache (версия не ранее 1.3);

-  интерпретатор PHP (версия не ранее 5);

-  бесплатно распространяемая СУБД;

Для корректной работы программное обеспечение клиента должно поддерживать один из следующих браузеров:

-  Internet Explorer 8.0 или выше;

-  Mozilla Firefox 4 или выше;

-  Opera 10 или выше;

-  Google Chrome;

-  Apple Safari 5 или выше.

Требования к техническому обеспечению

Рекомендуемые параметры для серверов:

-  процессор с частотой не ниже 1.3 ГГц;

-  оперативная память объемом не ниже 2 Гб;

-  скорость передачи данных по сети: 10/100 Мб/с.

Рекомендуемые параметры для компьютеров с клиентскими приложениями:

-  процессор с частотой не менее 1000МГц;

-  графический процессор: поддержка DirectX 9.0;

-  объём оперативной памяти: 512 МБ;

-  объём свободного пространства на жёстком диске: 20 ГБ;

-  жидкокристаллический дисплей или дисплей на основе ЭЛТ;

-  скорость передачи данных по сети: 10/100 Мб/с;

-  манипулятор типа «мышь»;

-  клавиатура по ГОСТу 14289-88.

Требования к организационному обеспечению

Система должна быть ориентирована на работу с двумя группами пользователей согласно их разбиению на группы:

-  «Администратор»: управление системными параметрами, управление правами пользователей;

-  «Пользователи»: регистрация в системе, подача заявки от имени своего спортсмена, добавление и корректировка данных о спортсмене;

Требования к методическому обеспечению

Методическое обеспечение должно содержать методику эксплуатации системы:

руководство системного администратора;

руководство системного программиста;

руководство пользователя.

Руководство системного администратора должно включать в себя:

руководство по инсталляции информационной системы;

описание методов работы с БД.

Руководство системного программиста должно включать в себя:

описание связей таблиц БД;

описание работы алгоритмов системы;

описание управления системными параметрами;

описание входных и выходных параметров;

описание групп пользователей и рекомендуемого набора прав доступа к информационным ресурсам системы.

Руководство пользователя должно включать в себя:

описание возможностей системы;

описание работы с программой;

описание входных параметров;

описание документации и отчётов, формирующихся в системе.

Состав и содержание работ по созданию системы

Процесс создания автоматизированной системы представляет собой совокупность упорядоченных во времени, взаимосвязанных работ, выполнение которых необходимо и достаточно для создания автоматизированной распределенной системы, соответствующей заданным требованиям.

Стадии и этапы создания автоматизированной системы выделяются как части процесса создания по соображениям рационального планирования и организации работ, заканчивающихся заданным результатом.

Создание автоматизированной системы осуществляется в следующих стадиях:

    техническое задание: 1.02.2013-1.03.2013;

    рабочий проект: 1.03.2013-15.04.2013;

    создание и отладка: 15.03.2012-15.05.2013;

    ввод в эксплуатацию: 15.0452013 - 1.06.2013;

На стадии технического задания должна выполняться следующая работа:

    принятие окончательных решений по составу проектных процедур;

    уточнение структуры и объема базы данных;

    принятие окончательных решений по структуре автоматизированной системы;

    принятие окончательных решений по видам обеспечений.

Выходным документом является техническое задание, содержащее основные технические требования, предъявляемые к системе и исходные данные для разработки.

На стадии рабочего проекта должны выполняться работы:

    уточнение, детализация структуры таблиц базы данных;

    формирование системы в целом;

    реализация решений по компонентам автоматизированной системы.

Выходным документом является рабочий проект, а также руководство пользователя и системного администратора.

На стадии отладки и испытания должны выполняться работы:

    перенос текста программы на машинные носители;

    заполнение базы данных;

    автономная отладка и адаптация программ;

    отладка и испытание автоматизированной системы в целом.

На стадии ввода в действие должны выполняться работы:

    опытное функционирование автоматизированной системы;

    испытание автоматизированной системы при приеме.

2.2 Технический проект

Разработка структуры системы

Для автоматизации процессов создания соревнования, подачи заявки на соревнования, оповещения тренеров, генерации отчётов реализовано 4 подсистемы, включающих в себя следующие модули:

-  модуль авторизации и аутентификации;

-  модуль управления пользователями;

-  модуль управления системными параметрами;

-  модуль ввода и корректировки данных о соревнованиях;

-  модуль оповещением тренеров;

-  модуль ввода и обработки данных о спортсмене;

-  модуль ведения статистики спортсменов;

-  модуль регистрации;

-  модуль жеребьевки;

-  модуль подачи заявки на соревнование;

-  модуль генерации отчётов.

Все модули интегрированы между собой. Каждый модуль имеет определенный набор функций, необходимых для решения конкретной задачи. Подсистемы объединяют модули, которые предназначены для выполнения взаимосвязанных задач.

Разработка функциональной модели системы

Функциональная модель системы должна создать правильную ориентацию в отношении внешних связей системы, направлениях её возможного изменения.

В соответствии со структурой системы, каждый модуль выполняет возложенные на него функции и обеспечивает взаимосвязь с остальными модулями, а также конфиденциальность, доступность, представление и целостность данных.

Подсистемы должны определяться таким образом, чтобы большая часть взаимодействий оставалась внутри подсистем, для уменьшения глобальных потоков данных и сокращения зависимостей между подсистемами.

Подсистема управления пользователями

Подсистема управления пользователями:

-  модуль регистрации;

-  модуль авторизации и аутентификации.

Подсистема управления пользователями позволяет регистрироваться новому пользователю в определенную группу, или авторизоваться на сайт, если пользователь уже зарегистрирован.

Модуль регистрации

Основная задача модуля ввода и редактирования данных о соревнованиях заключается в предоставлении интерфейса для ввода и редактирования данных организаторам соревнования.

Функциональная схема модуля представлена на рисунке 3.

Рисунок 3 - Функциональная схема модуля ввода и редактирования данных о соревнованиях

Модуль авторизации и аутентификации

Основная задача модуля авторизации и аутентификации заключается в предоставлении интерфейса зарегистрированным пользователям для входа в систему.

Введя логин и пароль, пользователь отправляет их на сервер, в случае успешной аутентификации проходит процесс авторизации, и пользователь получает права согласно своей принадлежности группе тренеров либо группе организаторов соревнований.

Модуль авторизации и аутентификации обеспечивает выполнение следующих функций:

-  аутентификация тренеров или организаторов соревнований;

-  реализация механизма авторизации.

Модуль интегрирован со всеми модулями системы.



Рисунок 4 - Функциональная схема модуля авторизации и аутентификации

Подсистема работы тренера

Подсистема работы тренера обеспечивает взаимодействие следующих модулей:

-  модель регистрации спортсменов;

-  модуль подачи заявки на участие в соревновании.

Подсистема работы тренера позволяет тренеру регистрировать нового спортсмена, корректировать данные о нынешних своих спортсменах а так же удалять своих спортсменов из системы.

Модуль регистрации спортсмена

Основная задача модуля регистрации спортсмена заключается в предоставлении возможности тренеру регистрировать отдельно каждого своего спортсмена, заполняя пи етом на каждого свою анкету.

Рисунок 5 - Функциональная схема модуля регистрации спортсмена

Модуль подачи заявки на участие в соревновании

Основная задача модуля подачи заявки на участие в соревновании заключается в предоставлении интерфейса тренеру с возможностью выбора из списка своих спортсменов, нужного человека и подачи от его имени заявки на участие в соревновании.

Рисунок 6 - Функциональная схема модуля подачи заявки на участие в соревновании

Подсистема работы организатора

Подсистема работы организатора обеспечивает взаимодействие следующих модулей:

-  модуль добавления нового соревнования;

-  модуль оповещения тренеров;

Подсистема работы организатора позволяет организаторам добавлять новое соревнование, вносить изменения в уже существующие соревнования а так же удалять соревнования созданные ими раньше.

Модуль добавления нового соревнования

Модуль добавления нового соревнования обеспечивает выполнение следующих функций:

-  добавление нового соревнования;

-  проверка непротиворечивости данных;

-  удаление ранее созданного соревнования из системы.

Рисунок 7 - Функциональная схема модуля регистрации тренера

Модуль оповещения тренеров

Модуль оповещения тренеров предназначен для оповещения тренеров о добавлении нововго соревнования, об изменениях в уже существующих соревнованиях, и о статусе отправленнои ими заранее заявки.

Модуль оповещения тренеров обеспечивает выполнение следующих функций:

-  оповещение тренера о появлении нового соревнования;

-  оповещение тренера об изменениях в соревнованиях;

-  оповещение тренера об изменении статуса заявки;

Рисунок 8 - Функциональная схема модуля оповещения тренера

Подсистема проведения соревнования

Подсистема проведения соревнования обеспечивает взаимодействие следующих модулей:

-  модуль ведения статистики спортсменов и жеребьевка;

-  модуль генерации отчетов;

Подсистема проведения соревновании позволяет организаторам быстрее и качественнее организовывать и проводить соревнования.

Модуль ведения статистики спортсменов и жеребьевка

Модуль ведения статистики спортсменов и жеребьевка обеспечивает выполнение следующих функций:

-  ведение учета спортсменов;

-  построение рейтинга спортсменов

-  жеребьевка.

Рисунок 9 - Функциональная схема модуля ведения учета спортсменов и жеребьевка

Модуль генерации отчетов

Модуль генерации отчетов обеспечивает выполнение следующих функций:

-  генерация отчетов перед соревнованием;

-  промежуточная генерация отчетов;

-  генерация итогового отчета;

-  генерация отчетов по статистике спортсменов.

Рисунок 10 - Функциональная схема модуля генерации отчетов

Разработка архитектуры системы

Автоматизированная система организации соревнований представляет собой двухуровневую систему, построенную по архитектуре «клиент-сервер», благодаря которой снижается нагрузка на информационную сеть, поскольку передаются только запросы и ответы на них.

Система функционирует на следующих уровнях:

-  уровень серверов;

-  уровень клиентских приложений.

Схема разработанной архитектуры приведена на рисунке 13.

Уровень серверов

Уровень серверов представлен web-сервером Apache 1.3, интерпретатором PHP 5 и СУБД MySQL 5.0 для хранения и работы с данными.

Уровень клиентских приложений

Уровень клиентских приложений представляет собой web-интерфейс пользователя (администратора, тренера и организатора соревнований). В качестве приложения, позволяющего использовать web-интерфейс, должен использоваться web-браузер. Web-интерфейс реализован посредством интерпретируемого языка программирования PHP, языка гипертекстовой разметки HTML, таблиц стилей CSS и языка программирования JavaScript.

Разработка форматов и моделей данных

Разработка структуры базы данных

База данных содержит несколько таблиц, хранящих информацию о пользователях системы, соревнованиях, заявках.

Система содержит таблицы:

Рисунок 13 - Схема архитектуры системы

-  «Тренер» (Coach) - содержит информацию о тренерах;

-  «Спортсмен» (Sportsman) - содержит информацию о спортсменах;

-  «Соревнование» (Games) - содержит информацию о соревнованиях количестве туров и количестве предоставляемых ими мест;

-  «Организатор» (Sponsor) - содержит информацию об организаторах соревнований.

Схема связи таблиц базы данных показана на рисунке 14.

Разработка структуры таблиц базы данных системы

Структура таблицы «Тренер» указана в таблице 1. Таблица содержит следующие поля:

-  id_coach - идентификатор тренера;

-  fio_c - Ф.И.О. тренера;

-  k.nomer_c - контактный номер тренера;

-  rang_c - ранг тренера;

-  passport_c - паспортные данные тренера.

Структура таблицы «Спортсмен» указана в таблице 2. Таблица содержит следующие поля:

-  id_sport - идентификатор спортсмена;

-  id_coach - идентификатор тренера;

-  fio_s» - Ф.И.О. спортсмена;

-  data_rojd_s - дата рождения спортсмена;

-  rang_s - ранг спортсмена;

-  passport_s - паспортные данные спортсмена

Структура таблицы «Организатор» указана в таблице 3. Таблица содержит следующие поля:

-  id_sponsor - идентификатор организатора;

-  fio_s - Ф.И.О. организатора;

-  k.nomer_s - контактный номер организатора;

-  k.post_s - данные о должности организатора.

Структура таблицы «Соревнование» указана в таблице 4. Таблица содержит следующие поля:

-  id_game - идентификатор соревнования;

-  id_sport - идентификатор спортсмена;

-  id_sponsor - идентификатор спонсора;

-  name_g - название соревнования;

-  kol_tours - количество туров в одном соревновании;

-  kol_places - общее количество мест на соревновании.

Таблица 1 - Структура таблицы Coach («Тренер»)

Название поля

Описание поля

Тип данных

1

Id_coach

Идентификатор тренера

tinyint

2

fio_c

Ф.И.О. тренера

varchar(80)

3

k.nomer_c

Контактный номер тренера

varchar(20)

4

Passport_c

Паспортные данные тренера

varchar(80)

5

rang_c

Ранг тренера

tinyint


Таблица 2 - Структура таблицы Sportsman («Спортсмен»)

Название поля

Описание поля

Тип данных

1

Id_sport

Идентификатор спортсмена

tinyint

2

Id_coach

Ф.И.О. тренера

varchar(80)

3

fio_s

Ф.И.О. спортсмена

varchar(80)

4

data_rojd_s

Дата рождения спортсмена

data

5

passport_s

Паспортные данные спортсмена

varchar(80)

6

rang_s

Ранг спортсмена

tinyint


Таблица 3 - Структура таблицы Sponsor («Организатор»)

Название поля

Описание поля

Тип данных

1

Id_sponsor

Идентификатор спонсора

tinyint

2

fio_s

Ф.И.О. спонсора

varchar(80)

3

k.nomer_s

Контактный номер спонсора

varchar(20)

4

post_s

Должность спонсора

varchar(80)


Таблица 4 - Структура таблицы Game («Соревнование»)

Название поля

Описание поля

Тип данных

1

Id_game

Идентификатор соревнования

tinyint

2

Id_sponsor

Идентификатор спонсора

tinyint

3

Id_sport

Идентификатор спортсмена

tinyint

4

name_g

Название соревнования

varchar(80)

5

kol_places

Количество туров в одном соревновании

tinyint

6

kol_tours

Общее количество мест на соревновании

tinyint



Разработка алгоритмов системы

При разработке системы ставилась задача автоматизировать следующие процессы:

-  подача заявки;

-  добавление соревнования;

-  оповещение тренеров;

-  ведение отчётности.

Поскольку алгоритмы подсистемы статистики и учёта и модуля управления оповещением пользователей в общем случае линейны, в данной записке приводятся только алгоритмы, касающиеся процесса добавления соревнования и подачи заявки.

В ходе автоматизации процесса подачи заявки необходимо решить следующие задачи:

-  подача заявки;

-  выбор соревнования;

Детальное описание разработки соответствующих алгоритмов приводится в следующих разделах.

Разработка алгоритма подачи заявки

Резервирование путёвки проходит в несколько этапов:

1) аутентификация тренера;

2) подача заявки на участие в определенном соревновании;

3) заполнение бланка участника;

4) проверка заполненных данных;

5) оповещение тренера о принятии заявок.

Алгоритм резервирования путёвки приведен на рисунке 15.

Разработка алгоритма оповещения тренеров

Оповещение тренеров проходит в несколько этапов:

)   оповещение тренеров о появлении нового соревнования;

)   после прибытия заявки организатор обрабатывает заявку и выносит решение, о котором потом оповещается тренер;

Алгоритм резервирования путёвки приведен на рисунке 16.

Рисунок 15 - Алгоритм подачи заявки

Разработка алгоритма авторизации и аутентификации

Добавление соревнований проходит в несколько этапов:

)   Добавление и корректировка соревнований;

)   Проверка данных.

Алгоритм резервирования путёвки приведен на рисунке 17.

Рисунок 16 - Алгоритм оповещения тренера

 

 

Рисунок 17 - Алгоритм добавления и корректировки соревнования

Разработка программного обеспечения системы

Разработано программное обеспечение системы, в котором каждая подсистема имеет несколько модулей, которые включают в себя набор функций. Функции классифицированы по их свойствам и назначению.

Схема программного обеспечения подсистемы управления модулями

Подсистема «Управление пользователями» включает в себя следующие модули:

-      модуль «Регистрации»;

        модуль «Авторизации и аутентификации».

Схема программного обеспечения подсистемы «Управление пользователями» представлена на рисунке 2.24.

Модуль «Авторизация и ааутентификация» выполняет следующую функцию:

–  проверки вводимой пары «логин / пароль» (login).

Модуль «Регистрация» выполняет следующую функцию:

–  user_register - регистрирует нового пользователя в системе;

–  f_confid - функция обеспечивающая конфиденциальность данных;

–  f_prr - проверка введенных данных.

Рисунок 18 - Схема программного обеспечения подсистемы «Управление пользователями»

Схема программного обеспечения подсистемы работы тренера

Подсистема «Работа тренера» включает в себя следующие модули:

-    модуль «Регистрации спортсмена»;

      модуль «Подача заявки на участие в соревновании».

Схема программного обеспечения подсистемы «Работа тренера» представлена на рисунке 2.24.

Модуль «Регистарция спортсмена» выполняет следующую функцию:

–  sport_registr - регистрация нового спортсмена, от имени тренера;

–  prov_spotr - проверка на существование такого спортсмена в системе.

Модуль «Подача заявки на участие в соревновании» выполняет следующую функцию:

–  p_zav - заполнение и отправка заявки;

Рисунок 19 - Схема программного обеспечения подсистемы «Работа тренера»

2.3 Рабочий проект

Программное обеспечение

Разработанная система спроектирована с учетом требований к кроссбраузерным решениям и построена с применением языка программирования PHP (Hypertext Preprocessor). Серверная часть системы может функционировать на любой платформе, поддерживающей интерпретацию команд PHP 5 и поднятие полноценного web-сервера.

Программное обеспечение сервера включает:

-  Операционная система Microsoft Windows Server или FreeBSD 4.7;

-  Web-сервер Apache 1.3;

-  Интерпертатор PHP 5;

-  СУБД MySQL 5.0;

-  LMS Moodle 1.9.

Клиентская часть системы требует для своей работы одного из следующих браузеров:

-  Интернет Explorer 7.0 или выше;

-  Mozilla Firefox 3.5 или выше;

-  Opera 9.5 или выше;

-  Google Chrome;

-  другие браузеры, совместимые со спецификациями HTML 4.01, CSS 2.1 и ECMA-262.

Руководство системного администратора

-  Для обеспечения работоспособности системы необходимо установить её клиентские и серверные компоненты.

-  Серверное программное обеспечение может включать следующие программные продукты: Microsoft Windows Server 2003 (или выше) для windows сервера или стабильную версию Debian Linux для unix сервера, Apache 1.3 (или выше) или nginx, интерпретатор PHP 5.0 (или выше), СУБД PostgreSQL 9.1 (или выше).

-  Для установки web-ресурса на сервер организации необходимо скопировать содержимое папки «organization» в корневую директорию выделенного под ресурс дискового пространства, после чего импортировать в сервер PostgreSQL базу данных «my_org».

-  На клиентские машины необходимо установить один из следующих браузеров: Internet Explorer 7.0 (или выше), Mozilla Firefox 2.0 (или выше), Opera 9.0 (или выше), Google Chrome 3.0 (или выше), Apple Safari 3.0 (или выше) или другой браузер, совместимый со спецификациями HTML 4.01, CSS 2.1 и ЕСМА-262.

Администрирование базы данных

База данных Games управляется системой MySQL. Для выполнения операций с базой данных, необходимо вначале установить соединение с СУБД, используя логин и пароль, полученные у системного администратора. Пароль рекомендуется сразу сменить во избежание несанкционированного доступа в дальнейшем.

Резервное копирование файла базы данных системы должно производиться системным администратором один раз в день. Резервное копирование осуществляется с помощью стандартных методов имеющегося программного обеспечения. На время копирования файл базы данных переименовывается для исключения доступа к нему пользователей. Резервное копирование производится на заранее определенный системным администратором жесткий диск, находящийся в компьютере, не являющимся сервером системы, либо на подключаемый носитель.

В случае программного или аппаратного сбоя, в результате которого произошла ошибка целостности базы данных, данные можно восстановить из архива.

Руководство системного программиста

Общие сведения о системе

Система реализована в виде web-приложения построенного на основе CodeIgniter который, в свою очередь, использует паттерн программирования Model-View-Controller. Иерархия каталогов файлов системы построена таким образом, чтобы максимально сократить время необходимое разработчику для поиска какого-либо элемента в проекте. Структура каталогов показана на рисунке 2.18. Для поддержки данного проекта главным каталогом является applications и www. В то время как каталог system является системным и не хранит ни чего кроме библиотек необходимых для корректной работы CodeIgniter.

Каталог www содержит в себе всё клиентское наполнение системы, в том числе:

    каскадные таблицы стилей;

    файлы скриптов JavaScript;

    графические изображения.

Помимо вышеперечисленных пунктов этот каталог хранит в себе главный файл всей системы - index.php. С данного файла начинается всё дальнейшие построение приложения, он управляет тем, что отобразить клиентскому приложению.

Каталог application содержит в себе следующие подкаталоги:

-  config - каталог содержащий конфигурационные файлы проекта, в данных файлах указываются возможные опции при запуске проекта в режиме разработки или в режиме завершенной рабочей системы;

-  controllers - каталог содержит файлы являющиеся исходной точной для построения запрашиваемой страницы, файлы в этой папке содержат методы для построения из моделей и файлов вида - готовых web-страниц;

-  models - данный каталог содержит модели системы, которые отвечают за всю функциональную составляющую проекта;

-  views - каталог видов, которые представляют собой непосредственно сами страницы которые увидит конечный пользователь системы.

-  helpers - набор файлов с пользовательскими функциями облегающих разработку.

-  libraries - набор пользовательских библиотек расширяющих функционал CodeIgniter.

-  language - набор файлов хранящих данные которые позволяют сделать приложение мультиязычным

Для создания одной страницы необходимо как минимум:

-  создать контроллер действий в каталоге controllers;

-  создать метод отвечающий за формирование страницы в котроллере действий;

-  создать вид представления в каталоге views;

Описание программной структуры системы

Система состоит из четырех подсистем (подсистема «Управление пользователями», подсистема «Работы тренера», подсистема «Работы организатора» и подсистема «Проведение соревнования».

В подсистему «Управление пользователями» входят следующие модули:

)   модуль «Регистрация», который производит механизм регистрации нового пользователя. Регистрация проводится под тренером и под организатором, в зависимости от того, под кем будет производится регистрация зависит то, те какие права выдадутся пользователю.

)   модуль «Авторизация и аутентификация», который осуществляет авторизацию и аутентификацию уже зарегистрированного пользователя. Определяется под кем произошла авторизация: под тренером или под организатором, и исходя из этого пользователю выдаются те или иные права и возможности.

В подсистему «Работа тренера» входят следующие модули:

)   модуль «Регистрация спортсмена», который предназначен для добавления / удаления / редактирования учетных записей о спортсмене;

)   модуль «Подача заявки на участие в соревновании», предназначен для того, чтобы тренер мог добавлять своих спортсменов в определенное соревнование.

В подсистему «Работа организатора» входят следующие модули:

)   модуль «Добавление соревнования», который предназначен для добавления / удаления / редактирования учетных записей о соревновании;

)   модуль «Оповещение тренеров», предназначен для того, чтобы оповещать по электронной почте тренеров о добавлении нового соревнования или изменениях в уже существующих соревнованиях.

В подсистему «Проведение соревнования» входят следующие модули:

)   модуль «Генерация отчетов», который предназначен для генерации отчетов перед соревнованием, промежуточные отчеты во время проведения соревнования и итоговые отчеты после завершения соревнований;

)   модуль «Статистики спортсменов и жеребьевки», предназначен для ведения статистики и учета спортсменов, а так же реализован механизм жеребьевки.

Система реализована по схеме «клиент-сервер».

Тестирование системы

Так как алгоритмы большинства процессов в общем случае линейны, необходимо рассмотреть тестирование процесса авторизации.

Алгоритм тестирования процесса авторизации приведен на рисунке 2.3.1, а результаты тестирования представлены в таблице 2.3.1.

соревнование патент модуль

Таблица 2.3.1 - Результаты тестирования процесса обновления данных

№ опыта

Путь

Исходные данные

Контекст

Фактический результат

1

1

ввод данных

имя пользователя, пароль

заполнение поля

2

1,2

попытка пройти авторизацию

имя пользователя, пароль

заключение о корректности данных

3

попытка пройти авторизацию

некорректные данные

вывод сообщения об ошибке

4

1,2,3,4

попытка пройти авторизацию

корректные данные

вывод главного окна системы


Совпадение ожидаемого результата опыта с фактическим результатом указывает на то, что соответствующая функция работает правильно.

В случае несовпадения ожидаемого результата опыта с фактическим результатом необходимо найти причину возникновения несовпадения, проанализировать её, предложить варианты устранения. После этого нужно приступить к непосредственному устранению ошибки. Затем необходимо провести тестирование сначала и удостовериться в совпадении ожидаемого результата каждого из опытов с фактическим результатом.

Описанную процедуру нужно проводить до тех пор, пока в каждом из опытов не будет достигнуто указанное условие. При достижении условия совпадения ожидаемого результата каждого из опытов с фактическим результатом можно считать тестирование оконченным успешно.

Из таблицы видно, что ожидаемые результаты опытов в каждом опыте совпадают с фактическими результатами, что свидетельствует о том, что выполнение процесса обновления данных удовлетворяет требованиям технического задания.

Перед работой необходимо пройти авторизацию.

У каждого пользователя есть свой логин и пароль, их необходимо ввести в соответствующие поля username и password. Затем необходимо нажать на кнопку «Вход», откроется главное окно. При вводе некорректной пары логин / пароль появится сообщение об ошибке, как показано на рисунке 2.28. Для входа в систему необходимо ввести корректные данные.

После авторизации пользователь заходит в личный кабинет. Личные кабинеты различаются в зависимости от того, под кем именно прошла аутентификация: под тренером или под организатором. От того под кем прошла аутентификация зависят возможности пользователя.

В системе имеется страничка с соревнованиями. Если аутентификация прошла под организатором, то у него есть права создавать новое соревнование, редактировать текущее, при условии что именно он его создал, ну и соответственно просматривать участников подавших заявки на участие. Если аутентификация прошла под тренером, то у него есть права добавление своего спортсмена на участие в соревновании и просмотр информации о соревновании.

Похожие работы на - Разработка автоматизированной системы организации

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!