java课程设计-酒店管理系统_第1页
java课程设计-酒店管理系统_第2页
java课程设计-酒店管理系统_第3页
java课程设计-酒店管理系统_第4页
java课程设计-酒店管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸目录29190一、设计题目 224103二、设计目的 219026三、设计分析 252723.1可行性分析 2266553.1.1技术上可行性 2313463.1.2操作上可行性 3289143.1.3经济上可行性 3185493.2系统功能分析 31687四、总体设计 3238394.1设计思想 3189234.2系统功能模块 422554.3系统流程分析 4309744.4功能需求与程序模块对应的关系 7112194.5数据库结构设计 7110984.5.1系统数据库性能需求 7159044.5.2本系统数据库表设计中所遵守的基本原则 713944.5.3数据库需求分析 8218874.5.4数据字典设计及数据库表命名规则 817535五、详细设计 1098475.1系统登陆界面 10200585.2添加住房信息功能 1074875.3住房信息查询功能 1133475.4添加就餐信息功能 12223935.5就餐信息查询功能 13236395.6结账功能 1319587六、结论 1316092附录(部分源代码) 14共18页第4页一、设计题目酒店管理系统二、设计目的1.运用已学过的知识进行一个简单的应用程序的开发。2.通过设计,掌握使用SSH技术、Java高级语言、SQL语言开发一个基于J2EE的应用系统的基本方法。后台数据库主要采用MySQLServer数据库。3.基本掌握实现对数据库的连接、对数据的查询、修改、插入、删除等操作。4.设计系统主界面,主界面上包括系统功能菜单。5.界面友好,操作方便。三、设计分析3.1可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否达到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的可行性,下面将分别介绍三种技术上的可行性。3.1.1技术上可行性酒店管理系统是采用Java语言编写的,具有Java的一次编写,到处运行的优点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全性和安全性。并且酒店管理系统应具备功能完备、易于使用、易于维护等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以YYN开始登陆界面输入账号密码验证码登录信息正确选择消费住宿消费就餐消费相关消费相关消费退出系统结束图4-2系统流程图系统E-R图如图4-3。11NN1N用户名密码操作员管理客房房间号入住日期单价住房信息编号入住宾客顾客ID姓名就餐餐厅餐桌号就餐信息编号服务者费用1图4-3系统E-R图

4.4功能需求与程序模块对应的关系如表4-4。表4-4功能需求与程序模块对应的关系住房信息添加住房信息查询住房信息修改餐饮信息添加餐饮信息查询餐饮信息修改住房结账餐饮结账客户入住Y住房管理YY餐饮管理YYY结账YY4.5数据库结构设计4.5.1系统数据库性能需求整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个指定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库设计可以提高数据存储的效率,保证数据的完整和一致。本系统采用Mysql数据库,灵活方便。4.5.2本系统数据库表设计中所遵守的基本原则系统时间:由数据库产生的系统时间首选数据库的日期型,如DATE类型。外部时间:由数据导入或外部应用程序产生的日期时间类型采用varchar类型,数据格式采用YYYYMMDDHH24MISS。大字段:如无特别需要,尽可能避免使用大字段(blob,clob,long,text,image等)4.5.3数据库需求分析针对此适用于中小型酒店的酒店管理系统的需求,设计如下的数据项和数据结构:住房信息的输入包括:房间号、客房编号、住房费用、住宿时间、开始日期等。顾客信息的输入包括:顾客ID、顾客姓名等。用户登录信息的输入包括:用户名、用户密码、验证码等。餐厅信息的输入包括:餐桌号、服务人员、就餐编号、就餐日期、就餐费用、客人房间号等。4.5.4数据字典设计及数据库表命名规则本系统的数据库共包含5张数据库表,各个数据库表字段的命名遵守见名知意的规则。下面为主要的3个表的结构:1.住房信息表4-5。表4-5住房信息表字段名类型可否为空键值备注stayIDint(10)否PK客房编号roomIDvarchar(45)是房间号码customerIDnumber(33)否顾客IDcustomerNamevarchar(180)否顾客姓名stayTimevarchar(45)否住宿时间feeint(10)否房间单价startDatedatetime是开始日期2.用户登录表4-6。表4-6用户登录表字段名类型可否为空键值备注userIDint(10)否PK用户IDuserNamevarchar(180)否用户名passWordnumber(90)否用户密码userPositionvarchar(150)是验证码3.顾客餐饮信息表4-7。表4-7顾客餐饮信息表字段名类型可否为空键值备注eatingIDint(10)否PK用餐编号tableNumbervarchar(45)否餐桌号feeint(10)否用餐费用eatingDatedatetime否用餐日期roomIDint(10)否FK房间号码servervarchar(180)是服务人员4.空餐桌信息表4-8。表4-8空餐桌信息表字段名类型可否为空键值备注tableNumbervarcher(15)否PK餐桌号tableDescribevarcher(30)否餐桌信息5.空房间信息4-9。表4-9空房间信息表字段名类型可否为空键值备注roomIDvarcher(20)否PK房间号码feeInt(11)否房间单价roomDescribevarcher(30)否房间信息五、详细设计5.1系统登陆界面用户在登陆本酒店管理系统的时候,只需要输入正确的用户名、密码和验证码,验证码每次登陆都会随机刷新出来,假如输入的信息有误,系统会提示错误之处,重新登陆即可。如图5-1。图5-1登陆界面5.2添加住房信息功能添加住房信息功能可以实现客户的入住登记,其中包含客人的姓名、身份证号、入住日期、选择房间的情况等等,便于管理员进行管理和查询。如图5-2。图5-2添加住房信息界面实现此功能的代码如下: privatevoiddoAddAssetsInfoAction(HttpServletRequestrequest, HttpServletResponseresponse, StayInfoActionformoneStayInfoActionform)throwsServletException,IOException{ StayInfoPOoneStayInfoPO=newStayInfoPO(); stayInfoActionFormSaveToStayInfoPO(oneStayInfoActionform,oneStayInfoPO); oneStayInfoPO.setStayID(SystemUtil.getRandomIntegerNumber(10,6)); booleanreturnResult; StayInfoCRUDImpleoneStayInfoCRUDImple=newStayInfoCRUDImple(); try{ returnResult=oneStayInfoCRUDImple.insertOneStayInfo(oneStayInfoPO); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); return; } if(returnResult){ forwardToSuccessTargetPage(request,response,"/main.html"); } else{forwardToShowErrorInfoTargetPage(request,response,"在添加住房信息时,系统出现了错误,请重新添加该住房的信息!");} return; }5.3住房信息查询功能住房信息查询功能便于管理员和客户的查询,可以按住房编号查询,也可以按照入住日期查询,还可以直接查看全部的住宿信息,准确快捷。如图5-3。图5-3住房信息查询界面5.4添加就餐信息功能就餐信息添加功能,能够实现管理员对客人就餐消费的管理,如图5-4。图5-4添加就餐信息界面实现此功能的代码如下:privatevoiddoQueryAssetsInfoAction(HttpServletRequestrequest, HttpServletResponseresponse, EatingInfoActionformoneEatingInfoActionform)throwsServletException,IOException{ EatingInfoPOoneEatingInfoPO=newEatingInfoPO(); eatingInfoActionFormSaveToEatingInfoPO(oneEatingInfoActionform,oneEatingInfoPO); oneEatingInfoPO.setEatingID(SystemUtil.getRandomIntegerNumber(10,6)); booleanreturnResult; EatingInfoCRUDImpleoneEatingInfoCRUDImple=newEatingInfoCRUDImple(); try{ returnResult=oneEatingInfoCRUDImple.insertOneEatingInfo(oneEatingInfoPO); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); return;} if(returnResult){ forwardToSuccessTargetPage(request,response,"/main.html"); } else{forwardToShowErrorInfoTargetPage(request,response,"在添加就餐信息时,系统出现了错误,请重新添加就餐信息!");} return;}5.5就餐信息查询功能就餐信息查询功能便于管理员和客人对就餐消费信息的查询,如图5-5。图5-5就餐信息查询界面5.6结账功能当宾客离店结账的时候可以分开进行就餐结账和住房结账,也可以两种账单和在一起清算,如图5-6。图5-6结账界面 六、结论本系统综合了中小型星级酒店的的特点,从界面的设计到系统的使用都是从方便用户使用的角度出发,具有很强的实用性主要功能包括客户预订、入住开单、客户住宿管理、客户餐饮管理、客户结账等等。系统的特色归纳如下:本系统可以运行在多种操作系统平台上(WindowsNT/Windows2000/WindowsXP)。数据库管理系统采用Mysql数据库。并且利用安全可靠的Java来编写,使得系统具有很强的移植性和易于维护等特点。及时全面地处理各种错误异常,特别是对用户提交的信息进行判断,若出现输入错误或信息为空的现象,系统就会及时给予用户出错提示。避免了用户的误操作和输入非法数据的可能性。用户界面比较友好,操作简单,使用方便。符合酒店管理的基本流程。本系统基本上满足了酒店管理方面的需要。满足了酒店管理人员对客房管理的工作。在界面上力求做到美观、在操作方面尽量避免由于用户操作不当带来的系统出错现象。但由于时间仓促,本系统还存在一些不足之处,主要体现在:需要进一步修饰和美化;部分模块功能实现有些简单,与实际情况有一定的出入,在以后的学习和工作时间里,我会进一步加强其功能。附录(部分源代码)验证码:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ CreateVerifyCodeImageBeanoneCreateVerifyCodeImageBean=newCreateVerifyCodeImageBean(); java.awt.imag12y67lc,e.BufferedImageimage=oneCreateVerifyCodeImageBean.createSomeOneVerifyImage(); HttpSessionsession=request.getSession(); StringverifyCodeInSession=oneCreateVerifyCodeImageBean.getVerifyCodeString(); session.setAttribute("verifyCodeNameInSession",verifyCodeInSession);//将认证码存入SESSION对象中 response.setContentType("image/jpeg"); //该已经必须要有 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); javax.imageio.ImageIO.write(image,"JPEG",response.getOutputStream());//输出图像 }登陆界面:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("gb2312"); StringverifyCode=request.getParameter("verifyCode"); StringuserName=request.getParameter("userName"); StringpassWord=request.getParameter("passWord"); UserInfoRUImpleoneUserInfoRUImple=newUserInfoRUImple(); UserInfoPOoneUserInfoPO=newUserInfoPO(); HttpSessionsession=request.getSession(); StringverifyCodeInSession=(String)session.getAttribute("verifyCodeNameInSession"); if(verifyCode.equals(verifyCodeInSession)){ try{ oneUserInfoPO= oneUserInfoRUImple.selectUserInfo(userName,passWord); }catch(WebExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(oneUserInfoPO==null){ request.setAttribute("errorText","用户名和密码输入错误!"); RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher(this.getServletContext().getInitParameter("forwardShowErrorInfoTargetPage")); oneRequestDispatcher.forward(request,response); return; } else{ RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher("/index.html"); oneRequestDispatcher.forward(request,response); } } else{ request.setAttribute("errorText","验证码输入错误!"); RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher(this.getServletContext().getInitParameter("forwardShowErrorInfoTargetPage")); oneRequestDispatcher.forward(request,response); return; } }住房信息查询:privatevoiddoQueryAssetsInfoAction(HttpServletRequestrequest,HttpServletResponseresponse,StayInfoActionformoneStayInfoActionform)throwsServletException,IOException{ StringsqlQueryWhereString=null; PageStatePOonePageStatePO=null; onePageStatePO=newPageStatePO(); onePageStatePO.setCurrentPageNumber(1);//由于是第一次访问,因此获得第一页的数据 onePageStatePO.setOnePageSize(AllConstantItems.OnePageSize); switch(oneStayInfoActionform.getQueryMethodRadioButtonID()){ caseAllConstantItems.ProductionInfoManage_QueryAllData: sqlQueryWhereString=""; break; caseAllConstantItems.ProductionInfoManage_QueryDataByProductionID: if(oneStayInfoActionform.getStayID()!=0){ sqlQueryWhereString="wherestayID="+oneStayInfoActionform.getStayID(); } break; caseAllConstantItems.ProductionInfoManage_QueryDataBySomeProductionInfo: sqlQueryWhereString="wherestartDatelike'%"+oneStayInfoActionform.getStartDate()+"%'"; break; } StayInfoCRUDImpleoneStayInfoCRUDImple=newStayInfoCRUDImple(); List<StayInfoPO>someStayInfo=null; try{ someStayInfo=oneStayInfoCRUDImple.selectSomeStayInfo(sqlQueryWhereString,onePageStatePO); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); } /* *将查询的结果保存到requestScope作用域中,实现在页面中显示输出数据 */ request.setAttribute("allStayInfoPOList",someStayInfo); /* *将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据 */ request.setAttribute("onePageStatePO",onePageStatePO); /* *将上次的查询条件保存到requestScope作用域中,有助于分页跳转继续保持相同的查询条件 */ request.setAttribute("sqlQueryWhereString",sqlQueryWhereString); forwardToSuccessTargetPage(request,response,this.getInitParameter("ToShowQueryResultTargetPage")); }结账界面:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{request.setCharacterEncoding("gb2312");StringpayType=request.getParameter("payType");StringeatingIDString=request.getParameter("eatingID");StringstayIDString=request.getParameter("stayID");inteatingID=0;intstayID=0;if((eatingIDString!=null)&&(eatingIDString.length()>0)){ eatingID=Integer.parseInt(eatingIDString); }if((stayIDString!=null)&&(stayIDString.length()>0)){ stayID=Integer.parseInt(stayIDString); }if(payType.equals("1")){ EatingInfoPOoneEatingInfoPO=newEatingInfoPO(); EatingInfoCRUDImpleoneEatingInfoCRUDImple=newEatingInfoCRUDImple(); try{ oneEatingInfoPO=oneEatingInfoCRUDImple.selectOneEatingInfo(eatingID); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); return; } request.setAttribute("oneEatingInfoPO",oneEatingInfoPO); request.setAttribute("onepayType",1); forwardToSuccessTargetPage(request,response,"/payManage/payInfo.jsp"); }else{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论