Введение 3
1 Спецификация требований к системе 4
1.1 Существующие аналоги 4
1.2 Разработка прецедентов 5
1.3 Выводы по главе 9
2 Проектирование 10
2.1 Модель предметной области 10
2.2 Разработка диаграмм пригодности 11
2.3 Разработка диаграмм последовательности 15
2.4 Формат сообщений к серверу и от сервера 21
2.4.1 HTTP-запросы 21
2.4.2 Запросы во время игровой сессии 24
2.5 Диаграмма классов 24
2.6 Выводы по главе 25
3 Реализация и тестирование 26
3.1 Инструменты разработки 26
3.2 Тестирование приложения 27
3.3 Инструкция по сборке 28
3.4 Документация 28
3.5 Выводы по главе 29
Заключение 30
Список использованных источников 31
ПРИЛОЖЕНИЕ А Правила и особенности игры 33
ПРИЛОЖЕНИЕ Б Диаграмма потока экранов
Одной из широко известных настольных игр является Монополия. Целью работы является программная реализация клиентской части. Структура работы отражает решаемые задачи.
В рамках первой главы работы рассмотрены сильные и слабые стороны существующих реализаций игры, в том числе решений с открытым исходным кодом. Отсутствие на рынке готовых клиент-серверных решений, обладающих такими возможностями как сохранение статистики, ведение рейтинговой системы, сохранение пользовательских настроек игры обуславливает актуальность разработки. С их учетом разработана спецификация требований к системе, в работе приводится часть спецификации, связанная с клиентской частью. Спецификация требований выполнена в формате прецедентов, которые также выполняют роль документации пользователя.
Вторая глава посвящена проектированию клиентской части системы. Сложность работы заключается в осуществлении корректного отображения происходящих процессов игры в реальном времени (в соответствии с приёмом информационных сообщений от сервера), а также в создании интуитивно понятного и отзывчивого интерфейса для пользователя.
В третьей главе приводятся инструкции разработчика по сборке приложения и его тестированию.
В результате проделанной работы были выполнены следующие задачи:
- проанализированы аналоги разрабатываемого приложения;
- сформулирована спецификация требований на основе рассмотренных аналогов;
- выполнен и описан процесс проектирования;
- создано клиентское приложение игры «Монополия»,
функционирующее согласно спецификации требований.
На фоне рассмотренных аналогов приложение имеет ряд отличительных преимуществ: реализация удобного интерфейса, системы лобби и рейтинговых матчей. Сам процесс игры уникален: особые поля, изменяющаяся по стадиям игровая карта, возможность напрямую взаимодействовать с игроками.
Тестирование реализованного приложения выполнено с помощью автоматических модульных тестов.
Гибкая архитектура разработанного клиентского приложения позволит выполнить дальнейшее расширение игровых возможностей:
- добавление в игру событий;
- увеличение количества особых игровых полей;
- создание редактора пользовательских карт с возможностью импорта и экспорта;
- внедрение возможностей для настраивания внешнего вида игровых фишек за определённые достижения игроков.