Git Product home page Git Product logo

diploma's Introduction

Одолей Лихо

Проект представляет собой мобильную игру в жанре MMORPG с использованием геолокации для перемещения игрока

Команда

  • RetteraDev (Кирилл Трофименко)
  • Jeegermeister (Анастасия Лампасова)

Назначение системы

Цель проекта

Цель проекта заключается в поддержании здорового образа жизни населения, борьбу с лишним весом, а также культурно-историческое просвещение игроков

Глоссарий

  • Моб - монстр, чудовище, враждебно-настроенное существо. Из убитых мобов получают лут и экспу
  • Лут - предметы, выпадаемые с убитых монстров
  • Экспа (exp) - количество опыта, получаемое в ходе игры за выполнение квестов, убийство мобов, использование специальных предметов
  • Левел или lvl - уровень чего-либо в игре
  • Кап - самый большой уровень персонажа, предмета или навыка в игре
  • Аккаунт или акк - учётная запись пользователя
  • Апнуть навык - усовершенствовать, усилить навык
  • Апнуться - получить новый уровень. Ап происходит после накопления определённого количества опыта
  • Ачивка, ачива - награда, полученная в игре за выполнение заданного условия, выраженная в получении очков достижений, звания или предмета. Достижения используются для сравнения мастерства игроков и повышения интереса к игровому процессу
  • Босс - огромный моб, "король" монстров. За победу над Боссом герои получают большое количество опыта и лута
  • Фарм - целенаправленный сбор лута, ресурсов, ачивок, путём убийства мобов, посещения данжей, арен, сражений
  • ХП - Количество здоровья, от англ. "Health Points"

Заинтересованные стороны (Стейкхолдеры)

Уровни влияния и заинтересованности стейкхолдеров

Группа лиц Балльная оценка уровня власти (0-5 баллов) Балльная оценка уровня интереса (0-5 баллов) Методы взаимодействия
Подростки (от 12+) 3 4 Ключевой стейкхолдер: Необходимо следить за "трендами" постоянно обновлять приложение и стараться заинтересовать больше индивидов из этой группы. Постоянно придумывать новые задания и обновлять контент
Люди с сидячим (малоподвижым) образом жизни 1 4 Нужно информировать о всех изменениях, проводить опросы о степени удовлетворенности пользованием приложения
Люди с сидячей работой 2 4 Нужно информировать о всех изменениях, проводить опросы о степени удовлетворенности пользованием приложения
Люди, имеющие лишний вес или сердечно-сосудистые заболевания 3 4 Ключевой стейкхолдер: Необходимо консультироваться с врачами, постоянно обновлять базу заданий для данной группы
Родители 4 4 Ключевой стейкхолдер: По возможности оповещать родителей о длительности прогулки и в случаее опасности разрешить просмотр местоположения ребёнка
Врачи 5 4 Ключевой стейкхолдер: Постоянно консультироваться и прислушиваться к рекоменациям, на их основе обновлять задания
Государство 5 5 Ключевой стейкхолдер: Постоянно отчитываться об общих достижениях людей использующих приложения
Владельцы исторических музеев и парков 3 5 Ключевой стейкхолдер: Необходимо координироваться с организатарами для привлечения большего количества людей на мероприятия

Требования стейкхолдеров к продукту

Стейкхолдер Требования
Подростки (от 12+) Хотят новую увлекательную игру с ярким дизайном, современной музыкой, частыми обновлениями, возможностью разивать своего аватара
Люди с сидячим (малоподвижным) образом жизни Хотят получать много и часто оповещения, кторые заставят их выйти на улицу
Люди с сидячей работой Хотят получать план маршрута до дома или/и работы через красивые места
Люди, имеющие лишний вес или сердечно-сосудистые заболевания Хотят иметь возможность записывать свои показатели в приложение, для контроля болезней.Хотят получать оповещения, которые заставят их выйти на улицу и рекомендации от врачей
Родители Хотят получть отчёт от приложения, где находятся их дели и сколько
Врачи Хотят чтобы люди меньше болели и меньше приходили к ним на приёмы создавая большую нагрузку на 1 специалиста в короткий промежуток времени
Государство Хочет меньше денег выделять на лечение людей. Более здоровое население
Владельцы исторических музеев и парков Хотят, чтобы в малоизвестные парки и музее приходило больше людей с минимальными тратами для рекламы

Диаграмма прецендентов

Диаграмма прецендентов

Требования к продукту по FURPS+

  • F. Функциональные требования

    • Подготовка к игре

      • Приложение должно уметь создавать новых и авторизовывать существующих пользователей в системе
      • Приложение должно предоставлять возможность новым пользователям редактировать информацию о игровом аватаре. Установка никнейма, настройка внешнего вида персонажа
    • Настройка профиля

      • Приложение должно иметь возможность установить медицинские противопоказания игрока
    • Игровой процесс

      • Геолокация

        • Приложение должно уметь привязывать карту реального мира к игровому с использованием шестиугольных координат. Размер каждого шестиугольника ограничен максимальной точностью геопозициования в 5 метров
        • Приложение должно уметь определять расположение парков и набережных. Такие места должны давать игроку за нахождение в этих шестиугольниках двойную награду
      • Задания для игрока

        • Приложение должно предоставлять каждому игроку обновленный список заданий ежедневно, в зависимости от его часового пояса в полночь
        • Приложение должно уметь следить за прогрессом и изменять его для каждого принятого игроком задания
        • Приложение должно автоматически выдавать награду и завершать задание после достижения игроком указанного в задании ограничения
      • Взаимодействие

        • Приложение должно уметь отправлять уведомления на мобильное устройство
        • Приложение должно вести логирование конкретных типов действий пользователей и системы
  • U. Удобство использования

    • Приложение должно помочь новому игроку понять игровой процесс через демонстрацию основных игровых механик
    • Текст в приложении должен соответствовать V разряду зрительных работ. Минимальный размер объект различения составляет 1-5 мм
  • R. Надежность

    • Сервер приложения должен гарантировать достоверность данных, хранимых в базе данных
    • Приложение должно быть доступно не менее 95% времени в течение суток
    • Сервер приложения должен обладать возможностью восстановления системы после сбоев
      • До 1 минуты
        • Основная база данных перестала отвечать, сервер переходит на взаимодействие с репликой
        • IP адрес сервера перестал определяться DNS, автоматический перезапуск конфигураций
      • До 4 часов
        • Разработчик внес правки, которые повлекли за собой критические ошибки (сломан основной функционал, без которого приложение не работает, например авторизация, расчет местоположения и прочее)
      • До 12 часов
        • Физические неисправности сервера (вышел из строя жесткий диск, сгорел процессор), поиск и замена комплектующих
      • Время не определено (от 1 секунды до нескольких суток)
        • Отключение электричества
        • Потеря интернет соединения
        • Природные катаклизмы
  • P. Производительность

    • Пользователь, находясь в сети 3G, должен изменения в перемещении по карте с использованием геолокации не более чем за 2 секунды
    • Время отклика системы на действия пользователя должно составлять не более 1 секунды
    • Пропускная способность сервера должна обеспечивать беспрерывную работу не менее чем 10 тысячам пользователей
  • S. Поддерживаемость

    • Приложение должно иметь возможность конфигурирования в реальном времени, без необходимости перезагружать сервер
    • Приложение должно поддерживать устройства, работающие на операционных системах:
      • iOS 9.0 - 16.0
      • Android 7.0 – 12.0 (учитывая специфические особенности марок Xiaomi, Sony, Huawei)
    • Сервер приложения должен уметь горизонтально масштабироваться на несколько физических компьютеров
  • +. Ограничения

    • Ограничения по безопасности

      • Приложение должна уметь определять нечестных игроков, использующих для перемещения транспортное средство или VPN
      • Приложение должно общаться с сервером приложения посредством безопасных протоколов TLS/HTTPS
    • Ограничения по проектированию

      • Сервер должен хранить данные пользователей в реляционной базе для обеспечения их достоверности и целостности
      • Сервер должен хранить данные о инвентарях игроков, геолокации и заданиях пользователя в нереляционной базе данных поскольку такие данные имеют неструктурированный формат
    • Ограничения реализации и разработки приложения

      • Хранение данных пользователей необходимо реализовать с помощью реляционной БД PostgreSQL
      • Хранение данных о инвентарях игроков, их маршрутов и прогресс выполнения заданий необходимо реализовать с помощью нереляционной БД MongoDB
      • Для реализации серверной части проекта необходимо использовать язык программирования Golang
      • Для реализации интерфейсной части проекта необходимо использовать язык программирования TypeScript
    • Требования к интерфейсам

      • Взаимодейстие между сервером и мобильным приложением должно осуществляться с использованием протоколов
        • HTTPS - получение данных по запросу (клику) пользователя
        • WebSocket - передача геолокации и прогресса выполнения заданий
    • Физические ограничения, накладываемые на технические (аппаратные) средства и окружение системы

      • Устройство должно обладать операционной системой Android (v7.0 – v12.0) или iOs (v9.0 - v16.0)
      • Устройство должно иметь доступ в интернет
      • Устройство должно иметь возможность получать геолокацию

Диаграмма ER

Диаграмма ER

diploma's People

Contributors

jeegermeister avatar retteradev avatar

Stargazers

Edward avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.