Разработка мобильного приложения "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

email

Почта пользователя

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 с.
Статья научная