Разработка мобильного приложения "Chess" для решения шахматных задач на платформе Android
Автор: Карачаев А.З., Леонтьев А.С.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 6 (94), 2024 года.
Бесплатный доступ
Статья посвящена разработке мобильного приложения "CHESS" для решения шахматных задач на платформе Android. В работе исследованы характеристики предметной области, поставлены задачи для разработки системы и проведён обзор существующих аналогов. Оценены экономические параметры разработки и внедрения системы, обоснован выбор средств разработки. Описаны реализации клиентской части и базы данных системы, меры по обеспечению информационной безопасности, а также технология работы с системой. Представлены графические и табличные материалы для наглядности и обоснования выводов.
Шахматные задачи (головоломки), мобильное приложение, база данных, архитектура mvvm, управление пользователями, обновление рейтинга, программное обеспечение
Короткий адрес: https://sciup.org/140306570
IDR: 140306570 | УДК: 00 | DOI: 10.5281/zenodo.13268446
Development of the mobile application "Chess" for solving chess puzzles on the Android platform
The article is dedicated to the development of the mobile application "CHESS" for solving chess problems on the Android platform. The study examines the characteristics of the subject area, sets tasks for system development, and reviews existing analogs. The economic parameters of the development and implementation of the system are assessed, and the choice of development tools is justified. The implementation of the client part and the system database, measures to ensure information security, and the technology for working with the system are described. Graphical and tabular materials are presented for clarity and substantiation of the conclusions.
Текст научной статьи Разработка мобильного приложения "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 с.