1、Java课程设计报告 酒店客房管理系统Java网络编程课程设计报告 酒店客房管理 指导教师:* 班 级: 1303班 组 长:* 组 员: * * * * 完成日期:2016年6月20号 运城学院计算机科学与技术系 第一章 问题定义 . 3 第二章 系统需求分析 . 3 2.1 系统建设目标 . 3 2.2 可行性分析 . 3 2.2.1 技术可行性 . 4 2.2.2 经济可行性 . 5 2.2.3 运行可行性 . 5 25565 63DD 揝37898 940A 鐊39237 9945 饅30392 76B8 皸24587 600B 怋*37451 924B 鉋 2.2.4 法律可行性 .
2、 5 2.3 系统需求分析 . 5 第三章 系统总体设计 . 6 3.1 系统总体结构设计 . 6 3.2 使用结构化方法进行系统分析 . 6 3.2.1系统功能建模 . 6 3.2.2 学生宿舍管理系统的E-R图 . 6 3.3 数据库设计 . 7 第四章 系统的详细设计及其实现 . 7 4.1 注册页面 . 8 4.2 用户登录 . 8 4.3 入住登记 . 9 4.4 离店结账并生成结账报表 . 11 4.5 房间增加 . 13 4.6 房间删除 . 14 4.7 房间查询 . 15 4.8 房间更新 . 15 4.9 客户查询 . 16 Z30476 770C 県8Y|g33602 8
3、342 荂- 第五章 系统测试 . 16 5.1 测试综述 . 16 5.2 测试方法 . 17 5.3 测试步骤 . 17 5.4 测试过程 . 17 5.5 测试结论 . 18 第六章 课程设计体会 . 18 第一章 问题定义 随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失
4、误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。 现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多酒
5、店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。 第二章 系统需求分析 2.1 系统建设目标 在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。 由于传统的手工客房信息管理,管理过程复杂繁琐,低执行效率,并且容易出错。为了提高工作效率,减少工作中的错误,针对酒店客房管理开发管理软件,让前台客服人员通过电脑操作进行酒店客房管理,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。 本酒店客房管理系统主要以提高酒店客房服务的速度、精度,改善顾客服务的
6、亲善程度,减少工作差错为目标,减少各项资金支出,提高管理质量,从而能为酒店经营上档次创造条件。 2.2 可行性分析 可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的: 开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析2.2.1 技术可行性 枮67AE $26542 A 38344 95C8 闈 技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。 硬件:计算机的存储量大,运算速度快,成本较低,外部设备的功能好、效率高
7、、可靠性高,通信设备的能力、质量都满足要求。 系统软件:本系统主要采用B/S结构,其中B/S部分采用JSP技术来实现,由前台用户使用、后台系统管理部分两大部分组成,不需安装客户端,被授权用户通过浏览器即可登录系统。 服务器以Win7为操作系统,Mysql为数据库,主体程序Eclipse实现。 客户端以Win7为平台,用浏览器进行系统登陆和页面浏览。 在B/S三层体系结构系统中,用户通过客户端浏览器向网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上无需配置客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在
8、服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷i服务器。Web 分配给了2.2.2 经济可行性 经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。 该酒店客房管理系统开发经费对于一个企业来来说是可以接受的,并且本系统实施后可以显著提高工作效率,有助于企业的信息化管理,所以为该企业开发酒店管理系统在经济上是可行的。 2.2.3 运
9、行可行性 运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。该酒店管理系统是一个简单的信息管理系统,所耗费的资源非常少,并且将来的操作界面是直接浏览网页的形式,利用鼠标进行傻瓜式的操作,操作中的每一步都会有相应的提示,这样可以让更多的人群在最短的时间内学会使用他。 2.2.4 法律可行性 整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。 按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。 2.3 系统需求分析 该酒店预订管理系统使用户能迅速而便捷
10、的了解和查询酒店信息,根据自己的需求来预订房间。一个方便地实现对客房变更、房价及预订信息的自动化操作。 使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。该软件能系统管理酒店的信息,功能与实现方面有相当的针对性和实用性。该系统的主要功能有酒店信息管理,房间类型管理,订单信息管理,业务人员编辑和系统用户管理。 酒店客房管理系统需要具有以下的功能:G, r34772 87D4 蟔26458 675A 杚21184 52C0 勀 1)系统管理功能:普通接待人员的注册 2)客户管理功能:提供住宿客户信息的登记以及浏览。 3)住房管理功能:
11、可以进行客户入住、房间更换、退房的管理。 4)查询管理功能:提供对所有用户和房间信息的查询。如:房间状态查询、客户住房信息查询、客户退房查询、管理员信息查询等。 5)房间管理功能:提供房间的信息管理,例如:房间状态,不同类型房价的剩余量的记录。 6)其他特殊功能:不同权限的用户登录实现不同的功能、各类信息的统计。 第三章 系统总体设计 系统总体设计是对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要 设计。它主要包括系统模块结构设计、数据库设计等内容。 3.1 系统总体结构设计 4,然后再逐层深入,首先设计总体结构直至进本系统设计采用了自顶向下方式进行设计的。行每一个模块的设计
12、。总体设计主要是指在系统分析的基础上,针对企业电子商务的目标,刻画系统的内部结构及其相互关系,明确目标系统的各个组成部分、各个组成部分的作用及其相互关系,系统的流程如图所示: 系统功能模块图 3.2 使用结构化方法进行系统分析 3.2.1系统功能建模 对用户需求进行分析,画出系统的数据流图,如图所示。 图3.1 酒店客房管理系统的顶层数据流图 酒店客房管理系统的二层数据流图3.2 图3.2.2 学生宿舍管理系统的E-R图 根据系统数据流程图,我们可以列出以下系统所需的数据项: X nG25649 6431 搱36112 8D10 贐38513 9671 陱 客户:姓名、性别、年龄、证件号码、押
13、金、房间号、房间状态 用户:账户名、账户密码、姓名、性别、年龄、联系电话 房间:房间号、房间类型、房间单价、电话、房间状态 款项:已收押金、消费金额、结余金额 同时系统还需要进行记录的数据项: 入住及退房记录:客户姓名、入住时间、退出时间、 管理员查询记录:日期、当天收入金额、支出金额、全部押金管理员更新记录:房价更改、客户登记、结算金额 用户ER图 房间ER图 客户ER图 结算ER图 总体ER图 3.3 数据库设计 根据E-R模型和数据库需求分析,本系统总共涉及10个数据表格。其中包括用户表、房间表、客户表表、结算表4个基本表,同时还需要不用的用户登录实现不同的功能,因此还需要角色表、角色类
14、型表,同时还引入了房间状态表,实现简单的操作。本系统的数据表设计如图所示。 Account表 Function表 Living表 vx; L40215 9D17 鴗34941 887D 衽 Role表 Role_function表 Room表 Rooms表 Roomstate表 User表 User_role表 第四章 系统的详细设计及其实现 本章所讲的主要内容是该系统的实现方法和原理。下面来详细介绍系统的实现4.1 注册页面 /注册新用户 protected void doZhuCe(HttpServletRequest req, HttpServletResponse resp) thro
15、ws ServletException, IOException User user = new User(); ResultMsg rmsg= null ; try copyProperties(user, req.getParameterMap(); BeanUtils. getSqlSession(); SqlSession sqlsession= MybatisUtil. 25034 61CA 懊33517 82ED 苭31816 7C48 籈F24310 5EF6 延39406 99EE 駮23417 5B79 孹 sqlsession.insert(User.insert1,use
16、r); mit(); sqlsession.close(); ); 尬注册成功truenew rmsg= ResultMsg( catch (IllegalAccessException e) Auto-generated catch block TODO / e.printStackTrace(); catch (InvocationTargetException e) Auto-generated catch block TODO / e.printStackTrace(); outJsonStrAndColsetransToJsonStr(rmsg) JsonUtil. (resp, J
17、sonUtil. 4.2 用户登录 /判断用户名和密码是否正确 protected void doCheckLogin(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 29137 71D1 燑+?( 35834 8BFA 诺nB User(); new User user = try copyProperties (user,req.getParameterMap(); BeanUtils.getSqlSession(); SqlSession sqlsession =
18、 MybatisUtil. out.println(user.getAccount(); System.User uu = sqlsession.selectOne(User.select1, user); out.println(ame=+uu.getAccount()+p=+uu.getPwd(); System.(uu.getAccount().equals(user.getAccount() & uu.getPwd().equals(user.getPwd() if req.getSession().setAttribute(loginuser, uu); 正确跳转到主页面/ req.
19、getRequestDispatcher(Myjsp/main.jsp).forward(req, resp); (Exception e) catch / TODO Auto-generated catch block e.printStackTrace(); /不正确跳转到登录页面 req.getRequestDispatcher(Myjsp/login.jsp); 38791 9787 鞇g24672 6060 恠26011 659B 斛38067 94B3 钳32262 7E06 縆 4.3 入住登记 /添加一条入住信息 protected void addAccount(HttpSe
20、rvletRequest 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.getPar
21、ameterMap(); 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(); 21993 55E9 嗩 28775 7067 灧22439 57A7 垧g28690 7012 瀒Q20653 50AD 傭 Account accse=new Account(); Liv
22、e 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(
23、acc.getCashpledge(); sqlsession.insert(Acc.insert2, live); else System.out.println(%updateacc= + acc); sqlsession.update(Acc.update1,acc); if(acc.getStateidfk()=3) String accs= acc.getAccount(); 磋ub30923 78CB 40130 9CC2 鳂n Account accse=new Account(); Live live=new Live(); Date date=new Date(); accs
24、e.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=n
25、ew Room(); int roomid=acc.getRoomidfk(); int statidfk=acc.getStateidfk(); ro.setRoomid(roomid); ro.setStateidfk(statidfk); 35750 8BA6 讦36558 8ECE 軎21631 547F 呿240577 9E81 麁N39684 9B04 鬄34410 866A 虪 sqlsession.update(Acc.update2, ro); mit(); sqlsession.close(); ); 操作成功 浲杳渽睥删獥汵?杳琨畲? catch (Exception e) / TODO Auto-generated catch block e.printStackTrace(); ); 浲杳渽睥删獥汵?杳琨畲? 操作失败 JsonUtil.outJsonStrAndColse(resp, JsonUtil.transToJsonStr(rmsg);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1