酒店管理系统'''.docx

上传人:牧羊曲112 文档编号:2035244 上传时间:2023-01-02 格式:DOCX 页数:48 大小:777.42KB
返回 下载 相关 举报
酒店管理系统'''.docx_第1页
第1页 / 共48页
酒店管理系统'''.docx_第2页
第2页 / 共48页
酒店管理系统'''.docx_第3页
第3页 / 共48页
酒店管理系统'''.docx_第4页
第4页 / 共48页
酒店管理系统'''.docx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《酒店管理系统'''.docx》由会员分享,可在线阅读,更多相关《酒店管理系统'''.docx(48页珍藏版)》请在三一办公上搜索。

1、中南民族大学计算机科学学院数据库综合实验报告题 目 酒店管理系统年 级 2008 级 专 业 网络工程 指导教师 曾广平 小组成员 李延(08066026)侯智航(08066044)张广龙(08066051)实验类型 综合型 成绩评定评语:教师签名: 年 月 日 2010 年 12月 25 日前言一、 目的数据库是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。数据库综合实验要求学生在学习完程序设计语言、数据结构、操作系统等课程后,综合利用所学计算机软件知识完成一个数据库应用系统的设计。是一个重要的教学实践环节,是对学生所学知识的掌握和应用程度的一个全面地

2、、综合地考察。对使用 SQL Server 来设计一个数据库应用系统有一个初步的了解。在学生初步具备了一定的软件程序设计基础上,本课程设计针对日常应用中的实际问题,要求学生完成一个相对完整的数据库应用系统,培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力,巩固和加深所学理论知识,初步掌握一个完整数据库应用系统的开发过程和方法。加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。培养相关专业专业本科学生科学研制、开发数据库应用系统的基本能力,为计算机在本专

3、业领域的应用奠定基础;培养学生成为计算机硬件和软件知识都过硬的专业人才。二、 项目背景概述本项目为酒店管理系统。我们针对的对象是现在大中小型城市中各大酒店,是对其房间以及会员的管理所需要的要求设计的,并为其开发一个管理系统。酒店有若干层楼,每层楼有若干个房间。酒店的住房标准划分为以下几个标准:标准单人间,豪华单人间,标准双人间,豪华双人间,标准三人间,商务套房以及总统套房。酒店仅限会员订房,这样方便处理行业之间恶意的竞争。如无限制订房来谋取利益。因此必须注册会员,得到相应的会员号才能订房。注册会员可分为注册VIP会员以及普通会员,这样可以享受不同等级的优惠。注册时必须填写会员的详细信息,以方便

4、酒店对会员的管理。管理方面分为会员管理以及房间管理。会员管理可以查看会员的基本信息,可以删除会员。房间管理可以查看住房的信息,可以退房,可以查看每个会员的住房信息,住宿起始日期以及结束日期。三、 项目实施环境本项目是采用Borland公司的C+ Builder 6软件为开发环境,使用C+语言设计的,界面选用的组件是采用VCL组件库里的组件。系统运行在Windows操作系统。连接数据库所用的工具为SQL Server2005。界面的设计与模块的划分四、 项目人员及其分工李延创建并连接数据库以及维护侯智航实验报告内容的收集,整理与完善张广龙五、 项目实施计划考虑到我们小组的三人都习惯于使用C+语言

5、来编写程序,因此我们三个人决定分在一组之内。我们选用Microsoft SQL Server2005连接数据库。之后的界面开发和连接数据库可同时进行,这可以方便小组成员相互讨论并交换信息和意见。项目基本完成后进行基本测试和维护。最后开始作总结并着手完成实验报告。需求分析一、 概述主要实现普通和VIP用户和会员的注册、订房,以及后台管理。可以方便的让顾客(权限VIP)预定房间,实时显示酒店客房的状态。用户通过注册会员实现自助订房。管理者通过输入特定的帐号和密码进入到后台管理界面对酒店进行简单的管理:主要实现会员管理,房间管理和密码修改功能。其中会员管理可以对会员信息进行查看,以及删除会员;房间管

6、理可以对具体楼层的某件房间的各种信息进行查看,以及实现退订房间功能;密码修改即更改管理员密码。个性的输入提示功能可以对不合法的操作加以提示和纠正,更加规范了录入标准。不但可以提示用户和管理员输入正确的信息,若不慎输入错误的信息也会提示错误,这样增加的系统的纠错能力。此外,在用户注册或者订房、退房成功后,能够即时在数据库中更新信息,这样保证了数据库的正确性,方便管理人员的管理,避免了损失。二、 功能需求酒店管理系统用户注册数据管理注册VIP用户注册普通用户会员管理房间管理管理员密码修改删除会员查找会员退房查看房间预定房间输入功能:系统以文本框形式进行输入。查询功能:系统以输入会员号或者房间号进行

7、查询,查询结果以表格形式显示。根据不同的查询统计条件显示出需要的结果。删除功能:系统以输入会员号或者房间号进行删除,删除结果以表格形式显示。根据不同的查询统计条件显示出需要的结果。安全功能:当从主界面进入电影放映管理时,要求输入正确的密码,否则没有权限进入。三、 其它需求为了保证管理员密码的安全性,防止他人或者其他外界因素修改数据库,在进入管理界面时需要输入管理员的账号以及密码,这样大大加强了数据库的安全性。管理员也可以不定时、不定期地修改管理员密码,这样能够有效地防止密码被破解。只有当使用者输入合法的管理员账号以及管理员密码时,才能进入数据库管理系统,实施对数据库的操作(如删除会员,退房等功

8、能)。当管理员需要更改密码时,则需要输入合法的管理员账号以及与之匹配的管理员原始密码,并输入新密码。当以上四条信息完全输入正确时,才能成功更改密码,否则,更改密码将失败。若信息缺失,将会提示填写所缺少的信息。这样,使得程序更人性化,更能加强人机交流。数据库设计实体以及实体之间的联系一般用E-R图表示。在关系型数据库系统中,实体以及实体之间的联系都是用表(关系)来表示的,表之间的联系通过关键字实现关联。此项目的E-R图如下:住宿信息房间标准身份证号性 别姓 名所属楼层房间会员号房间号年 龄退房会员预定管理员会员类型查看出生年删除管理员密码E-mail联系方式管理员账号工作地址各表的定义为:1.会

9、员信息(会员号,姓名,性别,出生年,年龄,会员类型,工作地址,联系方式,身份证,E-mail)2.Room(房间号,所属楼层,房间标准,住宿信息)3.管理员(管理员帐号,管理员密码)4.房间住宿表(房间号所属楼层,房间标准,住宿起始时间,住宿结束时间,登记人姓名,会员号)连接数据库的方法:步骤:1.首先打开ADO组件包(下图中最右边的浮标)2.选中ADOConnection、ADOQuery、ADOTable组件,将其拖至所要添加的窗体中,再将Data Access 组件包中的DataSource,并拖至窗体中。3.选中ADOConnection,在对象检视器中设置如下信息a 点击Connec

10、tionString,选中使用连接字符串,按下建立。b 在提供程序中选中OLE DB提供程序为:Microsoft OLE DB Providerfor SQLServerc 在连接中,输入服务器名称(打开SQL Server 2005后所显示的服务器名称),使用Windows NT集成安全设置,附加数据库,在路径中找到所需要连接的数据库即可,测试连接成功后,则表示数据库连接成功! 数据库的表结构设计如下:1. Room基本情况:房间号,所属楼层,房间标准,住宿信息2. 房间住宿表基本情况:房间号所属楼层,房间标准,住宿起始时间,住宿结束时间,登记人姓名,会员号3. 管理员基本情况:4. 会员

11、信息基本情况:5. 关系图功能模块设计酒店管理系统新用户注册数据管理退出系统预定房间新用户注册注册VIP用户注册普通用户取消酒店管理会员管理房间管理密码修改退订房间查看房间删除会员查看会员 房间预定 住宿日期房间楼层住宿天数房间号码会员号会员姓名房间标准具体使用方法见使用说应用程序设计应用程序框架设计(包括相关原理与主要技术手段)本系统使用了TForm框架和TOKRightDlg框架一、Form1系统的主界面,在打开系统时最初展现在用户面前。包括了两种组件:TButton和TImage。1)TButton其中包括了五个按钮,名字分别为:Button1、Button2、Button3、Butto

12、n4。它们的功能分别为:用来打开注册界面、输入管理员账号密码界面、预定房间界面和退出系统。在点击按钮后将出发事件,根据按键的不同来执行不同的动作。通过这个动作实现了框架之间的联系。2)TImage这个面板里面没有任何组件,只是添加该酒店的外景照片进去,以此来介绍酒店的大致情况。二、Form8预定房间界面,是会员预定房间的界面。包括了下面几种组件:TLabel、TComboBox、TEdit、TButton、TDBGrid、TMonthCalendar、TADOConnection、TADOQuery、TADOTable、TDataSource1)TLabel在Form8种label主要是起到标

13、注或提示的作用。如Label1的text属性=“房间标准”,则表示要我们在它旁边的地方选择房间标准。2)TComboBox这是下拉列表组件,可供我们选择下拉列表中下面的任何一行数据。3)TEdit可供用户输入数据的组件,用户单击TEdit后便可以在输入正确的数据。4)TButton用来触发相应的事件。Form8中4个Button分别为“确定”、“取消”、“注册会员”、“返回主菜单”。按下“确定”,将会弹出订房信息确认对话框;按下“取消”,所有刚才所填写的信息将被清空;按下“注册会员”,将会弹出注册会员对话框;按下“返回主菜单”,将会返回到Form1的界面上。5)TDBGridTDBGrid是用

14、来显示在程序中运行SQL语句后结果的组件,以表格的方式清晰明了地显示按照用户所需求的操作执行后的结果。这里的TDBGrid显示的是会员用户可以预定的房间信息。6)TmonthCalendar这是Win32组件页中的组件,以月历方式显示时间,选择Date属性时,则返回用户选择的日期。用户可以选择所希望入住酒店的日期。选择完毕后,会在Edit1的面板中显示。7)完成连接数据库的四个组件TADOConnection、TADOQuery、TADOTable、TdataSource。TADOConnection是采用ADO组件连接数据库时,用于创建一个到达某个数据源的开放连接。在程序中不会显示该组件,其

15、设置方法如下:提供程序选择:MicroSoft OLE DB Provider for SQL Server;连接:服务器名称输入SQL Server Manage Stdio中服务器的名称,选择使用Windows NT 集成安全设置,在服务器上选择数据库选择所需要连接的数据库。测试连接通过即可。属性栏处将ADOConnection得Connected改为true即可。TADOQuery用于查询的功能,在C+语言中运用ADOQuery便可执行SQL语句。在ADOQuery的SQL属性中输入 select * From 表名。TADOTable-Name用来选择使用数据库中的哪一张表。Tdata

16、Source-DataSet设置成TADOQuery1,这样数据库便连接成功。/以下组件所包含的TADOConnection、TADOQuery、TADOTable、TdataSource将不再介绍。三、Form9VIP会员信息注册确认界面。包含一种TButton组件。Button1,在程序中显示为继续按钮,倘若信息正确,单击确认,触发下一事件。Button2在程序中显示为返回按钮,倘若信息有误,单击返回,回到VIP会员信息注册确认界面,修改信息。四、Form10房间数据管理界面。此界面包含TADOConnection、TADOQuery、TADOTable、TdataSource、TEdit

17、、TButton、TDBGrid、TStaticText、TPanel。1)连接数据库组件TADOConnection、TADOQuery、TADOTable、TdataSource便不再介绍。2)TEdit组件在这个界面中有3个,Edit1在界面中用作输入房间号的容器,Edit2在界面中用作输入会员号的容器,Edit1在界面中用作输入退房时间的容器。3)TButton组件有5个,Button1为查看,输入正确的房间号,或正确的会员号或者正确格式的退房时间,都会弹出所对应的响应事件。退房,将房间住宿表中房间号对应的或者会员所住的或者退房日期所对应的房间的住宿信息,住宿起始时间,住宿结束时间清空

18、。关闭则退出此界面。4)TDBGrid是一个可以将数据库中表的信息显示在程序中的组件,TDBGrid的DataSource属性设置为DataSource中的数据源(DataSource的数据源为TADOQuery)5)TstaticText是用来显示提示用户所需要输入的信息6)Tpanel是一个容器,将所有组件放在其中,并无其他的用途。五、Form11包含两个组件TRadioGroup和TButton。1) TradioGroup是用来随机选择用户需要选择的选项,我们可以在它的Items属性中键入所有选项的名称,用switch语句来判断它的ItemIndex值,来得到用户选择的是哪一个选项。2

19、) TButton含有确定和取消。按下取消时,关闭此窗口;按下确认时,根据用户选择的选项,弹出不同的窗口:如选择第一个选项:房间管理,则弹出Form10窗体;选择第二个选项:会员管理,则弹出Form12;选择第三个选项:密码修改,则弹出Form13窗体。六、 Form12会员数据管理界面。此界面包含TADOConnection、TADOQuery、TADOTable、TdataSource、TEdit、TButton、TDBGrid、TStaticText、TPanel。1)连接数据库组件TADOConnection、TADOQuery、TADOTable、TdataSource便不再介绍。2

20、)TEdit组件在这个界面中有1个, Edit1在界面中用作输入会员号的容器,输入正确的会员号,按下Button才会有对应的响应事件。3)TButton组件有5个,Button1为查找会员,输入正确的会员号,会把该会员号对应的会员的所有信息在TDBGrid中显示出来。删除会员则删除所选中的会员。刷新即更新数据库中的表。关闭则关闭此界面。七、 Form13管理员更改密码界面。包含TADOConnection、TADOQuery、TADOTable、TdataSource、TEdit、TButton、TStaticText组件。1) 连接数据库组件TADOConnection、TADOQuery、

21、TADOTable、TdataSource便不再介绍。2) TEdit包括TEdit1TEdit2TEdit3TEdit4分别对应如下信息的输入:管理员账号、管理员密码、新密码、确认新密码。若四个Edit组件的Text的内容均为空,则会弹出输入所缺少的内容;若信息错误会提示错误。通过ADOQuery1-RecordCount来判断信息是否正确,若在管理员表中找到该信息,则ADOQuery1-RecordCount0,反之,ADOQuery1-RecordCountText.Length()来进行判断,若Edit1-Text.Length()=0,则说明没有输入数据;还有在数据库查询的时候,我们

22、用ADOQuery-RecordCount来进行判断,若ADOQuery-RecordCoun0,则说在数据库中存在此信息,查找成功,返回的值为1,若ADOQuery-RecordCounSQL-ADD(“select *from 表名”)。使用说明书本酒店管理系统为图形用户界面,操作友好直观且容易掌握。会员注册: 点击会员注册按钮后弹出选择VIP和普通会员注册的对话框,任意选择一会员类型后来到填写会员信息界面。界面中将要求会员输入自己的姓名,性别,出生年月日,工作地址,联系方式(电话号码),身份证号以及E-mail等信息。其中后面带有红色*标志的为必须输入内容。输入完成后点击确定弹出确认会员

23、信息对话框,若确定则按继续,将自动分配一个会员编号并提示注册成功;若想修改信息则返回。数据管理:点击数据按钮后弹出对话框可选择会员管理、房间管理和密码修改。会员管理中可以输入会员号进行会员信息的查看,可刷新会员表,显示全部会员信息,以及删除某会员的操作。房间管理中可以输入房间号进行房间信息的查看,可刷新房间表,显示全部房间信息,以及退订某房间的操作。密码修改中输入管理者的会员号号,新、旧密码后可以更新管理者密码。房间预定:点击预定房间按钮后弹出对话框。依次输入或选择房间标准,住宿时期,住宿天数,楼层,房间号,会员号,会员姓名后点击确认将预定该房间。若有任一项输入有误将不能成功订房。退出系统:点

24、击后将退出该管理系统。总结此次项目我们选择了酒店管理系统,主要实现了房间的订房,退房以及会员用户注册等功能。我们选用了C+语言编写,配合Microsoft SQL Server连接数据库。C+语言是我们比较熟悉的语言,它在面向对象这一块做得很不错,开发的环境选用的是C+ Builder6这款软件。我们首先是对整个系统进行了简要的需求分析。主要还是面向酒店管理者。那么管理就必定需要一定权限,比如帐号和密码;管理又分为对房间的管理和对会员的管理,那么必不可少有订房,退房,会员注册、会员的资料修改以及会员的删除等功能。而重头戏必定就是房间的预定。房间标准、入住日期,住多久?谁住?还比如具体住在几楼哪

25、间房。这些都是必须要考虑的问题。有了一定的结论后便开始着手编写。由于C+ Builder中可以直接使用组件进行图形操作,方便了我们对界面的设计。虽然不一定最好看,最美观,但也力求把功能做到位,力求以尽量简约快捷的方式来进行精准的操作。但在不久后就遇到了各种困难:组件使用各种的语法,如如何调用出组件中输入的内容,如何利用按钮来实现打开,关闭,清空等操作,如何让下拉列表中选中的内容返回值,如何在日历中固定只返回年份的值等等。不过这些都在我们通过对书本的参考后有了解决。关键在于对数据库的操作。数据库本身语法并不难,难就难在结合C+语言在C+Builder中通过组件中各种事件的响应来显示、修改、整理数

26、据库。在这方面我们询问了同学,老师,又对参考书籍进行了反复的研究,在反复的尝试又反复的失败后,最终消灭所了敌人!也许还有做得不够完美的地方,不过这也是一种成功。这次实验并见得有多困难,但也是对我们每一个人的挑战。我们学会了团队合作,一个人跨不过去的坎,大家互相帮助一起上;我们学会了变向思维,一个方向走不通,不死钻,而是眼观六路,尝试每条可能到达目的地的道路;挤进了死胡同,不着急不放弃,我们跳出来,纵观全局找到突破点!学习的道路上总是有各种障碍,从这次的课程设计中我们了解到,踏实学习书本内容,学会举一反三,遇事不骄不躁,方能跨越障碍,真正做到学以致用,学有所成!参考文献1数据库系统概论(第四版)

27、王珊、萨师煊 高等教育出版社2.C+ Builder 6程序设计教程(第一版)陆卫忠 刘文亮 编著 科学出版社附录源代码Unit1.cpp/-#include #pragma hdrstop#include Unit1.h#include Unit2.h#include Unit3.h#include Unit8.h#include Unit10.h/-#pragma package(smart_init)#pragma resource *.dfmTForm1 *Form1;/-_fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner)

28、/-void _fastcall TForm1:Button3Click(TObject *Sender) Form1-Close();/-void _fastcall TForm1:Button2Click(TObject *Sender) PasswordDlg-Show();/-void _fastcall TForm1:Button1Click(TObject *Sender) OKRightDlg-Show();/-void _fastcall TForm1:Button4Click(TObject *Sender) Form8-Show();/-Unit2.cpp/-#includ

29、e #pragma hdrstop#include Unit2.h#include Unit10.h#include Unit11.h#include Unit12.h/- #pragma resource *.dfmTPasswordDlg *PasswordDlg;/-_fastcall TPasswordDlg:TPasswordDlg(TComponent* AOwner): TForm(AOwner)/-void _fastcall TPasswordDlg:CancelBtnClick(TObject *Sender) PasswordDlg-Close();/-void _fas

30、tcall TPasswordDlg:OKBtnClick(TObject *Sender) AnsiString sql,ID,Password; ID=管理员账号=+Edit1-Text+; Password=管理员密码=+Edit2-Text+; sql+=select * from 管理员 where +ID+ and +Password+; ADOQuery1-SQL-Clear() ; ADOQuery1-SQL-Add(sql); ADOQuery1-Open(); if(ADOQuery1-RecordCountText=; else ShowMessage(登陆成功); Edit1-Text=; Edit2-Text=; PasswordDlg-Close(); Form11-Show(); /-Unit3.cpp/-#include #pragma hdrstop#include Unit3.h#include Unit4.h#include Unit5.h/-#pragma resource *.dfmTOKRightDlg *OKRightDlg;/- _fastcall TOKRightDlg:TOKRightDlg(TComponent* AOwner): TForm(AOwner) /-void _fastcall TOKRightDlg:Bu

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号