Разработка мобильного приложения "Chess" для решения шахматных задач на платформе Android
Автор: Карачаев А.З., Леонтьев А.С.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 6 (94), 2024 года.
Бесплатный доступ
Статья посвящена разработке мобильного приложения "CHESS" для решения шахматных задач на платформе Android. В работе исследованы характеристики предметной области, поставлены задачи для разработки системы и проведён обзор существующих аналогов. Оценены экономические параметры разработки и внедрения системы, обоснован выбор средств разработки. Описаны реализации клиентской части и базы данных системы, меры по обеспечению информационной безопасности, а также технология работы с системой. Представлены графические и табличные материалы для наглядности и обоснования выводов.
Шахматные задачи (головоломки), мобильное приложение, база данных, архитектура mvvm, управление пользователями, обновление рейтинга, программное обеспечение
Короткий адрес: https://sciup.org/140306570
IDR: 140306570 | DOI: 10.5281/zenodo.13268446
Текст научной статьи Разработка мобильного приложения "Chess" для решения шахматных задач на платформе Android
Шахматы являются одной из самых популярных игр в мире, которая развивает логику, стратегическое мышление и умение принимать решения в условиях неопределённости. В настоящее время существует множество приложений и сайтов, посвящённых шахматам, однако большинство из них ориентированы на игру против компьютера или других игроков. При этом недостаточно внимания уделяется обучению шахматной тактике, которая является ключевым элементом игры и позволяет быстро добиваться победы даже над более сильными соперниками.
Целью данной работы является создание приложения, которое будет помогать шахматистам улучшать свои навыки в области шахматной тактики. Приложение будет содержать набор задач различной сложности, которые позволят пользователям развивать своё понимание тактических приёмов и улучшать скорость принятия решений.
Сравнение аналогов важно для эффективного проектирования собственной системы, поскольку позволяет оценить различные альтернативы и выбрать наиболее подходящее решение в соответствии с уникальными потребностями и целями. Аналоги в реальном мире предоставляют ценные уроки и опыт, которые могут помочь избежать типичных ошибок и лучше понять, какие характеристики, возможности, и ограничения могут возникнуть при использовании определенных систем В таблице 1 представлен сравнительный анализ некоторых аналогов, чтобы продемонстрировать важность этого процесса при принятии решения о выборе наилучшей системы для конкретных задач и контекста.
Таблица 1.1 – Приложения-аналоги
Приложение |
Достоинства |
Недостатки |
Chess.com |
Доступно огромное количество задач разного уровня сложности; Предоставляет пользователям подробные анализы и подсказки после решения задачи. |
Многие функции доступны только для премиум-подписчиков; Интерфейс может показаться перегруженным из-за большого количества доступных функций и меню. |
Lichess |
Все функции приложения, включая задачи на тактику, доступны бесплатно; Интерфейс интуитивно понятен и не перегружен, что облегчает навигацию и использование приложения. |
Предлагает менее подробный анализ после решения задачи; Количество доступных задач может быть меньше по сравнению с другими платформами, что ограничивает разнообразие тренировок. |
ChessKid |
Имеет яркий и привлекательный дизайн, что делает процесс обучения интересным и увлекательным для юных шахматистов; Приложение предоставляет родителям возможность следить за прогрессом своих детей и контролировать их деятельность на платформе. |
Ориентирован на детей, поэтому взрослым игрокам может не хватать сложности и разнообразия задач; Многие функции доступны только для платных подписчиков, что может ограничить возможности бесплатных пользователей. |
Как видно из таблицы, каждое приложение имеет свои достоинства и недостатки .
Рассмотрим основной бизнес-процесс взаимодействия пользователя с системой. На рисунке 1 изображена BPMN-схема с процессом авторизации и проверки входа в приложение. После попытки пользователя войти в приложение система проверяет введенные данные с базой данных пользователей. В случае успешной проверки, система подключается и запускает интерфейс выбора уровня сложности задачи. В случае отсутствия подключения выводит ошибку на экран и предлагает пользователю войти заново. Если пользователь решает повторить авторизацию, то весь процесс проверки проходит заново. Далее на ней происходят процессы взаимодействия с приложением: выбор уровня сложности задачи, отправка решения, просмотр верного решения задачи.

Рисунок 1.1 — BPMN-модель взаимодействия пользователя с приложением
Мобильное приложение "CHESS" разрабатывается с целью предоставить пользователям современный и удобный инструмент для изучения шахматной тактики на основе сгенерированных и реально сыгранных позиций.
Особенности данной системы:
Приложение разрабатывается с фокусом на удобстве использования Пользователи смогут легко и быстро открывать, выбирать уровень и решать сгенерированные шахматные позиции. Интуитивный интерфейс и понятный процесс обучения делают систему доступной для широкой аудитории.
Все данные о пользователях и тактических позициях будут храниться в единой базе данных. Это обеспечит прозрачность и удобство работы для пользователей.
Приложение создается как ядро, которое может легко расширяться и дополняться новым функционалом в будущем. Это дает возможность системе расти вместе с изменяющимися потребностями пользователей и рынка.
С учетом растущей потребности в удобных и эффективных решениях для изучения шахматной тактики, разработка мобильного приложения "CHESS" представляется весьма оправданной. Она обеспечивает удовлетворение потребностей пользователей, обеспечивая прозрачность, доступность и гибкость в использовании.
Следующим шагом можно выделить определение функциональных и пользовательский требований.
Функциональные требования — это спецификации и описания функций и поведения системы или программного продукта. Они определяют, как система должна взаимодействовать с пользователем:
— Система должна давать пользователям возможность авторизации;
-
— Система должна предоставлять возможность выбора уровня сложности шахматной задачи;
-
— Приложение должно предоставлять пользователям возможность вводить в текстовом формате предложенное решение для каждой шахматной позиции;
-
— Приложение должно предоставлять пользователям возможность просматривать правильное решение каждой задачи;
— Приложение должно предоставлять пользователям возможность отслеживать собственный рейтинг.
Пользовательские требования — это конкретные функциональные и нефункциональные характеристики, которые определяются потребностями и ожиданиями пользователей от системы или приложения. Они описывают, что система должна делать и какие условия должны быть удовлетворены, чтобы удовлетворить потребности пользователей.
User Story — это формат описания требований, который сосредотачивается на потребностях конечного пользователя. Он используется для описания функциональности или особенностей, которые пользователь хотел бы видеть в системе. User Story формулируется в виде короткого описания, которое включает в себя роль пользователя, его потребность и цель, которую он хочет достичь.
User Story:
-
— Как пользователь, я хочу иметь возможность выбирать уровень сложности решаемых шахматных задач;
-
— Как пользователь, я хочу иметь возможность просматривать правильное решение для каждой позиции;
-
— Как пользователь, я хочу иметь возможность авторизоваться в приложении;
— Как пользователь, я хочу отслеживать свой прогресс.
Для обеспечения информационной безопасности необходимо разграничить права доступа по ролям. Для этого составим матрицу доступа.
В системе предполагается наличие трёх ролей:
-
1. Пользователь.
-
2. Система.
-
3. Разработчик.
Пользователь — это обычный пользователь, который имеет функционал выбора уровня сложности задачи, просмотра задач, решение задач, просмотр правильного решения.
Система — это система автоматизации и управления оборудованием, а также графический интерфейс, используемый пользователем для управления.
Разработчик — это пользователь, обладающий такими же правами, как и система. Он имеет доступ ко всей системе, а также возможность редактирования и внесения изменений в саму систему.
Матрица доступа отображена в Таблице 2.3. В качестве сокращений будут использованы следующие буквы:
— R — чтение;
— C — изменение;
— D — удаление;
— M — управление.
В каждом поле будет указываться набор букв, который будет обозначать доступность функционала для каждой роли.
Таблица 2.3 — Матрица доступа
Субъекты доступа |
Просмотр камер |
Просмотр записей |
База данных |
Пользователь |
R, M |
R, C, D |
R, C, D |
Система |
R, M |
R, C, D, M |
R, C, D, M |
Разработчик |
R, M |
R, C, D, M |
R, C, D, M |
Матрица доступа — это модель безопасности состояния защиты в системе. Она используется для определения прав каждого пользователя и каждой роли в системе.
Рассмотрим модель базы данных на рисунке 2

Рисунок 2 — Логическая схема базы данных
В данной модели отображено 2 блока таблиц, взаимодействующих друг с другом. Данная база данных отображает взаимодействия между таблицами и помогают понять реализацию её работы внутри нашей системы.
Словарь данных представляет собой определенным образом, организованный список всех элементов данной системы с их точными определениями.
Словарь данных отображен в Таблицах 3-4.
Таблица 3 — Таблица users
Имя данного |
Наименование данного |
Тип |
|
1 |
id |
Идентификатор пользователя |
integer |
2 |
name |
Имя пользователя |
string |
3 |
|
Почта пользователя |
string |
4 |
password |
Пароль пользователя |
string |
5 |
rating |
Рейтинг пользователя |
integer |
В таблице users будут хранится записи о каждом пользователе Благодаря ей у нас будет доступ к ним и возможность просмотра и редактирования.
Таблица 4 — Таблица puzzles
Имя данного |
Наименование данного |
Тип |
|
1 |
id |
Уникальный идентификатор |
integer |
2 |
level |
Уровень сложности |
integer |
3 |
initialPositionImageName |
Изображение начальной позиции |
string |
4 |
solvedPositionImageName |
Изображение конечной позиции |
string |
5 |
solutionText |
Решение задачи |
string |
В таблице puzzles будут храниться все шахматные позиции вместе с их решениями, а также будет возможность удаления и обновления этих позиций.
В процессе разработки мобильного приложения "CHESS" для решения шахматных задач на платформе Android были проведены исследования предметной области, поставлены задачи для создания системы и выполнен обзор существующих аналогов. В результате было разработано программное обеспечение, которое включает в себя клиентскую часть и базу данных, реализованную с использованием библиотеки Room и архитектуры MVVM. Также были приняты меры для обеспечения информационной безопасности пользователей приложения.
Оценка основных параметров разработки и внедрения системы показала, что выбранные средства разработки и подходы являются эффективными и оправданными. Представленные графические и табличные материалы подтверждают обоснованность принятых решений и достигнутых результатов. Разработанное мобильное приложение "CHESS" демонстрирует высокую функциональность и удобство использования для решения шахматных задач, что делает его конкурентоспособным на рынке аналогичных приложений.
Список литературы Разработка мобильного приложения "Chess" для решения шахматных задач на платформе Android
- Антамошкин О.А. Программная инженерия. Теория и практика. Учебник. M: НИЦ Инфра-М, 2012 - 368 с. EDN: YYPEMF
- Зубкова Т.М. Проектирование программных систем по обработке и анализу информации: метод. указания к курсовому проектированию по дисциплине "Технология разработки программного обеспечения". - ГОУ ОГУ, 2011 - 53 с.
- Алексанкин Я.Я., Бржозовский А.Э., Жданов В.А. и др. Автоматизированное проектирование систем автоматического управления. - М.: Машиностроение, 1990.
- Заботина Н. Н. Проектирование информационных систем: учебное пособие. - М.: ИНФРА-М, 2020 - 331 с.
- Грекул В.И. Проектное управление в сфере информационных технологий. - М.: БИНОМ. Лаборатория знаний, 2013 - 336 с.
- Варфоломеева А.О., Коряковский А.В., Романов В.П. Информационные системы предприятия: учебное пособие. - М.: НИЦ ИНФРА-М, 2016 - 283 с.