java课程设计 酒店管理系统

上传人:jin****ng 文档编号:174566095 上传时间:2022-12-15 格式:DOCX 页数:17 大小:242.10KB
返回 下载 相关 举报
java课程设计 酒店管理系统_第1页
第1页 / 共17页
java课程设计 酒店管理系统_第2页
第2页 / 共17页
java课程设计 酒店管理系统_第3页
第3页 / 共17页
点击查看更多>>
资源描述
目录一、设计题目二、设计目的 2三、设计分析 23.1 可行性分析 23.1.1 技术上可行性 23.1.2 操作上可行性 33.1.3 经济上可行性 33.2 系统功能分析 3四、总体设计 34.1 设计思想 34.2 系统功能模块 44.3 系统流程分析 44.4 功能需求与程序模块对应的关系 74.5 数据库结构设计 74.5.1 系统数据库性能需求 74.5.2 本系统数据库表设计中所遵守的基本原则 74.5.3 数据库需求分析 84.5.4 数据字典设计及数据库表命名规则 8五、详细设计 105.1 系统登陆界面 105.2 添加住房信息功能 105.3 住房信息查询功能 115.4 添加就餐信息功能 125.5 就餐信息查询功能 135.6 结账功能 13六、结论 13附录(部分源代码) 14一、设计题目酒店管理系统二、设计目的1运用已学过的知识进行一个简单的应用程序的开发。2.通过设计,掌握使用SSH技术、Java高级语言、SQL语言开发一个基于 J2EE的应用系统的基本方法。后台数据库主要采用My SQL Server数据库。3基本掌握实现对数据库的连接、对数据的查询、修改、插入、删除等操作。4设计系统主界面,主界面上包括系统功能菜单。5界面友好,操作方便。三、设计分析3.1 可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否 能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断 原定的系统规模和目标是否现实,系统完成后所能带来的效益是否达到值得投 资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化 了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统 分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的 可行性,下面将分别介绍三种技术上的可行性。3.1.1 技术上可行性酒店管理系统是采用Java语言编写的,具有Java的一次编写,到处运行的 优点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全 性和安全性。并且酒店管理系统应具备功能完备、易于使用、易于维护等特点 而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以 上的要求,本系统采用 MyEclipse6.0 作为开发工具,使得代码编写的过程大大 的简化。而数据库则是采用目前较为流行的 Mysql,Java 对 Mysql 具有很好的 支持,并且在经历了多年的发展后 Mysql 具有很好的口碑。此系统在技术上是 可行的。3.1.2 操作上可行性酒店管理系统具备友好的用户界面,使用方便,易于维护,操作简单易于被 用户接受,用户只需有一定的计算机操作基础,并对此系统的使用做简单的了解, 即可方便使用此系统,而且使用此系统可以大大减少管理人员的负担。因此从使 用操作方面看,此系统的开发是可行的。3.1.3 经济上可行性本酒店管理系统运行的硬件环境只需一台廉价的电脑既可,软件环境则是 安装windows XP系统,MyEclipse6.0, Mysql既可。对于一般的中小型酒店来 说都是很小的成本支出。因此此系统在经济上、技术上、操作上的开发都是可 行的。3.2 系统功能分析满足客户的需求,实现酒店管理的流程。此管理系统主要功能包括添加新 管理员、修改密码、客户预订和入住、客户住宿管理、客户餐饮管理、客户结 账等等。添加新管理员:此功能可以添加新的管理员。 客户入住开单:完成客户入住开单,实现客户入住酒店。 客户住宿管理:可以实现管理人员对客人住宿情况的管理。 客户餐饮管理:可以实现管理人员对客人餐饮情况的管理。 客户结账:实现客户离宿后结账。总体设计4.1 设计思想本系统实现了宾客入住酒店从登记到离宿的管理,本系统主要的功能如下:客户入住开单:完成客户预定或者现场入住开单,实现客人入住酒店。其 中需要录入客人的身份证信息、入住时间、房间选择情况等等。客户住宿管理:可以实现管理人员对客人住宿情况的管理。客户餐饮管理 可以实现管理人员对客人餐饮情况的管理。主要体现在入住客人的就餐消费管 理和非入住客人的就餐消费管理等等。客户结账:实现客户离宿结账,包含住宿消费和就餐消费4.2 系统功能模块如图 4-1。线客房预订即时开房信息查询信息修改信息删除就餐消费信息查询信息修改信息删除住宿结账就餐结账图 4-1 系统功能模块图4.3 系统流程分析本系统主要流程如下图 4-2。图 4-2 系统流程图系统 E-R 图如图 4-3。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 张数据库表,各个数据库表字段的命名遵守见名装111111111111111知意的规则。下面为主要的 3 个表的结构:住房信息表1.住房信息表 4-5。表 4-5i字段名类型可否为空键值备注11111staylDint(10)否PK客房编号i11111roomIDvarchar(45)是房间号码111111customerIDnumber(33)否顾客 IDi线11customerNamevarchar(180)否顾客姓名111111stayTimevarchar(45)否住宿时间1111111feeint(10)否房间单价11111111startDatedatetime是开始日期2.用户登录表 4-6。表 4-6 用户登录表字段名类型可否为空键值备注userIDint(10)否PK用户IDuserNamevarchar(180)否用户名passWordnumber(90)否用户密码userPositionvarchar(150)是验证码3.顾客餐饮信息表 4-7。表 4-7 顾客餐饮信息表字段名类型可否为空键值备注eatingIDint(10)否PK用餐编号tableNumbevarchar(45)否餐桌号rfeeint(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 添加住房信息界面实现此功能的代码如下:private void doAddAssetsInfoAction(HttpServletRequest request, HttpServletResponse response,StayInfoActionform oneStayInfoActionform) throws ServletException, IOExceptionStayInfoPO oneStayInfoPO=new StayInfoPO();stayInfoActionFormSaveToStayInfoPO(oneStayInfoActionform,oneStayInfoPO );oneStayInfoPO.setStayID(SystemUtil.getRandomIntegerNumber(10, 6);boolean returnResult;StayInfoCRUDImple oneStayInfoCRUDImple=new StayInfoCRUDImple();try returnResult=oneStayInfoCRUDImple.insertOneStayInfo(oneStayInfoPO); catch (WebException e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage(); return; if(returnResult) forwardToSuccessTargetPage(request,response,/main.html);else forwardToShowErrorInfoTargetPage(request,response,在添加住房 信息时,系统出现了错误,请重新添加该住房的信息!);return;5.3 住房信息查询功能住房信息查询功能便于管理员和客户的查询,可以按住房编号查询,也可以按照入住日期查询,还可以直接查看全部的住宿信息,准确快捷。如图 5-3。0查看所有住房信息O按编号查询O按日期查询2011 v5 v宾VC开始查询图 5-3 住房信息查询界面5.4 添加就餐信息功能就餐信息添加功能,能够实现管理员对客人就餐消费的管理,如图 5-4。添加就餐信息、表图 5-4 添加就餐信息界面实现此功能的代码如下:private void doQueryAssetsInfoAction(HttpServletRequest request, HttpServletResponse response,EatingInfoActionform oneEatingInfoActionform) throws ServletException, IOExceptionEatingInfoPO oneEatingInfoPO=new EatingInfoPO();eatingInfoActionFormSaveToEatingInfoPO(oneEatingInfoActionform,oneEatin gInfoPO);oneEatingInfoPO.setEatingID(SystemUtil.getRandomIntegerNumber(10, 6);boolean returnResult;EatingInfoCRUDImple oneEatingInfoCRUDImple=new EatingInfoCRUDImple();try returnResult=oneEatingInfoCRUDImple.insertOneEatingInfo(oneEatingInfoPO) catch (WebException e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage(); return;if(returnResult) forwardToSuccessTargetPage(request,response,/main.html);else forwardToShowErrorInfoTargetPage(request,response,在添加就餐 信息时,系统出现了错误,请重新添加就餐信息!);return;5.5 就餐信息查询功能就餐信息查询功能便于管理员和客人对就餐消费信息的查询,如图 5-5。查看所有就餐信息O按编号查询0按日期查询5 v开始查询图 5-5 就餐信息查询界面5.6 结账功能当宾客离店结账的时候可以分开进行就餐结账和住房结账,也可以两种账 单和在一起清算,如图 5-6。图 5-6 结账界面六、结论本系统综合了中小型星级酒店的的特点,从界面的设计到系统的使用都是 从方便用户使用的角度出发,具有很强的实用性 主要功能包括客户预订、入住开单、客户住宿管理、客户餐饮管理、客户结账 等等。系统的特色归纳如下:本系统可以运行在多种操作系统平台上( Windows NT/Windows2000/Windows XP)。数据库管理系统采用Mysql数据库。并且利用安全可靠的Java 来编写,使得系统具有很强的移植性和易于维护等特点。及时全面地处理各种错误异常,特别是对用户提交的信息进行判断,若出 现输入错误或信息为空的现象,系统就会及时给予用户出错提示。避免了用户 的误操作和输入非法数据的可能性。用户界面比较友好,操作简单,使用方便。符合酒店管理的基本流程。本系统基本上满足了酒店管理方面的需要。满足了酒店管理人员对客房管理的 工作。在界面上力求做到美观、在操作方面尽量避免由于用户操作不当带来的 系统出错现象。但由于时间仓促,本系统还存在一些不足之处,主要体现在: 需要进一步修饰和美化;部分模块功能实现有些简单,与实际情况有一定的出 入,在以后的学习和工作时间里,我会进一步加强其功能。附录(部分源代码)验证码:public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException CreateVerifyCodeImageBean oneCreateVerifyCodeImageBean=new CreateVerifyCodeImageBean();java.awt.imag12y67lc,e.BufferedImage image=oneCreateVerifyCodeImageBean.createSomeOneVerifyImage();HttpSession session=request.getSession();StringverifyCodeInSession=oneCreateVerifyCodeImageBean.getVerifyCodeString();session.setAttribute(verifyCodeNameInSession,verifyCodeInSession); / 将认证码存入SESSIO N对象中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(); / 输出图像登陆界面:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(gb2312);String verifyCode=request.getParameter(verifyCode);String userName=request.getParameter(userName);String passWord=request.getParameter(passWord);UserInfoRUImple oneUserInfoRUImple=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, passWord); catch (WebException e) / TODO Auto-generated catch block e.printStackTrace(); if(oneUserInfoPO=null)request.setAttribute(errorText,用户名和密码输入错误!); RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher(this.getServletContext().getInit Parameter(forwardShowErrorInfoTargetPage);oneRequestDispatcher.forward(request, response); return;else RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher(/index.html); oneRequestDispatcher.forward(request, response); else request.setAttribute(errorText,验证码输入错误!); RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher(this.getServletContext().getInit Parameter(forwardShowErrorInfoTargetPage);oneRequestDispatcher.forward(request, response); return;住房信息查询:private void doQueryAssetsInfoAction (HttpServletRequest request, HttpServletResponse response,StayInfoActionform oneStayInfoActionform) throws ServletException, IOExceptionString sqlQueryWhereString=null;PageStatePO onePageStatePO=null; onePageStatePO=new PageStatePO(); onePageStatePO.setCurrentPageNumber(1);/由于是第一次访问,因此获得第一页的数据onePageStatePO.setOnePageSize(AllConstantItems.OnePageSize);switch(oneStayInfoActionform.getQueryMethodRadioButtonID()case AllConstantItems.ProductionInfoManage_QueryAllData: sqlQueryWhereString=;break;caseAllConstantItems.ProductionInfoManage_QueryDataByProductionID:if(oneStayInfoActionform.getStayID()!=0) sqlQueryWhereString=where stayID=+oneStayInfoActionform.getStayID();break;case AllConstantItems.ProductionInfoManage_QueryDataBySomeProductionInfo: sqlQueryWhereString=where startDate like %+oneStayInfoActionform.getStartDate()+%;break; StayInfoCRUDImple oneStayInfoCRUDImple=new StayInfoCRUDImple();List someStayInfo=null; try someStayInfo=oneStayInfoCRUDImple.selectSomeStayInfo(sqlQueryWhereString,o nePageStatePO); catch (WebException e) 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(ToShowQ ueryResultTargetPage);结账界面:public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 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=Integer.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 (WebException e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage();return; request.setAttribute(oneEatingInfoPO, oneEatingInfoPO); request.setAttribute(onepayType, 1);forwardToSuccessTargetPage(request,response,/payManage/payInfo.jsp);elseStayInfoPO oneStayInfoPO=new StayInfoPO(); List someEatingInfoPO=new ArrayList();StayInfoCRUDImple oneStayInfoCRUDImple=new StayInfoCRUDImple();EatingInfoCRUDImple oneEatingInfoCRUDImple=new EatingInfoCRUDImple();try oneStayInfoPO=oneStayInfoCRUDImple.selectOneStayInfo(stayID); catch (WebException e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage();return; request.setAttribute(oneStayInfoPO, oneStayInfoPO); try someEatingInfoPO=oneEatingInfoCRUDImple.selectSomeEatingInfo(stayID); catch (WebException e) forwardToShowErrorInfoTargetPage(request,response,e.getMessage();return; request.setAttribute(onepayType, 2);boolean isNull=someEatingInfoPO.isEmpty();int allFee=0; if(!isNull)Iterator oneIterator=someEatingInfoPO.iterator();while(oneIterator.hasNext() allFee=allFee+oneIterator.next().getFee(); allFee=allFee+oneStayInfoPO.getFee(); request.setAttribute(allFee, allFee); request.setAttribute(oneIsNull, isNull); request.setAttribute(someEatingInfoPOInfo, someEatingInfoPO);forwardToSuccessTargetPage(request,response,/payManage/payInfo.jsp);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!