Java课程设计分析报告-酒店客房管理系统_第1页
Java课程设计分析报告-酒店客房管理系统_第2页
Java课程设计分析报告-酒店客房管理系统_第3页
Java课程设计分析报告-酒店客房管理系统_第4页
Java课程设计分析报告-酒店客房管理系统_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、Java课程设计报告-酒店客房管 理系统作者: 日期:Java 网络编程课程设计报告酒店客房管理指导教师: *班级: 1303 班组长:*组员: *完成日期:2016 年 6 月 20 号运城学院计算机科学与技术系目录第一章 问题定义 5第二章 系统需求分析 62.1 系统建设目标 62.2 可行性分析 62.2.1 技术可行性 62.2.2 经济可行性 72.2.3 运行可行性 72.2.4 法律可行性 72.3 系统需求分析 7第三章 系统总体设计 83.1 系统总体结构设计 83.2 使用结构化方法进行系统分析 83.2.1 系统功能建模 83.2.2 学生宿舍管理系统的 E-R图 93

2、.3 数据库设计 11第四章 系统的详细设计及其实现 134.1 注册页面 134.2 用户登录 144.3 入住登记 154.4 离店结账并生成结账报表 174.5 房间增加 184.6 房间删除 194.7 房间查询 204.8 房间更新 214.9 客户查询 21第五章 系统测试 235.1 测试综述 235.2 测试方法 235.3 测试步骤 235.4 测试过程 235.5 测试结论 24第六章 课程设计体会 25第一章 问题定义随着人类社会进入信息时代, 计算机越来越多地活跃在社会各个领域, 成为 不可缺少的工具, 尤其在管理方面, 管理软件的出现使大量繁琐复杂的问题变得 简单易行

3、。在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有 越来越重要的地位。 要使在当前酒店行业日趋激烈的竞争中脱颖而出, 必须努力 发展自己在管理方面的特色, 避免传统管理方法的失误, 使酒店的信誉以及各个 管理方面都能够出现零失误, 给管理者和普通的营业员带来操作上的方便, 对整 个酒店各个方面的业务带来快捷, 方便,高效的服务,才是管理软件的成功之处。现今酒店宾馆的规模不断扩大, 客户数量急剧增加, 有关客户的各种信息也 成倍增长, 尤其是大量的客房预订信息。 面对庞大的信息量, 需要有客户信息管 理系统来提高客户管理工作的效率。 通过这样的系统,可以做到信息的规范管理, 科学统计

4、和快速查询, 从而减少管理方面的工作量。 当前许多酒店正在逐步完善 客户信息管理工作, 需要一个能满足内部管理需求, 提高管理效率的应用系统进 行内部管理。许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累 了大量的客户信息急需进行统一管理以防信息的流失。 因此,许多酒店需要一个 功能全面的客户信息管理系统来进行管理, 以使管理客户信息的工作在该系统的 配合下更加高效和便捷。第二章 系统需求分析2.1 系统建设目标在对系统初步调查的基础上就可以提出项目的开发目标, 即新系统建立后所 要求达到的运行指标,这是系统开发和评价的依据。由于传统的手工客房信息管理,管理过程复杂繁琐,低执行效率,

5、并且容易 出错。为了提高工作效率, 减少工作中的错误, 针对酒店客房管理开发管理软件, 让前台客服人员通过电脑操作进行酒店客房管理, 为用户节省时间和人力, 更能 全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。本酒店客房管理系统主要以提高酒店客房服务的速度、精度,改善顾客服务 的亲善程度,减少工作差错为目标,减少各项资金支出,提高管理质量,从而能 为酒店经营上档次创造条件。2.2 可行性分析可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。 这 对于保证资源的合理利用、 避免浪费是一个十分重要的, 也是项目一旦开始以后 能顺利进行的必要保证。 当系统的开发目标确定后

6、, 就可以从以下三方面对能否 实现新系统目标进行可行性分析 : 2.2.1 技术可行性 技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的 物理资源是否具备,能否得到。硬件:计算机的存储量大,运算速度快,成本较低,外部设备的功能好、 效率高、可靠性高,通信设备的能力、质量都满足要求。系统软件: 本系统主要采用 B/S结构,其中 B/S部分采用 JSP技术来实现, 由前台用户使用、后台系统管理部分两大部分组成,不需安装客户端,被授权 用户通过浏览器即可登录系统。服务器以 Win7 为操作系统, Mysql 为数据库,主体程序 Eclipse实现。 客户端以 Win7 为平台,用浏

7、览器进行系统登陆和页面浏览。在 B/S 三层体系结构系统中,用户通过客户端浏览器向网络上的服务器发 出请求,服务器对浏览器的请求进行处理, 将用户所需信息返回到浏览器。 B/S 结构简化了客户机的工作,客户机上无需配置客户端软件。服务器将担负更多 的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请 求,而其余如数据请求、 加工、结果返回以及动态网页生成等工作全部由 Web Server完成。实际上 B/S 体系结构是把二层 C/S结构的事务处理逻辑模块从客 户机的任务中分离出来,由 Web 服务器单独组成一层来负担其任务,这样客 户机的压力减轻了,把负荷分配给了 Webi 服

8、务器。2.2.2 经济可行性经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将 费用与效益进行比较,看是否有利。该酒店客房管理系统开发经费对于一个企业来来说是可以接受的, 并且本系 统实施后可以显著提高工作效率, 有助于企业的信息化管理, 所以为该企业开发 酒店管理系统在经济上是可行的。2.2.3 运行可行性运行可行性是指所建立的信息系统能否在该企业实现, 在当前的操作环境下 能否很好的进行, 即组织内外是否具备接受和使用新系统的条件。 该酒店管理系 统是一个简单的信息管理系统, 所耗费的资源非常少, 并且将来的操作界面是直 接浏览网页的形式, 利用鼠标进行傻瓜式的操作, 操作

9、中的每一步都会有相应的 提示,这样可以让更多的人群在最短的时间内学会使用他。2.2.4 法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等 与法律抵触的方面。因此,本系统在法律上是可行的。按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。2.3 系统需求分析该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息, 根据自己 的需求来预订房间。一个方便地实现对客房变更、 房价及预订信息的自动化操作。 使用该系统全面管理酒店信息, 为用户节省时间和人力, 更能全面、 有效地掌握 酒店基本情况,及时获取最新的准确资料和信息。 该软件能系统管理酒店的信息, 功能与

10、实现方面有相当的针对性和实用性。该系统的主要功能有酒店信息管理 , 房间类型管理 ,订单信息管理 ,业务人员编辑和系统用户管理。酒店客房管理系统需要具有以下的功能:1)系统管理功能:普通接待人员的注册2)客户管理功能:提供住宿客户信息的登记以及浏览。3)住房管理功能:可以进行客户入住、房间更换、退房的管理。4)查询管理功能:提供对所有用户和房间信息的查询。如:房间状态查询、 客户住房信息查询、客户退房查询、管理员信息查询等。5)房间管理功能:提供房间的信息管理,例如:房间状态,不同类型房价 的剩余量的记录。6)其他特殊功能:不同权限的用户登录实现不同的功能、各类信息的统计。第三章 系统总体设计

11、系统总体设计是对有关系统全局问题的设计,也就是设计系统总的处理方 案,又称系统概要设计。它主要包括系统模块结构设计、数据库设计等内容。3.1 系统总体结构设计本系统设计采用了自顶向下方式进行设计的。首先设计总体结构 4 ,然后再 逐层深入,直至进行每一个模块的设计。 总体设计主要是指在系统分析的基础上, 针对企业电子商务的目标, 刻画系统的内部结构及其相互关系, 明确目标系统的 各个组成部分、各个组成部分的作用及其相互关系,系统的流程如图所示:系统功能模块图3.2 使用结构化方法进行系统分析3.2.1 系统功能建模对用户需求进行分析,画出系统的数据流图,如图所示图 3.1 酒店客房管理系统的顶

12、层数据流图图 3.2 酒店客房管理系统的二层数据流图3.2.2 学生宿舍管理系统的 E-R 图根据系统数据流程图,我们可以列出以下系统所需的数据项: 客户:姓名、性别、年龄、证件号码、押金、房间号、房间状态 用户:账户名、账户密码、姓名、性别、年龄、联系电话 房间:房间号、房间类型、房间单价、电话、房间状态 款项:已收押金、消费金额、结余金额 同时系统还需要进行记录的数据项: 入住及退房记录:客户姓名、入住时间、退出时间、 管理员查询记录:日期、当天收入金额、支出金额、全部押金 管理员更新记录:房价更改、客户登记、结算金额用户 ER图房间 ER图客户 ER图结算 ER图总体 ER 图3.3 数

13、据库设计根据 E-R模型和数据库需求分析, 本系统总共涉及 10 个数据表格。 其中包括 用户表、房间表、客户表表、结算表 4 个基本表,同时还需要不用的用户登录实 现不同的功能,因此还需要角色表、角色类型表,同时还引入了房间状态表,实 现简单的操作。本系统的数据表设计如图所示。Account 表Function 表Living 表Role 表Role function 表Room 表Rooms 表Roomstate 表User 表User_role 表第四章 系统的详细设计及其实现本章所讲的主要内容是该系统的实现方法和原理。 下面来详细介绍系统的实 现4.1 注册页面/ 注册新用户prote

14、cted 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);mi

15、t();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

16、)134.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.

17、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).forw

18、ard(req, resp);catch (Exception e) / TODO Auto-generated catch block e.printStackTrace();/ 不正确跳转到登录页面req.getRequestDispatcher(Myjsp/login.jsp);14/ 添加一条入住信息protected void addAccount(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException / TODO Auto-generated method stu

19、bAccount 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); sqlsess

20、ion.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.toL

21、ocaleString(); live.setAccidfk(acclive.getAccid(); live.setRoomidfk(acclive.getRoomidfk(); live.setCashpledge(acc.getCashpledge();sqlsession.insert(Acc.insert2, live);15elseSystem.out.println(updateacc= + acc);sqlsession.update(Acc.update1,acc);if(acc.getStateidfk()=3)String accs= acc.getAccount();A

22、ccount 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();liv

23、e.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)

24、/ TODO Auto-generated catch blocke.printStackTrace();rmsg=new ResultMsg(true, 操作失败 );JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg);164.4 离店结账并生成结账报表/ 结账信息protected void Delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException / TODO Auto-generat

25、ed 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

26、.setBill(bill);tryLive 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.u

27、pdate(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.getC

28、ashpledge();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=

29、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;Sq

30、lSession sqlsession=MybatisUtil.getSqlSession();try BeanUtils.copyProperties(types, req.getParameterMap();System.out.println(types.getRoomsid();if(types.getRoomsid()=0)18System.out.println(888888);sqlsession.insert(RoomType.insert1, types);elseSystem.out.println(000000);sqlsession.update(RoomType.up

31、date1,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

32、 req, HttpServletResponse resp) throws ServletException, IOException / TODO Auto-generated method stubResultMsg rmsg=null;tryString roomsids=req.getParameter(roomsid);int roomsid=Integer.parseInt(roomsids);SqlSession sqlsession=MybatisUtil.getSqlSession();sqlsession.delete(RoomType.delete1,roomsid);

33、mit();sqlsession.close();rmsg=new ResultMsg(true, 删除成功 );catch(Exception e)19e.printStackTrace(); rmsg=new ResultMsg(true, 删除失败 ); JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg); 4.7 房间查询/ 查询所有房间类型protected void doList(HttpServletRequest req, HttpServletResponse resp) throws Servlet

34、Exception, 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,jsonSt

35、r);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();20RoomType type =sqlse

36、ssion.selectOne(RoomType.select2,roomsid); req.setAttribute(type, type); req.getRequestDispatcher(Myjsp/room/rotypeedit.jsp).forward(req, resp);4.8 房间更新/ 更新房间信息protected void toUpdate(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException / TODO Auto-generated method

37、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.9

38、 客户查询21/ 查询所有现入住客户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,JsonUti

39、l.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.setAt

40、tribute(acc,acc); req.getRequestDispatcher(Myjsp/room/accountedit.jsp).forward(req, resp);22第五章 系统测试5.1 测试综述系统测试其实就是对系统实现的一个校正。 也许某个用户用到的某个模块运行正常, 也 许该用户用其它的模块就出现了相应的问题, 一个好的程序测试并不代表没有错误, 但是也 并不代表一个程序它总是存在某种弊端。 暂时把系统测试划分为几个阶段: 第一阶段 -数据 录入, 一个程序只有在满足用户正常录入数据时, 这才是一个程序的开始; 第二阶段 -查找 错误,查找认为不合理的操作,或者是错误页面,这是程序发展的必经之路;第三阶段 - 更改错误,根据已有的平台,用最简单的方法,进行程序和数据的调正。总之,这三个步骤 来回循环,使程序尽量完善。5.2 测试方法考虑到各种因素和条件的限制,对基于JSP 的酒店客房管理系统课程 网站进行测试,需要不要的输入正确信息和错误信息 ii ,根据反馈结果来检测系统可能存在的问题。检 查程序功能是否能够按照需求正确使用, 程序是否能适当地接收输入数据并发生正确的输出 信息,而且要能够保持外部信息的完整性。5.3 测试步骤在系统开发过程中, 首先进行单个模块的功能测试, 确保每个模块准确无误, 然后进行

温馨提示

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

评论

0/150

提交评论