Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Лабораторная 2. Isu.Extra

Цель

Научиться выделять зоны ответственности разных сущностей и проектировать связи между ними.

‼️ Реализация данной лабы должна переиспользовать логику Lab 0. Так же она должна поддерживать с ней обратную совместимость, что значит, что использование IIsuService отдельно от сервиса данной лабораторной не должно нарушать инвариант её логики.

Предметная область

Реализация системы записи студентов на ОГНП.

Курс ОГНП - дополнительные занятия, которые могут изучать студенты. Каждый курс реализуется определенным мегафакультетом. Курс изучается в несколько потоков с ограниченным количеством мест. У каждого потока есть свое расписание - список пар, которые проводятся в течение недели.

Пара - описание временного интервала, в который группа занимается. Пара должна быть ассоциирована с группой, временем, преподавателем и аудиторией.

Студенты могут записываться на два разных курса ОГНП. Студент не может записаться на ОГНП, которое представляет мегафакультет его учебной группы. Каждая учебная группа принадлежат определенному мегафакультету, который определяется из названия группы, например М3105 - ИТИП(ТИНТ), К3104 - СУИР(КТУ). Каждая учебная группа имеет список пар. При записи студента должна быть проверка на то, что пары его учебной группы не пересекаются с парами потока ОГНП.

Требуемый функционал

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