Тип работы:
Предмет:
Язык работы:


Игра «Монополия». Серверная часть

Работа №154585

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы74
Год сдачи2023
Стоимость4600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
9
Не подходит работа?

Узнай цену на написание


Реферат 2
Введение 5
1 Разработка спецификации требований 6
1.1 Анализ существующих аналогов 6
1.2 Описание особенностей реализации 7
1.3 Разработка прецедентов 7
1.4 Выводы по главе 10
2 Проектирование 11
2.1 Определение сущностей разрабатываемой системы 11
2.2 Выбор архитектуры 12
2.3 Проектирование микросервиса «API шлюз» 14
2.3.1 Разработка HTTP методов 14
2.3.2 Диаграмма последовательности 21
2.4 Проектирование микросервиса «MonopolyUsersService» 22
2.4.1 Процесс авторизации 22
2.4.2 Описание удалённых процедур 24
2.5 Проектирование микросервиса «MonopolyLobbiesService» 25
2.5.1 Описание удалённых процедур 25
2.5.2 Инициализация игровой сессии 28
2.6 Проектирование микросервиса «MonopolyGameService» 29
2.7 Проектирование структуры базы данных 32
2.8 Выводы по главе 33
3 Реализация и тестирование 34
3.1 Разработка 34
3.1.1 Разработка микросервисов «MonopolyGameService» и «API шлюз» . 34
3.1.2 Разработка микросервисов «MonopolyUsersService» и
«MonopolyLobbiesService» 36
3.2 Тестирование 37
3.3 Развёртывание 37
3.4 Выводы по главе 40
Заключение 41
Список использованных источников 42
ПРИЛОЖЕНИЕ А Правила и особенности игры 44
ПРИЛОЖЕНИЕ Б Образцы JSON структур тел HTTP запросов и ответов 56
ПРИЛОЖЕНИЕ В Proto структура «UsersMicroservice» 60
ПРИЛОЖЕНИЕ Г Proto структура «LobbiesMicroservice» 63
ПРИЛОЖЕНИЕ Д Proto структуры «GameMicroservice» и
«MonopolyGameMessages» 69


«Монополия» — одна из самых известных настольных игр, концепция которой не нуждается в представлении. Целью работы является программная клиент-серверная реализация игры по мотивам классической «Монополии», а в частности, её серверная часть. Серверная часть должна отвечать требованиям гибкости в изменении игровых условий, высокой отказоустойчивости и масштабируемости.
Решаемые задачи отражены в структуре работы:
Первая глава посвящена рассмотрению существующих аналогов в предметной области, анализу слабых и сильных сторон существующих реализаций, описанию игрового процесса. На основании этого в первой главе формируется спецификация требований к серверному приложению.
Вторая глава посвящена разработке архитектуры системы, структуры базы данных и алгоритмам обработки игровых механик.
Третья глава посвящена описанию процессов и средств разработки и тестирования, в ней так же приводится информация о сборке и развёртыванию серверной системы.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате проделанной работы было выполнено проектирование серверной системы для многопользовательской игры «Монополия» с использованием принципов микросервисной архитектуры и современных подходов. В процессе проектирования была разработана архитектурная схема, описаны HTTP методы, описаны способы и методы межкомпонентного взаимодействия, разработан ряд UML диаграмм.
На основании результатов проектирования была разработана серверная система, состоящая из нескольких компонент — микросервисов. Для каждого микросервиса выбраны подходящие современные средства разработки.
На фоне аналогов разработанная серверная систем, вкупе с клиентским приложением имеет ряд характерных особенностей, уникальную реализацию игрового процесса, систему игровых комнат и рейтинговых игр.
Выбранный тип архитектуры разработанного приложения позволит легко проводить дальнейшую разработку.



1 GitHub: The complete developer platform to build, scale, and deliver secure software. [Электронный ресурс]. - 2023. - URL: https://github.com.com (дата обращения 01.03.2023).
2 McIlroy M.D «UNIX Time-Sharing System»// The Bell System Technical Journal vol. 57, no. 6, part 2: - 1978. - С. 1905-1929.
3 Protocol Buffers : Google Developers : сайт — URL
https://developers.google.com/protocol-buffers (дата обращения 05.01.2023).
4 Фреймворк gRPC / Документация gRPC : сайт. - URL: https://grpc.io/docs/ (дата обращения: 23.03.2023).
5 OAuth 2.0 / The industry-standard protocol for authorization : сайт. - URL: https://oauth.net/2/ (дата обращения: 17.05.2023).
6 VK для разработчиков / Authorization Code Flow для получения ключа доступа пользователя : сайт. - URL: https://dev.vk.com/api/access-token/authcode- flow-user (дата обращения: 17.05.2023).
7 Google Identity / Using OAuth 2.0 to Access Google APIs : сайт. - URL:
https://developers.google.com/identity/protocols/oauth2 (дата обращения:
17.05.2023).
8 RFC 7519/ JSON Web Token : сайт. - URL: https://www.rfc-
editor.org/rfc/rfc7519 (дата обращения: 18.05.2023).
9 RFC 4868/ undefined Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec : сайт. - URL: https://www.rfc-editor.org/rfc/rfc4868 (дата обращения: 18.05.2023).
10 Git / A free and open source distributed version control system : сайт. - URL: https://git-scm.com/ (дата обращения: 18.05.2023).
11 Golang / undefined Build simple, secure, scalable systems with Go : сайт. - URL: https://go.dev/ (дата обращения: 18.05.2023).
12 Репозиторий «SergeyZvyagin/monopoly-api-gateway» / GitHub : сайт. - URL: https://github.com/SergeyZvyagin/monopoly-gateway (дата обращения: 17.05.2023).
13 Репозиторий «SergeyZvyagin/monopoly-game-service» / GitHub : сайт. - URL: https://github.com/SergeyZvyagin/monopoly-game-service (дата обращения: 17.05.2023).
14 Репозиторий «SergeyZvyagin/monopoly-users-service» / GitHub : сайт. - URL: https://github.com/SergeyZvyagin/monopoly-users-service (дата обращения: 18.05.2023).
15 Репозиторий «SergeyZvyagin/monopoly-lobbies-service» / GitHub : сайт.
- URL: https://github.com/SergeyZvyagin/monopoly-lobbies-service (дата
обращения: 19.05.2023)...17


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ