Для обеспечения безопасной работы с данными в данной системе на уровне СУБД были созданы два пользователя системы:
Клиент (booker), который имеет право бронировать билет в кинотеатр
Администратор (admin), который контролирует данные в базе данных кинотеатра
Каждый из данных пользователей имеет права не на все таблицы базы данных, а только на выполнение определенных действий в конкретных таблицах. Так, пользователь "booker" имеет права на просмотр таблиц "Залы", "Сеансы" и "Фильмы", добавление и модификацию таблицы "Брони".
В данной СУБД пользователем, который имеет права на все
действия во всех таблицах, может создавать и распределять права всем другим
пользователем является пользователь SYSDBA. В зависимости от того, под каким
логином и паролем заходит пользователь в систему, ему предоставляются различные
возможности системы, обеспечивая целостность и безопасность данных системы.
Логика диалога программы с пользователем позволяет показать, каким образом будет осуществляться взаимодействие пользователя с приложением.
Для представления логики диалога с пользователем используется
простая транзитивная сеть, или иначе называемая, сеть состояний и переходов.
Главное предназначение этой диаграммы - описать возможные последовательности
состояний и переходов, которые в совокупности характеризуют поведение модели
системы в течение ее жизненного цикла.
Рисунок 6 - транзитивная сеть логики диалога с пользователем- начальное состояние, форма для входа в систему.- вход в систему под именем client. Доступно бронирование билетов и изменение имеющейся брони.- вход в систему под именем admin.- окно "Бронирование билетов".- окно "Изменение данных об имеющейся брони".- окно с номером брони.- проверка введенных данных о брони для изменения (номер и 4 цифры телефона) на корректность.- переход в состояние S3. Данные не могут быть модифицированы.- данные могут быть модифицированы.- просмотр поля из таблицы "Брони" с возможностью модификации.
- Подсеть добавления в базу новой брони
- Выбор вкладки "Забронировать места"
- Доступны для выбора из баз поля ввода данных о брони
- Нажатие кнопки "Добавить бронь"
- Выдача пользователю номера брони
- Ввод номера брони
- Номер брони имеется в базе и она не снята
- Номер брони не имеется в базе или она снята
- Вывод сообщения "Брони не существует"
- Показать данные из таблицы с возможностью изменения
- Нажатие кнопки "ОК", выполнение запроса на
изменение данных о брони.
Рисунок 7 - транзитивная подсеть добавления в базу новой брони
- Выбор фильма из имеющихся в прокате
- Выбор даты из предложенных
- Выбор времени по дате
- Выбор свободных мест на схеме зала- Показан выпадающий список фильмов, которые есть в прокате- Показан выпадающий список дат, в который идет этот фильм- Показан список времени начала сеансов в выбранный день- Показана схема зала на сеанс в выбранное время- Пользователем выбраны места в зале
Вся работа приложения основана на обмене информации с базой данных, в которой хранится всё необходимое для клиентов. Соответственно, целесообразно уделить особое внимание алгоритмам обработки данных, которые представляют собой различного рода запросы, более подробно описанные ниже.
При выборке общей информации о сеансах в базу данных отправляется запрос типа "Select * from <имя_таблицы>" к соответствующей таблице "Сеансы"
При добавлении новой записи о брони в базу данных отправляется запрос типа "Insert into <имя_таблицы> (список параметров)", на вставку новой строки в соответствующую таблицу, параметры для которого берутся из заполняемых полей соответствующей формы.
Удаление записей в данном приложении не предусмотрено, потому что вся информация должна храниться в архивах, а если пользователь допустил опечатку, то может ее изменить за счет редактирования записи.
При изменении записи в базу данных отправляется запрос типа
"Update <имя_таблицы> set <изменяемые параметры> where
<условие>", где обязательно уточняется номер брони и 4 цифры номера
телефона, а параметры изменяемые добавляются в запрос из полей для ввода данных
или списков, из которых их можно выбрать.
Для реализации автоматизированной системы бронирования билетов в кинотеатр была выбрана среда разработки Delphi7. Приложение написано в соответствии с заданной предметной областью и позволяет быстро и удобно выбрать фильм, дату и время, ряд и место в зале и забронировать их, т.е. эта автоматизированная система позволит повысить эффективность работы и качество обслуживания клиента, сократить временные и материальные затраты.
Приведем краткое описание разработанного приложения.
При запуске приложения осуществляется вход под стандартным
пользователем выбранной СУБД - SYSDBA. Это позволяет производить все требуемые
операции над базой данных. После запуска приложения клиент получает возможность
начать процесс бронирования. Форма для выбора данных приведена на рисунке 9.
Рисунок 9 - форма для выбора данных
После того, как данные выбраны, клиент должен оставить контактные данные для подтверждения его брони в кинотеатре. В случае, если он делает это впервые и его контактных данных в базе нет, они заносятся в базу.
После ввода контактных данных система выдает клиенту
уникальный идентификатор его брони, который он может также назвать при покупке
билетов для подтверждения брони.
В ходе данной курсовой работы были выполнены основные этапы проектирования и реализации автоматизированной информационной системы, на примере программы для бронирования билетов в кинотеатр. В результате было реализовано приложение на Delphi для работы с базой данных, созданной в СУБД ibExpert. Также в ходе подготовки к написанию приложения была разработана и написана база данных, обеспечена целостность и безопасность базы данных, и описан диалог взаимодействия пользователя с приложением.
Были выполнены все заданные этапы проектирования информационной
системы. Значит, поставленная цель курсовой работы достигнута, задачи были
выполнены.
1. Маркин, А.В. Построение запросов и программирование на SQL [Текст]: Учебное пособие / А.В. Маркин - Рязань: РГРТУ, 2008. - 312с. - ISBN 978-5-7722-0285-2.
2. Архангельский, А.Я. Delphi7 [Текст]: Справочное пособие / А.Я. Архангельский - М.: ООО "Бином-Пресс", 2003. - 1024с.: ил. - ISBN 5-9518-0027-7
. Клайв К. SQL [Текст]: Справочник / К. Клайв, Д. Клайв, Б. Хант - М.: "Кудиц-Образ", 2006. - 832с. - ISBN 5-9579-0114-8, ISBN 5-596-00481-8.
. Дейт К., Руководство по реляционной СУБД DB2 [Текст] / Когаловский М.Р. - М.: "Финансы и статистика", 1988 - 320c. - ISBN 5-279-0063-9 (в пер.).
. Селко, Дж. Программирование на SQL для профессионалов [Текст] / Дж. Селко - М.: "Лори", 2004 - 442с. - ISBN 5-85829-219-2.