软件课程设计报告.docx
- 文档编号:12230419
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:58
- 大小:1.82MB
软件课程设计报告.docx
《软件课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件课程设计报告.docx(58页珍藏版)》请在冰豆网上搜索。
软件课程设计报告
南京理工大学
课程设计说明书
作者:
杨文
朱海颖
学号:
0806550205
0806550206
学院(系):
计算机科学与技术学院
专业:
软件工程
题目:
酒店管理系统
指导老师:
李波老师
2010年9月
一、概述·················································3
二、需求分析··············································3
三、系统设计··············································11
四、系统实施···············································8
五、系统测试···············································8
六、收获和体会············································8
七、参考文献·············································9
一、概述
1、项目背景:
酒店兴衰,关键是管理。
建设一间现代化的酒店,需要的是钱,而要经营管理好一间酒店,关键是管理。
酒店管理是现代酒店的命脉,管理水平的高低,决定着酒店经营的成败。
酒店是企业,同样是要重视管理的工作,加强管理。
现代管理者即是财富,当代的管理者更是直接的财富。
管理的意义,简单地讲,管就是主事,理就是治事,合起来为主管和治理人与事。
随着经济的不断增长和旅游业的飞速发展,酒店行业的市场越来越广阔,竞争也越来越激烈。
这就无形中对酒店的管理提出了更高的要求,需要其现代化、系统化、规范化、高效化,这样才能在激烈的市场竞争中生存和发展下去。
酒店管理的特殊性在于信息量大、信息更新快、信息间关联多、涉及的各层管理人员复杂.。
同时其分工、权限又各不相同。
如果所有的工作都按部就班地手工完成,将在很大程度上浪费劳动力和时间,降低工作效率。
因此借助于当前蓬勃发展的IT工具来对酒店、宾馆业务进行管理,即引进计算机管理系统,把大量的工作微机化管理,这样就可以实现高效、安全、合理的管理模式。
2、编写目的:
众所周知,现在的酒店行业竞争异常激烈,怎样吸引顾客,提高酒店满员率以及管理水平是十分重要的任务,而借助于当前蓬勃发展的IT工具来进行酒店的管理既方便又快捷,大大提高了办事效率。
而且在数据保存和数据交换等方面也是手工操作所无法比拟的。
虽然信息化不是酒店走向成功的关键因素,但是它可以帮助那些真正影响成败的要素发挥更大的作用!
使用软件来管理酒店的日常任务,能解决用户预订操作繁琐,酒店管理信息量大,处理效率低,准确度差等问题。
极大的方便了客人的预订和酒店的管理。
3、软件定义:
酒店管理系统(简称HMS):
适用于一般中小型酒店,为酒店提供客房管理、客户预定、统计查询等功能的管理平台。
4、开发环境:
编程语言为Delphi7.0,数据库软件为SQLServer2000。
二、需求分析
1、问题的提出:
随着经济的不断增长和旅游业的飞速发展,酒店行业的市场越来越广阔,竞争也越来越激烈。
这就无形中对酒店的管理提出了更高的要求,需要其现代化、系统化、规范化、高效化,这样才能在激烈的市场竞争中生存和发展下去。
酒店管理的特殊性在于信息量大、信息更新快、信息间关联多、涉及的各层管理人员复杂.。
同时其分工、权限又各不相同。
如果所有的工作都按部就班地手工完成,将在很大程度上浪费劳动力和时间,降低工作效率。
因此借助于当前蓬勃发展的IT工具来对酒店、宾馆业务进行管理,即引进计算机管理系统,把大量的工作微机化管理,这样就可以实现高效、安全、合理的管理模式。
2、系统的业务功能分析:
♦酒店管理系统应包括的基本功能如下图所示:
♦主要功能概述:
(1)系统管理功能:
该功能实现操作员管理,如操作员的添加、删除和修改操作,并设置操作员的操作权限对指定的用户进行密码的修改。
(2)客房管理功能:
该功能实现对客房的基本信息的设置,如客房的地点、客房等级、客房物品等信息,同时对客房信息的查询。
(3)订房管理功能
该功能实现用户订房信息管理,提供对定房客户资料的登记、查询和退订操作,还能实现客户留言。
订房信息包括客房的类型、订房的时间等。
(4)收银管理功能
该功能实现客房收银管理,提供对客户住房结账信息的统计。
(5)查询管理功能
该功能实现订房历史、收支历史等数据的查询。
4、系统的业务流程分析:
♦酒店管理系统的业务流程分析如下图所示:
3、需完成的功能:
酒店管理系统主要包括系统管理功能、客房管理功能、订房管理功能、收银管理功能及查询管理功能。
(1)系统管理功能:
该功能实现操作员管理,如操作员的添加、删除和修改操作,并设置操作员的操作权限对指定的用户进行密码的修改,还有密码的修改、系统的初始化等功能。
(2)客房管理功能:
该功能实现对客房的基本信息的设置,如客房的地点、客房等级、客房物品等信息,同时对客房信息的查询。
(3)订房管理功能
该功能实现用户订房信息管理,提供对定房客户资料的登记、查询和退订操作,还能实现客户留言。
(4)收银管理功能
该功能实现客房收银管理,提供对客户消费入账、住房结账信息的统计。
(5)查询管理功能
该功能实现订房历史、收支历史等数据的查询。
4、数据流图:
总体数据流图(0层):
1层:
2层:
①订房事务数据流图:
②入住事务数据流图:
③退房结账数据流图:
5、数据字典
(1)源点及汇点条目:
源点:
客户
简述:
要入住酒店的人
有关数据流:
订房事务,入住事务,退房结账
数目:
1
汇点:
后台
简述:
后台的数据库信息
有关数据流:
订房事务,入住事务,退房结账
数目:
1
(2)数据文件条目:
数据文件名:
客户信息D1
简述:
指明客户的基本信息
组成:
证件号+姓名+性别+工作单位+…
数据文件名:
订房信息D2
简述:
客户预订客房的信息
输入数据:
客户信息+客房信息
输出数据:
更新后的客房信息
组成:
客户姓名+证件号+性别+客房编号+登记日期+…
数据文件名:
客房信息D3
简述:
描述了客房的状态及信息
输入数据:
订房信息+退房信息
输出数据:
更新后的客房信息
组成:
客房编号+客房等级+客房价格+…
(3)加工逻辑词条目(主要的):
加工名:
订房事务
加工编号:
1
简单描述:
客户预订客房
输入:
客户信息、客房信息
输出:
订房信息
加工逻辑:
客户预订客房,前台为客户查询客房信息、预订客房,并为客户做好预订登记记录,更新客房信息。
加工名:
入住事务
加工编号:
2
简单描述:
记录入住后的信息
输入:
订房信息,客户信息
输出:
客房信息
加工逻辑:
客户入住后事务的管理,信息的更新。
加工名:
退房结账
加工编号:
3
简单描述:
退房结算
输入:
客房信息,客户信息
输出:
退房报表
加工逻辑:
客户退房,前台为客户结算退房,并做好客房的更新信息。
(4)数据流条目:
数据流名:
订房登记表
说明:
存放预订登记信息
数据流来源:
订房事务的更新信息
数据流去向:
后台
组成:
客户姓名+证件号+登记日期+客房编号+…
数据流名:
退房报表
说明:
记录客户从入住到退房时总的的信息
数据流来源:
退房事务更新信息
数据流去向:
后台
组成:
证件号+姓名+房间编号+入住天数+结账日期+消费总金额+….
三、系统设计
1、数据表:
(1)、E-R图:
主要部分:
(2)、数据库的关系模式:
操作员(ID,name,loginpass,department,operdate,right_1,right_2,
right_3,right_4,right_5,operator)
房间(Roomno,Roomplace,Roomclass,Roomprice,Roompicture,Roomgoods,Number,Remark,IsKeep,IsUse,IsHourRoom,OperDate,Operator);
预订客房(bookno,name,certi,certino,sex,birthplace,birthday,unit,
address,contact,ishourroom,fromwhere,registerday,
precount,roomno,otherfee,roomprice,discount,deposit,
operator,operdate,remark);
“订房历史”与“预定客房”关系模式相同
退房结费(bookno,roomno,name,certino,factfee,remark,operdate,
operator);
“历史收支”与“退房结费”关系模式相同
客人留言板(MessageId,MessageOwner,MessageTitle,MessageText,MessageTime);
(3)、表的物理设计:
操作员表:
房间表:
预订客房表:
退房收支表:
客人留言板表:
订房历史表:
历史收支表:
2、视图,索引,数据库权限:
视图:
创建了Max(maxno1)视图,来从预定客房表中取出最大的bookno
创建Maxx(maxno2)视图,来从订房历史表中取出最大的bookno再从maxno1,maxno2选一个最大的加1作为下次预订时的bookno,以便于实现自动增量。
索引为主键索引
数据库权限包括查询、插入、更新、删除。
3、软件功能设计
(1)、系统的结构图
(2)、功能表:
系统管理功能
完成对操作员的管理、密码修改、系统初始化等功能;
客房管理功能
完成对客房信息的设置以及客房的查询等功能;
订房管理功能
完成对客户订房、退订及客户留言等功能
收银管理功能
完成消费入账、退房结账等功能
查询管理功能
完成对订房历史、收支历史的查询功能
(3)、功能描述:
(1)系统管理功能:
该功能实现操作员管理,如操作员的添加、删除和修改操作,并设置操作员的操作权限对指定的用户进行密码的修改。
(2)客房管理功能:
该功能实现对客房的基本信息的设置,如客房的地点、客房等级、客房物品等信息,同时对客房信息的查询。
(3)订房管理功能
该功能实现用户订房信息管理,提供对定房客户资料的登记、查询和退订操作,还能实现客户留言。
订房信息包括客房的类型、订房的时间等。
(4)收银管理功能
该功能实现客房收银管理,提供对客户住房结账信息的统计。
(5)查询管理功能
该功能实现订房历史、收支历史等数据的查询。
四、系统实施
(1)、系统的界面设计:
1、启动界面:
2、登陆界面:
运行程序,弹出登录窗体,在图中输入系统已经存在的用户名及密码,然后单击确定,即可登录到主界面
3、主界面:
4、系统管理模块
4.1操作员管理界面:
点击系统管理->操作员管理,可以添加操作员,设置其权限。
4.2密码修改界面:
点击系统管理->修改密码,可修改操作员的密码。
5、客房管理模块
5.1客房设置界面:
点击客房管理->客房设置,进入客房设置界面,可以添加房间:
5.2客房单价设置界面:
点击客房管理->客房单价设置,进入客房单价设置界面,可对客房的单价,物品进行更新:
5.3客房查询界面:
点击客房管理->客房查询,进入客房查询界面,可对客房进行查询:
6、订房管理模块:
6.1客户订房界面:
点击订房管理->客户订房,进入客户订房界面,为客人预订客房:
6.2列出所有客户界面:
点击订房管理->列出所有客户,进入列出所有客户界面,该界面可显示出当前在住的客人:
6.3客户退订界面:
点击订房管理->客户退订,进入客户退订界面,可以实现退订功能:
6.4客户留言界面:
点击订房管理->客户留言,进入客户留言界面,可进行留言:
6.5查看客户留言界面:
点击订房管理->查看客户留言,进入查看客户留言界面,可查看客户的留言:
7、收银管理模块:
7.1消费入账界面:
点击收银管理->消费入账,进入消费入账界面,纪录客户的消费,更新客户账单:
7.2客户退房界面:
点击收银管理->客户退房,进入客户退房界面:
7.3查看当天收支界面:
点击收银管理->查看当天收支,进入查看当天收支界面:
8、查询管理模块:
8、1订房历史数据查询界面:
点击查询管理->订房历史数据查询,进入订房历史数据查询界面
8、2收支历史数据查询界面:
点击查询管理->收支历史数据查询,收支历史数据查询界面
(2)、事件的设计过程:
首先创建一个主函数,与各功能模块相连。
各个模块分别实现系统所需要的功能。
模块界面的事件有很多相似之处,主要设计查询、增加、删除,更新4种操作全部或部分。
♦登陆界面的事件:
输入用户名
如果用户名不为空,启用确定按钮,反之禁用按钮
输入密码
点击登陆按钮Button1Click
对账户密码进行验证,清空输入框。
如果匹配成功,进入主界面,反之弹出错误提示,登陆错误超过3次,则退出系统。
点击退出按钮
退出程序
♦以客房信息设置为例,对客房的查询、增加、更新、删除分散在3个界面中客房管理界面、客房查询界面、客房单价设置界面。
增加客房事件:
(在客房管理界面中)
显示窗体FormShow;
点击“增加“按钮Button2Click,清空各个文本框;
向文本框中填入内容,点击”保存”按钮BitBtn1Click,即保存成功。
删除客房事件:
(在客房管理界面中)
显示窗体FormShow;
在Edit1中填入客房编号,再点击”删除”按钮BitBtn3Click,即保存成功。
更新客房信息事件:
(在客房单价设置界面中)
显示窗体FormShow;
点击“更新“按钮Button2Click,清空各个文本框;
在文本框中填入跟新内容,点击保存”按钮BitBtn1Click,即保存成功。
查询客房事件:
(在客房查询界面中)
通过选择择查询类型,查询范围Groupbox中的RadioButton,来圈定选择范围,再点击“查询“按钮(SpeedButton1Click),即可在DBGrid中显示查询结果。
*(3)、主要代码描述:
1)主窗体的主要代码:
procedureTMainForm.exeSql(strQuery:
TADOQuery;strSql,sqlType:
string);
begin
try
withstrQuerydo
begin
close;
SQL.Clear;
SQL.Text:
=strSql;
ifsqlType='1'then
Open
else
ExecSQL;
end;
Except
strQuery.Close;
end;
end;
procedureTMainForm.N6Click(Sender:
TObject);//客房管理
begin
RoomForm:
=TRoomForm.Create(self);
RoomForm.ShowModal;
RoomForm.Free;
end;
procedureTMainForm.N2Click(Sender:
TObject);//操作员管理
begin
OperatorForm:
=TOperatorForm.Create(self);
OperatorForm.ShowModal;
OperatorForm.Free;
end;
procedureTMainForm.N3Click(Sender:
TObject);//修改用户密码
begin
ChangepwForm:
=TChangepwForm.Create(self);
ChangepwForm.ShowModal;
ChangepwForm.Free;
end;
procedureTMainForm.N5Click(Sender:
TObject);//退出系统
begin
Application.Terminate;
end;
procedureTMainForm.N7Click(Sender:
TObject);//客房单价设置
begin
RoompriceForm:
=TRoomPriceForm.Create(self);
RoompriceForm.ShowModal;
RoompriceForm.Free;
end;
procedureTMainForm.N8Click(Sender:
TObject);//客房查询
begin
RoomqueryForm:
=TRoomqueryForm.Create(self);
RoomqueryForm.ShowModal;
RoomqueryForm.Free;
end;
procedureTMainForm.N9Click(Sender:
TObject);//客人订房
begin
BookroomForm:
=TBookroomForm.Create(self);
BookroomForm.ShowModal;
BookroomForm.Free;
end;
procedureTMainForm.N10Click(Sender:
TObject);//住宿客人一览表
begin
ViewCustomerForm:
=TViewCustomerForm.Create(self);
ViewCustomerForm.ShowModal;
ViewCustomerForm.Free;
end;
procedureTMainForm.N11Click(Sender:
TObject);//客人退订
begin
CancelbookForm:
=TCancelbookForm.Create(self);
CancelbookForm.ShowModal;
CancelbookForm.Free;
end;
procedureTMainForm.N12Click(Sender:
TObject);//客人留言
begin
WritemessageForm:
=TWritemessageForm.Create(self);
WritemessageForm.ShowModal;
WritemessageForm.Free;
end;
procedureTMainForm.N13Click(Sender:
TObject);//查看客人留言
begin
ViewmessageForm:
=TViewmessageForm.Create(self);
ViewmessageForm.ShowModal;
ViewmessageForm.Free;
end;
procedureTMainForm.N16Click(Sender:
TObject);//消费入账
begin
DebtForm:
=TDebtForm.Create(self);
DebtForm.ShowModal;
DebtForm.Free;
end;
procedureTMainForm.N14Click(Sender:
TObject);//客人退房
begin
CheckoutForm:
=TCheckoutForm.Create(self);
CheckoutForm.ShowModal;
CheckoutForm.Free;
end;
procedureTMainForm.N15Click(Sender:
TObject);//当日收支查询
begin
DaymoneyForm:
=TDaymoneyForm.Create(self);
DaymoneyForm.ShowModal;
DaymoneyForm.Free;
end;
procedureTMainForm.N17Click(Sender:
TObject);//订房历史查询
begin
BookhistoryForm:
=TBookhistoryForm.Create(self);
BookhistoryForm.ShowModal;
BookhistoryForm.Free;
end;
procedureTMainForm.N18Click(Sender:
TObject);//收支历史查询
begin
MoneyhistoryForm:
=TMoneyhistoryForm.Create(self);
MoneyhistoryForm.ShowModal;
MoneyhistoryForm.Free;
end;
procedureTMainForm.N4Click(Sender:
TObject);//系统初始化
var
sSql:
String;
begin
sSql:
='deletefrom操作员';
exeSql(ADOQuery1,sSql,'2');
sSql:
='insertinto操作员(name,loginpass,department,operdate,right_1,right_2,right_3,right_4,right_5,operator)values('
+'''admin'',''admin'',''总经理室'''+','''+datetostr(date())+''','
+'1,1,1,1,1,'''+username+''')';
exeSql(ADOQuery1,sSql,'2');
sSql:
='deletefrom预定客房';
exeSql(ADOQuery1,sSql,'2');
sSql:
='deletefrom订房历史';
exeSql(ADOQuery1,sSql,'2');
sSql:
='deletefrom退房结费';
exeSql(ADOQuery1,sSql,'2');
sSql:
='deletefrom房间';
exeSql(ADOQuery1,sSql,'2');
sSql:
='deletefrom历史收支';
exeSql(ADOQuery1,sSql,'2');
sSql:
='deletefrom客人留言板';
exeSql(ADOQuery1,sSql,'2');
MessageDlg('系统初始化结束,请退出!
',mtinformation,[mbok],0);
end;
procedureTMainForm.FormCr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 课程设计 报告