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

下载本文档

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

文档简介

1、-. z.目录 TOC o 1-3 h z u HYPERLINK l _Toc29190 一、设计题目 PAGEREF _Toc29190 2 HYPERLINK l _Toc24103 二、设计目的 PAGEREF _Toc24103 2 HYPERLINK l _Toc19026 三、设计分析 PAGEREF _Toc19026 2 HYPERLINK l _Toc5272 3.1可行性分析 PAGEREF _Toc5272 2 HYPERLINK l _Toc26655 3.1.1技术上可行性 PAGEREF _Toc26655 2 HYPERLINK l _Toc31346 3.1.

2、2操作上可行性 PAGEREF _Toc31346 3 HYPERLINK l _Toc28914 3.1.3经济上可行性 PAGEREF _Toc28914 3 HYPERLINK l _Toc18549 3.2系统功能分析 PAGEREF _Toc18549 3 HYPERLINK l _Toc1687 四、总体设计 PAGEREF _Toc1687 3 HYPERLINK l _Toc23839 4.1设计思想 PAGEREF _Toc23839 3 HYPERLINK l _Toc18923 4.2系统功能模块 PAGEREF _Toc18923 4 HYPERLINK l _Toc2

3、255 4.3系统流程分析 PAGEREF _Toc2255 4 HYPERLINK l _Toc30974 4.4功能需求与程序模块对应的关系 PAGEREF _Toc30974 7 HYPERLINK l _Toc11219 4.5数据库结构设计 PAGEREF _Toc11219 7 HYPERLINK l _Toc11098 4.5.1系统数据库性能需求 PAGEREF _Toc11098 7 HYPERLINK l _Toc15904 4.5.2本系统数据库表设计中所遵守的基本原则 PAGEREF _Toc15904 7 HYPERLINK l _Toc1394 4.5.3数据库需求

4、分析 PAGEREF _Toc1394 8 HYPERLINK l _Toc21887 4.5.4数据字典设计及数据库表命名规则 PAGEREF _Toc21887 8 HYPERLINK l _Toc17535 五、详细设计 PAGEREF _Toc17535 10 HYPERLINK l _Toc9847 5.1系统登陆界面 PAGEREF _Toc9847 10 HYPERLINK l _Toc20058 5.2添加住房信息功能 PAGEREF _Toc20058 10 HYPERLINK l _Toc7487 5.3住房信息查询功能 PAGEREF _Toc7487 11 HYPERL

5、INK l _Toc3347 5.4添加就餐信息功能 PAGEREF _Toc3347 12 HYPERLINK l _Toc22393 5.5就餐信息查询功能 PAGEREF _Toc22393 13 HYPERLINK l _Toc23639 5.6结账功能 PAGEREF _Toc23639 13 HYPERLINK l _Toc19587 六、结论 PAGEREF _Toc19587 13 HYPERLINK l _Toc16092 附录(部分源代码) PAGEREF _Toc16092 14-. z.一、设计题目 酒店管理系统二、设计目的 1运用已学过的知识进行一个简单的应用程序的开

6、发。2通过设计,掌握使用SSH技术、Java高级语言、SQL语言开发一个基于J2EE的应用系统的基本方法。后台数据库主要采用My SQL Server数据库。3基本掌握实现对数据库的连接、对数据的查询、修改、插入、删除等操作。4设计系统主界面,主界面上包括系统功能菜单。5界面友好,操作方便。三、设计分析3.1可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否达到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和

7、设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的可行性,下面将分别介绍三种技术上的可行性。技术上可行性酒店管理系统是采用Java语言编写的,具有Java的一次编写,到处运行的优点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全性和安全性。并且酒店管理系统应具备功能完备、易于使用、易于维护等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以上的要求,本系统采用MyEclipse6.0作为开发工具,使得代码编写的过程大大的简化。而数据库则是采用目前较为流行的Mysql,J

8、ava对Mysql具有很好的支持,并且在经历了多年的发展后Mysql具有很好的口碑。此系统在技术上是可行的。操作上可行性酒店管理系统具备友好的用户界面,使用方便,易于维护,操作简单易于被用户接受,用户只需有一定的计算机操作基础,并对此系统的使用做简单的了解,即可方便使用此系统,而且使用此系统可以大大减少管理人员的负担。因此从使用操作方面看,此系统的开发是可行的。经济上可行性本酒店管理系统运行的硬件环境只需一台廉价的电脑既可,软件环境则是安装windows *P系统,MyEclipse6.0,Mysql既可。对于一般的中小型酒店来说都是很小的成本支出。因此此系统在经济上、技术上、操作上的开发都是

9、可行的。3.2系统功能分析满足客户的需求,实现酒店管理的流程。此管理系统主要功能包括添加新管理员、修改密码、客户预订和入住、客户住宿管理、客户餐饮管理、客户结账等等。添加新管理员:此功能可以添加新的管理员。客户入住开单:完成客户入住开单,实现客户入住酒店。客户住宿管理:可以实现管理人员对客人住宿情况的管理。客户餐饮管理:可以实现管理人员对客人餐饮情况的管理。客户结账:实现客户离宿后结账。四、总体设计4.1设计思想本系统实现了宾客入住酒店从登记到离宿的管理,本系统主要的功能如下:客户入住开单:完成客户预定或者现场入住开单,实现客人入住酒店。其中需要录入客人的信息、入住时间、房间选择情况等等。客户

10、住宿管理:可以实现管理人员对客人住宿情况的管理。客户餐饮管理:可以实现管理人员对客人餐饮情况的管理。主要体现在入住客人的就餐消费管理和非入住客人的就餐消费管理等等。客户结账:实现客户离宿结账,包含住宿消费和就餐消费。4.2系统功能模块如图4-1。客房预订即时开房信息查询信息修改信息删除就餐消费信息查询信息修改信息删除住宿结账就餐结账主界面住宿管理系统餐饮管理系统结账信息详细登陆界面 图4-1 系统功能模块图4.3系统流程分析本系统主要流程如下图4-2。YN开始登陆界面输入账号密码验证码登录信息正确选择消费住宿消费就餐消费相关消费相关消费退出系统结束图4-2 系统流程图系统E-R图如图4-3。1

11、NN1N用户名密码操作员管理客房房间号入住日期单价住房信息编号入住宾客顾客ID*就餐餐厅餐桌号就餐信息编号服务者费用1 图4-3 系统E-R图 4.4功能需求与程序模块对应的关系如表4-4。表4-4 功能需求与程序模块对应的关系住房信息添加住房信息查询住房信息修改餐饮信息添加餐饮信息查询餐饮信息修改住房结账餐饮结账客户入住Y住房管理YY餐饮管理YYY结账YY4.5数据库结构设计系统数据库性能需求整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。数据库技术是信息资源管理最有效的手段。数据库设计是指对于一

12、个指定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库设计可以提高数据存储的效率,保证数据的完整和一致。本系统采用Mysql 数据库,灵活方便。本系统数据库表设计中所遵守的基本原则系统时间:由数据库产生的系统时间首选数据库的日期型,如DATE类型。 外部时间:由数据导入或外部应用程序产生的日期时间类型采用varchar类型,数据格式采用YYYYMMDDHH24MISS。大字段:如无特别需要,尽可能避免使用大字段(blob,clob,long,te*t,image等)数

13、据库需求分析针对此适用于中小型酒店的酒店管理系统的需求,设计如下的数据项和数据结构:住房信息的输入包括:房间号、客房编号、住房费用、住宿时间、开始日期等。顾客信息的输入包括:顾客ID、顾客等。用户登录信息的输入包括:用户名、用户密码、验证码等。餐厅信息的输入包括:餐桌号、服务人员、就餐编号、就餐日期、就餐费用、客人房间号等。数据字典设计及数据库表命名规则本系统的数据库共包含5数据库表,各个数据库表字段的命名遵守见名知意的规则。下面为主要的3个表的结构:1.住房信息表4-5。表4-5 住房信息表字段名类型可否为空键值备注stayIDint(10)否PK客房编号roomIDvarchar(45)是

14、房间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

15、用餐编号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

16、)否房间信息五、详细设计5.1系统登陆界面用户在登陆本酒店管理系统的时候,只需要输入正确的用户名、密码和验证码,验证码每次登陆都会随机刷新出来,假如输入的信息有误,系统会提示错误之处,重新登陆即可。如图5-1。图5-1 登陆界面5.2添加住房信息功能添加住房信息功能可以实现客户的入住登记,其中包含客人的、号、入住日期、选择房间的情况等等,便于管理员进行管理和查询。如图5-2。图5-2 添加住房信息界面实现此功能的代码如下:privatevoid doAddAssetsInfoAction(HttpServletRequest request,HttpServletResponse respon

17、se,StayInfoActionform oneStayInfoActionform) throws ServletE*ception, IOE*ceptionStayInfoPO oneStayInfoPO=new StayInfoPO();stayInfoActionFormSaveToStayInfoPO(oneStayInfoActionform,oneStayInfoPO);oneStayInfoPO.setStayID(SystemUtil.getRandomIntegerNumber(10, 6);boolean returnResult;StayInfoCRUDImple o

18、neStayInfoCRUDImple=new StayInfoCRUDImple();try returnResult=oneStayInfoCRUDImple.insertOneStayInfo(oneStayInfoPO); catch (WebE*ception e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage();return;if(returnResult)forwardToSuccessTargetPage(request,response,/main.html);else forwardToSho

19、wErrorInfoTargetPage(request,response,在添加住房信息时,系统出现了错误,请重新添加该住房的信息!);return;5.3住房信息查询功能住房信息查询功能便于管理员和客户的查询,可以按住房编号查询,也可以按照入住日期查询,还可以直接查看全部的住宿信息,准确快捷。如图5-3。图5-3 住房信息查询界面5.4添加就餐信息功能就餐信息添加功能,能够实现管理员对客人就餐消费的管理,如图5-4。图5-4 添加就餐信息界面实现此功能的代码如下:privatevoiddoQueryAssetsInfoAction(HttpServletRequest request,Ht

20、tpServletResponse response,EatingInfoActionform oneEatingInfoActionform) throws ServletE*ception, IOE*ceptionEatingInfoPO oneEatingInfoPO=new EatingInfoPO();eatingInfoActionFormSaveToEatingInfoPO(oneEatingInfoActionform,oneEatingInfoPO);oneEatingInfoPO.setEatingID(SystemUtil.getRandomIntegerNumber(1

21、0, 6);boolean returnResult;EatingInfoCRUDImple oneEatingInfoCRUDImple=new EatingInfoCRUDImple();try returnResult=oneEatingInfoCRUDImple.insertOneEatingInfo(oneEatingInfoPO); catch (WebE*ception e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage();return;if(returnResult)forwardToSucces

22、sTargetPage(request,response,/main.html);else forwardToShowErrorInfoTargetPage(request,response,在添加就餐信息时,系统出现了错误,请重新添加就餐信息!);return;5.5就餐信息查询功能就餐信息查询功能便于管理员和客人对就餐消费信息的查询,如图5-5。图5-5 就餐信息查询界面5.6结账功能当宾客离店结账的时候可以分开进行就餐结账和住房结账,也可以两种账单和在一起清算,如图5-6。图5-6 结账界面六、结论 本系统综合了中小型星级酒店的的特点,从界面的设计到系统的使用都是从方便用户使用的角度出发

23、,具有很强的实用性主要功能包括客户预订、入住开单、客户住宿管理、客户餐饮管理、客户结账等等。系统的特色归纳如下: 本系统可以运行在多种操作系统平台上(Windows NT/Windows 2000/Windows *P)。数据库管理系统采用Mysql数据库。并且利用安全可靠的Java来编写,使得系统具有很强的移植性和易于维护等特点。 及时全面地处理各种错误异常,特别是对用户提交的信息进行判断,若出现输入错误或信息为空的现象,系统就会及时给予用户出错提示。避免了用户的误操作和输入非法数据的可能性。 用户界面比较友好,操作简单,使用方便。符合酒店管理的基本流程。本系统基本上满足了酒店管理方面的需要

24、。满足了酒店管理人员对客房管理的工作。在界面上力求做到美观、在操作方面尽量避免由于用户操作不当带来的系统出错现象。但由于时间仓促,本系统还存在一些不足之处,主要体现在:需要进一步修饰和美化;部分模块功能实现有些简单,与实际情况有一定的出入,在以后的学习和工作时间里,我会进一步加强其功能。附录(部分源代码)验证码:publicvoid doGet(HttpServletRequest request, HttpServletResponse response)throws ServletE*ception, IOE*ception CreateVerifyCodeImageBean oneCre

25、ateVerifyCodeImageBean=new CreateVerifyCodeImageBean();12y67lc,e.BufferedImage image=oneCreateVerifyCodeImageBean.createSomeOneVerifyImage();HttpSession session=request.getSession();String verifyCodeInSession=oneCreateVerifyCodeImageBean.getVerifyCodeString();session.setAttribute(verifyCodeNameInSes

26、sion,verifyCodeInSession); / 将认证码存入SESSION对象中response.setContentType(image/jpeg); /该已经必须要有response.setHeader(Pragma,No-cache);response.setHeader(Cache-Control,no-cache);response.setDateHeader(E*pires, 0);java*.imageio.ImageIO.write(image, JPEG, response.getOutputStream(); / 输出图像登陆界面:publicvoid doPos

27、t(HttpServletRequest request, HttpServletResponse response)throws ServletE*ception, IOE*ception request.setCharacterEncoding(gb2312);String verifyCode=request.getParameter(verifyCode);String userName=request.getParameter(userName);String passWord=request.getParameter(passWord);UserInfoRUImple oneUse

28、rInfoRUImple=new UserInfoRUImple();UserInfoPO oneUserInfoPO=new UserInfoPO();HttpSession session=request.getSession();String verifyCodeInSession=(String)session.getAttribute(verifyCodeNameInSession);if(verifyCode.equals(verifyCodeInSession)try oneUserInfoPO=oneUserInfoRUImple.selectUserInfo(userName

29、, passWord); catch (WebE*ception e) / TODOAuto-generated catch blocke.printStackTrace();if(oneUserInfoPO=null)request.setAttribute(errorTe*t,用户名和密码输入错误!);RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher(this.getServletConte*t().getInitParameter(forwardShowErrorInfoTargetPage);oneR

30、equestDispatcher.forward(request, response);return;else RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher(/inde*.html);oneRequestDispatcher.forward(request, response);else request.setAttribute(errorTe*t,验证码输入错误!);RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher(t

31、his.getServletConte*t().getInitParameter(forwardShowErrorInfoTargetPage);oneRequestDispatcher.forward(request, response);return;住房信息查询:privatevoid doQueryAssetsInfoAction (HttpServletRequest request, HttpServletResponse response, StayInfoActionform oneStayInfoActionform) throws ServletE*ception, IOE

32、*ception String sqlQueryWhereString=null; PageStatePO onePageStatePO=null;onePageStatePO=new PageStatePO();onePageStatePO.setCurrentPageNumber(1); /由于是第一次访问,因此获得第一页的数据onePageStatePO.setOnePageSize(AllConstantItems.OnePageSize);switch(oneStayInfoActionform.getQueryMethodRadioButtonID()case AllConstan

33、tItems.ProductionInfoManage_QueryAllData: sqlQueryWhereString=;break;case AllConstantItems.ProductionInfoManage_QueryDataByProductionID:if(oneStayInfoActionform.getStayID()!=0) sqlQueryWhereString=where stayID=+oneStayInfoActionform.getStayID(); break;case AllConstantItems.ProductionInfoManage_Query

34、DataBySomeProductionInfo: sqlQueryWhereString=where startDate like %+oneStayInfoActionform.getStartDate()+%;break; StayInfoCRUDImple oneStayInfoCRUDImple=new StayInfoCRUDImple(); List someStayInfo=null;try someStayInfo=oneStayInfoCRUDImple.selectSomeStayInfo(sqlQueryWhereString,onePageStatePO); catc

35、h (WebE*ception e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage();/* * 将查询的结果保存到requestScope作用域中,实现在页面中显示输出数据 */request.setAttribute(allStayInfoPOList, someStayInfo);/* * 将分页状态对象保存到requestScope作用域中,在页面中显示分页状态有关的各个数据 */request.setAttribute(onePageStatePO, onePageStatePO);/* * 将上次的查询

36、条件保存到requestScope作用域中,有助于分页跳转继续保持相同的查询条件 */request.setAttribute(sqlQueryWhereString, sqlQueryWhereString);forwardToSuccessTargetPage(request,response,this.getInitParameter(ToShowQueryResultTargetPage);结账界面:publicvoid doPost(HttpServletRequest request, HttpServletResponse response)throws ServletE*cep

37、tion, IOE*ception request.setCharacterEncoding(gb2312); String payType=request.getParameter(payType); String eatingIDString=request.getParameter(eatingID); String stayIDString=request.getParameter(stayID); int eatingID=0;int stayID=0;if(eatingIDString!=null)&(eatingIDString.length()0) eatingID=Integ

38、er.parseInt(eatingIDString); if(stayIDString!=null)&(stayIDString.length()0) stayID=Integer.parseInt(stayIDString); if(payType.equals(1) EatingInfoPO oneEatingInfoPO=new EatingInfoPO(); EatingInfoCRUDImple oneEatingInfoCRUDImple=new EatingInfoCRUDImple();try oneEatingInfoPO=oneEatingInfoCRUDImple.selectOneEatingInfo(eatingID); catch (WebE*ception e) forwardToShowErrorInfo

温馨提示

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

评论

0/150

提交评论