基于web技术的酒店管理系统的设计客房管理子系统的设计与实现学士学位论文文档格式.docx
《基于web技术的酒店管理系统的设计客房管理子系统的设计与实现学士学位论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于web技术的酒店管理系统的设计客房管理子系统的设计与实现学士学位论文文档格式.docx(34页珍藏版)》请在冰点文库上搜索。
在互联网产业与传统行业结合愈发紧密的今天,酒店管理系统的出现既是市场的必然产物,也是整个酒店行业追求管理效益和经济效益的一大变革。
对于酒店而言,酒店管理系统的运用不仅可以进一步提高员工的工作效率和服务质量,也将从根本上改变酒店的管理模式和经营模式。
本系统在综合考虑当下酒店行业发展的基础上,围绕酒店管理工作的相关基本理论,结合计算机管理的特点进行开发,适用于酒店对客房信息及入住人员信息的管理,其意义主要有以下4点:
1)查询功能强大,客房管理更加方便快捷。
2)显示客房入住的详细情况,避免人为操作时的错误。
3)在客人办理入住、房费结算时更加节省时间。
4)改变酒店工作人员人工操作的工作模式,使酒店管理进一步向信息化、科学化、规范化靠拢。
1.2研究现状
事实上,在我国,酒店行业对计算机管理系统的运用早已有据可循。
相较于其他行业而言,酒店行业与互联网产业的结合依旧晚了十几年。
虽然早在70年代初期,酒店管理系统的模式已基本定型,然而到了90年代,这一模式才被视为酒店经营战略的重要部分并被大规模应用。
几个较为成熟的酒店管理系统也是在90年代初期形成的,同时,也诞生了几个专门从事酒店管理系统开发的公司。
到了90年代中后期,酒店管理系统的发展又步入了一个崭新的阶段。
因为在此时期,计算机技术已愈发成熟完善,这就引发了新的系统平台、系统点不断被开发出来,其中主要体现在系统基本占到客户机/服务器模式下的Windows版,不仅功能更加细致完善,系统的稳定性也达到了一定程度。
此外,越来越多大的软件系统被开发出来并逐渐进入国内的大型酒店市场,而许多小的酒店管理系统却随着时代的变迁面临被淘汰的命运。
随着计算机技术的不断发展,时至今日,国际酒店行业的信息协同化应用主要揉和了以下观点。
首先,在企业资源管理计划(ERP)方面,酒店应对酒店的业务流程和组织进行升级再造,从而提高酒店的管理水平;
其次,在供应链管理(SCM)方面,酒店应最大程度地实现社会资源配置最优化,严格把控采购成本,进一步确保供应质量;
最后,在客户关系管理(CRM)和电子商务方面,酒店应该把关注的焦点逐渐从市场转移到客户上来,帮助酒店最大程度的将以客户为中心的资源全部利用,进一步开发客户和潜在客户,通过改进客户价值、满意度及忠诚度提高酒店的根本竞争优势。
而这几种观点无疑也是酒店管理系统出现的重要原因之一。
1.3选题意义
诚然,在互联网不断发展的今天,传统行业向互联网转型已成必然。
尤其伴随着酒店行业竞争的愈演愈烈,酒店客房销售的利润已经随着客源的不稳定性逐渐变小。
因此,提高管理效率和经营效率、减少经营成本才是酒店行业走出困境的良策。
由此可见,酒店管理系统同样也是酒店生存的必备法宝之一。
1.4本章小结
本章详细阐述了论文的选题背景、研究现状和选题意义,通过对本章内容的分析,我们可以肯定酒店管理系统既是时代发展的必然产物,也是酒店行业发展的不二法宝。
借助此系统,酒店不仅能够从根本上提高管理效益和竞争水平,也能够为消费者提供更加方便快捷的服务,从而在市场竞争中拔得头筹,占尽先机。
第二章项目可行性分析
2.1项目可行性分析
2.1.1经济可行性分析
软件的经济可行性指的是软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看到此软件能否真的给用户带来足够的经济效益,本系统的开发正是考虑到酒店管理工作的复杂和繁琐,通过本系统,不仅能够节省大量的人力物力,提高工作效率,对于提高酒店整体竞争力,吸引更多的顾客也具有很大的意义。
同时,该系统几乎无需开发资金,全部由个人设计完成,在开发成本方面也具有很高的经济可行性。
2.1.2操作可行性分析
此项目持续时间是从11月25号到5月25号历经差不多6个月的时间,涉及项目的组织部门较少,本项目属于中小规模,环境复杂性:
myeclipse开发工具,易于掌握,技术相对成熟,软件稳定可靠。
本人对于java和html技术掌握相对成熟,因此项目开发过程较为顺利。
2.1.3技术可行性分析
1)Java
Java是一种十分实用的计算机技术,具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[1]。
2)Oracle数据库。
该系统采用的后台数据库为Oracle数据库。
Oracle应用服务器10g是J2EE认证的、最轻、最快、最具伸缩性的应用服务器,提供了企业门户软件、无线支持、高速缓存、轻量级J2EE引擎、商务智能、快速应用开发、应用与业务集成、Web服务等多种应用开发功能,形成完整的电子商务应用开发和部署环境。
使用了Oracle应用服务器10g的用户可以通过升级软件来取代升级硬件,大大的节省了基础设施的成本花费[2]。
3)SSH
SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate。
Struts对Model,View和Controller都提供了对应的组件。
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任[3]。
2.1.4运行可行性分析
该表呈现了系统开发过程中可能存在的风险和具体应对的措施。
表2-1可能存在风险及应对措施表
排序
风险事件
可能性
影响
风险值
风险应对措施
1
需求不明确,增加需求,导致需求蔓延
70%
50%
35%
1)采取加班的方法
2)修改计划去掉一些任务
2
有些技术不够熟悉
30%
40%
12%
1)找老师帮助知道
2)在网上查询资料并学习
3
项目测试的时候大意,导致在最后出现纰漏
20%
10%
反复认真检查每一段代码的测试,并保留
2.2项目的软件开发生命周期模型
图2-2生命周期模型图
我选择用这个迭代模型的主要思想是,想直观简洁明了的表达这个系统的整个生命周期,在这个生命周期中,需求获取阶段主要任务是通过上网查找或直接去酒店中了解酒店客房管理系统所需要的信息和能实现的系统功能,分析设计阶段的主要任务是,对经过需求获取得到的信息,进行分析与设计并完成系统的功能模块图和任务分解和划分,详细设计阶段的主要任务是要进行系统用例的设计写作,数据模型分析,子系统分析建模,各个模块的代码编写,此阶段的任务比较重所以要认真对待,编码实现阶段的主要任务是进行系统功能代码的实现。
测试维护阶段的主要任务是要对系统进行现测试然后反馈确定系统可以正常运行为止,可以正常运行以后就可以进行系统的维护了。
版本更新退役阶段即是这个系统的生命的最后一步如果还能继续使用则进行系统的更新,如果系统跟不上时代的进步则此系统即可退役。
2.3项目任务分解结构(WBS)
(1)基于需求分析的功能模块划分:
表2-2功能WBS表
序号
系统功能模块名称
功能简述
用户管理模块
通过ID和密码完成登录功能
客房管理模块
客房信息管理和入住信息管理
(2)基于项目开发过程的WBS方案:
表2-3过程WBS表
阶段任务
任务起止日期
阶段性成果
软件概念
2014/5/26—2014/6/01
了解软件相关概念
需求分析
2014/6/01—2014/6/06
完成需求分析说明文档
架构设计
2014/6/06—2014/6/11
完成架构文档
4
详细设计
2014/6/11—2014/6/16
完成设计模型
5
编码
2014/6/16—2014/6/21
实现预期功能得
6
测试
2014/6/21—2014/6/26
完善系统并完成相应的文档
2.4本章小结
本章通过经济、操作、技术、运行四个方面对系统进行了可行性分析,并通过对项目的软件开发生命周期模型和项目任务分解结构的介绍,阐述了系统的开发步骤和流程。
第三章酒店客房管理系统需求分析
3.1业务需求描述
图3-1管理员活动图
3.2系统功能模块划分
本系统共分为三个功能模块,分别为客房管理模块、入住信息管理模块和用户管理模块,其功能模块图如下:
图3-3功能模块图
3.3系统用例图
在对本系统的角色和功能进行分析后,可以得到系统的用例图如下:
图3-4系统用例图
3.4顾客用例的用例解说
表3-2客房信息添加(修改)用例解说
用例名称
客房信息添加(修改)
创建者
李晓龙
创建日期
2014.05.25
利益相关者
管理员
前置条件
进入编辑客房信息界面,点击客房信息添加,该用例启动
触发器
管理员点击客房信息添加
主要事件流
1.管理员登录主界面
2.管理员成功登陆主界面
3.管理员进入客房信息界面,并添加或修改客房信息
4.提交
异常
1.a页面出错。
1.a.1管理员关闭浏览器。
3.a客房信息界面出错。
3.a.1管理员返回登陆界面。
特别需求
无
3.5本章小结
本章通过业务需求描述,系统功能模块的划分,系统用例图,对管理员的用例解说对本系统的需求进行分析,进一步了解系统的功能。
第四章顾客子系统分析类建模
4.1顺序图
顺序图呈现了本系统的交互关系,在管理员添加客房信息的操作中,系统的顺序图如下:
图4-1管理员添加(修改)客房信息顺序图
4.2活动图
在对本系统的详细功能进行分析,便会得出如下的业务流程图:
图4-2管理员活动图
4.3协作图
为了更好地描述系统协作对象间的交互关系和链接关系,可用协作图进行呈现:
图4-3管理员协作图
4.4分析类图
图4-4管理员修改(添加)客房信息分析类图
4.5本章小结
本章通过介绍系统的顺序图、协作图、活动图、分析类图,详细展示了本系统的具体实现步骤。
第五章系统物理模型设计
5.1系统体系结构设计
(1)硬件坏境:
①.网络环境:
若是网络方式应用,本软件可以运行在支持tcp/ip协议的网络上,局域网的速度建议在10M以上;
远程连接方式支持:
同一运营商或跨网段的ADSL,最好虚拟成VDSL或组成虚拟专网;
推荐租用DDN或光纤。
②.数据库服务器:
可以按需求选择普通的PⅢ以上机器,内存512M以上,硬盘1G以上即可。
从性能上考虑,推荐使用专用PC服务器,P42G以上,硬盘4G以上,不少于1G内存。
根据自己用户数量多少决定本系统的服务器配置。
③.客户端:
可以按需求选择普通PⅢ以上机器,内存512M以上,硬盘1G以上、显示器分辨率建议在1024×
768即可。
(2)运行环境
①.硬件要求:
PIII以上电脑,内存要求在512M以上,至少100M硬盘空间。
②.操作系统:
Windows2000/windows2003/windowsxp/visatar或更高版本。
③.网络配置:
正确配置网卡后,必须添加"
TCP/IP"
协议。
(3)体系结构:
这次系统设计中拟采用B/S体系结构,B/S架构软件的优势在于维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;
如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
(4)采用的开发坏境:
本系统采用使用的组件标准和技术框架是J2EE,并采用myeclipse开发工具,DBMS拟采用oracle10g。
图5-1酒店客房管理系统体系结构图
5.2数据模型分析
5.2.1E-R模型
图5-2系统E-R图
图5-3管理员表E-R图
图5-4预订信息表E-R图
图5-5客房信息表E-R图
5.2.2UML数据建模
图5-6UML数据建模图
5.2.3逻辑数据模型分析
客房信息表(客房编号,客房类型,客房价格,客房状态,客房描述,所属管理员编号)
管理员表(编号,姓名,账号,密码,联系电话)
入住信息表(编号,顾客身份证号,顾客姓名,入住房间号,入住日期,所住天数,费用,顾客电话号码)
5.2.4数据库字段约束及索引设计
表5-1入住信息表
字段名称
数据类型
长度
主键/外键
字段约束
备注
orderId
Number
20
主键
编号
userId
Varchar2
非空
顾客身份证号
houseId
外键
房间号
Date
入住日期
Day
入住天数
cost
10
费用
phonenumber
顾客电话号码
username
顾客姓名
表5-2管理员表
adminId
adname
姓名
adac
账号
adpass
密码
phone
电话号码
表5-3客房信息表
客房编号
housetype
50
客房类型
houseno
客房价格
housestate
客房状态
housedrc
客房描述
所属管理员编号
5.3本章小结
本章通过介绍系统的体系结构设计和对系统进行数据模型分析,清楚展示了本系统功能模块之间的关系。
第六章系统功能详细设计与实现
6.1登录
6.1.1界面展示
用户必须经过登陆才可以进入系统,非法的请求必然会被拦截。
6.1.2代码实现
publicclassAdmActionextendsBaseAction{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
@Autowired
privateAdmServiceadmService;
privateAdminadmin;
//如果登陆不成功,返回这个变量到jsp页面
privateStringloginmess;
privateList<
Admin>
admins;
publicStringsave(){
admService.admSave(admin);
return"
save"
;
}
publicStringlogin(){
Admino=admService.login(admin);
if(o!
=null){
//如果得到的人员对象不是为空的话。
就将这个人员对象的记录ID和人员姓名存进session
HttpServletRequestrequest=ServletActionContext.getRequest();
HttpSessionsession=request.getSession(true);
session.setAttribute("
adId"
o.getAdminId());
adName"
o.getAdName());
//System.out.println(session.getAttribute("
useid"
));
return"
login"
}else{
this.loginmess="
用户名或密码不对请重试!
"
loginout"
}
6.2房间信息管理
6.2.1界面展示
(1)房间信息查询和删除
(2)添加房间信息
(3)修改房间信息
6.2.2代码实现
@Controller
publicclassHouseActionextendsBaseAction{
privateHouseServ