Научная статья на тему 'Проектирование игрового приложения «Футбольный онлайн менеджер»'

Проектирование игрового приложения «Футбольный онлайн менеджер» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2084
275
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ И АППАРАТНОЕ ОБЕСПЕЧЕНИЕ / ИГРОВОЕ ПРЕДЛОЖЕНИЕ / ФУТБОЛ / МЕНЕДЖЕР / ОНЛАЙН ИГРА / АРХИТЕКТУРА / МНОГОУРОВНЕВАЯ СТРУКТУРА / БАЗА ДАННЫХ / КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ / SOFTWARE / HARDWARE / GAMING OFFER / FOOTBALL / MANAGER / ONLINE GAME / ARCHITECTURE / DATABASE MULTI-LEVEL STRUCTURE / CONCEPTUAL MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ленхорова Инна Александровна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ленхорова Инна Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE DESIGNING GAME APPLICATION «ONLINE FOOTBALL MANAGER»

The article presents a developed hardware and software game application «Online football manager» for fans and organizers of one of the most popular games football. Computer games market is currently booming, and their use is not only entertaining, but promotes professional growth. The proposed game app is appropriate for a commercial use and contains original elements.

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

ISSN 2313-1160

Ленхорова И.А.

ПРОЕКТИРОВАНИЕ ИГРОВОГО ПРИЛОЖЕНИЯ «ФУТБОЛЬНЫЙ ОНЛАЙН МЕНЕДЖЕР»

Рынок мобильных приложений зародился в 2008 году. Первой компанией, запустившей инновационную модель распространения приложений, стала Apple. Впоследствии на данный рынок вышла компания Google, создав серьезную конкуренцию Apple.

Мобильные игры наиболее востребованы на рынке мобильных приложений на сегодняшний день. Разработчики придумывают новые игры или совершенствуют уже выпущенные. Игры притягивают внимание все большей аудитории. Они становятся неотъемлемой частью жизни многих пользователей.

В мобильные игры в России, по данным аналитической компании NewZoo, сегодня играют 79% от общего количества любителей игр.

Поэтому разработка игровых приложений является одним из самых прибыльных и развивающихся направлений. Нами разработано программное и аппаратное обеспечение игрового приложения «Футбольный онлайн менеджер» для любителей и организаторов игры в одну из самых популярных игр - футбол.

Выбор архитектуры приложения

Первый этапом в проектировании приложения является выбор архитектуры приложения. Рассмотрим возможные варианты архитектурных моделей и их компоненты.

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

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

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

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

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

Двухуровневая модель архитектуры, или архитектура «клиент-сервер», разделяет

48

Научно-практический журнал «Новые исследования в разработке техники и технологий» № 2/2015

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

В трехуровневой архитектуре бизнес-логика вынесена в отдельный уровень. Схема трехуровневой модели представлена на рис. 1.

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

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

приложения

Рис. 1. Трехуровневая модель архитектуры

Проектирование базы данных

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

1. Проектирование концептуальной модели базы данных, представляет собой создание схемы базы данных, включающей определение важнейших сущностей и связей между ними, но не зависящего от модели базы данных (иерархической, сетевой, реляционной и т. д.) и физической реализации. Обычно концептуальная модель представляется в виде ER-модели (англ. entity-relationshipmodel, модель сущность-связь).

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

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

49

ISSN 2313-1160

Проектирование концептуальной модели базы данных

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

Следующим шагом является определение атрибутов для каждой сущности. Атрибуты могут быть следующими:

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

- однозначными или многозначный, т.е. содержать одно или несколько значений;

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

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

Рис. 2. Сущности и их взаимосвязи

На основе полученной информации построим ER-диаграмму. ER-диаграмма пре дставлена на рисунке 3.

На основании приведённой концептуальной модели базы данных проведено проектирование сервера приложений. Основная задача сервера приложений - это реализация бизнес-логики приложения и организация взаимодействия программы-клиента и сервера баз данных. Сервер приложений будет реагировать на HTTP-запросы от программ-клиентов и выдавать им HTTP-ответы в формате JSON. Также сервер приложений будет взаимодействовать с сервером баз данных, отправляя туда SQL-запросы на извлечение, добавление, изменение или удаление данных и получать ответы на запросы. Кроме того,

50

Научно-практический журнал «Новые исследования в разработке техники и технологий» № 2/2015

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

Рис.3. ER-диаграмма концептуальной модели базы данных

1. Скрипт, возвращающий полную информации о матче.

2. Скрипт, возвращающий полную информации о лиге.

3. Скрипт, возвращающий полную информации для каждого из 8 клубов лиги.

4. Скрипт, возвращающий список всех чемпионатов и информацию о них.

5. Скрипт, возвращающий информацию по указанному клубу.

6. Скрипт, возвращающий информации о событиях клуба

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

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

9. Скрипт, возвращающий списки последних сыгранныхине сыгранных матчей.

51

ISSN 2313-1160

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

11. Скрипт, возвращающий список из 25 доступных трансферов с учетом выбранных параметров.

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

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

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

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

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

17. Скрипт, осуществляющийсовершение покупки игрока.

Определён список скриптов, которые будут выполняться по расписанию:

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

2. Скрипт, который запускается раз в сутки и обеспечивает проведение матчей.

На основе даталогической модели создадана физическая модель базы данных и

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

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

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

Рассмотрим созданные для данного проекта представления и функции

- представление V_TEAMS_FULL_INFO отображает полную информацию о команде.

- функция get_age рассчитывает возраст исходя из дня рождения и текущей даты.

- функция rename_player осуществляет переименование игрока.

- функция change_trainingосуществляет изменение направления тренировки игрока.

- функция seП_playerосуществляет продажу игрока.

- функция fire_playerосуществляет увольнение игрока.

- функция buy_playerосуществляет покупку игрока.

- функцияset_order осуществляет изменение расстановки игроков для матча.

Программная реализация сервера приложений

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

52

Научно-практический журнал «Новые исследования в разработке техники и технологий» № 2/2015

вспомагательные скрипты. Рассмотрим их подробнее.

Скрипт db_config.php содержит конфигурация подключения к базе данных:

<?php

define(‘DB_USER’, «[ логин пользователя БД]»); define(‘DB_PASSWORD’, «[пароль]»); define(‘DB_DATABASE’, «[ база данных]»); define(‘DB_SERVER’, «[сервер]»);

?>

Связь с базой данных обеспечивается скриптом db_connect.php:

<?php

class DB_CONNECT {

function__construct(){ $this->connect(); }

function__destruct() { $this->dose();}

function connect() {require ‘db_config.php’;

$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());

$db = mysql_select_db(DB_DATABASE) or

die(mysql_error()) or die(mysql_error());

return $con;

}

function close() { mysql_close(); }

}

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

?>

Для функционирования работы клиентских приложений были разработаны скрипты. Скрипты возвращают информацию в формате JSON. Пример возвращаемой информации в случае успешного выполнения запроса get_player_by_team.php:

{«players»:[{«team_id»:»1»,»player_id»:»1»,»first_name»:»Василий»,»last_name»

:»Петров»,»age»:»26»,»salary»:»20000»,»goalkeeper»:»100»,»defense»:»200»,»midfieЫ»

:»100»,»winger»:»200»,»pass»:»300»,»attack»:»400»,»standards»:»500»,»shape»:»600»,»

experience»:»700»,»transfer»:»0»,»training»:»1»},{«team_id»:»1»,»player_id»:»2»,»first_

name»:»Иван»,»last_name»:»Галкин»,»age»:»29»,»salary»:»20000»,»goalkeeper»:»100»,»

defense»:»200»,»midfield»:»100»,»winger»:»200»,»pass»:»300»,»attack»:»400»,»standard

s»:»500»,»shape»:»600»,»experience»:»700»,»transfer»:»1»,»training»:»6»}],»success»:1}

В случае, если в команде отсутствуют игроки:

{«success»:0,»message»:»No player found»}

В случае, если в команде отсутствуют параметры запуска: {«success»:0,»message»:»Required field(s) is missing»}

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

Разработанная компьютерная игра апробирована на практике и пользуется большим интересом со стороны любителей футбола.

53

ISSN 2313-1160

Литература

1. Берулава, Г.А. Международный инновационный университет: от разработки новой методологической платформы высшего образования до внедрения инновационных технологий обучения и воспитания: научная статья / Г.А. Берулава, Л.С. Довгаль, А.Ю. Яковлева-Чернышева, А.В. Дружинина, И.К. Тординава, Л.П. Гулянова, Е.В. Беляева, И.К. Барагунова // Высшее образование сегодня. - 2014. - №11. - С. 51-56.

2. Берулава, Г.А. Международный инновационный университет: новая методологическая платформа и современные образовательные технологии: научная статья / Г.А. Берулава, Л.С. Довгаль, А.Ю. Яковлева-Чернышева, А.В. Дружинина, И.К. Тординава, Л.П. Гулянова, Е.В. Беляева, И.К. Барагунова // Известия Южного федерального университета. Педагогические науки. - 2014. - №10. - С. 21-28.

3. Берулава, Г.А. Об опыте организации электронного образовательного пространства / Берулава Г.А., Яковлева-Чернышева А.Ю., Дружинина А.В., Беляева Е.В., Малыш В.Г., Пильщикова Т.С. , Исталиева С.К. // Гуманизация образования. 2015. №2. С. 52-58.

4. Довгаль Л.С. Вуз как центр теоретических исследований / Л.С. Довгаль, О.В. Непша // Гуманизация образования. - 2015. - №2. - С. 59-64.

5. Яковлева-Чернышева А.Ю. Об организации научно-исследовательской работы в университете / А.Ю. Яковлева-Чернышева, Е.В. Беляева, И.Ю. Якунина // Высшее образование в России. - 2014. - №12. - С. 90-97.

6. Яковлева-Чернышева, А.Ю. Новые технологии организации научно-исследовательской работы в университете / А.Ю. Яковлева-Чернышева, И.Ю. Якунина // Гуманизация образования. 2015. №3. С.153-159.

7. Яковлева-Чернышева, А.Ю. Инновационные подходы к организации научно-исследовательской деятельности университета / Яковлева-Чернышева А.Ю., Дружинина А.В., Алексеев В.П. // Концепт. - 2015. - №4 (апрель).

8. Яковлева-Чернышева, А.Ю. Инновационные технологии организации научноисследовательской работы в университете / А.Ю. Яковлева-Чернышева // Инновационная наука. 2015. №5 (май).

54

i Надоели баннеры? Вы всегда можете отключить рекламу.