(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc

上传人:啊飒飒 文档编号:10566462 上传时间:2021-05-23 格式:DOC 页数:30 大小:5.84MB
返回 下载 相关 举报
(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc_第1页
第1页 / 共30页
(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc_第2页
第2页 / 共30页
(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc_第3页
第3页 / 共30页
(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc_第4页
第4页 / 共30页
(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc》由会员分享,可在线阅读,更多相关《(荐)基于web的酒店客房管理系统的设计_与实现毕业论文精选整理.doc(30页珍藏版)》请在三一文库上搜索。

1、淮阴师范学院毕业论文(设计)毕业设计说明书学生姓名学 号学院 计算机科学与技术学院专 业计算机科学与技术(软件工程)题 目基于web的酒店客房管理系统的设计与实现指导教师 讲师/硕士 (姓 名) (专业技术职称/学位)2013年05月27毕业论文独创性声明本人郑重声明:本论文是我个人在导师指导下进行的研究工作及取得的研究成果。本论文除引文外所有实验、数据和有关材料均是真实的。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名: 日 期: 摘要:随着信息化时代的推进,各个行业都

2、在采用采用信息化的管理方式。酒店的管理也必须依托计算机管理技术才能更好的为客户提供服务质量,提高工作效率与降低自身管理成本。如此才能在竞争激烈的酒店行业中占领一席之地。基于java的web应用程序,采用较为流行的Struts轻量级框架和Heibernate技术,以mySQL作为后台数据库开发了酒店客房管理系统。该系统主要包括以下功能模块:酒店的前台管理和后台管理。前台管理包括:订单管理模块,入住管理模块,会员管理模块,和结账模块。后台管理包括:用户管理模块和房间管理模块。该系统可为酒店客房管理提供高效的平台,同时也为酒店的前台工作人员提供更为简洁与容易的操作方式,具有较强的实际应用价值。论文详

3、细描述了酒店客房管理系统的开发过程和实现的具体功能。关键词:酒店客房管理系统,JAVA,mySQL ,EclipseAbstract: With the process of the information age, all industries are in the use of information management, the hotel management must also be based on the technology of computer management to provide customers better service quality, improve

4、work efficiency and reduce its management cost. So can we in the fierce competition in the hotel industry to occupy a space for one person。 This paper describes the development process of hotel guest room management system and the concrete realization of the function. The system includes the followi

5、ng modules: foreground management and background management of hotel. Future management includes: order management module, check management module, member management module and check module .The backstage management includes: the user management module and room management module. The system provides

6、 an efficient platform for the management of hotel rooms, but also provide a more concise and easily platform for the hotel front desk staff . The system is a the web application,which based on Java, using the technology of the Struts and Heibernate frameworks which are more popular,and using mySQL

7、as the background database.Key words: Hotel room management system,JAVA,mySQL ,Eclipse 目录1 绪论41.1 课题背景41.2 目的和意义41.3 系统的开发环境42 系统需求分析42.1 系统用户42.2 功能需求42.3 功能介绍53 数据库设计63.1概念模型E-R图设计63.2 系统数据库逻辑结构设计74 系统运行平台94.1 系统运行环境95 系统的实现和核心模块的描述95.1 登录模块及实现代码95.2主界面及核心代码105.3 预定管理界面及核心代码125.4 入住管理界面及核心代码145.5会

8、员管理界面及核心代码165.6收银管理界面及核心代码175.7信息查询界面及核心代码195.8 后台管理界面及核心代码216 系统测试236.1 系统测试的必要性236.2 测试系统遇到问题及解决办法23总 结24参考文献26致 谢271 绪论1.1 课题背景酒店行业的迅速发展,原始的人工管理已经越来越不能满足用户的需求,它所带给酒店的有如下的弊端:工作效率低下,信息维护成本高,信息管理困难等等。信息时代的来临,计算机的使用给酒店管理者们提供了一个更为高效的、低成本的信息管理与存储方式。面对酒店日益增长的客户量,以及越来越多的酒店服务需求,用计算机去管理酒店的业务成了一个迫在眉睫的问题,针对这

9、一需求开发了酒店客房管理系统。1.2 目的和意义对于酒店来说,如何提高管理效能与服务质量将是该酒店能不能在行业中领先的关键。显然采用人工的方式不是一个明智之举。采用信息化的先进管理方式能够更高效,更精准的发挥它的效能,对提高酒店的竞争力也具有很高的价值。基于web的酒店客房管理系统给酒店管理者提供了一个更高效,易操作,更安全的管理方式。在节省人力物力资源的同时,更快速的满足客户的需求,这是本系统设计的目的所在。1.3 系统的开发环境酒店客房管理系统具体开发环境如下:(1) 系统开发平台:Eclipse。(2) 系统开发语言:Java。(3) 数据库管理系统:MySQL。(4) 运行平台:Win

10、dows XP,Windows 7。2 系统需求分析2.1 系统用户酒店客房管理系统的用户主要有两种权限用户:酒店管理者,酒店前台工作人员2.2 功能需求本系统主要完成以下功能:1.预定管理模块:(1)普通预定:普通客户通过录入客户信息及房间信息提交预定信息。(2)会员预定:通过输入会员ID,跟身份证号确认该会员信息,后再录入房间信息 并提交订单。(3)修改预定:通过输入用户名及身份证号修改预定信息,并提交修改后的信息。2.入住管理模块:(1)新用户入住:普通客户通过录入客户信息及房间信息提交入住信息。(2)预定入住:通过输入用户名及身份证号查看预定信息,并提交或修改入住信 息。(3)会员入住

11、:通过输入会员ID,跟身份证号确认该会员信息,后再录入房间信息 并提交入住信息。(4)续住:通过输入房间号和身份证号,修改房间到达日期,并提交。3.会员管理模块:(1)注册会员:填写注册信息。(2)会员查询:查询数据库中所有会员信息。4.收银管理模块:(1)结账:通过输入房间号和身份证号,系统自动结算当前消费的金额。5.信息查询模块:(1)预定查询:查询当前酒店的所有预定信息。(2)入住查询:查询当前酒店的所有入住信息。(3)账单查询:查询当前酒店的结账账单信息。6.后台管理模块(此功能仅为酒店管理者用):(1)房间的管理:增加或删除酒店的房间。(2)用户的管理:增加或者删除酒店的前台管理人员

12、。2.3 功能介绍1相关技术采用:本平台是基于mySQL数据库建立的,在Eclipse中编写代码。2. 系统的总体设计结构,如下:酒店客房管理系统后台管理登陆模块预定模块入住模块会员管理收银管理信息查询普通登录管理者登录预定查询普通预定会员预订修改预定新用户入住预定入住会员入住续住结账入住查询账单查询房间管理用户管理会员注册会员查询图2-1 系统功能模块图3 数据库设计3.1概念模型E-R图设计 图3-1 概念模型E-R图3.2 系统数据库逻辑结构设计系统数据库逻辑结构设计(见表3-1至表3-8)1.用户表,该表用于管理酒店的前台管理人员,操作者为酒店的管理者表3-1 用户表 user字段名字

13、段类型字段中文名备注user_idint用户编号主键usernamevarchar(10)用户名passwordvarchar(10)密码2.信息预定表,用于存储预定酒店客房的客户信息,操作者为酒店的前台管理人员。表3-2 预订信息表reserve_tbl字段名字段类型字段中文名备注book_idint预定编号主键cashdouble预付金额member_idint会员号arrive_datevarchar抵达日期时间leave_datevarchar离开时间reserveRoom_idint房间编号3.房间类型表,用于描述房间的信息,操作人员为酒店前台管理人员。表3-3 房间类型表room_

14、type字段名字段类型字段中文名备注room_type_idint房间类型编号主键descriptionvarchar(50)描述pricedouble价格bedCountint床位数4.会员信息表,用于描述会员信息,操作人员为酒店前台管理人员。表3-4 会员表member_tbl字段名字段类型字段中文名备注member_idint会员编号主键mem_namevarchar(10)客户名card_idvarchar(20)身份证号phonevarchar(20)电话pointsdouble消费积分discount_idint折扣等级编号5.账单表,用于描述某个房间的消费账单,操作者为前台管理人

15、员。表3-5 账单表bill字段名字段类型字段中文名备注bill_idint账单编号主键monetaryvarchar(10)消费金额dateTimedatetime结账日期6.登记入住表,用于描述酒店客户入住的信息,操作者为酒店管理人员。表3-6 登记入住表checking_in字段名字段类型字段中文名备注in_idint入住编号主键checkMember_idint会员号cashdouble预付金额arrive_datevarchar抵达日期时间leave_datevarchar离开时间checkinRoom_idint房间编号7.会员折扣表,用于描述会员的折扣信息,操作者为酒店前台管理员

16、。表3-7 会员折扣表vipdisc_tbl字段名字段类型字段中文名备注idint折扣等级编号ID主键discdouble享受折扣levelvarchar等级8.房间表,用于描述房间的信息和状态,操作者为前台管理人员。表3-8 房间表room_tbl字段名字段类型字段中文名备注room_idint房间ID主键room_namedouble房间名称room_statusvarchar状态roomTypeIdint房间类型编号4 系统运行平台4.1 系统运行环境系统运行的软件配置为 Windows 7/XP 版本的操作系统和mySQL数据库软件。5 系统的实现和核心模块的描述5.1 登录模块及实现

17、代码当酒店前台人员登录时,需要对其用户名以及密码进行验证,输入错误或是没有输入,点击登录会出现错误提示信息。不同权限的用户(酒店管理者和酒店前台管理人员)进入系统,有不同的功能。1.登录界面如下:图5-1登录界面2.核心代码如下:/*登录模块*/public String userLogin()if( user.getUsername().equals()|user.getUserpassword().equals()text=请输入用户名或者密码;return error;else if( user.getUsername().equals(root)&user.getUserpasswor

18、d().equals(root)return success1;elseString hql=From User where username=? and userpassword=?;Object params = new Object user.getUsername(),user.getUserpassword();Query query=HibernateUtil.queryAsParams(session, hql, params);if(query.uniqueResult()=null)text=用户名或者密码错误!;return error;elsetext=;return s

19、uccess;5.2主界面及核心代码主界面显示各个二级菜单。并显示当前酒店房间的状态,空房为蓝色,预定为黄色,入住为红色。右击房间图标,也可对房间进行相应的操作,包括:查看房间当前的信息,预定,入住,续订,退订,以及结账等操作。1. 主界面如下:图5-2主界面图示2. 核心代码如下:/* 显示所有房间*/function queryAllRoom(currentPage) if (currentPage 0) /* 加载房间状态 */var url = loadRoomStyle;var data = currentPage : currentPage,maxResult : 45;ajaxD

20、emo(url, data, showRoomStyle);/* * ajax通用模板*/function ajaxDemo(url, data, successResult) $.ajax(url : url,data : data,dataType : json,type : post,timeout : 5000,success : successResult,error : function() alert(加载失败!););5.3 预定管理界面及核心代码点击主界面的预定模块中的普通预定,会跳出如下界面,填写预定信息点击提交,会将该预定信息写入数据库。若是会员预定,或是修改预定信息,则

21、要先填写有关的信息,点击查询后,相关信息会自动显示在预定信息界面。1. 预定管理界面如下: 图5-3普通用户预定界面 2. 核心代码如下:/* 保存预定信息 * */public String reserve()String hql = ;Object params = null;Query query = null;/ 修改预定信息if (memberId != 0)int newRoomId = reserve.getRoom().getRoom_id();/ 新的房间号hql = from Reserve where member_id=?;params = new Object mem

22、berId ;query = HibernateUtil.queryAsParams(session, hql, params);Reserve oldreserve = (Reserve) query.uniqueResult();int oldRoomId = oldreserve.getRoom().getRoom_id();/ 原始的房间号Room oldRoom = (Room) session.load(Room.class, oldRoomId);Room newRoom = (Room) session.load(Room.class, newRoomId);if (oldRo

23、omId != newRoomId)oldRoom.setRoom_status(空房);session.update(oldRoom);newRoom.setRoom_status(预定);session.update(newRoom);oldreserve.setArrive_date(reserve.getArrive_date();oldreserve.setLeave_date(reserve.getLeave_date();oldreserve.setCash(reserve.getCash();oldreserve.setRoom(newRoom);session.update(

24、oldreserve);reserveMessage = 修改成功!;HibernateUtil.close(session, tran);return editSuccess;/ 新增预定信息VipDisc vip = (VipDisc) session.load(VipDisc.class, 1);member.setVipDisc(vip);session.save(member);reserve.setMenber(member);session.save(reserve);Room room = (Room) session.load(Room.class, reserve.getR

25、oom().getRoom_id();room.setRoom_status(预定);session.update(room);HibernateUtil.close(session, tran);reserveMessage = 预订成功!;return success;/* 保存会员预定信息* */public String vipReserve()reserve.setMenber(member);session.save(reserve);Room room = (Room) session.load(Room.class, reserve.getRoom().getRoom_id()

26、;room.setRoom_status(预定);session.update(room);HibernateUtil.close(session, tran);reserveMessage = 预订成功!;return success;5.4 入住管理界面及核心代码入住管理模块,分为直接入住,预定入住,会员入住,续住四个子功能,其中直接入住,直接输入客户及房间信息,点击提交会将此入住信息写入数据库。其他三个子功能必须输入相应的确认信息,如若信息正确,界面会直接显示客户的相关信息。1. 界面如下:图5-4普通客户入住界面图5-5预定入住确认界面2. 核心代码如下: /* 用户入住* */pub

27、lic String checkin()/* * 预订者入住信息保存 * */if (memberId != 0)member = (Member) session.load(Member.class, memberId);room = (Room) session.load(Room.class, checkin.getRoom().getRoom_id();checkin.setMember(member);checkin.setRoom(room);session.save(checkin);room.setRoom_status(已住);session.update(room);Str

28、ing hql = From Reserve where member_id = ?;Object params = new Object memberId ;Query query = HibernateUtil.queryAsParams(session, hql, params);reserve = (Reserve) query.uniqueResult();session.delete(reserve); elseVipDisc vip = (VipDisc) session.load(VipDisc.class, 1);member.setVipDisc(vip);session.

29、save(member);room = (Room) session.get(Room.class, room.getRoom_id();checkin.setMember(member);checkin.setRoom(room);session.save(checkin);room.setRoom_status(已住);session.update(room);mit();session.close();reserveMessage = 入住成功!;return success;5.5会员管理界面及核心代码此模块有两个子功能:会员注册和会员查询。当注册信息填写完后,点击提交,该客户就成为本

30、酒店的会员。前台管理人员也可对酒店的会员进行查询的动作,如此即可帮客户查询到该客户的会员等级情况。1. 界面如下所示:图5-6会员注册界面图5-7会员信息查询界面2. 核心代码如下:/* 会员注册 * */public String vipRegister()VipDisc vip = (VipDisc) session.load(VipDisc.class, member.getVipDisc().getId();member.setVipDisc(vip);session.save(member);HibernateUtil.close(session, tran);returnMessa

31、ge = 注册成功!;return success;/* 查询会员信息*/SuppressWarnings(unchecked)public String queryMember()String hql = from Member;Query query = HibernateUtil.queryAsParams(session, hql, null);List memberLists = new ArrayList();memberLists = query.list();for(int i=0;imemberLists.size();i+)Object res = new Object5;

32、 res0 = memberLists.get(i).getMember_id();res1 = memberLists.get(i).getMem_name();res2 = memberLists.get(i).getCard_id();res3 = memberLists.get(i).getPhone();res4 = memberLists.get(i).getVipDisc().getLevel();memberList.add(res);return success;5.6收银管理界面及核心代码先输入房间的房间号和客户的身份证号,当确认信息无误后,系统会自动显示该客户在酒店中的消

33、费信息,客户付完钱后,操作人员在实付金额框中输入客户付的金额,系统会自动计算需要的找零数目,结账成功会出现结账成功的提示信息。1. 界面如下所示:图5-8退房界面图5-9结账界面2. 核心代码如下:/* 退订房间* */public String queryLeaveRoom()Object params = null;params = new Object room.getRoom_name() ;String hql = ;hql = from Room where room_name=?;Query query = null;query = HibernateUtil.queryAsPa

34、rams(session, hql, params);if (query.uniqueResult() != null)room = (Room) query.uniqueResult();params = new Object room.getRoom_id() ;hql = from Checkin where checkinRoom_id = ?;query = HibernateUtil.queryAsParams(session, hql, params);if (query.uniqueResult() != null)checkin = (Checkin) query.uniqu

35、eResult();if (checkin.getMember().getCard_id().equals(member.getCard_id()memberId = checkin.getMember().getMember_id();tryliveAllCount = (DateUtil.parseDateString(checkin.getLeave_date().getTime() - DateUtil.parseDateString(checkin.getArrive_date().getTime()/ (1000 * 60 * 60 * 24)* room.getRoomType(

36、).getPrice();return success; catch (ParseException e)e.printStackTrace();reserveMessage = 无此房间信息;return error;/* 结算* */public String payCash()dispenser = paidCash - liveAllCount+ cash;Bill bill = new Bill();bill.setMontary(liveAllCount);bill.setDateTime(DateUtil.formatDate(new Date();session.save(bi

37、ll);room = (Room) session.load(Room.class, roomId);room.setRoom_status(空房);session.update(room);checkin = (Checkin) session.load(Checkin.class, checkInId);session.delete(checkin);HibernateUtil.close(session, tran);reserveMessage = 结账成功;return success;5.7信息查询界面及核心代码信息查询模块有三个子功能:预定信息的查询,入住信息的查询,账单查询。预

38、定查询可查询到当前酒店所有被预定的房间信息以及预定客户的信息;入住查询可查询到当前酒店所有已入住的房间信息以及入住客户的信息;账单查询可查询到当前酒店已结账的房间的营收额。该功能的操作者为前台管理人员。1.界面如下:图5-10 预定信息查询界面2. 核心代码如下:public String query()String hql = ;List reserveLists = new ArrayList();/预订者List checkinLists = new ArrayList();/入住if(queryStyle.equals(预定)hql = from Reserve;if(入住.equal

39、s(queryStyle)hql = from Checkin;Query query = HibernateUtil.queryAsParams(session, hql, null);if(queryStyle.equals(预定)reserveLists = query.list();for(int i=0;ireserveLists.size();i+)Object res = new Object5; res0 = reserveLists.get(i).getBook_id();res1 = reserveLists.get(i).getRoom().getRoom_name();

40、res2 = reserveLists.get(i).getRoom().getRoomType().getDescription();res3 = reserveLists.get(i).getMenber().getMem_name();res4 = reserveLists.get(i).getMenber().getCard_id();reserveList.add(res);if(入住.equals(queryStyle)checkinLists = query.list();for(int i=0;icheckinLists.size();i+)Object res = new Object5; res0 = checkinLists.get(i).getIn_id();res1 = checkinLists.get(i).getRoom().getRoom_name();res2 = checkinLists.get(i).getRoom().getRoomType().getDescription();res3 = checkinLists.get(i).getMember().getMem_name();res4 = checkinLists.ge

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1