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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

разработки NetBeans, поддерживающей Ruby и JRuby. Последний представляет собой Java-реализацию Ruby, которая работает с виртуальной машиной Java. Платформа NetBeans в первую очередь ориентирована на Java, но может быть расширена и до Ruby. Как правило, разработчики, которые пишут программы на этом языке, не используют интегрированные среды разработки. Однако, как подчеркнул Тор Норби, старший инженер Sun, предложенное корпорацией решение представляет собой значительно более производительную среду, чем все, что существовало для Ruby ранее.

 

2.3 Содержательная постановка задачи создания СШПО

 

Предметная область

Специализированное шахматное программное обеспечение (СШПО) предназначено для переноса играющихся шахматных партий в электронную форму, трансляции игр для присутствующей на соревнованиях аудитории и в сети Интернет. Пользователями СШПО будет являться персонал структурного подразделения Шахматный клуб ГОУ ВПО СибГИУ и персонал МУДОД СДЮСШОР по шахматам.

Дано:

Действующая ИС Шахматный клуб.

Прототипы информационной системы.

Множество моделей жизненного цикла (МЖЦ) разработки программного обеспечения.

Инструментальные средства разработки ПО.

Общие требования к СШПО:

  1. работоспособность во всех современных операционных системах (ОС),
  2. непрерывность работы в ходе всего соревновательного процесса,
  3. возможность получения корректной и оперативной информации о соревнованиях за пределами турнирного зала и из любой точки земного шара по сети Интернет,
  4. накопление и сохранение информации по соревновательному процессу,
  5. экономия времени и средств на перенос партий в электронную форму,
  6. обеспечение прохождения соревновательного процесса в рамках действующих игровых правил,
  7. учет возможности исправления неправильного течения игрового процесса.

Ограничения:

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

1. При выборе инструментальных средств разработки СШПО ограничиться следующими программными продуктами: NetBeans IDE 6.0, MySQLAdministrator.

2. В ходе функционирования СШПО во время соревновательного процесса должны выполняться следующие условия:

  1. СШПО должно функционировать без простоев в течении всего игрового дня.
  2. Отображаемый ход должен полностью соответствовать ходу, сделанному на электронной шахматной доске.
  3. Временная задержка трансляции, если она заранее не предусмотрена, не должна превышать 0,5 секунды.
  4. Временная задержка переноса игрового процесса в электронную форму не должна превышать 0,5 секунды.

Требуется

Реализовать СШПО с учетом всех требований и ограничений

 

2.4 Разработка алгоритма решения задачи

 

Регистратор шахматных партий (РШП) реализуется на языке Java (j2se). РШП реализует протокол обмена данных DGT шахматных электронных досок, который в свою очередь базируется на прокотоле обмена через последовательный порт RS-232. В качестве компонента для работы с последовательным портом в Java была выбрана библиотека rxtx версии 1.72. Протокол DGT приведен в приложении 6 в виде заголовочного C файла (header). Задача РШП осуществлять трансляцию партий, при этом изменения позиции партий сохраняются в базу данных, откуда эти данные получает Транслятор шахматных партий (ТШП). Формат записи, в котором записываются шахматные ходы в базу данных, следующий:

 

[фигура{K(король),Q(ферзь),N(конь),B(слон),R(ладья), (пешка)}][вертикаль исходного поля][горизонталь исходного поля]-[вертикаль поля назначения][горизонталь поля назначения].

 

Например:

 

Kg8-g7

Ng1-f3

e2-e4

Данные, получаемые РШП от электронной доски, интерпретируются согласно описанию в протоколе DGT. Например, дамп доски получается в виде 64 ASCII символов (информативная часть сообщения) rnbqkbnrpppppppp PPPPPPPPRNBQKBNR преобразуется в вид:

 

Рисунок 8 Результат преобразования информативной части сообщения от ЭШД

 

ТШП реализован на технологии Ruby on Rails. Rails это полноценный, многоуровневый фреймворк для построения веб-приложений, использующих базы данных, который основан на архитектуре Модель-Представление-Контроллер (Model-View-Controller, MVC). Динамичный AJAX-интерфейс, обработка запросов и выдача данных в контроллерах, предметная область, отраженная в базе данных, для всего этого Rails предоставляет однородную среду разработки на Ruby. Все, что необходимо для начала база данных и веб-сервер. Rails отлично работает со многими веб-серверами и СУБД. В качестве веб-сервера можно использовать Apache или lighttpd как с FastCGI, так и с SCGI. В качестве СУБД можно использовать MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 или Firebird. Использовать Rails можно на практически любой операционной системе.

Задача ТШП создавать трансляции и вещать шахматные партии. В ТШП предусмотрена система авторизации, что позволяет гибко настраивать права пользователей зарегистрированных в системе, по умолчанию существуют три профиля пользователей: Администратор (права на все), Руководитель (ему принадлежат права на создание/редактирование online трансляций, турниров, комментирование партий и т.д.) и Гость (только просмотр партий).

Модуль вещания партий реализован при помощи скриптов JavaScript, при этом обновление позиции запрашивается с сервера через AJAX запросы, без обновления всей страницы.

Листинг модуля вещания партий представлен в приложении 10.

 

2.5 Описание разработанного программного комплекса

 

2.5.1 Тран