Автоматизация продажи билетов в кинотеатре
Автоматизация продажи билетов в кинотеатре
3 Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Дальневосточный государственный технический университет (ДВПИ им. В.В. Куйбышева) Кафедра конструирования и производства радиоаппаратуры Пояснительная записка к курсовой работе по дисциплине «Проектирование информационных систем» на тему: Автоматизация продажи билетов в кинотеатре Владивосток 2010 Оглавление Введение 3 1. Задание 4 2. Спецификации процессов 5 2.1 Функциональная модель бизнес-процессов 5 2.2 Внешнее окружение проектируемого ПО 10 2.3 Функциональность проектируемого ПО 11 2.4 Спецификаия процессов 11 2.4.1 Создание заказа 11 2.4.2 Бронирование билета 12 2.4.3 Снятие брони 13 2.4.4 Возврат билета 13 2.4.5 Покупка билета 13 2.4.6 Просмотр информации 14 3. Системные (бизнес) требования 15 Клиент 15 Ограничения. Клиент 15 Кассир 15 Ограничения. Система 16 4. Спецификация поведения проектируемого ПО 17 4.1 Распределение требований по субъектам и прецедентам 17 4.2 Диаграмма прецедентов системы 18 4.3 Диаграмма деятельности системы 25 5. Спецификация состояния проектируемого ПО 27 Приложение А 30 Введение В данной работе необходимо разработать предложения по автоматизации для продажи билетов в кинотеатре. Кинотеатр -- коммерческое предприятие с зрительными залами, оборудованными для показа фильмов. В зале располагается экран и зрительные места. С точки зрения функционирования или структуры кинотеатра, можно сказать, что он располагает зрительными местами с разным уровнем сервиса, комфортности и, соответственно, оплаты. Места могут быть разных типов: -A (VIP) -- самые дорогие места с максимально комфортными для просмотра условиями; -B (Comfort) --место меньшей, чем A, стоимости и комфортности, находящиеся в зоне наилучшего обзора, более удобные и соответственно дорогие чем C; -C (Normal) - наиболее экономные места, без каких-либо выраженных преимуществ. В кинотеатре ведется учет состояния зрительных мест. Все клиенты желающие приобрести билет должны указать на какой сеанс они хотят его приобрести и класс зрительного места, оплатить стоимость билета. Любое место зрительного зала имеет номер, по которому ведется учет занято оно или свободно для продажи. Также кинотеатр предоставляет возможность бронирования билетов. Таким образом, в функционирование кинотеатра входит: Продажа билетов; Контроль наполняемости зала; Предоставление информации о репертуаре кинотеатра; Услуги бронирования билетов и снятия брони; Возврат билетов. 1. Задание Разработать предложения по автоматизации продажи билетов в кинотеатре (сеансы - информация - билеты). Зритель может выбрать: фильм, сеанс и место из числа предлагаемых системой. Система учитывает статус мест (свободно, продано, бронь). Возможность бронирования мест (условия установления/снятия брони). Справочная информация. Рекламная информация. 2. Спецификации процессов 2.1 Функциональная модель бизнес-процессов Построение модели информационной системы начинается с описания функционирования системы в целом в виде контекстной диаграммы. Рисунок 1 - Контекстная диаграмма «Продажа билетов в кинотеатре» Взаимодействие системы с окружающей средой описывается с помощью входов («Обращения клиентов», «Репертуар» и «Расписание сеансов»), выходов («Билет», «Возврат билета», «Бронь» и «Снятие брони»), управления («Лицензия», «Нормы» и «Законы РФ»). Клиенты - люди, создающие спрос на услуги Кинотеатра. Репертуар - Набор фильмов или других товаров демонстрируемых в Кинотеатре. Содержит: - Наименование - Описание - Актеров - Постер (картинка) Расписание сеансов - Список всех проводимых Кинотеатром сеансов Содержит: - Наименование - Дата и время начала сеанса - Длительность - Стоимость билетов класса A, B, C - Зрительный зал в котором проводится сеанс Законы РФ - законы по защите прав потребителя, и всероссийские нормы на осуществление коммерческой деятельности. Билет - право Клиента на посещение конкретного сеанса Возврат билета - случай, когда Клиент вернул билет Кинотеатру и получил затраченные на него денежные средства обратно Бронь - закрепление места в зале за Клиентом. Изъятие места из продажи до срока пока оно не будет выкуплено Клиентом, или пока истечет срок бронирования Снятие брони - освобождение места в зале. Внесение его в продажу. После описания контекстной диаграммы переходим к процессу функциональной декомпозиции, т.е. разбиваем систему на подсистемы до степени, достаточной для понимания роли проектируемого ПО и написания спецификаций процессов. Рисунок 2 - Диаграмма декомпозиции «Продажа билетов в кинотеатре» Как видно из диаграммы, весь процесс функционирования Кинотеатра разбивается на шесть блоков: Выбор операции - ветвление, позволяющее пользователю выбрать интересующую операцию с системой Кинотеатра Предоставление информации - предоставление пользователю всей доступной информации о расписании и сеансах Создание заказа - сведение всех требований Клиента в один заказ Приобретение билета - совершение операции купли-продажи между Клиентом и Кассиром и закрепления за Клиентом билета Идентификация - подтверждение личности Клиента и его права на осуществление постановки или снятия брони. В случае снятия брони еще проверяется наличие брони для текущего Клиента Проверка билета - операция по подтверждению действительности билета, в случае успешной проверки Билет возвращается Кинотеатру и заново запускается в продажу, а Клиент получает затраченные на билет денежные средства обратно Произведем дальнейшее разбиение на подсистемы. Рисунок 3 - Диаграмма декомпозиции «Выбор операции» Опишем процессы, представленные на данной диаграмме декомпозиции. Выбор - акт в котором пользователь выбирает что он хочет. Получение информации - принятие клиентом решения получить информацию Покупка билета - принятие клиентом решения приобрести билет на сеанс Операции с бронью - принятие клиентом решения осуществить операцию с бронью Вернуть билет - принятие клиентом решения вернуть приобретенный ранее билет Рисунок 4 - Диаграмма декомпозиции «Предоставление информации» Опишем процессы, представленные на данной диаграмме. Расписание сеансов и стоимость билетов - Клиент получает информацию о сеансах: - Наименование - Дата и время начала сеанса - Длительность - Стоимость билетов класса A, B, C - Зрительный зал в котором проводится сеанс И решает с каким сеансом он будет выполнять дальнейшие операции. Информация о сеансах - информация которая позволяет Клиенту понять что за Сеансы проводятся в Кинотеатре и помогает выбрать на какой из них пойти Возврат в выбор операций - решение пользователя вернуться к выбору операций Рисунок 5 - Диаграмма декомпозиции «Создание заказа» Опишем процесс создания заказа. Первым этапом для создания заказа клиент должен заполнить форму, в которой должен указать требуемый сеанс из Расписания сеансов и требуемое место в зале. Клиенту к этому моменту уже известна стоимость билета - она входит в Информацию о сеансе. Далее, если клиент согласен с введенной информацией, он должен подтвердить заказ. Система сформирует заказ в виде принятом в нормах кинотеатра. Требования Клиента - набор, заполненных Клиентом данных о сеансе которые однозначно его (сеанс) позиционирует. Генерирование заказа - система формирует Заказ исходя из требований Клиента и Норм предприятия. 2.2 Внешнее окружение проектируемого ПО На схеме показано, что система продажи билетов в кинотеатре работает с базой данных репертуара, базой данных сеансов кинотеатра и базой данных отдела финансов и статистики. Также система продажи билетов в кинотеатре имеет систему защиты и систему обслуживания. Рисунок 6 - Внешнее окружение системы «Продажи билетов в кинотеатре» 2.3 Функциональность проектируемого ПО Данная информационная система будет автоматизировать: Продажа билетов; Контроль наполняемости зала; Предоставление информации о репертуаре кинотеатра; Услуги бронирования билетов и снятия брони; Возврат билетов. 2.4 Спецификация процессов 2.4.1 Создание заказа @ВХОД = ИНФОРМАЦИЯ О СЕАНСЕ @ВХОД = ВЫБОР ПОКУПКИ @ВЫХОД = ЗАКАЗ @СПЕЦПРОЦ = СОЗДАНИЕ ЗАКАЗА ВЫПОЛНИТЬ вывести ФОРМУ клиенту, для ее заполнения ЕСЛИ В ФОРМЕ заполнены СЕАНС, МЕСТО ТО ЕСЛИ место свободно ТО ВЫПОЛНИТЬ сгенерировать ЗАКАЗ КОНЕЦЕСЛИ КОНЕЦЕСЛИ ЕСЛИ подтверждение ЗАКАЗА ТО ВЫПОЛНИТЬ распечатать ЗАКАЗ ИНАЧЕ ВЫПОЛНИТЬ отменить ЗАКАЗ КОНЕЦЕСЛИ @КОНЕЦ СПЕЦИФИКАЦИИ СОЗДАНИЕ ЗАКАЗА 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.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 - Диаграмма классов для системы «Продажи билетов в кинотеатре» Получившиеся классы не относятся к системе продажи билетов, а относятся к внешним базам данных: База данных Репертуара и База данных сеансов. А это означает, что создание собственной базы данных для реализации системы продажи билетов в кинотеатре не требуется. Приложение А Спецификация требований к информационной системе «ПРОДАЖА БИЛЕТОВ В КИНОТЕАТРЕ» 1. Введение 1.1 Цель Цель этого документа - в том, чтобы сформулировать требования к разрабатываемой АИС Продажи билетов в кинотеатре. Данные требования описаны в форме прецедентов, кратких описаний функциональных требований и описаний нефункциональных требований. 1.2 Определения, акронимы и сокращения Основные определения приведены в документе Glossary.doc. 1.3 Ссылки Сопутствующая информация представлена в следующих документах: требованиях совладельцев (Пользовательские требования.doc); глоссарии (Glossary.doc). 2. Обзор системы 2.1 Обзор прецедентов Краткое представление актеров представлено в таблице 1. Табл. 1. Актеры системы |
Актер | Краткое описание | | Кассир | Служащий Кинотеатра осуществляющий денежные операции с Клиентом. Занимается продажей билетов, установкой/снятием брони. Предназначено для обслуживания Клиента и является представителем Кинотеатра для Клиента. Построение ИС подразумевает возможную замену человека-Кассира на Автомат-Кассир. | | Клиент | Лицо являющееся потребителем. В функции Клиента входит все что касается выбора сеанса из доступных предложений. Может покупать, возвращать, бронировать и осуществлять все допустимые операции с билетом при обращении к Кассиру | | |
Список вариантов использования показан в таблице 2. Табл. 2. Реестр вариантов использования. |
Код | Основной автор | Наименование | Формулировка | | 1 | Клиент | ZapolnenieZakaza | Клиент указывает в билете необходимую информацию, для последующего бронирования билета или его заказа | | 2 | Клиент | ProdazhaBiletov | Клиент совершает операцию купли-продажи с целью получения билета на конкретный сеанс | | 3 | Клиент | SeeInformation | Клиент смотрит наиболее полную информацию о сеансах, ценах, расписании сеансов чтобы определиться что именно он хочет от Кинотеатра. | | 4 | Клиент | VernutBilet | Клиент возвращает билет Кассиру с целью возврата денег | | 5 | Клиент | BronirovanieBileta | Клиент закрепляет за собой право покупки конкретного билета | | 6 | Клиент | SnyatBron | Клиент снимает бронь с билета | | |
2.2 Предположения и зависимости Система будет использоваться на территориально сосредоточенном (без внешних филиалов) предприятии. В случае изменений в формах документов АИС должна претерпеть малосущественные изменения (нужно будет модифицировать отчётные формы). В случае приобретения или разработки информационных систем, автоматизирующих смежные участки, будет необходимо разработать соответствующие средства импорта-экспорта информации. 3. Описание требований 3.1 Краткие описания вариантов использования 3.1.1 Заполнение Заказа |
1 | Клиент | ZapolnenieZakaza | Клиент указывает в билете необходимую информацию, для последующего бронирования билета или его заказа | | |
Основное действующее лицо: Клиент. Другие участники прецедента: нет Связи с другими вариантами использования: отсутствуют Краткое описание. Данный вариант использования позволяет Кассиру осуществить генерирование билета или брони, на основе сформулированных предпочтений Клиента для последующей финансовой операции купли-продажи. Основой для генерирования билета и послужит этот набор предпочтений - заказ, который Клиент составляет сам (для примера - выбирает на какой сеанс пойти, какое место в зале приобрести). Для Атомата-Кассира этот Заказ может представлять собой таблицу с полями, которые заполняются Клиентом на основе имеющихся в ИС предложений. 3.1.2 Продажа Билетов |
2 | Клиент | ProdazhaBiletov | Клиент совершает операцию купли-продажи с целью получения билета на конкретный сеанс | | |
Основное действующее лицо: Клиент. Другие участники прецедента: Кассир Связи с другими вариантами использования: отсутствуют Краткое описание. Клиент обращается к Кассиру с сгенерированным заранее Заказом, с целью приобрести билет на сеанс указанный в Заказе. Происходит беглая проверка корректности Заказа. Кассир принимает платеж от Клиента и генерирует Билет. В случае Автомата-Кассира существенных отличий нет. 3.1.3 Просмотр информации |
3 | Клиент | SeeInformation | Клиент смотрит наиболее полную информацию о сеансах, ценах, расписании сеансов чтобы определиться что именно он хочет от Кинотеатра. | | |
Основное действующее лицо: Клиент. Другие участники прецедента: нет. Связи с другими вариантами использования: отсутствуют Краткое описание. Данный прецедент позволяет Клиенту получить необходимую и достаточную информацию о репертуаре театра для составления Заказа. Клиент смотрит информацию о: Наименование Время начала Длительность Информацию о сеансе Зал проведения Цена билета: Класс A Класс B Класс C 3.1.4 Возврат билета |
4 | Клиент | VernutBilet | Клиент возвращает билет Кассиру с целью возврата денег | | |
Основное действующее лицо: Клиент. Другие участники прецедента: Кассир. Связи с другими вариантами использования: отсутствуют Краткое описание. Данный вариант использования позволяет Клиенту сдать имеющийся у него действительный билет Кассиру и получить обратно средства, затраченные на его покупку. Данная операция действительна не позднее 10 минут до начала сеанса - это необходимо чтобы возвращенные билеты могли быть допущены к продаже до того момента как они станут недействительны. 3.1.5 Бронирование билета |
5 | Клиент | BronirovanieBileta | Клиент закрепляет за собой право покупки конкретного билета | | |
Основное действующее лицо: Клиент. Другие участники прецедента: Кассир Связи с другими вариантами использования: отсутствуют Краткое описание. На основе сгенерированного ранее Заказа Клиет может закрепить за собой право на конкретный билет не совершая финансовую операцию с Кассиром. Бронь осуществляется по желанию Клиента. Бронирование действительно до того момента когда до начала сеанса остается более 20 минут. В случае если билет не выкуплен по истечению этого срока бронь автоматически снимается с целью вернуть билет в оборот купли-продажи. Если билет выкупается до этого срока, то Клиент становится обладателем билета, а Кинотеатр получает деньги. 3.1.6 Снятие Брони |
6 | Клиент | SnyatBron | Клиент снимает бронь с билета | | |
Основное действующее лицо: Клиент. Другие участники прецедента: Кассир Связи с другими вариантами использования: отсутствуют Краткое описание. Клиент обращается к Кассиру с целью снятие с Билета брони. Билет возвращается в оборот купли-продажи. Клиент лишается права на этот Билет(Кроме как в случае если Клиент снова обратиться к Касиру с целью Купить/Забронировать Билет). 3.2 Специальные требования 3.2.1 Функциональность 3.2.1.1F1. Авторизация и аутентификация пользователей в системе В АИС должны быть представлены справочник ролей пользователей (Клиент, Кассир) и справочник пользователей. Должна быть возможность регистрации пользователя и назначения пользователю роли. 3.2.1.3F2. Ведение расписания В АИС должны быть представлены средства управления расписание сеансов и информации о сеансах. 3.2.2Применимость 3.2.2.1U1. Удобство использования Интерфейс АРМ «Клиент» и «Кассир» должен быть обладать свойствами удобства и интуитивной ясности и не требовать дополнительной подготовки пользователей. 3.2.2.2U2. Помощь в режиме online Все АРМ должны поддерживать контекстную справку в форме стандартного help операционной системы. 3.2.3Надежность 3.2.3.1R1. Доступность АРМ Клиента, Кассира быть доступны в рабочие дни в рабочее время (как правило, с 8 до 18, если иное не указано распоряжением по предприятию). 3.2.3.2R2. Наработка на отказ Среднее время безотказной работы - 10 рабочих дней. 3.2.3.3R3. Норма дефектов Максимальная норма ошибок или дефектов - 1 ошибка на десять тысяч строк кода. 3.2.4Производительность 3.2.4.1P1. Одновременно работающие пользователи Система должна быть способна поддерживать минимум 100 одновременно работающих пользователей, связанных с общей базой данных. 3.2.4.2P2. Время отклика Время отклика для типичных задач - не более 2 секунд, для сложных задач - не более 5 секунд. 3.2.5Пригодность к эксплуатации 3.2.5.1S1. Масштабируемость Система должна быть способна поддерживать минимум 100 одновременно работающих пользователей, связанных с общей базой данных и иметь возможность увеличить их количество на случай увеличения штата сотрудников предприятия. 3.2.5.2S2. Обновление версий Обновление версий должно осуществляться в автоматизированном режиме на основе системы контроля версий и системы (сервера) обновления версий на рабочих местах пользователей. 3.2.6Ограничения проектирования 3.2.6.1X1. Применяемые стандарты Система должна соответствовать всем стандартам интерфейса пользователя Microsoft® Windows®, Internet Explorer®. 3.2.6.2X2. Требования к среде выполнения Система должна удовлетворять вышеуказанным требованиям на компьютере в следующей минимальной комплектации: *64 Mb памяти *3 Mb свободного дискового пространства *процессор с тактовой частотой 850 MHz *Операционная система Windows ХР и выше. 3.2.6.3X3. Требования к СУБД и доступу к данным. В ядре системы должна быть представлена промышленная СУБД реляционного доступа. Все обращения к информации должны осуществляться через драйвер ODBC. 4.Вспомогательная информация Перечень вспомогательной информации представлен в п. 1.3.
|