Слой бизнес логики - PavelKushnar/Software_Architecture_Design GitHub Wiki

В качестве шаблона, который будет использован при создании слоя бизнес-логики была выбрана модель предметной области. Система представляется состоящей из совокупности связанных между собой обьектов. Объекты представляют сервисы (методы) другим объектам и создаются во время исполнения программы на основе определения классов обьектов. Объекты скрывают информацию о представлении состояний и, следовательно, ограничивают к ним доступ. В приложении имеется пакет классов, которые представляют собой модели объектов, которые присутствуют в системе: package buisness_logic

  • Модель сущности Спектакль - Spectacl
  • Модель сущности cеанс - Seans
  • Модель сущности место - Mesto
  • Модель сущности бронь - Bron
  • Модель сущности пользователь - Person(родительский класс для сущностей Кассир, Клиент, Режиссер постановщик, Менеджер )

Класс Spectacl представляет собой сущность Спектакль. Спектакль создается Режиссером постановщиком Основные методы: Конструктор public Spectacl(RejPost rejpost,int spectaclProkatCost, String name, String info,int time)

Абстрактный класс Person хранит в себе данные персон и отображает их общие интерфейсы.

  • public Boolean autentification(String aLogin, String aPass) проверяет подлинность введенных логина и пароля.
  • public Boolean addCash (int num) добавляет средства на счет компании.
  • public Boolean writeOffCash (int num) списывает средства со счета компании.

Перечисление PersonType представляет собой виды персон: Client, Manager, RejPost, Cashier.

Класс public Bron (Client client, Mesto mesto, Seans seans) представляет собой объект Бронь. Он создается во время бронирования места.

  • public int addbron() – добавление брони в БД.
  • public int addbronCorp()– добавление корпоративной брони в БД .
  • public int acessBron(double skidka) – подтверждение корп брони.
  • public int wantPayBron() – установление статуса желания купить.
  • public int PayedBron() – установление статуса оплачено.

Перечисление BronStatus отображает состояния объекта Bron. New, WaitPay, Payed, WaitCashierPay, WaitAccessManager;

Класс public Seans( LocalDateTime time, Spectacl spectacl) хранит сеансы и время .

Для тестирования бизнес процессов были написаны JUnit тесты, которые размещены в каталоге Тесты в пакете LogicTest Реализованы 5 тестовых файлов, в каждом из которых по несколько тестов

  • Тестирование бизнес процесса, связанного с процессом покупки Спектакля SpectaclBuyJUnitTest.
  • Тестирование бизнес процесса, связанного с Бронированием билетов: PersBuyJUnitTest.
  • Тестирование бизнес процесса, связанного с Корпоративным клиентом : CorpBuyJUnitTest.