Разработка автоматизированной информационной системы «Отель»

Автор работы: Пользователь скрыл имя, 30 Января 2013 в 10:40, курсовая работа

Краткое описание

В процессе выполнения курсового проекта было изучено понятие информационной системы, выявлены основные классификации ИС.
Было проведено исследование уже существующих информационных систем гостиниц и отелей. На их основе мной была создана информационно-поисковая автоматизированная информационная система “Отель”. Программа автоматизирует работу сотрудника отеля. В программе реализованы ввод и хранение информации о постояльцах гостиницы, информация о состоянии номеров, услугах которые предоставляются клиентам гостиницы, также осуществляются функции поиска информации в базе данных по различным критериям. Формируются отчёты о клиенте и суммарной стоимости проживания его в номере.

Содержание

Содержание
ВВЕДЕНИЕ 2
ГЛАВА 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. ПОНЯТИЕ И СТРУКТУРА ИС 4
1.1. ПОНЯТИЕ ИС 4
1.2. КЛАССИФИКАЦИЯ ИНФОРМАЦИОННЫХ СИСТЕМ 7
1.3. ОБЗОР СОВРЕМЕННЫХ АИС ГОСТИНИЦ 10
ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ. РАЗРАБОТКА АИС ГОСТИНИЦЫ 15
2.1. ПОСТАНОВКА ЗАДАЧИ 15
2.2. ВЫБОР СРЕДЫ РАЗРАБОТКИ И ЯЗЫКА ПРОГРАММИРОВАНИЯ 16
2.3. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЮ 25
2.4. ИНСТРУКЦИЯ ПРОГРАММИСТУ 30
ЗАКЛЮЧЕНИЕ 35
СПИСОК ЛИТЕРАТУРЫ 36
ПРИЛОЖЕНИЕ A 37
ПРИЛОЖЕНИЕ Б 48

Прикрепленные файлы: 1 файл

Мараков_курсовой_проект.docx

— 397.03 Кб (Скачать документ)

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

Рис. 8. Окно “О программе”

2.4. ИНСТРУКЦИЯ ПРОГРАММИСТУ

 

Программа “Гостиница” разработана в среде Borland C++  Builder, база данных создана в формате Paradox 7.

Таблицы в программе подключаются при помощи компонента Table, а отображаются по средствам компонента DBGrid, навигация осуществляется использованием компонента DBNavigator, связь осуществляется через компонент DataSource.

При редактировании таблицы “список постояльцев гостиницы”, необходимо выбрать вид номера из таблицы “Виды номеров”. Для этого используется событие OnCellClick для компонента DBGrid, которое осуществляет переход по одинарному щелчку мыши по полю. Ниже приведён код для этого события.

switch(Column->Index)

{

  case 7:Form2->Show(); break;

  case 8:Form3->Show(); break;

 }

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

После выбора вида номера и нажатии  кнопки “записать” осуществляется подстановка в главную таблицу выбранного вида номера в соответствующее поле и подсчёт стоимости проживания. Эта процедура осуществляется следующим кодом.

int a;

  Form1->Table1->Edit();

Form1->Table1Vid->Value=Form2->Table1Vid->Value;

Form1->Table1Price->Value=Form2->Table1Price->Value;

Form1->Table1->Edit();

Form1->Edit1->Text=IntToStr(Form1->Table1OData->Value-Form1-  >Table1Data->Value);

a=StrToInt(Form1->Edit1->Text);

Form1->Table1Price->Value=a*(Form1->Table1Price->Value);

Form2->Close();

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

Form1->Table1->Edit();

       Form1->Table1Nomer->Value=Form3->Table1Nomera->Value;

       Form3->Table1->Edit();

       Form3->DataSource1->DataSet->Delete();

       Form3->Close();

При удалении записи из таблицы “список постояльцев отеля”, необходимо вернуть номер в список освободившихся, для этого нужно определить к какому виду номеров он относился, и добавить в запись в соответствующую таблицу, при этом код нужно прописать в событии BeforeDelete для компонента DBGrid.

 

if(Table1Vid->Value=="Эконом")

{

  Form3->Table1->Edit();

  Form3->DataSource1->DataSet->Last();

  Form3->Table1->Edit();

  Form3->DataSource1->DataSet->Append();

  Form3->Table1Nomera->Value=Table1Nomer->Value;

}

if(Table1Vid->Value=="Удобства на блок (2+2)")

{

  Form3->Table2->Edit();

  Form3->DataSource2->DataSet->Last();

  Form3->Table2->Edit();

  Form3->DataSource2->DataSet->Append();

  Form3->Table2Nomera->Value=Table1Nomer->Value;

}

if(Table1Vid->Value=="С удобствами")

{

  Form3->Table3->Edit();

  Form3->DataSource3->DataSet->Last();

  Form3->Table3->Edit();

  Form3->DataSource3->DataSet->Append();

  Form3->Table3Nomera->Value=Table1Nomer->Value;

}

Поиск в программе осуществляется в компоненте Edit, код пишется для события Change, это позволяет сделать поиск динамичным. Ниже пример поиска по виду номера.

         AnsiString s;

         if(Edit4->Text!="")

         {

           s="'"+Edit4->Text+"*"+"'";

           Table1->Filtered=true;

           Table1->Filter="Vid="+s;

         }

         else   Table1->Filtered=false;

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

if((Key>='0')&&(Key<='9')||(Key==VK_BACK))

return;

else Key=0;

В таблицы “Отчёты”, после ввода серии и номера паспорта при нажатии кнопки “Сформировать отчёт” осуществляется поиск запрашиваемой записи в таблицах  “список постояльцев гостиницы” и “Услуги оказанные постояльцам”, поиск осуществляется при помощи цикла for, число записей таблице определяется функцией RecordCount.

Form1->DataSource1->DataSet->First();

Form1->DataSource2->DataSet->First();

int s=0, i=0;

for(i=Form1->DataSource1->DataSet->FindFirst();i<=Form1->DataSource1->DataSet->RecordCount;i++)

{

  if(Form1->Table1Id->Value==StrToFloat(Edit1->Text))

  {

   Table1->Edit();

   Table1F->Value=Form1->Table1F->Value;

   Table1Name->Value=Form1->Table1Name->Value;

   Table1LName->Value=Form1->Table1LName->Value;

   Table1Id->Value=Form1->Table1Id->Value;

   Table1Data->Value=Form1->Table1Data->Value;

   Table1OData->Value=Form1->Table1OData->Value;

   Table1Price->Value=Form1->Table1Price->Value;

}

Form1->DataSource1->DataSet->Next();

}

for(i=Form1->DataSource2->DataSet->FindFirst();i<=Form1-  >DataSource2->DataSet->RecordCount;i++)

{

   if(Form1->Table2Id->Value==StrToFloat(Edit1->Text))

  {

    Table1->Edit();

    s=s+Form1->Table2Price->Value;

    Table1UPrice->Value=s;

  }

  Form1->DataSource2->DataSet->Next();

 }

Table1->Edit();

Table1Itog->Value=Table1Price->Value+Table1UPrice->Value;

 

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

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

 

В процессе выполнения курсового проекта было изучено понятие информационной системы, выявлены основные классификации  ИС.

Было проведено исследование уже  существующих информационных систем гостиниц и отелей. На их основе мной была создана информационно-поисковая автоматизированная информационная система “Отель”. Программа автоматизирует работу сотрудника отеля. В программе реализованы ввод и хранение информации о постояльцах гостиницы, информация о состоянии номеров, услугах которые предоставляются клиентам гостиницы, также осуществляются функции поиска информации в базе данных по различным критериям. Формируются отчёты о клиенте и суммарной стоимости проживания его в номере.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК ЛИТЕРАТУРЫ

  1. Герберт Шилдт. C# 4.0 полное руководство. –М.:«Вильямс», 2011 г.
  2. Эндрю Троелсен. Язык программирования C# 2010 и платформа .NET 4.– М.:«Вильямс», 2011 г.
  3. Роберт Э. Уолтерс, Майкл Коулс SQL Server 2008: ускоренный курс для профессионалов = Accelerated SQL Server 2008. − М.: «Вильямс», 2008.
  4. Роберт Виейра Программирование баз данных Microsoft SQL Server 2005. Базовый курс = BeginningMicrosoft SQL Server 2005 Programming. — М.: «Диалектика», 2007.
  5. Когаловский М.Р. Перспективные технологии информационных систем. — М.: ДМК Пресс; Компания АйТи, 2003.
  6. Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002.
  7. Грекул В. И., Денишенко Г. Н., Коровкина Н. Л. Проектирование информационных систем, М.: Интернет-Ун-т Информ технологий 2008г.
  8. Избачков Ю. С., Петров В. Н. Информационные системы: учебник для вузов, ООО Питер Принт СПб 2004г.
  9. http://www.npark.ru/
  10. http://www.servio.ru/
  11. http://www.hrs.ru/

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ A

 

Листинг АИС «Отель»

Unit 1:

#include <vcl.h>

#include <iostream.h>

#include <conio.h>

#include <stdio.h>

#include <io.h>

#include <string.h>

#pragma hdrstop

#include "Unit4.h"

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit5.h"

#include "Unit6.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form2->Show();

}

//---------------------------------------------------------------------------

 

 

void __fastcall TForm1::DBGrid1CellClick(TColumn *Column)

{

   switch(Column->Index)

{case 7:Form2->Show(); break;

  case 8:Form3->Show(); break;

}

if(Table1OData->Value==Date())

  {

Form3->DataSource3->DataSet->Last();

  Form3->Table3->Edit();

    Form3->DataSource3->DataSet->Append();

Form3->Table3Nomera->Value=Table1Nomer->Value;

Form1->Table1->Edit();

Form1->DataSource1->DataSet->Delete();

}

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form3->Show();

}

//---------------------------------------------------------------------------

 

 

void __fastcall TForm1::Table1BeforeDelete(TDataSet *DataSet)

{

if(Table1Vid->Value=="Эконом")

{Form3->Table1->Edit();

  Form3->DataSource1->DataSet->Last();

  Form3->Table1->Edit();

    Form3->DataSource1->DataSet->Append();

Form3->Table1Nomera->Value=Table1Nomer->Value;}

 if(Table1Vid->Value=="С удобствами на блок (2+2)")

{Form3->Table2->Edit();

  Form3->DataSource2->DataSet->Last();

  Form3->Table2->Edit();

    Form3->DataSource2->DataSet->Append();

Form3->Table2Nomera->Value=Table1Nomer->Value;}

if(Table1Vid->Value=="С удобствами")

{Form3->Table3->Edit();

  Form3->DataSource3->DataSet->Last();

  Form3->Table3->Edit();

    Form3->DataSource3->DataSet->Append();

Form3->Table3Nomera->Value=Table1Nomer->Value;}

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form4->Show();

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::DBGrid2CellClick(TColumn *Column)

{

      switch(Column->Index)

{case 3:Form4->Show(); break;

}

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form5->Show();

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Edit2Change(TObject *Sender)

{

 AnsiString s;

if(Edit2->Text!="")

{

s="'"+Edit2->Text+"*"+"'";

Table1->Filtered=true;

Table1->Filter="F="+s;

}

else   Table1->Filtered=false;

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Edit3Change(TObject *Sender)

{

 AnsiString s;

if(Edit3->Text!="")

{

s=Edit3->Text;

Table1->Filtered=true;

Table1->Filter="Id="+s;

}

else   Table1->Filtered=false;

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Edit4Change(TObject *Sender)

{

 AnsiString s;

if(Edit4->Text!="")

{

s="'"+Edit4->Text+"*"+"'";

Table1->Filtered=true;

Table1->Filter="Vid="+s;

}

else   Table1->Filtered=false;

}

//---------------------------------------------------------------------------

 

void __fastcall TForm1::Edit5Change(TObject *Sender)

{

     AnsiString s;

if(Edit5->Text!="")

{

s=Edit5->Text;

Table1->Filtered=true;

Table1->Filter="Nomer="+s;

}

else   Table1->Filtered=false;

}

//---------------------------------------------------------------------------

Информация о работе Разработка автоматизированной информационной системы «Отель»