版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java课程设计报告-酒店客房管理系统Java网络编程课程设计报告酒店客房管理指导教师:*班级:1303班组长:*组员:*完成日期:2016年6月20号运城学院计算机科学与技术系目录第一章问题定义.第二统需求分析2.1系统建设目标2.2可行性分析1.1.1 2.1技术可行性.1.1.2 经济可行性1.1.3 运行可行性1.1.4 法律可行性.2.3系统需求分析第三章系统总体设计3.1 系统总体结构设计3.2 使用结构化方法进行系统分析.2学生宿舍管理系统的E-R图工3数据库设计第四章系统的详细设计及其实现4.1注册页面42用户登录4.3入住登记4.4离店结账并生成结账报表.4.
2、5房间增加56666777788991012131415161819第一章问题定义随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。现今酒店宾馆的规模不断扩大,客
3、户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多酒店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。第二章系统需求分析2.1系统建设目标在对系统初步调
4、查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。由于传统的手工客房信息管理,管理过程复杂繁琐,低执行效率,并且容易出错。为了提高工作效率,减少工作中的错误,针对酒店客房管理开发管理软件,让前台客服人员通过电脑操作进行酒店客房管理,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。本酒店客房管理系统主要以提高酒店客房服务的速度、精度,改善顾客服务的亲善程度,减少工作差错为目标,减少各项资金支出,提高管理质量,从而能为酒店经营上档次创造条件。2.2可行性分析可行性分析是任何一个大型工程正式投入力量之前必须进行的一
5、项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:2.2.1技术可行性技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。硬件:计算机的存储量大,运算速度快,成本较低,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。系统软件:本系统主要采用B/S结构,其中B/S部分采用JSP技术来实现,由前台用户使用、后台系统管理部分两大部分组成,不需安装客户端,被授权用户通过浏览器即可登录系统。服务器以Win7为操作系
6、统,Mysql为数据库,主体程序Eclipse实现。客户端以Win7为平台,用浏览器进行系统登陆和页面浏览。在B/S三层体系结构系统中,用户通过客户端浏览器向网络上的服务发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上无需配置客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机
7、的压力减轻了,把负荷分配给了Web服务器。2.2.2经济可行性经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。该酒店客房管理系统开发经费对于一个企业来来说是可以接受的,并且本系统实施后可以显著提高工作效率,有助于企业的信息化管理,所以为该企业开发酒店管理系统在经济上是可行的。2.2.3运行可行性运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。该酒店管理系统是一个简单的信息管理系统,所耗费的资源非常少,并且将来的操作界面是直接浏览网页的形式,利用鼠标进行傻瓜式的操作,操作
8、中的每一步都会有相应的提示,这样可以让更多的人群在最短的时间内学会使用他。2.2.4法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。2.3系统需求分析该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息,根据自己的需求来预订房间。一个方便地实现对客房变更、房价及预订信息的自动化操作。使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。该软件能系统管理酒店的信息,功能与实现方面有相当的针对性和实用
9、性。该系统的主要功能有酒店信息管理,房间类型管理,订单信息管理,业务人员编辑和系统用户管理。酒店客房管理系统需要具有以下的功能:1)系统管理功能:普通接待人员的注册2)客户管理功能:提供住宿客户信息的登记以及浏览。3)住房管理功能:可以进行客户入住、房间更换、退房的管理。4)查询管理功能:提供对所有用户和房间信息的查询。如:房间状态查询、客户住房信息查询、客户退房查询、管理员信息查询等。5)房间管理功能:提供房间的信息管理,例如:房间状态,不同类型房价的剩余量的记录。6)其他特殊功能:不同权限的用户登录实现不同的功能、各类信息的统计。第三章系统总体设计系统总体设计是对有关系统全局问题的设计,也
10、就是设计系统总的处理方案,又称系统概要设计。它主要包括系统模块结构设计、数据库设计等内容。3.1 系统总体结构设计本系统设计采用了自顶向下方式进行设计的。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,针对企业电子商务的目标,刻画系统的内部结构及其相互关系,明确目标系统的各个组成部分、各个组成部分的作用及其相互关系,系统的流程如图所示:酒店客房管理系统Q历史杳迪熠加看七WS?杳询七离店结账tAfit预订高生一客户杳询工杳询个.系统功能模块图3.2 使用结构化方法进行系统分析321系统功能建模对用户需求进行分析,画出系统的数据流图,如图所示。Ext
11、ernal Entity顿客在人入住、退宏External Entity职工办理茗人业务宾馆客房管理系统yj更新信息图3.1酒店客房管理系统的顶层数据流图Entity 碌在Entity), 耶.工图3.2酒店客房管理系统的二层数据流图322学生宿舍管理系统的E-R图根据系统数据流程图,我们可以列出以下系统所需的数据项:客户:姓名、性别、年龄、证件号码、押金、房间号、房间状态用户:账户名、账户密码、姓名、性别、年龄、联系电话房间:房间号、房间类型、房间单价、电话、房间状态款项:已收押金、消费金额、结余金额同时系统还需要进行记录的数据项:入住及退房记录:客户姓名、入住时间、退出时间、管理员查询记录
12、:日期、当天收入金额、支出金额、全部押金管理员更新记录:房价更改、客户登记、结算金额用户ER图房间ER图客户ER图性别身份证号结算ER图总体ER图根据E-R模型和数据库需求分析,本系统总共涉及10个数据表格。其中包括用户表、房间表、客户表表、结算表4个基本表,同时还需要不用的用户登录实现不同的功能,因此还需要角色表、角色类型表,同时还引入了房间状态表,实现简单的操作。本系统的数据表设计如图所示。Account表列名救据类型【长文默认主谑?非空?Jnaigncd自增?Zcrofill?!accidint11E0二0accountvarchar50二sexchar2ideardcharierccm
13、idfkinziistateidfkintiiLivingstaemt11二二billinuiiIJFunction表 Ifunctionidlint Didmt runnairfivarchar funLevcl urlintvarchar列名数据类型10 5 O 1115 5 日亘Hla日aLiving表口 livid accidfr rooEidfk111111sanEDO EDORole表列名roleldQ据垄之1UL|长度|11默认主?S?非空?0Unsigned自治?EZerofill?rolenamevarcnar20-t,Rolefunction表数据美叁11长文默认主帽?非空
14、? Unsigned 日均?Zcrofill?口;列名|rlid口roleidfunctionidRoom表cornio roocnsidkf rccxnnmer嘿一-B口口口口11111111上口工口口0 Rooms表列名数据类至|长度默认主键?非空?Unsigned自印Zerofill?roomsid|int110Erccmypevarchar50roocnprlceint11telcharEISRoomstate表列名一数据类至长宝就认主键?非空?Unsigned白洎?Zerofill?|lstateidin.11EE0statevarchar40User表长曳1150501150手冈口
15、口口均?Zerofill?E n自User_role表列名数电类至长曳默认主键?非空?Unsigned自增?Zerofill?idint1100Euseridint11roieiamr11.第四章系统的详细设计及其实现本章所讲的主要内容是该系统的实现方法和原理。下面来详细介绍系统的实注册页面PS.住原方北用户域名.用户住V,出力注册新用户protectedvoiddoZhuCe(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOExceptionUseruser=newUser0;ResultMsgrm
16、sg=null;tryBeanUtils.copyProperties(user,req.getParameterMap0);SqlSessionsqlsession=MybatisUtiLgtSqlSession();sqlsession.insert(*User.insert1*,user);mit();sqlsession.close();rmsg=newResultMsg(true,注册成功);)catch(IllegalAccessExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();catch(invocationT
17、argetExceptione)/TODOAuto-generatedcatchblocke.printStackTrace0;JsonUtil.outJsonStrAndColse(resp,JsonUtil.transToJsonStrQasQ)!&-F E9冈冈一IU799a9Jrdgd9-QF*X;T09夏6。囱诟XC三只0MiychecMoginIio-sunx用户登录账a各,%顼妹户的,1后6 Qiwt*分12*3R判断用户名和密码是否正确protectedvoiddoCheckLogin(HttpServletRequestreq,HttpServletResponseresp)
18、throwsServletException,lOException(Useruser=newUser0;tryBeanUtils.copyProperticsiusex,req.getParameterMap();SqlSessionsqlsession=MybatisUtil.getSqlSession0;System,out.printIn(user,getAccount();Useruu=sqlsession.selectOne(*User.selectl*,user);Systemout.println(name=+uugetAccount()+-p=+uu.getPwd();if(
19、uu.getAccount0equals(user.getAccount0)&uugetPwd0.equals(user.getPwd()req.getSession0.setAttribute(loginuser”,uu);正确跳转到主页面req.getRequestDispatcher(Myjsp/main.jsp)forward(req,resp);)catch(Exceptione)/TODOAuto-generatedcatchblocke.printstackTrace();不正确跳转到登录页面req.getRequestDispatcher(*Myjsp/login.jsp*);
20、XK般年 “心& ,9 anSHT入食35*cGOtocahost.ctwict*,部口工”掰m5切7Qurrfijfes史as团“WdE。加Fx宾馆客房管理系统M*a-握入QVUR(/更*M*1.IdlXMlte寮#HOTRKWe0MBBnWAXL&S2.工1HlATpoe亍中Qlg/添加一条入住信息protectedvoidaddAccount(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOException(/TODOAuto-generatedmethodstubAccountacc=new
21、Account();ResultMsgrmsg=null;SqlSessionsqlsession=MybatisUtil.getSqlSession();System,out.printin(req.getParameterMap0);tryBeanUtils.copyProperties(acc,req.getParameterMap();System,out.printin(*addddddddddddddddacc=*+acc);if(acc.getAccid()=0)System.out.printin(888888);sqlsession,insertCAcc.insertl”,a
22、cc);if(acc.getStateidfkO=3)Stringaccs=acc.getAccount();Accountaccse=newAccount();Livelive=newLive();Datedate二nowDate0;accse.setAccount(accs);System-out.printin(accs*accse);Accountacclive=sqlsession.selectOneCAcc.select5”,acc.getAccid();live.setCheckdate(date.toLocaleString0);live.setAccidfk(acclive.
23、getAccidO);live,setRoonidfk(acclive.getRoomidfk();live.setCashpledge(acc.getCashpledge0);sqlsession.insert(Acc.insert2*,live);elseSystem,out.printin(HeIMF3考怠工E3-Q-_tocrfwT-Q*hv|可.ctMXc,4冉仪,工*wodei“一多cwn*wjtbQurr阕q史as国MRHeAJiBfExft4vKtf装甲夕*RE宾馆客房管理系统4 甭椅日 m坦H *入口变尸父已却&%1入g*,tGB 户na,田房nx yg工六3柿弓胃入立的日S
24、 寿。XK56Mfl账单姓名:小王房间号:202押金:300消费:180结余:150时间.2O16-G-2O 12:3:39欢迎下次光临!人儡“人住adihk 理 RJJH0MBB nWAXL &S2. 工 1Hl AT po e 亍中 Qlg3 BC/结账信息protectedvoidDelete(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOException!/TODOAuto-generatedmethodstubintlivid=Integer.parselnt(req.getParame
25、ter(livid);intbill=Integer.parselnt(req.getParameterCbi.il);System,out,printinClivid=*+livid);System,out.printinCbil+bill);SqlSessionsqlsession=MybatisUtil.getSqlSession0;ResultMsgnnsg=null;Livelive=newLiveO;live.setLivid(livid);live.setBill(bill);tryLivelives=sqlsession.select0ne(*Live.select4,livi
26、d);/sqlsession.delete(*Live.deletel*,livid);System,out.printin(raccid=*+accid);sqlsession.delete(Live.delete2,accid);*/sqlsession.update(Acc-updates*,lives.getAccidfk0);sqlsession,update(Roon.update.room_state,lives);sqlsession.updateCLive.update1*,live);Livelive2=sqlsession.select0ne(*Live,select6*
27、,livid);mit();sqlsession.close0;StringBuffersb=newStringBuffer();sb.append(*账单姓名:+live2,getAccount0.getAccount0);sb.append(0;sb.append(房间号:*+live2.getRoomnumber(),getRoonmumber();sbappend(*);sb.append(押金:+live2.getCashpledge();sb.append(*);sb.append(消费:+live2.getBill0);sb.append(*);sb,append(“结余:*+(
28、live2.getCashpledgeO-live2.getBill();sb.append();sb.append(时间:+1ivo2.getCheckdate0);sb.append(r*);3b.append();sb.append(欢迎下次光临!”);rmsg=newResultMsg(truesb.toString0);catch(Exceptione)e.printStackTrace();rmsg=newResultMsg(true/结算失败”);JsonUtil.outJsonStrAndColse(resp,JsonUtil.transToJsonStr(rmsg);4.5
29、房间增加添加房型protectedvoidaddType(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOException/TODOAuto-generatedmethodstubRoomTypetypes=newRoomType();ResultMsgrmsg=null;SqlSessionsqlsession=MybatisUtil.getSqlSession();try(BeanUtils.copyProperties(types,req.getParameterMap0);System-ou
30、t.printin(types.getRoomsidO);if(types,getRoomsid()=0)System,out.printin(888888);sqlsession.insert(*RoomType.insertl*,types);else(System,out.printin(000000);sqlsession.update(*RoomType.updated,types);)mit();sqlsession.close0;rmsg=newResultMsg(true,操作成功”);catch(Exceptione)/TODOAuto-generatedcatchblock
31、e.printStackTrace();rmsg=newResultMsg(true,操作失败);JsonUtil.outJsonStrAndColse(resp,JsonUtil.transToJsonStr(rmsg);)4.6房间删除白除房间-nx是否删除所选信息?力确定&取消移除一种房间类型protectedvoidtoremove(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOException(/TODOAuto-generatedmethodstubResultMsgrmsg=null
32、;try(Stringroomsids=req.getParameterCroomsid*);introomsid=Integer.parselnt(roomsids);SqlSessionsqlsession=MybatisUtil.getSqlSession0;sqlsession.delete(*RoomType.deletel*,roomsid);mit();sqlsession.close();rmsg=newResultMsg(true,删除成功”);catch(Exceptione)e.printStackTrace();rmsg=newResultMsg(truo,“删除失败;
33、)JsonUtil.outJsonStrAndColseGresp,JsonUtil.transToJsonStr(nnsg);)4.7房间查询曾添加/史商回删除因问号。601房间类型房问号吗房间犬态总统套房eoi空层6M第1共1页6添加/更新回删除/房间类型普通房房间类型若通房房问号吗房间状态103空房|5|第1M6所用为AX钟芬加/史新(SDR标3由自充任Afi*3方侬n苫速历咫白号3明冠状&语问我生LO3生为相已201入住标目ZOZ入住T日203空H行侑历刈全为火作H401立总宿务P601全由徜疗用502入住过妞卢W全由总线套声S2建医划空宓6:第1共3克O查询所有房间类型protect
34、edvoiddoList(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOException(/TODOAuto-generatedmethodstubSqlSessionsqlsession=MybatisUtil.getSqlSession0;Listtypelist二sqlsession.selectListCRoomType.selectl*);StringjsonStr=JsonUtil.transToJsonStr(typelist);System,out.printIn(typelist
35、,get(0).getRoomtype();JsonUtil.outJsonStrAndColse(resp,jsonStr);)protectedvoidtoUpdate(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,lOException/TODOAuto-generatedmethodstubStringroomsids=req.getParameter(*roomsid);introomsid=Integer.parselnt(roomsids);SqlSessionsqlsession=Myb
36、atisUtil.getSqlSession();RoomTypetype=sqlsessionselectOneCRoomType,select2,roomsid);req.setAttribute(type,type);req,getRequestDispatcher(*Myjsp/room/rotypeedit.jsp)forward(req,resp);4.8 房间更新声间充码;请选择用问号码,201内闻伏出:语选择报交更新房间信息protectedvoidtoUpdate(HttpServletRequestreq,HttpServletResponseresp)throwsServ
37、letException,lOException/TODOAuto-generatedmethodstubStringroomsids=req.getParameter(roomsid);introomsid=Integer.parselnt(roomsids);SqlSessionsqlsession=MybatisUtil.getSqlSessionO;RoomTypetype=sqlsession.selectOne(*RoomType.select2*,roomsid);reqsetAttribute(type”,type);req.getRequestDispatcher(*Myjs
38、p/room/rotypeedit.jsp).forward(req,resp);)4.9 客户查询 g s ra f二 PSIc. j etocatx$tQ “ ,盼二 二c* - jv afK*Q e- oa 4JXd3 to S R区门- IC K w-T9 9 n ire- A 1waa ic. 03301-3a II ITt J如 lit l? 3M 1 XtES4、A近和93.C&QnintnB12 n it ” ie it 2i tt a 14W)IErainIU R*ia 4SB2 tiXM 立下,0 Qi际查询所有现入住客户protectedvoidAccList(HttpS
39、ervletRequestreq,HttpServletResponseresp)throwsServletException,lOException(/TODOAuto-generatedmethodstubSqlSessionsqlsession=MybatisUtil.getSqlSessionO;ListAcclist=sqlsession.selectList(*Acc.selectl*);JsonUtiLoutJsonStrAndColse(resp,JsonUtiLtransToJsonStr(Acclist);)protectedvoidtoUpdate(HttpServlet
40、Requestreq,HttpServletResponseresp)throwsServletException,lOException(intaccid=Integer.pars61nt(reqgetParameter(*accid*);SqlSessionsqlsession=MybatisUtil.getSqlSession();Accountacc=sqlsession.selectOneCAcc.select2*,accid);req.setAttribute(acc*,acc);req.getRequestDispatcher(*Myjsp/room/accountedit.js
41、p).forward(req,resp);第五章系统测试5.1 测试综述系统测试其实就是对系统实现的一个校正。也许某个用户用到的某个模块运行正常,也许该用户用其它的模块就出现了相应的问题,一个好的程序测试并不代表没有错误,但是也并不代表一个程序它总是存在某种弊端。暂时把系统测试划分为几个阶段:第一阶段-数据录入,一个程序只有在满足用户正常录入数据时,这才是一个程序的开始;第二阶段-查找错误,查找认为不合理的操作,或者是错误页面,这是程序发展的必经之路;第三阶段-更改错误,根据已有的平台,用最简单的方法,进行程序和数据的调正。总之,这三个步骤来回循环,使程序尽量完善。5.2 测试方法考虑到各种因素和条件的限制,对基于JSP的酒店客房管理系统课程网站进行测试,需要不要的输入正确信息和错误信息叫根据反馈结果来检测系统可能存在的问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年羊屠宰行业分析报告及未来发展趋势报告
- 2026年汽车用水性涂料行业分析报告及未来发展趋势报告
- 2026上海中医药大学附属曙光医院淮南医院招聘5人笔试备考试题及答案解析
- 2026年壁纸墙布行业分析报告及未来发展趋势报告
- 2026年布艺家装行业分析报告及未来发展趋势报告
- 2026年医疗用车行业分析报告及未来发展趋势报告
- 2026年法律行业分析报告及未来发展趋势报告
- 2026北京市怀柔区卫生健康委员会所属事业单位第二批招聘医务人员17人考试备考题库及答案解析
- 2026年2,4-二硝基氯化苯行业分析报告及未来发展趋势报告
- 2026年博尔塔拉蒙古市医疗保障系统事业单位人员招聘考试备考试题及答案详解
- 23.暴风雨来临之前 教学课件
- 中国能建湖南院招聘笔试题库2026
- 2026年中国化工经济技术发展中心招聘备考题库及答案详解参考
- 2026年宗教活动场所财务监管服务合同
- 人工智能对会计业的冲击
- (2025)专家共识:意向性牙再植术课件
- 2025年中国人民人寿保险股份有限公司社会招聘笔试题库附带答案
- 蒋竞雄长身高管理
- 水泥路面施工质量方案
- 2025年数字媒体艺术历年真题及答案
- 四川成都空港兴城投资集团有限公司招聘笔试题库2025
评论
0/150
提交评论