酒店管理系统课程设计Word文件下载.docx
- 文档编号:19776758
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:13
- 大小:354.76KB
酒店管理系统课程设计Word文件下载.docx
《酒店管理系统课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《酒店管理系统课程设计Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
5.3查询10
6总结11
参考文献12
成绩评定12
1设计内容
酒店管理系统:
实现住房,退房,住房人数统计等功能
2概要设计
2.1数据库设计
2.1.1数据库E-R图
图2-1E-R
2.1.2
住户(序号,姓名,性别,身份证号)
房间(房号,类型,人数)
所住(序号,房号)
2.1.3数据库表设计
表2-1住户-person
列名
列名(Table)
类型
长度
非空
序号
number
Int
4
是
姓名
name
Varchar
20
性别
sex
Char
否
身份证号
id
18
表2-2房间-room
房号
roomid
type
人数
num
表2-3所住-relax
2.2逻辑结构设计
2.2.1酒店管理系统数据流图
图2-2数据流图
2.2.2数据字典
图2-3
图2-4
图2-5
图2-6
3详细设计
3.1酒店管理系统程序流程图
图3-1酒店管理系统程序流程图
4程序源码
4.1客房申请
主要思想:
输入身份证号,查看房间的剩余,进行入住
request.setCharacterEncoding("
utf-8"
);
ServletContextapplication=getServletContext();
Stringleixing=(String)application.getAttribute("
leixing"
Stringroomno=(String)application.getAttribute("
roomno"
DataSourceds=null;
Contextcontext;
try{context=newInitialContext();
ds=(DataSource)context.lookup("
java:
/comp/env/jdbc/mysqlds"
}catch(NamingExceptione){
e.printStackTrace();
System.out.println("
获取数据源错误!
"
}
try{Stringsql="
select*fromroomwherestatue=?
androomno=?
;
QueryRunnerrun=newQueryRunner(ds);
Stringstr[]={leixing,roomno};
Listlist=(List)run.query(sql,str,newBeanListHandler(room.class));
if(list.isEmpty()){
request.getRequestDispatcher("
/servlet/insertroom"
).forward(request,response);
}
else{ServletContextapplication1=getServletContext();
application1.setAttribute("
roomno);
leixing);
RequestDispatcherrs=request.getRequestDispatcher("
try{rs.forward(request,response);
return;
}catch(Exceptione){}}
}catch(SQLExceptione){e.printStackTrace();
}
try{Stringsql="
selectclientname,sex,shenfenzheng,roomnumberfromclientwhereyuding='
1'
QueryRunnerrun=newQueryRunner(ds);
Listlist=(List)run.query(sql,newBeanListHandler(dbcommen.class));
request.setAttribute("
list"
list);
/main/yudingruzhu.jsp"
}catch(SQLExceptione){e.printStackTrace();
4.2退房申请
客户退房模块设计是:
输入房间号后查询客户信息及消费情况;
在输出之前首先要预先查询房间号是否有人入住,再修改数据库信息,最后显示客户的信息及消费情况。
退房设计思想为:
当输入房间号后到trueroom2控制块中查询该房间是否已经入住,到满足条件时,到insertroom对数据库插入退房时间,然后再到getall控制块查询:
客户信息,房间入住,退房时间以及客户消费信息。
最后到all.Jsp页面显示所有信息。
然后结账,退房。
request.setCharacterEncoding("
Stringroomno=request.getParameter("
Stringleixing=request.getParameter("
try{Stringsql="
Stringstr[]={leixing,roomno};
Listlist=(List)run.query(sql,str,newBeanListHandler(
room.class));
ServletContextapplication1=getServletContext();
application1.setAttribute("
roomno);
leixing);
RequestDispatcherrs=request.getRequestDispatcher("
try{rs.forward(request,response);
return;
}catch(Exceptione){}}
Insertroom的实现如下:
Stringleixing=(String)application.getAttribute("
Stringroomno=(String)application.getAttribute("
System.out.println(roomno);
System.out.println(leixing);
inti=Integer.parseInt(leixing);
intresult=0;
Stringmessage=null;
Stringsql=null;
try{
switch(i){
case0:
sql="
updateroomsetstatue=1whereroomno=?
break;
case1:
updateroomsetstatue=2,startdate=now()whereroomno=?
case2:
updateroomsetenddate=now()whereroomno=?
Stringsr[]={roomno};
result=run.update(sql,sr);
if(i==1){
sql="
updateclientsetyuding=2whereroomnumber=?
QueryRunnerrun1=newQueryRunner(ds);
run1.update(sql,sr);
}
if(i==2){ServletContextapplication1=getServletContext();
RequestDispatcherrs=request.getRequestDispatcher("
/servlet/seachall"
try{
rs.forward(request,response);
return;
}catch(Exceptione){
}}
else{if(result==1){
message="
操作成功!
}else{
操作失败!
request.setAttribute("
message"
message);
request.getRequestDispatcher("
/addResult.jsp"
).forward(request,
response);
}catch(SQLExceptione){
Seachall的实现如下:
Stringconsumerno="
123456"
Stringsql=null;
try{sql="
selectclientname,sex,shenfenzhengfromclientwhereyuding=2androomnumber=?
Stringstr[]={roomno};
Listlist=(List)run.query(sql,str,newBeanListHandler(
dbcommen.class));
dbcommenbl=(dbcommen)list.get(0);
bl"
bl);
sql="
selectroomno,startdate,enddate,
timestampdiff(day,startdate,enddate)asday
fromroomwherestatue=2androomno=?
Listlist1=(List)run.query(sql,str,newBeanListHandler(room.class));
roomroom1=(room)list1.get(0);
room1"
room1);
select*fromconsumerwhereconsumerno=?
Stringstr1[]={consumerno};
Listlist2=(List)run.query(sql,str1,newBeanListHandler
(consumer.class));
consumercm=(consumer)list2.get(0);
cm"
cm);
if(list.isEmpty()||list1.isEmpty()||list2.isEmpty()){System.out.println("
读取失败!
}else{
/seachall.jsp"
}}
4.3查看
房间查询的思想为:
先到getallroom控制块对条件进行处理,将满足条件的房间号的数组放到room.Class中,再到Roomseach.Jsp页面将数组显示出来。
try{sql="
selectroomno,statue,startdate,enddatefromroom"
QueryRunnerrun=newQueryRunner(ds);
Listlist=(List)run.query(sql,newBeanListHandler(room.class));
request.setAttribute("
request.getRequestDispatcher("
/main/roomseach.jsp"
catch(SQLExceptione){
e.printStackTrace();
5程序运行与调试
5.1酒店入住页面
图5-1入住
5.2退房
5-2酒店退房管理
5.3查询
5-3住户查询页面
6总结
通过一段时间的设计与编写,该酒店管理系统终于有了一个比较完整的框架。
现将心得体会总结如下:
由于时间仓促,这暂时只是一个简单的管理系统,但从设计这个系统的过程中,我感受到了关于软件工程,数据库设计、商业管理等各方面知识在实际工作中的应用。
在开发该系统过程中,我始终坚持以下四项原则,并朝相应目标靠拢:
(1)实用为主
任何系统都应该以用户需求为最终目标,以方便用户为最高原则,同进要融入先进的管理经验与技巧。
该系统努力根据用户的实际需求功能情况,度身订造一套先进的管理系统,并且将在统一的WindowsNT/9X图形界面下提供各种实用功能,尽可能降低使用前的培训、实施和使用中的维护时间。
力求满足现在及未来的各种需求,真正为管理及决策提供强有力的支持。
(2)稳定可靠
不论在软件设计还是硬件制造中,稳定都是压倒一切的。
本管理系统通过选用先进的开发软件,成熟的网络结构及安全可靠的数据库,再配合硬件的优化选型,从而保证系统的可靠性与容错性。
(3)先进灵活
系统充分应用现有成熟的网络技术、软件开发技术,先进的客户/服务器结构,及高性能的数据库,满足大型客户的日常运营、开展电子商务等的需要。
同时用户可自行灵活设置参数和各种代码,适应自己的特殊需要。
总体而言,国内酒店IT技术开发的现状是:
1、需求不明确,使酒店项目工程性强,产品化不足,开发商的总体成本居高不下,研发缺乏原动力。
2、没有行业统一标准,厂商各自为政,市场分化导致产品整合难度大。
3、产品推广依赖行政手段和关系网,抑制了新技术的引进和技术的创新,不利于形成自己的产品特色和质量控制。
4、国外优秀品牌的低价进入,垄断了国内高星级市场,开发商利润空间式微。
参考文献
[1][美]Microsoft公司.MicrosoftSQLServer2000数据库编程.北京:
希望电子出版社,2001
[2]王珊,萨师煊.数据库系统概论[M].第4版.北京:
高等教育出版社2006
[3]张海藩,软件工程导论[M].第5版,北京,清华大学出版社2011
[3]jsp基础教程:
[EB/OL]
成绩评定
成绩教师签字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 课程设计