Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Практична частина іспиту з дисципліни Advanced Java

Варіант: V20 (D4 + R1 + M2)

Тривалість: 60 хвилин. Формат: індивідуально, автономно.

Що потрібно зробити: реалізувати бібліотеку з API та тестами відповідно до опису нижче.

Обов’язкові технічні вимоги:

Java 17, Maven, JUnit. Лише core Java; Spring Boot, БД, Docker, веб-інтерфейс не вимагаються. Сторонні бібліотеки дозволені, але не є обов’язковими. У відповіді Moodle треба вказати лише URL репозиторію. Спільні вимоги до реалізації:

Щонайменше 3-4 доменні сутності та 2 сервіси. Щонайменше 1 власний generic-інтерфейс або generic-клас у публічному API. Доречне використання колекцій, lambdas і Stream API у реальних сценаріях. Інкапсуляція, коректна модель домену, композиція, доречні абстракції, SOLID. Коректні equals()/hashCode()/toString() там, де це виправдано. Optional у публічному API там, де це доречно. Базовий доменний виняток, спеціалізовані винятки, INFO/WARN/ERROR логування. Мінімум 10 тестів, з них мінімум 1 параметризований і 5 негативних. Домен D4: Запис до клініки

Спроєктуйте бібліотеку для керування лікарями, пацієнтами та записами на прийом.

Doctor, Patient, Appointment, Specialty/TimeSlot не менше двох сервісів, наприклад AppointmentService і ClinicScheduleService API для створення запису, перенесення, скасування, пошуку та аналітики завантаження щонайменше 3-4 доменні сутності та 2 сервіси щонайменше один власний generic-інтерфейс або generic-клас у публічному API використання колекцій та Stream API для пошуку, фільтрації, сортування й агрегування прийомів та розкладів Пакет правил R1: Валідація і життєвий цикл

Додайте щонайменше 3 спеціалізовані бізнес-правила валідації для основних операцій домену. Введіть життєвий цикл для основної операції або запису щонайменше з 3 статусами та дозволеними переходами між ними. Передбачте щонайменше 1 спеціалізований виняток для порушення правил життєвого циклу або валідації. Реалізуйте щонайменше 1 Stream-запит, який повертає відсортований список активних або завершених операцій за обраним критерієм. Режим взаємодії M2: Консольний режим

Додайте до бібліотеки окремий компонент для обробки текстових команд або рядків вводу/виводу поверх вашого API. Не потрібен інтерактивний main(): компонент має бути придатним для тестування через JUnit як звичайний клас бібліотеки. Передбачте обробку щонайменше кількох типів команд: створення/зміна/пошук або отримання звіту. Обмеження на початкову заготовку: дозволена лише власна технічна заготовка Maven/JUnit/структури каталогів без будь-якої наперед реалізованої бізнес-логіки.

Що вписати у відповідь Moodle: URL репозиторію.

About

Examination for course Java Advanced | NaUKMA

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages