Слой бизнес логики - 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.