Театральная касса #
Требования к лабораторной работе № 1 #
Сущности #
Билет #
- Дата и время добавления, формируется приложением автоматически.
- Театр, строка.
- Спектакль, строка.
- Дата спектакля.
- Время спектакля.
- Зал, строка.
- Зона зрительного зала, перечисление.
- Номер ряда, число.
- Номер места, число.
- Стоимость в рублях, число.
Требования к лабораторной работе № 2 #
Сущности #
Театр #
- Название, строка.
- Адрес, строка.
- Телефон касс, форматированная строка.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее двух театров.
Театральный зал (сцена) #
- Театр.
- Название, строка. Например: большая сцена, камерная сцена и т.д.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее одной сцены в театре. Хотя бы один театр с двумя сценами.
Зона #
- Театральный зал.
- Название, строка. Например: партер, бельэтаж, амфитеатр и т.д.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее одной зоны в зале. Хотя бы один зал с хотя бы двумя зонами.
Ряд #
- Зона.
- Номер, число.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее двух рядов в зоне.
Место #
- Ряд.
- Номер, число.
- Стоимость, число.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее двух мест в ряду.
Спектакль #
- Дата и время добавления, формируется приложением автоматически.
- Дата и время спектакля, дата и время.
- Сцена.
- Название, строка.
Билет #
- Дата и время добавления, формируется приложением автоматически.
- Спектакль.
- Место.
Описывает приобретённый билет.
Детали реализации #
- Сущности «Театр», «Театральный зал», «Зона», «Ряд» и «Место» должны быть заполнены один раз. Не надо реализовывать средства добавления новых сущностей в соответствующие списки.
- Страница с просмотром списка для вышеупомянутых сущностей требуется только для театров.
- На странице театра отображается:
- Детальная информация о театре.
- Список залов.
- На странице театрального зала отображается:
- Список предстоящих спектаклей, отсортированный по возрастанию даты и времени проведения спектакля.
- На странице спектакля отображается:
- Список зон.
- Для каждой зоны визуализируются места в виде таблицы. Ячейка таблицы описывает одно место в одном ряду и содержит стоимость данного места. Если на это место уже куплен билет, то ячейка не является активной.
- При нажатии на ячейку таблицы открывается страница покупки билета.
- На странице покупки билета отображается:
- Информация о спектакле.
- Информация о театре.
- Информация о зале.
- Информация о зоне.
- Информация о ряду.
- Информация о месте.
- Форма для подтверждения покупки билета.
- Если пользователь соглашается, то создаётся новая сущность билета и происходит открытие страницы билета.
- Если пользователь отказывается, то происходит возвращение на страницу спектакля.
- На странице списка билетов отображается:
- Краткий список билетов, упорядоченный по убыванию даты и времени добавления.
- На странице списка билетов не требуется добавлять новый билет.
- На странице билета отображается:
- Информация о спектакле.
- Информация о театре.
- Информация о зале.
- Информация о зоне.
- Информация о ряду.
- Информация о месте.
- Информация о билете.
Требования к лабораторной работе № 3 #
Сущности #
Театр #
- Название, строка.
- Адрес, строка.
- Телефон касс, форматированная строка.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее двух театров.
Театральный зал (сцена) #
- Театр.
- Название, строка. Например: большая сцена, камерная сцена и т.д.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее одной сцены в театре. Хотя бы один театр с двумя сценами.
Зона #
- Театральный зал.
- Название, строка. Например: партер, бельэтаж, амфитеатр и т.д.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее одной зоны в зале. Хотя бы один зал с хотя бы двумя зонами.
Ряд #
- Зона.
- Номер, число.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее двух рядов в зоне.
Место #
- Ряд.
- Номер, число.
- Стоимость, число.
Не надо реализовывать добавление данных пользователем в данный список.
Не менее двух мест в ряду.
Спектакль #
- Дата и время добавления, формируется приложением автоматически.
- Дата и время спектакля, дата и время.
- Сцена.
- Название, строка.
Билет #
- Дата и время добавления, формируется приложением автоматически.
- Спектакль.
- Место.
Описывает приобретённый билет.
Роли #
Гость #
- Может просматривать стартовую страницу.
- Может просматривать все списки сущностей «Театр», «Театральный зал», «Спектакль» и страницы соответствующих сущностей.
- Может зарегистрироваться в системе.
- Может авторизоваться в системе.
Авторизованный пользователь #
Доступны все возможности роли «Гость».
- Может покупать билеты на предстоящие спектакли.
- Может вернуть билет, если до начала спектакля осталось не менее суток.
- Может просматривать свою страницу. На ней отображается:
- Список купленных билетов, упорядоченный по дате проведения спектакля. Уже прошедшие спектакли должны быть вынесены в отдельный список.
Работник театра #
Доступны все возможности роли «Гость».
Для каждого театра приложение должно содержать минимум по одному работнику театра.
- Может добавлять новые спектакли в свой театр.
- Может редактировать информацию о спектакле.
- Может редактировать информацию о своём театре.
- Может создать новый спектакль на основании существующего. Обычно применяется для добавления такого же спектакля в другую дату.
Администратор ресурса #
Доступны все возможности роли «Работник театра».
- Может добавлять новый театр со всей структурой театра. При добавлении структура театра может быть описана с помощью структурированного описания (с помощью JSON или YAML-документов), которое вставляется в многострочное поле ввода.
- Может редактировать описание любого театра.
- Может заводить работников театра.