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

Любая организация нуждается в своевременном доступе к информации. Ценность информации в современном мире очень высока. Роль распорядителей информации в современном мире чаще всего выполняют базы данных. Базы данных обеспечивают надежное хранение информации, в структурированном виде и своевременный доступ к ней. Практически любая современная организация нуждается в базе данных, удовлетворяющей те или иные потребности по хранению, управлению и администрированию данных.

На сегодняшний день на рынке представлено множество технологий доступа к данным и серверов баз данных, каждое, из которых имеет свои отличительные черты. Современные приложения обработки данных ориентированы на работу с большим количеством пользователей, на их удаленность от места расположения основного сервера БД.

Для реализации данной задачи были выбраны среды разработки Access и Delphi7.

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

1. Изучить предметную область.

2. Изучить ее применение в современной жизни.

3. Разработать базу данных и приложение.

4. Проанализировать результаты работы.

1. АНАЛИТИЧЕСКИЙ РАЗДЕЛ

1.1 Анализ предметной области

Спроектирована база данных, предназначенная для работников справочной службы кинотеатров города.

В БД храниться сведения о фильмах: название, режиссер, жанр, год выпуска, возрастные ограничения; кроме того, храниться информация о цене билета. Также можно ввести новый фильм в репертуар или снять с проката старый.

Цена билета определяется сеансом и задается администратором БД.

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

  • репертуар кинотеатра,
  • цена билетов на данный сеанс,

Администратор БД

  • введение нового фильма в репертуар,
  • снятие фильма с проката.

Предусмотрена возможность выдачи справки (в виде отчета) о фильме по времени сеанса, кинотеатра и отчет обо всех фильмах в прокате.

Организационная структура кинотеатра (рис. 1.1).

Рис. 1.1. Организационная структура кинотеатра Схема информационных потоков (рис. 1.2).

Рис. 1.2 Схема информационных потоков Система продажи билетов в кинотеатре работает с базой данных репертуара, базой данных сеансов кинотеатра и базой данных отдела финансов и статистики. Также система продажи билетов в кинотеатре имеет систему защиты и систему обслуживания (рис. 1.3).

15 стр., 7500 слов

Автоматизация работы кинотеатра

... покупке билета администратору нужно знать: дату сеанса; название фильма; начало сеанса. После этого администратор может зафиксировать оплату в базе данных. 1.2 Постановка задачи Поставленная задача курсовой работы: работа кинотеатров. Целью курсовой работы ...

Рис. 1.3 Система кинотеатра Функциональная диаграмма бизнес-процессов.(рис. 1.4).

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

Рис. 1.4 Функциональная диаграмма бизнес-процессов Следующий уровень детализации: количество блоков — 3 (рис. 1.5).

Рис. 1.5. Детализация функциональной диаграммы

1.2 Разработка требований

Основными задачами при разработке базы данных являются:

  • Обеспечение хранения в базе данных всей необходимой информации.
  • Обеспечение возможности получения данных по всем необходимым запросам.
  • Сокращение избыточности и дублирования данных.
  • Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т. д.

Интерфейс базы данных должен быть простым и удобным в использовании.

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

Необходимо разработать базу данных, которая отвечает следующим показателям:

  • полнота;
  • достоверность;
  • актуальность;
  • эффективность;
  • оперативность;
  • удобный интерфейс.

1.3 Выбор технологии реализации процесса

Для создания базы данных я выбрала microsoft Office access — реляционную СУБД корпорации Microsoft и среду визуально программирования Delphi 7.

Microsoft Office Access — простое и доступное средство для создания таких баз данных, которые нужны пользователю. Несмотря на простоту этой СУБД, она позволяет создавать приложения довольно сложной структуры. При желании систему можно развивать и настраивать собственными силами, используя язык программирования Visual Basic.

СУБД Access ориентирована на работу с объектами, к которым относятся таблицы базы данных, запросы, а также объекты приложений для работы с базой данных: формы, отчеты, страницы, макросы и модули.

Множество мастеров Access позволяют автоматизировать процесс создания таблиц базы данных, форм, запросов, отчетов и страниц доступа к данным; анализировать таблицы БД и выполнять многие другие работы. Практически для любых работ имеется мастер (wizard), который поможет их выполнить.

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

Access может использовать данные различных СУБД. Непосредственно могут обрабатываться файлы Paradox, dBase, FoxPro, а также базы данных, поддерживающие стандарт открытого доступа к данным (Open Database Connectivity, ODBC): Oracle, Microsoft SQL Server, DB2, Sybase SQL Server и др.

СУБД Microsoft Access является системой управления реляционной базой данных, включающей все необходимые инструментальные средства для создания локальной базы данных, общей базы данных в локальной сети с файловым сервером или создания приложения пользователя, работающего с базой данных на SQL — сервере.

Диспетчером данных, выполняющим загрузку и сохранение данных в базе данных пользователя и системных базах данных, является ядро базы данных Microsoft Jet. Access 2000 построена на основе усовершенствованной версии ядра базы данных Microsoft Jet 4.0. Эта версия имеет более высокую производительность и улучшенные сетевые характеристики.

3 стр., 1322 слов

Создание базы данных для паспортно-визовой службы

... полученной базе можно хранить данные о клиентах и сотрудниках паспортного стола. Проектирование представлено построением концептуальной модели, разработкой на её основе реляционной модели и реализацией базы в Microsoft Access. В ходе работы были ...

В Access обеспечивается все возможности динамического обмена данными (Dynamic Data Exchange, DDE) с любым приложением Windows, поддерживающим DDE. Access поддерживает также механизм связывания и внедрения объектов (Object Linking and Embedding, OLE), обеспечивающий установление связи с объектами другого приложения или внедрение объекта в базу данных. Активизация внедренного объекта открывает программу, которая его создала, и пользователь может изменить объект. При установлении связи с объектом он по-прежнему сохраняется в файле объекта, а не в базе данных. За счет этого он может обновляться независимо, а в базе данных всегда будет представлена последняя версия объекта.

Еще одним достоинством Access является ее интегрированность с Word, Excel и другими программами пакета Microsoft Office. Данные легко импортируются и экспортируются из одного приложения в другое.

Delphi — среда программирования, в которой используется язык программирования Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

В настоящее время программистам стала доступна очередная версия пакета Delphi — Borland Delphi 7 Studio. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, решение других задач. Отличительной особенностью седьмой версии является поддержка технологии .NET.

база данные касса кинотеатр

2. ПРОЕКТНЫЙ РАЗДЕЛ

2.1 Проектирование базы данных

Первым шагом является нормализация. Нормализация данных — одно из самых важных понятий и концепций реляционной системы. Нормализованная система сводит к минимуму количество избыточных данных, при этом сохраняя их целостность. Нормализованной можно назвать базу данных, в которой все таблицы следуют правилам нормальных форм. Нормальная форма — набор правил, которые показывают, как надо организовать данные, что бы они были нормализованными. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации. Для проектирования базы данных необходимо, чтобы она соответствовала первым трем нормальным формам. Первая нормальная форма (1НФ) требует, чтобы каждое поле таблицы БД: было неделимым; не содержало повторяющихся групп. Вторая нормальная форма (2НФ) требует, соответствия 1НФ и чтобы все поля зависели от первичного ключа, т. е. чтобы первичный ключ однозначно определял запись и не был избыточным. Те поля, которые зависят только от части первичного ключа, должны быть выделены в составе отдельных таблиц. Третья нормальная форма (3НФ) требует, соответствия 2НФ и чтобы в таблице не имелось транзитивных зависимостей между неключевыми полями, то есть, чтобы значение любого поля таблицы, не входящего в первичный ключ, не зависело от значения другого поля, не входящего в первичный ключ.

В ходе нормализации были выделены следующие сущности:

  • Фильмы
  • Тип дня
  • Показ фильмов
  • Жанр
  • Билеты

Для создания базы данных были спроектированы следующие таблицы:

  • Жанр фильма.

Логическая модель базы данных.(рис. 2.1).

Рис. 2.1 Логическая модель

Физическая модель данных зависит от конкретной СУБД, в ней содержится информация обо всех объектах базы данных. Поскольку стандартов на объекты базы данных не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД и ее диалекта SQL.

Основными объектами логической модели данных являются сущности, атрибуты и взаимосвязи. Физическая модель данных, как правило, создается на основе логической, поэтому каждому объекту логической модели соответствует объект физической модели (хотя соответствие может быть неоднозначным).

В физической модели данных сущности логической модели данных соответствует таблица, экземпляру сущности — строка в таблице, а атрибуту — колонка таблицы. Кроме перечисленных выше объектов, физическая модель может содержать объекты, тип которых зависит от СУБД: индексы, представления, последовательности, триггеры, процедуры и т. п. Если в логической модели данных не имеет большого значения, какой конкретно тип данных у атрибута, то в физической важно описать всю информацию о конкретных объектах. Физическая модель базы данных представлена на рисунке 2.2.

Физическая модель.(рис. 2.2).

Рис. 2.2.Физическая модель

Для создания Базы Данных использовались следующие таблицы:

  • Жанр фильма.

Таблица 2.1 Жанр фильма

Наименование поля

Тип

Код_жанра

Идентификационный номер жанра

Счетчик

Жанр фильма

Содержит название жанра

Текстовый

  • Фильмы. Содержит информацию о доступных фильмах в кинотеатре в настоящее время.

Таблица 2.2 Фильмы

Наименование поля

Тип

Код_фильма

Идентификационный номер фильма

Счетчик

Фильм

Название фильма

Текстовый

Режиссер

Генеральный директор картины

Текстовый

Год выпуска

Год выхода фильма

Дата/время

Жанр

Жанр фильма

Текстовый

Дата начало проката

Дата начала проката в кинотеатре

Дата/время

Дата конца

Дата конца проката в кинотеатре

Дата/время

Страна

Страна производитель

Текстовый

Возрастные ограничения

Ограничения на просмотр (если имеются)

Подстановка ограниченных значений

  • Тип дня.

Таблица 2.3 Тип дня

Наименование поля

Тип

Код_типа

Идентификационный номер типа

Счетчик

Тип

Содержит название типа

Текстовый

  • Показ фильмов. Содержит расписание фильмов.

Таблица 2.4 Показ фильмов

Наименование поля

Тип

Код_показа

Идентификационный номер показа

Счетчик

Дата

Дата показа

Дата/время

Фильм

Название фильма

Подстановка

Тип дня

Тип дня показа

Подстановка

Сеансы

Время сеансов

Подстановка ограниченных значений

Цена

Цена билета

Подстановка

  • Проданные билеты. Содержит информацию о проданных билетах.

Таблица 2.3 Проданные билеты

Наименование поля

Тип

Код_билета

Идентификационный номер билета

Счетчик

Ряд

Содержит номер ряда

Подстановка ограниченных значений

Место

Содержит номер места

Числовой

Сеанс

Время сеанса

Фильм

Название фильма

2.2 Разработка интерфейса проектируемого приложения для работы с базой данных

База данных «Касса кинотеатра» создана в среде разработки Microsoft Access 2010. Она содержит 5 таблицы, 4 форм для ввода и просмотра информации, 2 запроса и 2 отчета.

Схема данных (рис. 2.3).

Рис. 2.3 Схема данных

База данных состоит из следующих таблиц:

  • «Жанр фильма». Содержит следующие поля: Код жанра (ключевое);
  • Жанр фильма. (рис. 2.4).

Рис. 2.4. Жанр фильма

«Фильмы». Содержит поля: Код фильма (ключевое);Фильм; Режиссер; Год выпуска; Жанр; Дата начала; Дата окончания; Страна; Возрастые ограничения. (рис. 2.5)

Рис. 2.5.Фильмы

«Показ фильмов». Включает поля: Код показа (ключевое); Дата; Фильм; Сеанс; Тип дня; Цена.(рис. 2.6).

Рис. 2.6. Показ фильмов

«Тип дня». Содержит поля: Код дня (ключевое); Тип дня.(рис2.7).

Рис. 2.7. Тип дня

«Проданные билеты». Содержит поля: Код билета (ключевое); Ряд; Место; Сеанс; Фильм. (рис. 2.8).

Рис. 2.8. Проданные билеты База данных содержит следующие запросы:

  • «Сеансы Запрос» — запрос с параметром по времени сеанса.(рис. 2.9).

Рис. 2.9. Сеансы. Запрос

  • «Фильмы Запрос» — запрос по названию фильма.(рис. 2.10).

Рис. 2.10. Фильмы. Запрос База данных содержит следующие формы:

  • Начальная. Автоматически появляется при запуске.(рис. 2.11).

Рис. 2.11. Стартовая страница базы данных

  • Показ фильмов. (рис. 2.12).

Рис. 2.12.Форма «Показ фильмов»

  • Фильмы. Форма позволяющая добавлять и снимать фильмы с проката.(рис. 2.13).

Рис. 2.13. Форма фильмы

  • Проданные билеты. Форма позволяет регистрировать проданные билеты (рис. 2.14) (https:// , 27).

Рис. 2.14. Форма билеты База данных содержит следующие отчеты:

  • «Показ фильмов «- выводит данные фильме, сеансах;
  • ценах;(рис. 2.15).

Рис. 2.15. Отчет «Показ фильмов»

«Фильм» — выводит все фильмы в прокате, данные о режиссере, жанре и годе выпуска (рис. 2.16).

Рис. 2.16. Отчет «Фильмы»

Приложение Delphi

Главное меню (рис. 2.17) содержит таблицы: Фильмы, Сеансы, Фильтрация. Таблица Фильм заполняется в соответствии с содержанием проката. Окно «Проданные билеты» открывается с помощью кнопки.

Таблица Фильмы (рис. 2.17), содержит теже поля, что и СУБД Access, заполняется пользователем вручную. С помощью кнопок «Удалить», «Добавить», «Отменить» можно проводить различные операции. Слева выплывает окно «Справочники» предназначенное для заполнения таблиц, оно осдержит исключительно идентификационные номера.

Рис. 2.17 Главное окно

Проданные билеты (рис. 2.18).

Фильтруются по ряду, по месту, по фильму, по типу сенанса.

Рис. 2.18. Проданные билеты

Для удаления записи используем кнопку удалить. Потверждаем удаление.(рис. 2.19).

Рис. 2.19. Потверждение удаления записи

Для удаления фильма используется кнопка «Удалить фильм» с потверждением.(рис. 2.20).

Рис. 2.20. Удаление фильма

Удаление записи с индексом.(рис. 2.21).

Например с индексом 3.

Рис. 2.21. Удаление записи с индексом

Фильтрацию можно проводить: По типу сеанса (рис. 2.22); по выражению (рис. 2.23); по дате (рис. 2.24).

Рис. 2.22.Фильтрация по типу сеанса

Рис. 2.23. По выражению в будние дни до 4 сеанса

Рис. 2.24 Фильтрация по дате

2.3 Тестирование и отладка программного продукта

2.3 .1 Типы ошибок

Разработка

  • синтаксические ошибки;
  • ошибки времени выполнения программы (run-time-errors);
  • смысловые (логические) ошибки.

Синтаксические ошибки — это самые простые ошибки, которые легко устраняются уже на этапе компиляции. Причина их одна — неправильная запись служебных слов, операторов и т. п. Если при компиляции в исходном тексте программы обнаруживаются синтаксические ошибки, то их список выводится на панель сообщений в редакторе кода. При этом курсор помещается в то место, где возникла первая ошибка, и эта строка выделяется цветом. Описание каждой ошибки в списке включает полное имя модуля и номер строки, в котором обнаружена ошибка, а также краткое объяснение причины.

Ошибки времени выполнения (run-time-errors) дают о себе знать исключительными ситуациями, которые приостанавливают работу приложения. При стандартной обработке этих исключительных ситуаций выдаётся сообщение, в котором указывается тип ошибки, адрес, по которому она случилась, и другая информация.

Смысловые (логические) ошибки — самые сложные и трудноуловимые. Они проявляются в том, что программа делает не то, что надо, или делает то, что не надо. Последствие логических ошибок могут быть самыми разными: неправильное содержание окна, невыполнение или неверное выполнение команд пользователя, неправильное содержимое выходных файлов, может возникнуть ошибка времени выполнения и многое-многое другое. На борьбу с логическими ошибками уходит почти всё время отладки.

Процесс целенаправленного выявления ошибок иначе называют тестированием. Некоторые ошибки проявляются после первого же запуска приложения и заметны «невооруженным взглядом»; для их обнаружения, не надо прибегать ни к каким специальным средствам. Однако некоторые ошибки проявляются в абсолютно случайные моменты работы приложения. С такими ошибками справиться труднее всего.

Если нельзя зафиксировать условия возникновения ошибки, нельзя понять причину ошибки и устранить её.

2.3 .2 Этапы отладки

Отладка программы является достаточно сложным процессом обнаружения и исправления ошибок, который обычно требует последовательного выполнения четырех этапов:

  • выявление ошибки;
  • локализация ошибки в тексте программы;
  • установление причины ошибки;
  • исправление ошибки.

В конкретных ситуациях перечисленные этапы могут пересекаться, некоторых из них может и не быть, однако в общем случае дело обстоит именно так.

2.3 .3 Тесты на использование

После создания исполняемого файла над готовым приложением был проведен ряд испытаний. Цель их проведения состояла в том, чтобы рассмотреть все возможные варианты работы программы, протестировать ее в нормальных, исключительных и экстремальных условиях, выявить недостатки и устранить их, если таковые имели место. Особое внимание было уделено добавлению и удалению записей из таблиц. Имели место следующие тесты: