Рисунок 5 – Блок-схема процесса заселения-выселения постояльца
Рисунок 6 – Блок-схема процесса фильтрации таблиц
Рисунок 7 – Блок-схема процесса поиска записей в таблицах
Реализация данной задачи проводится в системе программирования Delphi 7.0.
Среда Delphi — это среда быстрой разработки, обеспечивающей высокоэффективную работу программиста, в которой в качестве языка программирования используется язык Object Pascal. В Delphi есть все необходимое для проектирования, запуска и тестирования программ, и где главной целью является облегчение процесса создания программ.
В основе систем быстрой разработки лежит технология визуального проектирования и событийного программирования.
Delphi 7.0. располагает широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации, расположенной как на локальном диске, так и на удаленном сервере, а также большим коллекцией визуальных компонент для построения отображаемых на экране окон, что необходимо для создания удобного интерфейса между пользователем и исполняемым кодом.
Листинг информационной системы представлен в приложении А.
3 Инструкция пользователю
Создайте дерево каталогов c:\STUDENT\БИС-42.
Скопируйте папку Курсовая в папку БИС-42. Откройте её.
Запустите программу, нажав на значок
. В появившемся окне нажмите кнопку «Войти» (рисунок 8).В появившейся форме «Пароль» (рисунок 9) необходимо ввести код «123» и нажать кнопку «Вход».
Теперь форма «Информационная система «Отель» стала доступной для пользователя (рисунок 10).
Путем выбора меню «Файл», который содержит команды «Открыть» и «Выход», можно активизировать любую из трех вкладок (рисунок 11):
– «Номера»;
– «Постояльцы»;
– «Дополнительные услуги»,
а также выйти из программы.
При выборе меню «Редактирование таблицы» можно выбрать одну из трех таблиц («Занятость номеров», «Постояльцы» или «Оказание дополнительных услуг») для редактирования (рисунок 12).
При этом открывается подвкладка «Правка» на одной из следующих вкладок:
- «Номера» для редактирования таблицы «Занятость номеров» (рисунок 13);
- «Постояльцы» для редактирования таблицы «Постояльцы» (рисунок 14);
- «Дополнительные услуги для редактирования таблицы «Оказание дополнительных услуг» (рисунок 15).
Для ввода новых данных необходимо сначала нажать кнопку «Очистить», затем ввести данные в каждую из ячеек и нажать кнопку «Добавить».
Для редактирования существующих записей нужно выбрать требуемую запись, внести изменения и нажать кнопку «Сохранить».
Для удаления какой-либо записи необходимо выбрать требуемую запись и нажать кнопку «Удалить».
Внимание! При удалении будьте внимательны, так как удаленные записи нельзя автоматически вернуть.
Также на подвкладке «Правка» на вкладке «Постояльцы»:
– можно определить срок проживания каждого постояльца. Для этого выберите необходимую запись и нажмите кнопку «Срок проживания»;
– можно автоматически рассчитать стоимость проживания с учетом оказанных услуг (кнопка «Счет»);
– при нажатии кнопки «Выселение» постоялец автоматически удаляется из таблиц «Постоялец» и «Занятость номеров» и перемещается в таблицу «Архив выбывших постояльцев», а комната, закрепленная за ним, становится свободной.
На подвкладке «Сведения» вкладки «Номера» (рисунок 16):
- можно определить срок проживания постояльца;
- получить список номеров (мест), освобождающихся на определенную дату, которую необходимо ввести в специально отведенную для этого ячейку «Дата выселения»;
- отфильтровать таблицу «Номера».
Таблицу «Номера» можно отфильтровать по:
- классу – для этого в ячейку «Условие фильтрации» вводим название требуемого класса номера, например, Люкс;
- номеру комнаты – для этого в ячейку «Условие фильтрации» вводим номер комнаты, например, 103;
- количеству мест в номере – для этого в ячейку «Условие фильтрации» вводим требуемое количество мест, например, 2;
- цене номера – для этого в ячейку «Условие фильтрации» вводим цену, например, 1200;
- свободным номерам.
После выбора критерия фильтрации необходимо нажать кнопку «Фильтровать».
Список свободных номеров отображается в окошке под кнопкой «Фильтровать».
При выборе критерия фильтра «Нет» необходимо также нажать кнопку «Фильтровать». Таблица станет отображать все записи.
Аналогично можно отфильтровать таблицу «Постояльцы» (рисунок 17) и произвести поиск по таблицам «Номера» (рисунок 18), «Архив выбывших постояльцев» (рисунок 19) и «Оказание дополнительных услуг» (рисунок 20).
4 Контрольный пример
Таблицы создавались в DatabaseDesktop, входящей в комплект поставки Delphi, с использованием типа таблиц Paradox 7. Таблицы Paradox 7 по сравнению с другими поддерживают самый богатый набор разных типов полей, что позволяет автоматически следить за правильностью вводимых данных (пункт ValidityChecks в списке Tableproperties). Также можно выбирать данные из другой таблицы (LookupTable), строить вторичные индексы, в том числе составные (SecondaryIndexes), следить за ссылочной целостностью БД (ReferentialIntegrity), защищать таблицу от несанкционированного доступа (PasswordSecurity), выбирать языковой драйвер (TableLanguage).
Контрольный пример осуществлялся при занесении в каждую таблицу по 15-20 записей.
Таблицы «Номера» и «Дополнительные услуги» заполняются непосредственно в DatabaseDesktop, так как данные в этих таблицах не должны быть доступны для служащих отеля.
В таблицу «Архив выбывших постояльцев» данные поступают автоматически при нажатии кнопки «Выселение». При этом данные соответственно удаляются из таблиц «Занятость номеров» и «Оказание дополнительных услуг».
При использовании фильтров и при поиске записей информация не искажалась, выдавалась точно по определенным критериям.
Таким образом, при использовании демонстрационной БД наглядно показано, что информационная система «Отель» обеспечивает:
– быстрый доступ к среде хранения данных;
– качественную обработку информации (поиск, сортировку, фильтрацию);
– удобство пользователя, так как приложение обладает простым интерфейсом, который предоставляет возможность конечному пользователю выполнять все необходимые для работы функции, но в то же время не дает ему выполнять лишние действия.
Заключение
В ходе выполнения данной курсовой работы была разработана информационная система «Отель», которая обеспечивает информационную поддержку деятельности отеля.
Преимущество использования автоматизированной системы состоит в том, затрачивается меньше времени на обработку данных, чем при ручной обработке, меньше места для хранения информации,так как в бумажном виде та же самая информация занимает большее пространство. Автоматизированная система отличается быстродействием, оперативностью обработки и наглядным и удобным интерфейсом.
Приложение выполняет следующий перечень требований:
– представление данных в удобном для пользователя виде;
– добавление и удаление данных;
– фильтрация и сортировка данных;
– навигация по набору данных.
Разработанная система позволяет выполнять следующие задачи:
– ведение списка постояльцев;
– ведение архива выбывших постояльцев за последний год.
Список используемых источников
1 Хомоненко А. Д., Гофман В. Э. Работа с базами данных в Delphi. – СПб.: БХВ – Петербург, 2005. – 640 с.
2 Маняшек Г., Лешек А. Анализ требований и проектирование систем с использованием UML.: Пер. с англ. – М.: Издательский дом «Вильямс», 2000. – 570 с.
3 Мюллер Р. Базы данных и UML. Проектирование. – М.: Издательский дом «Вильямс», 2000. – 590 с.
4 КватраниТ. Rational Rose 2000 и UML. Визуальное моделирование. – М.: ДМК Пресс, 2001. – 613 с.
5 Глушаков С. В., Ломотько Д. В. Базы данных. – СПб.: Питер, 2000. – 387 с.
6 Фаронов В. В., Шумаков П. В. Delphi 5. Руководство разработчика баз данных. – М.: Нолидж, 2001. – 636 с.
7 Ларман к. Применение UML и шаблонов проектирования. – М.: Издательский дом «Вильямс», 2002. – 410 с.
8 Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. – СПб.: ДМК Пресс, 2004. – 580 с.
9 Вондров А. М. Проектирование программного обеспечения ЭИС. – М.: Финансы и статистика, 2000. – 467 с.
10 Богс М., Богс У. UML и RationalRose. – М.: Лори, 2001. – 618 с.
Приложение А
(обязательное)
Исходный код программы
Форма №1 «Информационная система «Отель»
unitUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, ExtCtrls, Grids, DBGrids, DB, DBTables, DBCtrls,
StdCtrls, Mask;
type
TForm1 = class(TForm)
Panel1: TPanel;
MainMenu1: TMainMenu;
Panel2: TPanel;
Panel3: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
PageControl2: TPageControl;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
PageControl3: TPageControl;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
PageControl4: TPageControl;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
N1: TMenuItem;
N2: TMenuItem;
N6: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
Table1: TTable;
DBGrid1: TDBGrid;
Label1: TLabel;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
Table2: TTable;
DataSource3: TDataSource;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
DBGrid4: TDBGrid;
DBNavigator4: TDBNavigator;
DataSource4: TDataSource;
Table3: TTable;
Table4: TTable;
Table5: TTable;
Table6: TTable;
DataSource5: TDataSource;
DBGrid5: TDBGrid;
DBNavigator5: TDBNavigator;
DBGrid6: TDBGrid;
DBNavigator6: TDBNavigator;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;