




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档Java网络编程课程设计报告酒店客房管理指导教师:*班 级: 1303班组 长:*组 员: * * * * 完成日期:2016年6月20号 运城学院计算机科学与技术系目录第一章 问题定义3第二章 系统需求分析32.1 系统建设目标32.2 可行性分析42.2.1 技术可行性42.2.2 经济可行性42.2.3 运行可行性42.2.4 法律可行性52.3 系统需求分析5第三章 系统总体设计53.1 系统总体结构设计53.2 使用结构化方法进行系统分析63.2.1系统功能建模63.2.2 学生宿舍管理系统的E-R图73.3 数据库设计8第四章 系统的详细设计及其实现104.1 注册页面104.2 用户登录114.3 入住登记124.4 离店结账并生成结账报表144.5 房间增加164.6 房间删除174.7 房间查询174.8 房间更新184.9 客户查询19第五章 系统测试205.1 测试综述205.2 测试方法205.3 测试步骤205.4 测试过程205.5 测试结论21第六章 课程设计体会21第一章 问题定义随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多酒店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。第二章 系统需求分析2.1 系统建设目标在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。由于传统的手工客房信息管理,管理过程复杂繁琐,低执行效率,并且容易出错。为了提高工作效率,减少工作中的错误,针对酒店客房管理开发管理软件,让前台客服人员通过电脑操作进行酒店客房管理,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。本酒店客房管理系统主要以提高酒店客房服务的速度、精度,改善顾客服务的亲善程度,减少工作差错为目标,减少各项资金支出,提高管理质量,从而能为酒店经营上档次创造条件。2.2 可行性分析可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:2.2.1 技术可行性技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。硬件:计算机的存储量大,运算速度快,成本较低,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。系统软件:本系统主要采用B/S结构,其中B/S部分采用JSP技术来实现,由前台用户使用、后台系统管理部分两大部分组成,不需安装客户端,被授权用户通过浏览器即可登录系统。服务器以Win7为操作系统,Mysql为数据库,主体程序Eclipse实现。客户端以Win7为平台,用浏览器进行系统登陆和页面浏览。在B/S三层体系结构系统中,用户通过客户端浏览器向网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上无需配置客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。2.2.2 经济可行性经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。该酒店客房管理系统开发经费对于一个企业来来说是可以接受的,并且本系统实施后可以显著提高工作效率,有助于企业的信息化管理,所以为该企业开发酒店管理系统在经济上是可行的。2.2.3 运行可行性运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。该酒店管理系统是一个简单的信息管理系统,所耗费的资源非常少,并且将来的操作界面是直接浏览网页的形式,利用鼠标进行傻瓜式的操作,操作中的每一步都会有相应的提示,这样可以让更多的人群在最短的时间内学会使用他。2.2.4 法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。2.3 系统需求分析该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息,根据自己的需求来预订房间。一个方便地实现对客房变更、房价及预订信息的自动化操作。 使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。该软件能系统管理酒店的信息,功能与实现方面有相当的针对性和实用性。该系统的主要功能有酒店信息管理,房间类型管理,订单信息管理,业务人员编辑和系统用户管理。酒店客房管理系统需要具有以下的功能:1)系统管理功能:普通接待人员的注册 2)客户管理功能:提供住宿客户信息的登记以及浏览。3)住房管理功能:可以进行客户入住、房间更换、退房的管理。4)查询管理功能:提供对所有用户和房间信息的查询。如:房间状态查询、客户住房信息查询、客户退房查询、管理员信息查询等。5)房间管理功能:提供房间的信息管理,例如:房间状态,不同类型房价的剩余量的记录。6)其他特殊功能:不同权限的用户登录实现不同的功能、各类信息的统计。第三章 系统总体设计系统总体设计是对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。它主要包括系统模块结构设计、数据库设计等内容。3.1 系统总体结构设计本系统设计采用了自顶向下方式进行设计的。首先设计总体结构4,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,针对企业电子商务的目标,刻画系统的内部结构及其相互关系,明确目标系统的各个组成部分、各个组成部分的作用及其相互关系,系统的流程如图所示:系统功能模块图3.2 使用结构化方法进行系统分析3.2.1系统功能建模对用户需求进行分析,画出系统的数据流图,如图所示。 图3.1 酒店客房管理系统的顶层数据流图图3.2 酒店客房管理系统的二层数据流图3.2.2 学生宿舍管理系统的E-R图根据系统数据流程图,我们可以列出以下系统所需的数据项:客户:姓名、性别、年龄、证件号码、押金、房间号、房间状态用户:账户名、账户密码、姓名、性别、年龄、联系电话 房间:房间号、房间类型、房间单价、电话、房间状态款项:已收押金、消费金额、结余金额 同时系统还需要进行记录的数据项:入住及退房记录:客户姓名、入住时间、退出时间、管理员查询记录:日期、当天收入金额、支出金额、全部押金管理员更新记录:房价更改、客户登记、结算金额用户ER图房间ER图客户ER图结算ER图总体ER图3.3 数据库设计根据E-R模型和数据库需求分析,本系统总共涉及10个数据表格。其中包括用户表、房间表、客户表表、结算表4个基本表,同时还需要不用的用户登录实现不同的功能,因此还需要角色表、角色类型表,同时还引入了房间状态表,实现简单的操作。本系统的数据表设计如图所示。Account表Function表Living表Role表Role_function表Room表Rooms表Roomstate表User表User_role表第四章 系统的详细设计及其实现本章所讲的主要内容是该系统的实现方法和原理。下面来详细介绍系统的实现4.1 注册页面 /注册新用户protected void doZhuCe(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException User user = new User(); ResultMsg rmsg=null; try BeanUtils.copyProperties(user, req.getParameterMap();SqlSession sqlsession= MybatisUtil.getSqlSession();sqlsession.insert(User.insert1,user);mit();sqlsession.close();rmsg=new ResultMsg(true,注册成功); catch (IllegalAccessException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (InvocationTargetException e) / TODO Auto-generated catch blocke.printStackTrace(); JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg) 4.2 用户登录/判断用户名和密码是否正确 protected void doCheckLogin(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException User user = new User(); try BeanUtils.copyProperties(user,req.getParameterMap();SqlSession sqlsession = MybatisUtil.getSqlSession();System.out.println(user.getAccount();User uu = sqlsession.selectOne(User.select1, user);System.out.println(name=+uu.getAccount()+p=+uu.getPwd();if(uu.getAccount().equals(user.getAccount() & uu.getPwd().equals(user.getPwd()req.getSession().setAttribute(loginuser, uu);/正确跳转到主页面 req.getRequestDispatcher(Myjsp/main.jsp).forward(req, resp); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();/不正确跳转到登录页面req.getRequestDispatcher(Myjsp/login.jsp); 4.3 入住登记/添加一条入住信息protected void addAccount(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stub Account acc=new Account(); ResultMsg rmsg=null; SqlSession sqlsession=MybatisUtil.getSqlSession(); System.out.println(req.getParameterMap();try BeanUtils.copyProperties(acc, req.getParameterMap();System.out.println(addddddddddddddddacc= + acc);if(acc.getAccid()=0)System.out.println(888888); sqlsession.insert(Acc.insert1, acc); if(acc.getStateidfk()=3) String accs= acc.getAccount(); Account accse=new Account(); Live live=new Live(); Date date=new Date(); accse.setAccount(accs); System.out.println(accs-+accse); Account acclive=sqlsession.selectOne(Acc.select5, acc.getAccid(); live.setCheckdate(date.toLocaleString(); live.setAccidfk(acclive.getAccid(); live.setRoomidfk(acclive.getRoomidfk(); live.setCashpledge(acc.getCashpledge(); sqlsession.insert(Acc.insert2, live); elseSystem.out.println(updateacc= + acc);sqlsession.update(Acc.update1,acc); if(acc.getStateidfk()=3) String accs= acc.getAccount(); Account accse=new Account(); Live live=new Live(); Date date=new Date(); accse.setAccount(accs); System.out.println(accs-+accse); Account acclive=sqlsession.selectOne(Acc.select5, accse); live.setCheckdate(date.toLocaleString(); live.setAccidfk(acclive.getAccid(); live.setRoomidfk(acclive.getRoomidfk(); live.setCashpledge(300); sqlsession.insert(Acc.insert2, live); Room ro=new Room();int roomid=acc.getRoomidfk();int statidfk=acc.getStateidfk();ro.setRoomid(roomid);ro.setStateidfk(statidfk);sqlsession.update(Acc.update2, ro);mit();sqlsession.close();rmsg=new ResultMsg(true,操作成功); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();rmsg=new ResultMsg(true,操作失败); JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg);4.4 离店结账并生成结账报表/结账信息protected void Delete(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stubint livid=Integer.parseInt(req.getParameter(livid);int bill=Integer.parseInt(req.getParameter(bill); System.out.println(livid=+livid); System.out.println(bill= + bill);SqlSession sqlsession=MybatisUtil.getSqlSession(); ResultMsg rmsg=null; Live live = new Live(); live.setLivid(livid); live.setBill(bill);try Live lives=sqlsession.selectOne(Live.select4,livid);/*sqlsession.delete(Live.delete1,livid);System.out.println(accid=+accid); sqlsession.delete(Live.delete2,accid);*/ sqlsession.update(Acc.update3, lives.getAccidfk(); sqlsession.update(Room.update_room_state, lives); sqlsession.update(Live.update1, live); Live live2 = sqlsession.selectOne(Live.select6, livid);mit();sqlsession.close();StringBuffer sb = new StringBuffer();sb.append(账单姓名:+live2.getAccount().getAccount();sb.append();sb.append(房间号:+live2.getRoomnumber().getRoomnumber();sb.append();sb.append(押金:+live2.getCashpledge();sb.append();sb.append(消费:+live2.getBill();sb.append();sb.append(结余:+(live2.getCashpledge() - live2.getBill();sb.append();sb.append(时间:+live2.getCheckdate();sb.append();sb.append();sb.append(欢迎下次光临!);rmsg=new ResultMsg(true,sb.toString();catch(Exception e)e.printStackTrace();rmsg=new ResultMsg(true,结算失败); JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg);4.5 房间增加/添加房型protected void addType(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stubRoomType types=new RoomType(); ResultMsg rmsg=null; SqlSession sqlsession=MybatisUtil.getSqlSession();try BeanUtils.copyProperties(types, req.getParameterMap();System.out.println(types.getRoomsid();if(types.getRoomsid()=0)System.out.println(888888); sqlsession.insert(RoomType.insert1, types);elseSystem.out.println(000000);sqlsession.update(RoomType.update1,types);mit();sqlsession.close();rmsg=new ResultMsg(true,操作成功); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();rmsg=new ResultMsg(true,操作失败); JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg); 4.6 房间删除/移除一种房间类型protected void toremove(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stub ResultMsg rmsg=null;try String roomsids=req.getParameter(roomsid);int roomsid=Integer.parseInt(roomsids);SqlSession sqlsession=MybatisUtil.getSqlSession();sqlsession.delete(RoomType.delete1,roomsid);mit();sqlsession.close();rmsg=new ResultMsg(true,删除成功);catch(Exception e) e.printStackTrace();rmsg=new ResultMsg(true,删除失败);JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg);4.7 房间查询/查询所有房间类型protected void doList(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stubSqlSession sqlsession=MybatisUtil.getSqlSession();List typelist =sqlsession.selectList(RoomType.select1);String jsonStr = JsonUtil.transToJsonStr(typelist);System.out.println(typelist.get(0).getRoomtype(); JsonUtil.outJsonStrAndColse(resp,jsonStr);protected void toUpdate(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stubString roomsids=req.getParameter(roomsid);int roomsid=Integer.parseInt(roomsids);SqlSession sqlsession=MybatisUtil.getSqlSession();RoomType type =sqlsession.selectOne(RoomType.select2,roomsid);req.setAttribute(type, type);req.getRequestDispatcher(Myjsp/room/rotypeedit.jsp).forward(req, resp);4.8 房间更新/更新房间信息protectedvoidtoUpdate(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException/TODOAuto-generatedmethodstub Stringroomsids=req.getParameter(roomsid);introomsid=Integer.parseInt(roomsids);SqlSessionsqlsession=MybatisUtil.getSqlSession();RoomTypetype=sqlsession.selectOne(RoomType.select2,roomsid);req.setAttribute(type,type);req.getRequestDispatcher(Myjsp/room/rotypeedit.jsp).forward(req,resp); 4.9 客户查询/查询所有现入住客户protected void AccList(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stubSqlSession sqlsession=MybatisUtil.getSqlSession();List Acclist =sqlsession.selectList(Acc.select1); JsonUtil.outJsonStrAndColse(resp,JsonUtil.transToJsonStr(Acclist);protected void toUpdate(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException int accid=Integer.parseInt(req.getParameter(accid);SqlSession sqlsession=MybatisUtil.getSqlSession();Account acc =sqlsession.selectOne(Acc.select2,accid);req.setAttribute(acc,acc);req.getRequestDispatcher(Myjsp/room/accountedit.jsp).forward(req, resp);第五章 系统测试5.1 测试综述系统测试其实就是对系统实现的一个校正。也许某个用户用到的某个模块运行正常,也许该用户用其它的模块就出现了相应的问题,一个好的程序测试并不代表没有错误,但是也并不代表一个程序它总是存在某种弊端。暂时把系统测试划分为几个阶段:第一阶段-数据录入,一个程序只有在满足用户正常录入数据时,这才是一个程序的开始;第二阶段-查找错误,查找认为不合理的操作,或者是错误页面,这是程序发展的必经之路;第三阶段-更改错误,根据已有的平台,用最简单的方法,进行程序和数据的调正。总之,这三个步骤来回循环,使程序尽量完善。5.2 测试方法考虑到各种因素和条件的限制,对基于JSP的酒店客房管理系统课程 网站进行测试,需要不要的输入正确信息和错误信息,根据反馈结果来检测系统可能存在的问题。检查程序功能是否能够按照需求正确使用,程序是否能适当地接收输入数据并发生正确的输出信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管道防腐涂层修复工艺考核试卷及答案
- 油料干燥工艺考核试卷及答案
- 橡胶模具精密模具制造工艺考核试卷及答案
- 坚果种植修剪时期确定工艺考核试卷及答案
- 2024新版2025秋青岛版科学六三制三年级上册教学课件:第二单元小结复习
- 辽宁省沈阳市2025-2026学年八年级上册第一次月考数学模拟试卷含解析
- 音响技术考试试题及答案
- 应急实操面试题库及答案
- 护师考试专业试题及答案
- 电气专业期末试题及答案
- 2025年北京市高考英语试卷真题(含答案解析)
- 医务科依法执业自查表
- 公对私转账合同
- 综合实践活动(2年级下册)第3课时 自动浇水器的设计与制作-课件
- 保密室及保密要害部位搬迁发案
- 《人力资源管理全套课件》
- 眼科常见疾病诊疗指南
- 厂级岗前安全培训教材
- 征兵宣传主题PPT
- 高中数学竞赛讲义-高中数学竞赛
- YB/T 100-1997集成电路引线框架用4J42K合金冷轧带材
评论
0/150
提交评论