Разработка приложения «Турфирма»

Автор работы: Пользователь скрыл имя, 16 Июня 2013 в 01:27, курсовая работа

Описание работы

На сегодняшний день разработчик не связан рамками какого-либо конкретного пакета разработки СУБД, а в зависимости от поставленной задачи может использовать самые разные приложения. Поэтому, более важным представляется общее направление развития СУБД и других средств разработки приложений в настоящее время.
Использование баз данных в туристической фирме выступает одним из важнейших направлений повышения эффективности функционирования данных фирмы. Такие базы данных используются для решения определенных задач.
Целью курсовой работы является создание и разработка базы данных для работы туристической фирмы, а также СУБД, в среде программирования Delphi, для управления этой базой данных.

Содержание работы

Введение 3
Глава I. Базы данных и Delphi. 4
1.1 Понятие «базы данных» 4
1.2 Структурные элементы базы данных 5
1.3 Нормализация отношений и типы связей 6
1.4 Этапы создания базы данных 8
1.5 Язык программирования Delphi 10
1.6 Основные компоненты Delphi 12
1.7 Компоненты Delphi для работы с базой данных 13
Глава II. Разработка приложения «Турфирма» 15
2.1 Разработка базы данных «Турфирма» 15
2.1.1 Инфологическая модель 15
2.1.2. Логическое проектирование базы данных 15
2.1.3 Создание базы данных в Access 16
2.2 Разработка приложения СУБД «Турфирма» 18
2.2.1 Структура программы 18
2.2.2 Модуль данных 19
2.2.3. Главная форма программы 22
2.2.4. Создание форм для просмотра и редактирования списков данных 23
2.2.5. Создание форм для редактирования туров и путевок 25
2.2.6. Создание формы для оформления заказов 27
2.3 Тестирование программы 29
Заключение 30
Литература 31

Файлы: 1 файл

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ.docx

— 168.86 Кб (Скачать файл)

2.2.1 Структура программы

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

Для редактирования таблиц «Туры» и «Путевки», также создадим для каждой таблицы отдельные  формы. Для просмотра и редактирования таблиц «Города» и «Туроператоры» создадим также еще две формы. Еще по одной форме будут для просмотра  списка заказов и для создания (оформления) нового заказа.

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

Рисунок 3. Структура программы

2.2.2 Модуль данных

Создадим новый проект, сохраним его как TurFirma.

Для подключения базы данных к проекту, добавим компонент  Data Module (File -> New -> DataModule). На этом компоненте будем располагать невизуальные компоненты для работы с базой данных. Для дальнейшего удобства программирования, свойство Name у этого компонента изменим на DM (сокращенное от DataModule). На него добавим со вкладки ADO один компонент ADOConnection и пять компонентов ADOTable.

Подключимся к нашей базе данных через компонент ADOConnection следующим образом:

Дважды щелкнув левой  кнопкой мыши по этому компоненту, вызовем окно для подключения  компоненту к базе данных.

Рисунок 4. Окно ConnectionString компонента ADOConnection1.

Нажав кнопку Build, вызовем окно свойств.

Рисунок 5. Свойства связи с данными

Выберем строку Microsoft Office Jet 4.0 OLE DB Provider (драйвер для подключения к Access 2003), нажмем кнопку далее. В поле «Источник данных» укажем путь к нашей базе данных с именем и расширением. Если создаваемое приложение и сама база данных находятся в одном каталоге на жестком диске компьютера, то достаточно указать только имя файла базы данных и расширение. Далее нажмем кнопку «Проверить подключение» и если подключение удалось, то нажимаем кнопку Ok.

У компонента ADOConnection1 изменим свойство LoginPromt на значение false (исключим запрос пароля при обращении к базе данных).

Наша база данных состоит  из пяти таблиц. Каждую таблицу нужно подключить к компоненту ADOTable. Покажем подключение на примере таблицы Туры.

Выделим компонент ADOTable1. Изменим его свойства:

      • Name на Tur,
      • Connection: ADOConnection,
      • TableName: Туры,
      • Active: true.

Аналогично подключаем оставшиеся четыре таблицы, меняя свойство Name компонентов ADOTable на:

Туроператоры – Operator,

Путевки – Putevka,

Заказы – Zakaz,

Страны –Contry.

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

Свойства DataSet и Name каждого из них изменим. На примере таблицы Туры, которую подключили к компоненту Tur:

DataSet: Tur,

Name: DSTur. 

На рисунке 6 представлен компонент DataModule.

Рисунок 6. Компонент DataModule.

В таблицах «Страны», «Путевки», «Заказы» существуют поля, имеющие  логический тип. Например, в таблице  «Страны» логический тип имеет поле «Виза». Это поле хранит одно из двух значений: true или False. Для пользователя эти слова могут быть не совсем понятны. Понятнее было бы, если выводились значения для поля «Виза», к примеру, «нужна» или «не нужна». Чтобы исправить это неудобство, необходимо вызвать редактор полей, дважды щелкнув на компонент Contry. В контекстном меню выбрать пункт «Add all fields». Отобразится список полей. Выделив поле «Виза», в окне инспектора объектов (Object Inspector), на вкладке Events найти строку OnGetText. Дважды щелкнув по ней сформируется процедура. В ней необходимо написать следующий код:

if Contry.Fields[2].AsBoolean //если значение поля True

then Text:= 'необходима' //то выводим запись «необходима»

else Text:= 'не нужна';     //в противном случае – «не нужна»

В результате вместо слов true или false будут отображаться «необходима» или «не нужна».

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

2.2.3. Главная форма программы

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

Та форма, которая создалась  по умолчания в момент создания проекта, и будет являться главной. Изменим  свойство FormStyle этой формы на fsMDIForm.

Добавим на эту форму компонент  MainMenu со вкладки Standard. Этот компонент будет являться главным меню формы. Напишем пункты и подпункты главного меню:

    • Меню
      • Выход
    • Списки данных
      • Туроператоры
      • Страны
    • Туры и путевки
      • Туры и путевки
      • Редактировать туры
      • Редактировать путевки
    • Заказы
      • Просмотр
      • Оформить

Внешний вид главной формы  представлена на рисунке 7.

Рисунок 7. Вид главой формы программы

Для перехода на другую форму  из главного меню, на событие OnClick (на нажатие) необходимого пункта меню, выполняется код:

FormN:= TFormN.Create(Application);

где FormN – необходимая форма для отображения. Этот код создает экземпляр формы. Т.е. сколько раз мы нажмем на пункт меню для этой формы, столько же раз она и отобразиться.

2.2.4. Создание форм для  просмотра и редактирования списков  данных

Создадим форму для  просмотра и редактирования списка Туроператоры.

Добавим новую форму в  проект (File -> New -> Form). Свойство FormStyle этой формы изменим на fsMDIChild. На событие OnClose этой формы напишем код: Action:= caFree. Этот код нужен для того, чтобы при закрытии формы форма не «сворачивалась», а закрывалась.

Добавим на форму компоненты DBGrid, DBMemo и DBNavigator со вкладки DataContols. Свойство DataSource этих компонентов изменим на DM.DSOperator. Тем самым мы подключили компоненты к набору данных Operator, которая подключена в свою очередь к таблице Туроператоры. Компонент DBMemo нужен для отображения поля «Информация о туроператоре» таблицы «Туроператоры». Чтобы определить это поле для компонента DBMemo, изменим свойство DataField этого компонента на «Информация о туроператоре».

На главной форме приложения в главном меню выберем пункт  Списки данных -> Туроператоры. На событие OnClick напишем код для открытия формы: Form3:= TForm3.Create(Application). Чтобы форма не открывалась вместе с главной формой при запуске программы, выберем в Delphi в основном меню следующие пункты: Project -> Options. Появится окно для изменения свойств приложения. На вкладке Forms в поле Auto-create forms выберем строчку Form3 и при помощи кнопки «>» переместим ее в поле Available forms. После этого форма для просмотра списка туроператоров будет создаваться только после выбора пункта меню Списки данных -> Туроператоры на основной форме приложения.

Внешний вид формы для  просмотра списка туроператоров  показан на рисунке 8.

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

По аналогии создаются  формы для просмотра и редактирования списков «Страны», «Туры и путевки», «Заказы».

2.2.5. Создание форм для редактирования туров и путевок

Создадим новую форму  для редактирования туров. На форму  добавим компонент DBGrid, на которой будем отображать список туров, причем будем выводить только поля «Код тура» и «Название тура». Для этого, дважды щелкнув по компоненту DBGrid, появится окно для редактирования полей сетки DBGrid. Выбрав все поля, кроме указанных выше, изменим у них свойство Visible с True на False.

По аналогии с формами  из п.2.2.4 настоящей работы, добавим компоненты DBMemo для вывода значения поля «Информация о туре» и DBNavigator для навигации по таблице «Туры».

Так как в таблице «Туры» отображены только сведения о коде страны и коде туроператора, что неудобно для пользователя, то добавим два компонента DBLookupComboBox (вкладка DataControls). Этот компонент выводит данные в виде выпадающего списка. Рассмотрим список из таблицы «Страны». Изменим свойства одного компонента DBLookupComboBox:

DataSource: DM.DSTur

DataField: Код_страны

Этим мы показываем, что  компонент ссылается на таблицу  «Туры» поле «Код страны».

Далее, в этом же компоненте настраиваем список для отображения:

ListSource: DM.DSContry

ListField: Название страны

KeyField: Код страны

Этими свойствами мы указываем, что в списке будет отображаться поле «Название страны» из таблицы  «Страны», причем, в соответствии с  полем «Код страны» в таблицы  «Туры».

По аналогии устанавливаем  второй компонент DBLookupComboBox для отображения списка туроператоров.

Для ввода и редактирования поля «Название тура» добавим  на форму компонент DBEdit. Свойство DataSource изменим на DM.DSTur, а DataField на «Название тура». Таким образом, этот компонент будет отображать поле «Название тура» текущей записи таблицы «Туры»

Внешний вид формы «Редактирование  туров» представлен на рисунке 9.

Рисунок 9. Форма «Редактирование  туров»

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

2.2.6. Создание формы для оформления заказов

Создадим форму для  оформления заказов (продажи) путевок. На форме разместим два компонента DBGrid, отображающие таблицы «Туры» и «Путевки». Для ввода фамилии заказчика (покупателя) добавим со вкладки Standard компонент Edit, а для определения статуса оплаты – CheckBox.

Внешний вид формы показан  на рисунке 10.

Рисунок 10. Форма оформления заказов.

Для ввода данных в таблицу  «Заказы», добавим кнопку BitBtn. Свойство Caption определим как «Оформить». На событие OnClick (нажатие) напишем код:

{если компонент Edit1 пустой, т.е. не введена фамилия заказчика, то выводим наводящее сообщение}

if Edit1.Text=''

then ShowMessage('введите фамилию заказчика')

else

{если фамилия заказчика введена, то}

  begin

    DM.Zakaz.Insert; {в таблице «Заказы» добавляем строку для ввода новых значений}

    DM.Zakaz.Fields[1].Value:= DM.Putevka.Fields[0].Value; {в поле код_путевки заносим текущее значение кода путевки таблицы «Путевки»}

    DM.Zakaz.Fields[2].AsString:= Edit1.Text; {Заносим фамилию заказчика}

    DM.Zakaz.Fields[3].AsBoolean:= CheckBox1.Checked; {заносим статус оплаты}

    DM.Zakaz.Post; {сохраняем введенные изменения}

    Form8.Close; {закрываем форму}

  end;

Если пользователь передумал  оформлять заказ, то на этот случай добавим кнопку «Отменить», на событие  OnClick которой будет следующий код:

Form8.Close; {закрываем  форму без изменений}

2.3 Тестирование программы

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

Аналогично и для форм «Туры и путевки», «Редактирование  путевок» и «Редактирование туров».

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

 

Заключение

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

В работе был отражен процесс нормализации отношений, установление связей между таблицами. Сама база данных реализована в Access. Для отражения записей базы данных, для ввода в нее новых значений, а также для редактирования, была разработана система управления базой данных. Приложение реализовано в среде Delphi. В приложении на формах для просмотра и редактирования данных расположены компоненты для отображения данных в виде таблицы или в виде отдельных значений полей. Компоненты для подключения базы данных расположены на отдельной форме – не визуальной, то есть при работе приложения, эта форма не отображается.

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

 

Литература

  1. Базы данных. Разработка приложений: Л. В. Рудикова — Москва, БХВ-Петербург, 2006 г.- 496 с.
  2. Программирование баз данных в Delphi 7: Фаронов В.В. - Издательство: Питер, 2006
  3. Программирование баз данных в Delphi: Ачкасов В.Ю.  - СамГТУ. Год: 2010. – 255с.
  4. Технология ADO.[Электронный ресурс] -: http://it.kgsu.ru/DelADO
  5. Delphi. Изучаем запросы к базам данных и язык SQL.[Электронный ресурс] -: http://www.snkey.net/books/delphi/ch4-5.html
  6. Microsoft Access. Материал из свободной энциклопедии. [Электронный ресурс]-: http://ru.wikipedia.org/wiki/Microsoft_Access

Информация о работе Разработка приложения «Турфирма»