6. Реализация - marejada/FootballClub GitHub Wiki

Слой бизнес логики

Данный слой представлен в пакете BusinessLogic, реализован с использованием паттерна модель предметной области.

В разработанном пакете есть следующие классы:

  • Event - базовый класс отвечающий за создание событий.
  • Game - класс, отвечающий за игры команды.
  • Player - класс, отвечающий за игроков команды.
  • RecommendationAssistant - класс, в котором собраны все алгоритмы рекомендаций системы, рекомендации по производимым заменам и тренировкам команды.
  • Score - класс, отвечающий за счет в игре.
  • Team - класс, отвечающий за нашу команду.
  • Training - класс, отвечающий за тренировки команды.
  • User - класс, отвечающий за пользователей сервиса.

Слой доступа к данным

Данный слой был реализован в пакете DataAccess. Предоставляет доступ к базе данных.

Сервисный слой

Данный слой служит для связи слоя представления со слоем хранения данных а так же, для взаимодействия со слоем внешнего сервиса. Представлен в пакете ServiceLayer.

Слой доступа внешнего сервиса

Реализация данного слоя представлена в пакете HttpLayer. Присутствуют следующие классы:

  • ClientSession - класс, отвечающий за работу с подключенным клиентом.
  • HttpServer - класс, отвечающий за разворачивание сервер.
  • JSONBuilder - класс, отвечающий за постройку json ответа.

Слой представления

Слой для взаимодействия с пользователем. Реализация находится в пакете GUI. Ниже будут представлены скриншоты интерфейса.

Стартовое окно системы:

Окно входа:

Меню системы:

Окно состава команды:

Окно замены:

Окно событий команды:

Окно помощника:

Внешний сервис

При обращении внешнего сервиса к программе по url получается следующий результат:

{"player":[1,"Имя",1970-01-01 03:00:00.123,"Страна","Goalkeeper"]}

Тестирование

Реализован пакет модульных тестов. Производится тестирование изменения здоровья игрока и изменения названия игры.

Комплексное тестирование системы производилось вручную.