Использование ADO-технологии в информационной системе "Гостиница"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Минобрнауки России

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Хакасский государственный университет им. Н.Ф. Катанова»

Институт информационных технологий и инженерного образования

Кафедра программного обеспечения вычислительной техники и автоматизированных систем

230 400. 62 — Информационные системы и технологии

Курсовая работа

Использование ADO-технологии в информационной системе «Гостиница»

Выполнил:

Студент группы 41, Юшин А. С.

Проверил:

Научный руководитель:

доцент каф. ИТиС Санников Е. В.

Дата проверки: 12. 12. 2012

Абакан, 2012

Содержание

  • Введение
  • 1. Теоретическая часть
  • 1.1 Выбор среды разработки
  • 1.2 Выбор СУБД. MS Access
  • 1.3 Технология ADO
  • 1.4 Microsoft Jet 4.0 OLE DB Provider
  • Выводы
  • 2. Практическая часть
  • 2.1 Краткий обзор существующих информационных систем
  • 2.1.1 Система автоматизации гостиниц Hotel-2000
  • 2.1.2 Автоматизированная система управления гостиницей «Русский отель»
  • 2.1.3 Система управления «Fidelio»
  • 2.2 Требования к разрабатываемой информационной системе
  • 2.3 Описание разрабатываемой системы
  • 2.4 Проектирование Б Д «Гостиница» в среде СУБД Access
  • 2.5 Модели разрабатываемой информационной системы
  • 2.6 Проектирование интерфейса
  • 2.7 Реализация программного средства
  • Выводы
  • Заключение
  • Список использованных источников
  • Приложение. Листинг кода программы
  • Введение
  • Актуальность
  • В последнее время использование информационных систем в различных сферах деятельности всё более распространено.
  • В настоящее время все больше используют информационные технологии и в гостиничном бизнесе.
  • Гостиница — имущественный комплекс (дом, здание, часть здания, иные постройки) с меблированными комнатами («номерами») для временного проживания [2].
  • С точки зрения функционирования или структуры гостиницы, можно сказать, что гостиница располагает номерами с разным уровнем сервиса, комфортности и, соответственно, оплаты. Номера могут быть разных типов: люкс -- многокомнатный номер с высоким уровнем сервиса, комфортности и обслуживания; полулюкс -- номер меньшей, чем люкс, площади, но с достаточным уровнем сервиса и комфортности; обычный номер — с минимальным уровнем сервиса. В гостинице ведется учет состояния номеров.
  • Все прибывающие и размещаемые в гостинице клиенты при вселении должны заполнить карточку регистрации, в которой необходимо указать фамилию, имя, отчество, дату рождения, адрес места жительства, паспортные данные, время заселения, время отъезда.
  • Любой номер гостиницы имеет номер, по которому ведется учет клиентов, проживающих в гостинице. Именно этому и посвящена данная курсовая работа.

Целью курсовой работы является создание информационной системы «Гостиница» с использованием технологии ADO. NET.

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

1. Изучение специальной литературы;

2. Выбор СУБД для создания базы данных;

3. Описание информационной технологии ADO. NET;

4. Выполнить программную реализацию в среде объектно-ориентированного программирования Delphi 7.

1. Теоретическая часть

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

На данном этапе рассмотрены четыре средства для разработки программного продукта.

Delphi -- императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7. 0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями развития языков программирования: появились class helpers, перегрузки операторов и другое [5].

Object Pascal -- результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5. 5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal -- динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией -- данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу -- там и буду лежать». Соответственно организуется и «многокучность» [3].

Java -- объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем, приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры. Достоинство подобного способа выполнения программ -- в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание. Идеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры CLI, заложенной в основу платформы. NET компанией Microsoft. Дата официального выпуска -- 23 мая 1995 года [4].

Microsoft Visual Basic -- средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка -- языка Бейсик, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

Visual Basic считается хорошим средством быстрой разработки прототипов программы, для разработки приложений баз данных и вообще для компонентного способа создания программ, работающих под управлением операционных систем семейства Microsoft Windows [6].

1.2 Выбор СУБД. MS Access

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

Все данные в базах находятся в таблицах и разделены по смысловой нагрузке. Каждая таблица для описания содержимого атрибутов использует типы данных (домены), домены Access подходят для описания данных любой предметной области. Недостаток в том, что в Access нельзя создавать собственные домены необходимые для описания нестандартных данных, таких как возраст работоспособного сотрудника, его можно было описать доменом (все данные принадлежат к целым числам в интервале от 18 до 60).

MS Access это входящая в стандартный набор Microsoft Office настольная, реляционная система управления базами данных. Благадаря тому, что она входит в состав Microsoft Office она может легко создавать связь с другими приложениями Microsoft Office. Ее средствами можно создавать различные запросы, отчеты и формы для заполнения. Благодаря технологии ADO MS Access легко подключается к Delphi. Объект ADO Connection подключается к базе данных созданной в Access, в ADO Table выбирается конкретная таблица, с которой будет взаимодействовать, ADO Query позволяет создавать SQL запросы средствами Delphi. Технология ADO хорошо подходит под Access.

Но Access обладает недостатками: Это не сетевая база данных, поэтому продукты, созданные с использованием Access, не могут быть использованы при сетевой работе. В режиме конструктора создания таблиц не возможно задать два ключевых поля, или задать двум различным атрибутам тип данных счетчик. В связи с этим могут возникнуть сложности при экспорте и импорте данных из программ визуализации баз данных и других систем управления базами данных[2].

1.3 Технология ADO

Технология ADO завоевала популярность у разработчиков, благодаря универсальности -- базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO и затем переносить программу на любой компьютер, где имеется требуемая база данных и, конечно, установленная ADO [11].

В Палитре компонентов Delphi есть страница ADO, содержащая набор компонентов, позволяющих создавать полноценные приложения БД, обращающиеся к данным через ADO.

Технология Microsoft ActiveX Data Objects обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.

Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов. Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.

OLE DB представляет собой набор специализированных объектов СОМ, инкапсулирующих стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.

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

В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который «умеет» представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов [5].

Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO. При этом существенно расширяется само понятие данных -- ведь можно разработать набор объектов и интерфейсов и для нетрадиционных табличных данных.

Например, это могут быть графические данные геоинформационных систем, древовидные структуры из системных реестров, данные CASE-инструментов и т. д.

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек [11].

1.4 Microsoft Jet 4.0 OLE DB Provider

Microsoft Jet -- это ядро базы данных, которое обеспечивает возможность доступа к данным из любого приложения, поддерживающего OLE Automation, в частности VBA и Excel, независимо от интерфейса конкретной системы управления базами данных[2]. Ядро Jet хранит свою информацию по умолчанию в файлах с базами данных, имеющих расширение mdb. Такие файлы содержат таблицы, модули, формы, отчеты, запросы и индексы. Конечно, формат mdb -- это не единственный формат баз данных, с которыми работает Microsoft Jet. Он поддерживает форматы баз данных, созданных с помощью Microsoft Access, dBASE и т. д[2].

По умолчанию Microsoft Jet является ядром базы данных, который используется в Microsoft Access. Для повышения производительности и стабильности нужно использовать формат базы данных Microsoft Jet 4.0 при использовании клиента Microsoft Jet 4.0. Аналогично при использовании клиента Microsoft Jet 3.5 следует использовать формат базы данных Microsoft Jet 3.0. В таблице 1.1 перечислены доступные в настоящее время форматы Jet, а также трансляторы dll, используемые в определенных версиях Access и форматах Jet.

Таблица 1.1. Форматы Jet и используемые трансляторы.

Версия Access

Формат Jet

Используемый транслятор dll

Access 2. 0

Jet 2. 0

Msrd2x40. dll

Access 95

Jet 3. 0

Msrd3x40. dll

Access 97

Jet 3. 0

Msrd3x40. dll

Access 2000

Jet 4. 0

Нет

Access 2002

Jet 4. 0

Нет

Access 2003

Jet 4. 0

Нет

В таблице 1.2 перечислены наиболее часто используемые клиентами ядра базы данных Microsoft Jet, соответствующие версии ядер баз данных Jet и рекомендуемые форматы баз данных Jet:

Таблица 1.2. Форматы Jet и используемые трансляторы.

Клиентское приложение

Используемый движок баз данных Jet

Рекомендуемый формат баз данных Jet

Access 2. 0

Jet 2. 0

Jet 2. 0

Access 95

Jet 3. 0

Jet 3. 0

Access 97

Jet 3. 5

Jet 3. 0

Access 2000

Jet 4. 0

Jet 4. 0

Access 2002

Jet 4. 0

Jet 4. 0

Office Access 2003

Jet 4. 0

Jet 4. 0

DAO 3. 0

Jet 3. 0

Jet 3. 0

DAO 3. 5

Jet 3. 5

Jet 3. 0

DA0 3. 6

Jet 4. 0

Jet 4. 0

Microsoft. JET. OLEDB.3. 51

Jet 3. 5

Jet 3. 0

Microsoft. Jet. OLEDB.4. 0`

Jet 4. 0

Jet 4. 0

Access ODBC Driver

Jet 4. 0

Jet 4. 0

Ранние версии обновлений для Jet Database Engine включали в себя программу сжатия баз данных Jet (JetComp).

Начиная с версии 5 (SP5), эту программу перестали включать во все версии пакетов обновлений для Jet 4.0.

Примечание: драйвер Microsoft Access ODBC, который входит в состав MDAC 2.0 или более ранней версии, использует Microsoft Jet 3.5. Драйвер Microsoft Access ODBC, который входит в состав MDAC 2.1 и компонентов MDAC версии 2. 5, использует Microsoft Jet 4.0. MDAC 2.6 и более поздних версий включает драйвер Microsoft Access ODBC.

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

Это обусловлено тем, что старые ядра Jet не удается прочитать или не удается записать к новому формату файла базы данных Jet.

Таким образом необходимо использовать старый формат и использования библиотек трансляторов DLL [3].

Выводы

В качестве СУБД был выбран Microsoft Access, потому что базу данных, созданную в этой СУБД, можно будет легко привязать к приложению, созданном в среде разработки Delphi Borland 7 с помощью технологии ADO. NET.

2. Практическая часть

2.1 Краткий обзор существующих информационных систем

Для того чтобы представить структуру будущей информационной системы, можно обратиться к другим, уже существующим информационным системам.

2.1.1 Система автоматизации гостиниц Hotel-2000

Система автоматизации гостиниц Hotel-2000 была создана в 1996 -- 1997 гг. компанией «Интур-Софт» при участии Правительства Москвы в рамках Программы развития гостинично-турист-ского комплекса столицы, прошла испытания и принята в эксплуатацию Межведомственной комиссией, образованной в соответствии с распоряжением ГАО «Москва». Система предназначена для гостиниц с любым числом номеров. Система имеет модульную структуру и состоит из подсистем автоматизации гостиничных функций (Hotel-2000) и автоматизации ресторанов и баров (Restaurant-2000).

Система Hotel-2000 предусматривает выполнение следующих функций:

· управление номерным фондом, оптимизацию загрузки гостиницы и своевременное предоставление актуальной информации о состоянии номеров;

· управление работой горничных и контроль за своевременной уборкой номеров;

· индивидуальное и групповое бронирование в реальном режиме времени с проверкой наличия свободных номеров и возможностью оптимизации загрузки гостиницы;

· бронирование блоков номеров с гарантированной и негарантированной формами оплаты;

· просмотр и изменение информации о бронировании и моментальное восстановление отмененных броней и незаездов;

· автоматизацию процедур регистрации и оформления индивидуальных гостей и групп как по предварительной брони, так и без нее с моментальным поиском необходимого для гостя номера;

· выписку счетов с автоматическим начислением стоимости проживания и оказанных дополнительных услуг;

· получение в любой момент по требованию клиента всей необходимой информации о проживании с выдачей промежуточных счетов;

· ведение архива гостей;

· быстрое и простое ежесуточное закрытие дня, позволяющее осуществить все начисления за прошедшие сутки и проверить работу кассиров без остановки работы гостиницы;

· управление ценовой политикой гостиницы с учетом сезонных колебаний, условий взаимоотношений с партнерами и т. д. ;

· управление финансами гостиницы;

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

Система Hotel-2000 позволяет получить более 100 различных статистических и финансовых отчетов и проанализировать информацию о гостинице. Обеспечивает учет кассовых операций с применением зарегистрированных учетно-кассовых машин. [1]

2.1.2 Автоматизированная система управления гостиницей «Русский отель»

Фирма «Сервис плюс» совместно с фирмой «Ист Консепт» разработала программно-аппаратный комплекс «Русский отель» для полной автоматизации деятельности гостиниц и ресторанов. Система охватывает все аспекты деятельности гостиницы и ресторана.

Полный учет выручки производится с использованием компьютерных контрольно-кассовых машин. В системе предусмотрено ведение полного бухгалтерского учета.

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

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

Набор модулей, покрывающих все функциональные потребности конкретного рабочего места, оформлен в виде автоматизированного рабочего места (АРМ). Система имеет ряд преимуществ: мобильна в использовании аппаратных средств, проста в эксплуатации и легко наращивается за счет введения новых рабочих мест. В системе предусмотрена возможность защиты данных от несанкционированного внесистемного доступа. Внутри системы защита доступа к данным обеспечивается уникальной идентификацией пользователя кодом и паролем.

Система состоит из следующих функциональных компонентов.

· Подсистема «Управление». Подсистема предназначена для автоматизации деятельности руководителя гостиницы и обеспечивает: обработку деловой документации; контроль исполнения; проверку состояния гостиничного хозяйства и состояния работ по подразделениям; сервис.

· Подсистема «Коммерческий отдел». Подсистема предназначена для автоматизации деятельности подразделения гостиницы по обслуживанию гостей и обеспечивает: ведение договоров с корпоративными клиентами; планирование приема и обслуживания гостей; сбор отчетной информации по коммерческой деятельности; сбор справочной информации по состоянию безналичных расчетов с партнерами.

· Подсистема «Портье». Подсистема предназначена для автоматизации основной производственной деятельности гостиницы и обеспечивает: резервирование и бронирование номеров; регистрацию, оформление и размещение гостей; прием и оформление платежей; учет и оперативный контроль загрузки гостиницы.

· Подсистема «Этажная служба». Подсистема предназначена для автоматизации деятельности этажной службы гостиницы и решает следующие задачи: учет номерного фонда; выдача различной справочной информации о состоянии номерного фонда гостиницы; отслеживание должников за предоставленные услуги; управление работой горничных; ведение графика ремонтов номерного фонда.

· Подсистема «Диспетчер». Подсистема предназначена для автоматизации деятельности диспетчерской службы и обеспечивает обработку заявок на проведение текущих ремонтных работ в гостинице; ведение графика плановых ремонтов номерного фонда.

· Подсистема «Ресторан». Подсистема предназначена для автоматизации деятельности подразделений общественного питания и решает следующие задачи: ведение рецептур и технологических справочников; формирование меню; калькуляция блюд и меню; мониторинг наличия продуктов на складе и производстве; расчет затраченных продуктов; оформление движения продуктов на производстве и требований на заказ продуктов на склад; оформление документов реализации изделий; оформление списания продуктов по итогам реализации изделий и с производства; формирование различных отчетов и справок; ведение программы питания гостей и управление загрузкой залов.

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

· Подсистема «Бухгалтерский учет». Подсистема предназначена для автоматизации бухгалтерского учета производственной и хозяйственной деятельности гостиницы.

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

· Подсистема «Кадры». Подсистема предназначена для автоматизации деятельности кадровой службы гостиницы.

· Подсистема «Оперативный учет доходов». Подсистема обеспечивает формирование отчетных документов по видам производственной деятельности предприятия за различные интервалы времени. Виды, формы и составляющие отчетных документов определяются и настраиваются в зависимости от потребностей предприятия.

· Расчеты с клиентами. Все расчеты с гостями за предоставленные услуги производятся на автоматизированных рабочих местах, оснащенных контрольно-кассовыми машинами (ККМ) моделей IPC POSIIS-СП или IPC GRS-38 001-СП, которые включены в государственный реестр. Они разрешены к использованию в отелях и ресторанах и могут быть приняты к использованию не только за стойкой портье и залах ресторана, но также в барах, буфетах, на этажах, т. е. везде, где осуществляется прием платежей за наличный расчет или кредитными картами. Использование единой системы расчетов открывает широкие возможности для введения внутренней гостиничной кредитной карты.

· Взаимосвязь с внешними электронными системами. При наличии в гостинице собственной АТС, имеющей порт для выдачи информации о прошедших телефонных переговорах, возможна стыковка системы управления с телефонной станцией с целью ускорения получения данных о зарегистрированных телефонных переговорах. Система осуществляет их тарификацию и формирование счетов за переговоры для расчетов с клиентами [2].

2.1.3 Система управления «Fidelio»

Система Fidelio является составной частью глобальных компьютерных систем бронирования Amadeus, Sabre, Galileo, Worldspan. Все гостиницы, представленные в Fidelio, автоматически загружаются в эти глобальные компьютерные системы бронирования.

К основным функциям системы Fidelio FO относятся: бронирование и заселение гостей; начисления за проживание и другие услуги, оказываемые гостиницей; аккумулирование информации о неоплаченных счетах клиентов, поступающих из различных точек продаж; выставление промежуточных и окончательных счетов для расчетов с клиентами; учет информации о безналичных расчетах; получение финансовых и статистических отчетов; ведение информации о клиентах и клиентских счетах: ведение истории по клиентам; бронирование; заселение; ведение счетов; выписка; безналичные расчеты с клиентами.

Карточка гостя содержит информацию о клиенте: фамилия, имя, язык, код VIP, адрес, страна проживания, телефон, факс, дата рождения, предпочитаемый гостиничный номер, сроки проживания (измеряются ночами), число человек, проживающих в номере, тип и категория комнаты, ценовой код, тип бронирования (гарантированное или негарантированное).

Система Fidelio FO состоит из следующих основных модулей:

· Модуль бронирования: завести бронь для клиента; завести групповую бронь; отменить бронь; корректировать бронь; перенести бронь в список ожидающих; назначить конкретные номера по ранее сделанному бронированию; распечатать подтверждения бронирования; принять депозит для бронирования.

· Модуль портье. Он предназначен для поселения клиентов гостиницы, имеющих бронь: поиск брони; назначение номеров и заселение; изменение брони; отмена бронирования; печать подтверждений; подселение; прием сообщений для прибывающих или прибывших гостей; прием депозита для бронирования; перемещение брони в список ожидания; заведение служебных счетов гостиницы.

· Модуль кассира: выполнять текущую работу со счетами клиентов; выставлять промежуточные счета; переселять клиента в другой номер; осуществлять выписку; осуществлять ведение главной кассы; осуществлять операции обменного пункта; осуществлять прием депозита для бронирования; печатать отчеты для кассиров; исправлять бронь клиента; производить прием оплат; перенести начисления с одного счета на другой; делить и объединять начисления; выполнять ручные начисления на счета клиентов.

· Бухгалтерский модуль: производить некоторые манипуляции с начисленными суммами (переносить начисления с одного счета на другой, вводить оплату по каждой позиции, отслеживать историю по клиентам, печатать отчеты и письма клиентам).

Система Fidelio FO предоставляет возможность составлять различного рода отчеты и прогнозы, которые необходимы для дальнейшего планирования деятельности гостиницы: ежедневный отчет об активности, отчет об изменении спроса, девятидневный прогноз, ежемесячный отчет. Автоматизация ресторанного и складского учета в гостинице. Для автоматизации ресторанного и складского учета в гостинице используются системы Fidelio F&B и Micros, которые могут взаимодействовать между собой. [2]

2.2 Требования к разрабатываемой информационной системе

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

Также должны присутствовать следующие функции, выполняемые данной системой:

· Добавление записей в базу данных

· Редактирование базы данных

· Чтение записей в базе данных

· Поиск клиента по ФИО

Требования к защите информации от несанкционированного доступа выглядят таким образом:

· Без пароля

· Ограниченный доступ для сотрудников (запрет возможности редактирования самого приложения)

2.3 Описание разрабатываемой системы

Информационная система предназначена для получения информации о посетителях, запись и редактирование информации о посетителях, получение информации об имеющихся свободных номеров в гостинице. Доступ к информации разрешен лишь сотрудникам данной гостиницы.

2.4 Проектирование Б Д «Гостиница» в среде СУБД Access

Теперь, непосредственно после описания предметной области, нужно переходить к проектированию программного продукта.

2.5 Модели разрабатываемой информационной системы

Наиболее удобным языком моделирования бизнес-процессов является IDEF0. В IDEF0 система представляется как совокупность взаимодействующих работ или функций. Такая чисто функциональная ориентация является принципиальной, функции системы анализируются независимо от объектов, которыми они оперируют. Это позволяет более четко смоделировать логику и взаимодействие процессов организации.

Диаграммы потоков данных (Data flow diagram, DFD) используются для описания документооборота и обработки информации. Подобно IDEF0, DFD представляет моделируемую систему как сеть связанных между собой работ. Их можно использовать как дополнение к модели IDEF0 для более наглядного отображения текущих операций документооборота в корпоративных системах обработки информации. Главная цель DFD — показать, как каждая работа преобразует свои входные данные в выходные, а также выявить отношения между этими работами.

Любая DFD-диаграмма может содержать работы, внешние сущности, стрелки (потоки данных) и хранилища данных[9].

Этап анализа и моделирования требований начинается с метода анализа оптимальной организации работ — стандарт IDEF0. Контекстная диаграмма IDEF0 представлена на рисунке 2.1, а DFD диаграмма на рисунке 2.2.

Рисунок 2.1 — Контекстная диаграмма IDEF0 процесса деятельности гостиницы

На рисунке 2.2 представлена диаграмма первого уровня декомпозиции процесса деятельности организации (IDEF0). Она используется для детализации бизнес-процессов деятельности гостиницы.

Рисунок 2.2 — Диаграмма первого уровня декомпозиции процесса деятельности гостиницы (DFD)

2.6 Проектирование интерфейса

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

· База данных (см. Таблица 2. 1);

· Блок просмотра и редактирования (см. Таблица 2. 2).

Таблица 2.1. Спецификация функционального блока «База данных»

Атрибут

Значения

Назначение

Упорядоченное хранение данных

Описание

Возможность отображения и редактирования данных с СУБД

Внешнее отображение

Таблицы с данными

Входные/выходные данные

Данные клиентов

Входные/выходные сигналы управления

Команды редактирования

Таблица 2.2. Спецификация функционального блока «Блок просмотра и редактирования»

Атрибут

Значения

Назначение

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

Описание

Возможность отображения и редактирования базы данных без СУБД

Внешнее отображение

Совокупность форм на каждую из таблиц

Входные/выходные данные

Данные клиентов

База данных

База данных гостиницы

Входные/выходные сигналы управления

Команды редактирования

База данных должна быть приведена к третьей нормальной форме. Логическая модель базы данных отображена на диаграмме ErWin на рисунке 2.3.

Рисунок 2.3. Логическая модель базы данных

Структура интерфейса представлена на рисунке 2.4. То есть, в данной информационной системе главное меню связано с каждой формой, соответствующей каждой таблице из созданной базы данных.

Рисунок 2.4. Схема требований, предъявляемых к базе данных

2.7 Реализация программного средства

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

Для начала необходимо создать саму базу данных в Database Desktop, состоящую из 4 таблиц. Для каждой из таблиц указаны атрибуты. Физическая структура таблиц присутствует в таблицах 3. 1−3.4.

Таблица 3.1. Регистрационная карта

Имя поля

Тип данных

Id_Kienty

Счетчик

ФИО Клиента

Текстовый

Дата заселения

Дата/Время

Номер комнаты

Числовой

Таблица 3.2. Клиенты

Имя поля

Тип данных

ФИО Клиента

Текстовый

Статус

Текстовый

Пол

Текстовый

Национальность

Текстовый

Количество человек

Цифровой

Цель приезда

Текстовый

Таблица 3.3. Номера комнат

Имя поля

Тип данных

Номер комнаты

Текстовый

Класс комнаты

Текстовый

Стоимость проживания в сутки

Денежный

Количество комнат

Числовой

Таблица 3.4. Дата прибытия

Имя поля

Тип данных

Дата заселения

Дата/Время

ФИО Клиента

Текстовый

База данных готова, после этого приступили к основному этапу курсовой работы — реализации приложения для взаимодействия с созданной базой данных.

Для начала создано четыре формы. На первой форме изображено главное меню и таблица «Регистрационная карта», представленные на рисунке 3. 1, в котором располагается меню для открытия других форм.

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

procedure TForm1. ButtonNClick (Sender: TObject);

begin

formN. show; //форма которую надо открыть

formN. hide; //форма которую надо закрыть

end;

Общий код для процедуры возврата на главную форму:

procedure TFormN. ButtonNClick (Sender: TObject);

begin

form1. show; // Главная форма

formN. hide; //форма которую надо закрыть

end;

Рисунок 2.5. Главная форма

Для портативности программы база данных перенесена в папку с проектом. На главной форме загружен компонент ADOConnection, в котором установлена связь с созданной базой данных. Так как системой будут пользоваться только сотрудники гостиницы, защиту от пароля можно убрать. Для этого нужно включить опцию «Пустой пароль» и в свойстве LoginPrompt компонента ADOConnection прописать параметр False, чтобы не открывалось окно для ввода логина и пароля. Настройки доступа к базе данных показано на рисунке 2.6.

Рисунок 2.6. Настройки доступа к базе данных

На остальных формах добавлены следующие компоненты, охарактеризованные в таблице 3. 5:

информационный гостиничный база delphi

Таблица 3.5. Свойства компонентов

Компонент

Свойство

Значение

Table1

DataBaseName

Alias курсовой работы

TableName

`Имя таблицы, соответствующее форме'

Active

True

DataSource1

DataSet

Table1

DBGrid1

DataSource

DataSource1

DBNavigator1

DataSource

DataSource1

Примеры интерфейсов форм представлены на рисунках 2. 7−2. 8

Рисунок 2.7. Форма «Клиенты»

Рисунок 2.8. Форма «Номера комнат»

Основные требования к интерфейсу программного продукта выполнены. Каждая форма теперь отображает соответствующую таблицу из базы данных, и появилась возможность добавления и редактирования записей. Но, помимо этого, полезно добавить в информационную систему какие-нибудь дополнительные функции для еще упрощенного пользования базой данных. Среди таких функций были выбраны фильтрация и сортировка.

Код сортировки по ФИО сотрудника, дате заселения и номеру комнат:

procedure TForm1. Button1Click (Sender: TObject);

begin

case RadioGroup1. ItemIndex of

0: ADOTable1. IndexFieldNames := 'ФИО_Клиента';

1: ADOTable1. IndexFieldNames := 'Дата_заселения';

2: ADOTable1. IndexFieldNames := 'Номер_комнаты';

end;

end;

Код отмены применения сортировки:

procedure TForm1. Button2Click (Sender: TObject);

begin

RadioGroup1. ItemIndex:=-1;

ADOTable1. IndexFieldNames := 'ID_Klienty';

end;

Результаты работы сортировок приведены на рисунках 2. 9−2. 12.

Рисунок .2.9 Форма перед сортировкой

Рисунок 2. 10 Форма после применения сортировки по ФИО клиента

Рисунок 2. 11 Форма после применения сортировки по дате заселения

Рисунок 2. 12 Форма после применения сортировки по номеру комнат

Код фильтрации:

procedure TForm2. Button1Click (Sender: TObject);

begin

ADOTable1. Filtered:=true;

case RadioGroup1. ItemIndex of

0: ADOTable1. Filter := 'ФИО_клиента='+#39+edit1. Text+#39;

1: ADOTable1. Filter := 'Статус='+#39+edit1. Text+#39;

2: ADOTable1. Filter := 'Национальность='+#39+edit1. Text+#39;

3: ADOTable1. Filter := 'Пол='+#39+edit1. Text+#39;

4: ADOTable1. Filter := 'Цель приезда='+#39+edit1. Text+#39;

end;

end;

Пример работы поиска приведен на рисунках 2. 13 и 2. 14.

Рисунок 2. 13 Форма перед применением фильтрации

Рисунок 2. 14 Форма после применения фильтрации

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

Для удобства работы с базой данных лучше добавить компонент Memo1, в котором описана структура базы данных (таблицы и поля).

Также на форму были добавлены следующие компоненты: ADOQuery1, DataSourse1, Memo2, Button1. В компоненте Memo2 будет вводиться SQL запрос, а Button1 будет применять этот запрос.

Таблица 2. 10. Свойства компонентов на форме SQL запросов

Компонент

Свойство

Значение

ADOQuery1

Connection

Form1. ADOConnection1

DBGrid1

DataSource

DataSource1

DBNavigator1

DataSource

DataSource1

DataSource1

DataSet

ADOQuery1

Код процедуры для кнопки Button1 приведен ниже:

procedure TForm5. Button1Click (Sender: TObject);

begin

ADOQuery1. Close;

ADOQuery1. SQL. Text:=Memo2. Text;

ADOQuery1. Open;

end;

Примеры интерфейсов формы до и после применения SQL запросов представлены на рисунках 2. 15−2. 17.

Рисунок 2. 15 Форма до применения SQL запроса

Рисунок 2. 16 Форма после применения первого SQL запроса

Рисунок 2. 17 Форма после применения второго SQL запроса

Выводы

Информационная система была создана. Система была создана с использованием технологии ADO, в системе были применены SQL-запросы. В дальнейшем может возникнуть необходимость модернизации и улучшения информационной системы. Это можно осуществить путем введения в систему новых функций, добавление новых таблиц, улучшения системы защиты.

Заключение

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

Курсовая работа показала, что проектирование имеет целью обеспечить эффективное функционирование АИС и взаимодействие со специалистами, использующими в сфере деятельности конкретного экономического объекта ЭВМ и развитие средства коммуникации для выполнения своих профессиональных задач и принятия управленческих решений. Именно качественное проектирование обеспечивает создание такой системы, которая способна функционировать при постоянном совершенствовании ее технических, программных, информационных составляющих, то есть её технологической основы, и расширять спектр реализуемых управленческих функций и объектов взаимодействия. Внедрение АИС на предприятии существенно облегчает работу с документами, что дает возможность быстро и оперативно решать многие вопросы. Успешная эксплуатация разработанной и внедренной системы дает заметный экономический эффект, за счет снижения затрат, освобождения рабочего времени специалистов, повышения качества и надежности учета, облегчения оформления сопровождающей документации и отчетности.

Список использованных источников

1. Автоматизированные системы управления в гостинице // Информационные системы в гостиницах. URL:

http: //student. zoomru. ru/informat/avtomatizirovannye-sistemy-upravleniya-v-gostinice/19 502. 154 718. s3. html (17. 06. 2012)

2. Работа с внешними базами данных // Информационный портал. URL: http: //its. luguniv. edu. ua/~Donchenko/inform_teor/VBA/Chapter%2015/1. htm (20. 11. 12)

3. Сохранение базы данных Jet 4.0 в работоспособном состоянии // Поддержка Microsoft. URL: http: //support. microsoft. com/kb/303 528/ru (25. 11. 12)

4. Морозов М. А., Морозова Н. С. Информационные технологии в социально-культурном сервисе и туризме. М.: «Академия», 2009. — 240 с. (17. 06. 2012) 1. Общие сведения о Microsoft Access // Таурион. URL: http: //www. taurion. ru/access/½ (08. 11. 12)

5. Основы ADO // Иллюстрированный самоучитель по Delphi 7 для профессионалов. URL: http: //www. realcoding. net/teach/Delphi7_prof/Glava19/ Index2. html (08. 11. 12)

6. Сохранение базы данных Jet 4.0 в работоспособном состоянии // Поддержка Microsoft. URL: http: //support. microsoft. com/kb/303 528/ru (25. 11. 12)

7. История языка. Mateo edition// Pawno-Info программирование в Pawno. URL: http: //pawno-info. ru/threads/54 237-История-языка (11. 06. 2012)

8. Языки Программирования // Java. URL: http: //progr-lang. blogspot. com/p/java. html (15. 06. 2012)

9. Диаграмма потоков данных (DFD) // E-educ. ru. URL: http: //e-educ. ru/bd14. html (08. 11. 12)

10. Теория DELPHI // Языки программирования. URL: http: //www. maksakov-sa. ru/TeorDelphi/OpisanieDelphi/index. html (16. 06. 2012)

11. Visual Basic // Языки Программирования. URL: http: //progr-lang. blogspot. com/p/visual-basic. html (15. 06. 2012)

12. Основы ADO // Иллюстрированный самоучитель по Delphi 7 для профессионалов. URL: http: //www. realcoding. net/teach/Delphi7_prof/Glava19/ Index2. html (08. 11. 12)

Приложение. Листинг кода программы

unit Unit1; // Главная форма «Регистрационная карта»

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls;

type

TForm1 = class (TForm)

MainMenu1: TMainMenu;

N2: TMenuItem;

Forms1: TMenuItem;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBNavigator1: TDBNavigator;

DBGrid1: TDBGrid;

RadioGroup1: TRadioGroup;

Button1: TButton;

Button2: TButton;

N5: TMenuItem;

procedure N2Click (Sender: TObject);

procedure N1Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure N5Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *. dfm}

procedure TForm1. N2Click (Sender: TObject);

begin

Close;

end;

procedure TForm1. N1Click (Sender: TObject);

begin

Form2. Show;

Form1. Hide;

end;

procedure TForm1. N3Click (Sender: TObject);

begin

Form3. Show;

Form1. Hide;

end;

procedure TForm1. N4Click (Sender: TObject);

begin

Form4. Show;

Form1. Hide;

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

case RadioGroup1. ItemIndex of

0: ADOTable1. IndexFieldNames := 'ФИО_Клиента';

1: ADOTable1. IndexFieldNames := 'Дата_заселения';

2: ADOTable1. IndexFieldNames := 'Номер_комнаты';

end;

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

RadioGroup1. ItemIndex:=-1;

ADOTable1. IndexFieldNames := 'ID_Klienty';

end;

procedure TForm1. N5Click (Sender: TObject);

begin

Form5. Show;

Form1. Hide;

end;

end.

Unit2; // Форма «Клиенты»

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls;

type

TForm2 = class (TForm)

MainMenu1: TMainMenu;

Exit1: TMenuItem;

ADOTable1: TADOTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

Edit1: TEdit;

RadioGroup1: TRadioGroup;

Button2: TButton;

procedure Exit1Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *. dfm}

procedure TForm2. Exit1Click (Sender: TObject);

begin

Form1. Show;

Form2. Hide;

end;

procedure TForm2. Button1Click (Sender: TObject);

begin

ADOTable1. Filtered:=true;

case RadioGroup1. ItemIndex of

0: ADOTable1. Filter := 'ФИО_клиента='+#39+edit1. Text+#39;

1: ADOTable1. Filter := 'Статус='+#39+edit1. Text+#39;

2: ADOTable1. Filter := 'Национальность='+#39+edit1. Text+#39;

3: ADOTable1. Filter := 'Пол='+#39+edit1. Text+#39;

4: ADOTable1. Filter := 'Цель приезда='+#39+edit1. Text+#39;

end;

end;

procedure TForm2. Button2Click (Sender: TObject);

begin

ADOTable1. Filtered:=false;

RadioGroup1. ItemIndex:=-1;

end;

end.

unit Unit3; // форма «Номера комнат»

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm3 = class (TForm)

MainMenu1: TMainMenu;

Exit1: TMenuItem;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

ADOTable1: TADOTable;

procedure Exit1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *. dfm}

procedure TForm3. Exit1Click (Sender: TObject);

begin

Form1. Show;

Form3. Hide;

end;

end.

unit Unit4; //Форма «Номера комнат»

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm4 = class (TForm)

MainMenu1: TMainMenu;

Close1: TMenuItem;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

ADOTable1: TADOTable;

procedure Close1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit1;

{$R *. dfm}

procedure TForm4. Close1Click (Sender: TObject);

begin

Form1. Show;

Form4. Hide;

end;

end.

unit Unit5; // Форма «Работа С БД с применением SQL запросов»

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, Menus, ExtCtrls, DBCtrls;

type

TForm5 = class (TForm)

DBGrid1: TDBGrid;

Memo1: TMemo;

Memo2: TMemo;

MainMenu1: TMainMenu;

Close1: TMenuItem;

Button1: TButton;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

DBNavigator1: TDBNavigator;

procedure Close1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit1;

{$R *. dfm}

procedure TForm5. Close1Click (Sender: TObject);

begin

Form1. Show;

Form5. Hide;

end;

procedure TForm5. FormCreate (Sender: TObject);

begin

Memo2. Clear;

end;

procedure TForm5. Button1Click (Sender: TObject);

begin

ADOQuery1. Close;

ADOQuery1. SQL. Text:=Memo2. Text;

ADOQuery1. Open;

end;

end.

ПоказатьСвернуть
Заполнить форму текущей работой