Смекни!
smekni.com

Автоматизация продажи билетов в кинотеатре (стр. 2 из 4)

ВЫПОЛНИТЬ вывести ФОРМУ клиенту, для ее заполнения

ЕСЛИ В ФОРМЕ заполнены СЕАНС, МЕСТО ТО

ЕСЛИ место свободно ТО

ВЫПОЛНИТЬ сгенерировать ЗАКАЗ

КОНЕЦЕСЛИ

КОНЕЦЕСЛИ

ЕСЛИ подтверждение ЗАКАЗА ТО

ВЫПОЛНИТЬ распечатать ЗАКАЗ

ИНАЧЕ

ВЫПОЛНИТЬ отменить ЗАКАЗ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦИФИКАЦИИ СОЗДАНИЕ ЗАКАЗА

2.4.2 Бронирование билета

@ВХОД = ИНФОРМАЦИЯ О СЕАНСЕ

@ВХОД = ВЫБОР БРОНИРОВАНИЯ

@ВЫХОД = БРОНЬ

@СПЕЦПРОЦ = БРОНИРОВАНИЕ БИЛЕТА

ВЫПОЛНИТЬ вывести ФОРМУ клиенту, для ее заполнения

ЕСЛИ В ФОРМЕ заполнены СЕАНС, МЕСТО ТО

ЕСЛИ место свободно ТО

ВЫПОЛНИТЬ создать БРОНЬ

КОНЕЦЕСЛИ

КОНЕЦЕСЛИ

ИНАЧЕ

ВЫПОЛНИТЬ отменить БРОНИРОВАНИЕ БИЛЕТА

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦИФИКАЦИИ БРОНИРОВАНИЕ БИЛЕТА

2.4.3 Снятие брони

@ВХОД = БРОНЬ

@ВХОД = ВЫБОР СНЯТИЯ БРОНИ

@ВЫХОД = СНЯТИЕ БРОНИ

@СПЕЦПРОЦ = СНЯТИЕ БРОНИ

ВЫПОЛНИТЬ принять БРОНЬ на проверку

ЕСЛИ БРОНЬ действительна ТО

ВЫПОЛНИТЬ СНЯТИЕ БРОНИ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦИФИКАЦИИ СНЯТИЕ БРОНИ

2.4.4 Возврат билета

@ВХОД = БИЛЕТ

@ВХОД = ВЫБОР ВОЗВРАТА БИЛЕТА

@ВЫХОД = ВОЗВРАТ БИЛЕТА

@СПЕЦПРОЦ = ВОЗВРАТ БИЛЕТА

ВЫПОЛНИТЬ принять БИЛЕТ на проверку

ЕСЛИ БИЛЕТ действителен ТО

ВЫПОЛНИТЬ ВОЗВРАТ БИЛЕТА

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦИФИКАЦИИ ВОЗВРАТ БИЛЕТА

2.4.5 Покупка билета

@ВХОД = ЗАКАЗ

@ВХОД = ВЫБОР ПОКУПКИ БИЛЕТА

@ВЫХОД = БИЛЕТ

@СПЕЦПРОЦ = ПОКУПКА БИЛЕТА

ВЫПОЛНИТЬ принять ЗАКАЗ на проверку

ЕСЛИ ЗАКАЗ корректен ТО

ВЫПОЛНИТЬ ОПЛАТА БИЛЕТА

ВЫПОЛНИТЬ создать БИЛЕТ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦИФИКАЦИИ ПОКУПКА БИЛЕТА

2.4.6 Просмотр информации

@ВХОД = ВЫБОР ПРОСМОТРА ИНФОРМАЦИИ

@ВЫХОД = ИНФОРМАЦИЯ О СЕАНСЕ

@СПЕЦПРОЦ = ПРОСМОТР ИНФОРМАЦИИ

ВЫПОЛНИТЬ

ЕСЛИ выбран ПРОСМОТР ИНФОРМАЦИИ О СЕАНСАХ ТО

ВЫПОЛНИТЬ вывести ИНФОРМАЦИЮ О СЕАНСАХ

КОНЕЦЕСЛИ

ЕСЛИ выбран ПРОСМОТР ИНФОРМАЦИИ О РЕПЕРТУАРЕ ТО

ВЫПОЛНИТЬ вывести ИНФОРМАЦИЮ О РЕПЕРТУАРЕ

КОНЕЦЕСЛИ

ВЫПОЛНИТЬ возврат к ВЫБОРУ ОПЕРАЦИЙ

@КОНЕЦ СПЕЦИФИКАЦИИ ПРОСМОТР ИНФОРМАЦИИ


3. Системные (бизнес) требования

Клиент

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

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

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

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

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

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

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

Ограничения. Клиент

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

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

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

Кассир

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

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

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

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

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

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


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.InvalidSeansName2.InvalidSeansTimeBegin3.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 Диаграмма деятельности системы