Файл: Автоматизация продажи билетов.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 21.05.2023

Просмотров: 525

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Система должна позволять кассиру контролировать бронирование и снятие брони с билетов

Ограничения. Система

Система не должна предоставлять ложные данные ни в отчетах ни в предоставляемой информации о сеансах

4. Спецификация поведения проектируемого ПО

4.1 Распределение требований по субъектам и прецедентам

Перед построением диаграммы прецедентов составим таблицу распределения требований по субъектам и прецедентам:

Распределение требований по субъектам и прецедентам

Субъект

Прецедент

Требование

Клиент

ZapolnenieZakaza

b. Система должна помогать пользователю в выборе требуемой услуги

c. Система должна позволять пользователю составлять заказ на приобретение билета, для последующей обработки этого заказа и получения билета на сеанс.

d. Система должна предоставлять пользователю возможность выбора в заказе на какой сеанс и на которое из свободных мест он может составить заказ.

l. Система должна минимизировать работу кассира, используя шаблоны и помогая Клиентам грамотно составить заказ.

ProdazhaBiletov

h. Система не должна позволять пользователю приобретать билеты на несуществующие сеансы

SeeInformation

a. Система должна позволять клиенту получать доступ к информации о репертуаре театра, эта информация должна быть актуальной и достоверной.

o. Система не должна предоставлять ложные данные ни в отчетах ни в предоставляемой информации о сеансах

VernutBilet

e. Система должна позволять пользователю возвращать билет Кинотеатру с целю возврата денежных средств.

i. Система не должна разрешать пользователю возвращать билет позднее чем за 10 минут до начала сеанса.

BronirovanieBileta

f. Система должна позволять пользователю бронировать билет с целю последующего приобретения билета.

j. Система не должна допускать ситуации, когда забронированные места не выкупаются. Бронирование должно обнуляться за 20 минут до начала сеанса.

SnyatBron

g. Система должна позволять пользователю снимать имеющееся у него бронирование с билета.

Кассир

ProdazhaBiletov

h. Система не должна позволять пользователю приобретать билеты на несуществующие сеансы

k. Система должна помогать кассиру отслеживать доступные для продажи места в зрительном зале.

m. Система должна отправлять отчеты по продажам в финансовый отдел и отдел статистики.

VernutBilet

e. Система должна позволять пользователю возвращать билет Кинотеатру с целю возврата денежных средств.

i. Система не должна разрешать пользователю возвращать билет позднее чем за 10 минут до начала сеанса

m. Система должна отправлять отчеты по продажам в финансовый отдел и отдел статистики.

BronirovanieBileta

f. Система должна позволять пользователю бронировать билет с целю последующего приобретения билета.

j. Система не должна допускать ситуации, когда забронированные места не выкупаются. Бронирование должно обнуляться за 20 минут до начала сеанса.

n. Система должна позволять кассиру контролировать бронирование и снятие брони с билетов

SnyatBron

g. Система должна позволять пользователю снимать имеющееся у него бронирование с билета.

n. Система должна позволять кассиру контролировать бронирование и снятие брони с билетов


4.2 Диаграмма прецедентов системы

Рисунок 7 – Диаграмма прецедентов для системы «Продажа билетов в Кинотеатре»

Опишем каждый из вариантов использования системы отдельно.

Прецедент: ZapolnenieZakaza

ID: 1

Краткое описание:

Клиент указывает в билете необходимую информацию.

Главные актеры:

Клиент.

Второстепенные актеры:

Нет.

Предусловия:

SeeInformation

Основной поток:

1.Прецедент начинается, когда Клиент указал что хочет приобрести билет.

2.Система предоставляет Клиенту форму с полями - выпадающими списками для заполнения.

3.Клиент выбирает Наименование сеанса из тех что предоставляет система, взяв значения из Расписания Сеансов.

4.Клиент выбирает Время начала сеанса из тех что предоставляет система, взяв значения из Расписания Сеансов.

5.Клиент выбирает место класса A, B или C из незанятых в зрительном зале.

6.Клиент соглашается с введенными требованиями

7.Система генерирует Заказ на основании введенных требований и норм принятых в Кинотеатре

8.Система предлагает клиенту отчет по Заказу и предлагает свериться корректны ли данные в отчете и так ли он их указал

9.Клиент подтверждает что данные корректны

10.Система распечатывает (или же отправляет по сети данные) заказ для Клиента

Постусловия:

1.Клиет обладает Заказом.

Альтернативные потоки:

1.InvalidSeansName

2.InvalidSeansTimeBegin

3.InvalidPlace

Альтернативный поток: ZapolnenieZakaza: InvalidSeansName

ID: 1.1

Краткое описание:

Система сообщает Покупателю, что он выбрал недействительное Наименование сеанса.

Главные актеры:

Покупатель

Второстепенные актеры:

Нет.

Предусловия:

1. Покупатель ввел недействительное Наименование сеанса.

Альтернативные потоки:

1. Альтернативный поток начинается после шага 3 основного потока.

2. Система сообщает Покупателю, что он ввел недействительное Наименование сеанса.

3. Система возвращает Клиента к шагу 3 основного потока

Постусловия:

Нет.

Альтернативный поток: ZapolnenieZakaza: InvalidSeansTimeBegin

ID: 1.2

Краткое описание:

Система сообщает Покупателю, что он выбрал недействительное Время начала сеанса.

Главные актеры:

Покупатель

Второстепенные актеры:

Нет.

Предусловия:

1. Покупатель ввел недействительное Время начала сеанса.

Альтернативные потоки:

1. Альтернативный поток начинается после шага 4 основного потока.

2. Система сообщает Покупателю, что он ввел недействительное Время начала сеанса.

3. Система возвращает Клиента к шагу 4 основного потока.

Постусловия:

Нет.


Альтернативный поток: ZapolnenieZakaza: InvalidPlace

ID: 1.3

Краткое описание:

Система сообщает Покупателю, что он выбрал недействительное Желаемое место в зале (не существует или уже куплено).

Главные актеры:

Покупатель

Второстепенные актеры:

Нет.

Предусловия:

1. Покупатель ввел недействительное Желаемое место в зале (не существует или уже куплено).

Альтернативные потоки:

1. Альтернативный поток начинается после шага 5 основного потока.

2. Система сообщает Покупателю, что он ввел недействительное Желаемое место в зале(не существует или уже куплено).

3. Система возвращает Клиента к шагу 5 основного потока

Постусловия:

Нет.

Прецедент: ProdazhaBiletov

ID: 2

Краткое описание:

Клиент совершает операцию купли-продажи с целью получения билета на конкретный сеанс.

Главные актеры:

Клиент.

Второстепенные актеры:

Кассир.

Предусловия:

ZapolnenieZakaza

Основной поток:

1.Прецедент начинается, когда Клиент обращается с заказом к кассиру.

2.Если данные заданы корректно.

2.1 Кассир совершает финансовую операцию.

2.1 Кассир отдает клиенту билет.

Постусловия:

1.Клиет обладает билетом.

2.В финансовый отдел направлена информация о продаже билета

3.В базу данных занесено что проданные Места более недоступны для продажи

Альтернативные потоки:

Cancel

Альтернативный поток: ProdazhaBiletov: Cancel

ID: 2.1

Краткое описание:

Клиент отказывается покупать билет.

Главные актеры:

Клиент

Второстепенные актеры:

Кассир.

Предусловия:

Нет.

Альтернативные потоки:

1. Альтернативный поток начинается в любой момент времени.

2. Клиент отменяет покупку билета.

Постусловия:

Нет.

Прецедент: SeeInformation

ID: 3

Краткое описание:

Клиент смотрит наиболее полную информацию о сеансах, ценах, расписании сеансов чтобы определиться что именно он хочет от Кинотеатра.

Главные актеры:

Клиент

Второстепенные актеры:

Нет.

Предусловия:

Нет.

Основной поток:

1. Прецедент начинается, когда Клиент выбирает опцию «Показать информацию».

2. Система выводит окно навигации в которой Клиент может выбрать либо Расписание сеансов и стоимость билетов, либо Информация о сеансах.

3. Если пользователь выбрал Расписание сеансов и стоимость билетов то

3.1 Система предоставляет окно информации в котором находятся данные о всех сеансах:

- Наименование

- Дата и время начала сеанса

- Длительность

- Стоимость билетов класса A, B, C

- Зрительный зал в котором проводится сеанс

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

4. Если пользователь выбрал Информация о сеансах то

4.1 Система предоставляет окно информации в котором находятся данные о всех сеансах:

- Наименование

- Описание

- Актеров

- Постер (картинка)

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

5. Пока Покупатель просматривает информацию.

3.1. Система отображает рекламную информацию в блоках для рекламы.

Постусловия:

1. Система показала данные о Сеансах.

2. Система показала рекламную информацию.

Альтернативные потоки:

Нет.


Прецедент: VernutBilet

ID: 4

Краткое описание:

Клиент возвращает билет Кассиру с целью возврата денег

Главные актеры:

Клиент.

Второстепенные актеры:

Кассир.

Предусловия:

1.Клиент обладает билетом

2.До начала данного сеанса более 10 минут

Основной поток:

1.Прецедент начинается, когда Клиент сообщает Кассиру что хочет вернуть билет.

2. Кассир проверяет билет

2.1.Если билет действительный

2.1.1.Если до начала сеанса более 10 минут

2.1.1.1.Кассир забирает билет

2.1.1.2.Кассир возвращает деньги за билет Клиенту

2.1.1.3.Кассир отправляет отчет в финансовый отдел

2.1.1.4.Кассир отмечает те места что были в билете как Свободные

Постусловия:

1.Клиет не обладает билетом.

2.В финансовый отдел направлена информация о возврате билета

3.В базу данных занесено что Места снова доступны для продажи

Альтернативные потоки:

Нет.

Прецедент: BronirovanieBileta

ID: 5

Краткое описание:

Клиент закрепляет за собой право покупки конкретного билета

Главные актеры:

Клиент.

Второстепенные актеры:

Кассир.

Предусловия:

ZapolnenieZakaza

Основной поток:

1.Прецедент начинается, когда Клиент указал что хочет Забронировать билет.

2.Если данные заданы корректно.

2.1.Если требуемое место свободно.

2.1.1.Кассир закрепляет билет за Клиентом

2.2.2.Кассир отмечает те места, что были в билете как Забронированные

Постусловия:

1.Клиент обладает Бронью на билет

2.В базу данных занесено, что забронированные Места более недоступны для продажи

Альтернативные потоки:

1.Cancel

Прецедент: SnyatBron

ID: 6

Краткое описание:

Клиент снимает бронь с билета

Главные актеры:

Клиент.

Второстепенные актеры:

Кассир.

Предусловия:

1.Клиент обладает бронью на билет

2.До начала данного сеанса более 20 минут

Основной поток:

1.Прецедент начинается, когда Клиент сообщает Кассиру что хочет снять бронь.

2.Если бронь действительна

2.1.Если до начала сеанса более 20 минут

2.1.1.Кассир снимает бронь

2.1.2.Кассир отмечает те места, что были в билете как Свободные

Постусловия:

Нет.

Альтернативные потоки:

Нет.


4.3 Диаграмма деятельности системы

Рисунок 8 – Диаграмма деятельности «Продажа билетов»

Данная диаграмма описывает поток событий, происходящий в системе при выполнении клиентом запроса на Приобретение билета.

5. Спецификация состояния проектируемого ПО

Проведем выявление классов в нашей системе для этого:

А) Выпишем все существительные:

Кинотеатр

сеанс

кассир

билет

зрительный зал

цена

название сеанса

Время начала

Место

Описание сеанса

Длительность сеанса

А(VIP)

Б(Comfort)

С(Normal)

Бронь

Номер места

Расписание сеансов

Б) Выделим кандидатов в классы:

Расписание сеансов

Зрительный зал

Место

С) Определим атрибуты каждого класса

1)Расписание сеансов

-название сеанса

-время начала

-зрительный зал

-цена А(VIP) Б(Comfort) С(Normal)

-длительность сеанса

-описание сеанса

2)Зрительный зал

- А(VIP)

- Б(Comfort)

- С(Normal)

3)Место

- Номер места

- бронь

Д) В ходе анализа выявлено что Клиент и Кассир не являются членами классов, Класс Зрительный зал необходимо доопределить Названием зала, Класс Место необходимо доопределить добавив параметр куплено и приведя его параметр бронь к тому же виду что и куплено - забронировано.

1)Расписание сеансов

- название сеанса

- время начала

- зрительный зал

- цена А(VIP) Б(Comfort) С(Normal)

- длительность сеанса

- описание сеанса

2)Зрительный зал

- Название зала

- А(VIP)

- Б(Comfort)

- С(Normal)

3)Место

- Номер места

- Куплено

- Забронировано

Для спецификации состояния системы построим диаграмму классов для данной системы.

Рисунок 9 – Диаграмма классов для системы «Продажи билетов в кинотеатре»

Получившиеся классы не относятся к системе продажи билетов, а относятся к внешним базам данных: База данных Репертуара и База данных сеансов. А это означает, что создание собственной базы данных для реализации системы продажи билетов в кинотеатре не требуется.