小型酒店管理系统的设
计与实现
WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】
编号
课程设计报告
2014~2015学年 第二学期
小型酒店管理系统的设计与实现
Design and implementation of small hotel management system
实 习 类 别 课程设计
学 生 姓 名 XXX 专 业 软件工程 学 号 1305XXXX 指 导 教 师 学 院
何XX、尹XX 计算机科学技术学院
二〇一五年七月
长春理工大学计算机科学技术学院课程设计报告
起 止 周 实习地点 课程设计目的: 18~19 南研1213实验室 周数 2 信息系统开发实践活动是学习《数据库原理与应用》课程理论联系实际的综合训练。1、加深对数据库基础知识的理解,巩固理论基础。2、熟练掌握数据库应用系统开发中数据库的规范设计过程,训练和提高数据库设计的技能,实现理论与实践的结合。3、学习和掌握主流数据库工具的使用;4、学会自主性学习、研究性探索以及技术文档的撰写,促进研究能力、协作能力和创新能力的提高。 课程设计要求: 1、思考,完成:课程设计中各任务的设计和调试要求完成,遇到问题可以讨论,但不可以拷贝。 2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。 3、实践设计以实际应用中的小型题目为主,要求学生完成或合作完成。要求学生能根据不同的题目类型选择一种或两种开发模式,完成从系统定义,指定开发计划,需求分析,设计,编码/测试,直至运行/维护的软件生存期的全过程。 完成课程设计题目《小型酒店管理系统的设计与实现》 进度安排及主要内容: 第一周:调研;需求分析及总体设计;规范化数据库模型;建库。 第二周:详细设计及测试;使用具体语言实现算法;数据库连接;调试程序;编写课程设计报告。 成绩: 指导教师(签字) 年 月 日
长春理工大学计算机科学技术学院课程设计报告
长春理工大学计算机科学技术学院课程设计报告
一、概述
1.1本课题研究的目的及意义
随着我国经济发展水平的迅速提高,酒店业作为服务行业中的重要组成部分己经越来越显示出其强劲的发展势头。纵观国内外酒店业信息化发展轨迹和趋势,我们不难看出,随着酒店业竞争的加剧,酒店之间客源的争夺越来越激烈,客房销售的利润空间越来越小,酒店需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。而经济型酒店通过信息化管理提高收益的需求更加突出。高层次的酒店业信息化不再是仅仅追求计算机辅助管理,而是追求建立在集成化基础上的协同化应用。我国酒店业利用计算机管理系统来加强管理、提高服务水平,虽然至今已有了20多年的历史,但起步发展较晚,只是一些浅层次应用,大多数还停留于拼八凑的MIS系统水平,甚至还仅限于简单的电算化和信息发布阶段,与国际酒店业先进信息化应用的差距非常明显。信息化程度不高导致企业决策失误、市场反应速度缓慢等,己经成为制约我国酒店业进一步发展的重要瓶颈。中国信息化推进联盟副理事长张献军曾说,随着酒店信息化的发展,酒店将改变以往的经营理念和竞争模式,店内装潢、客房数量、房间设施等质量竞争和价格竞争将退居其次,取而代之的是酒店信息化竞争,信息化正改变着酒店业的竞争模式。国家旅游局2002年修订的旅游星级饭店评定的国家标准,已经把酒店管理的软件指标及服务方面作为主要测评手段。而现代化的酒店是集客房、餐饮、通讯、娱乐,商务文化及其他各种服务与设施为一体化的消费场所,酒店组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理,本酒店管理系统正是为此而设计,目的是使酒店管理特别是经济型酒店在高效、低成本方面跨上一个新的台阶。由此可见,一个好的酒店管理系统应该达到以下几个目标:
1.提高工作效率,减轻劳动强度。
在酒店的日常工作中,每天都要完成对营业信息进行更新统计,提供查询服务,结算账单等大量的业务,用手工方式进行的话,不仅速度慢,需要的人手多,且出错的概率也大,而计算机管理则可以大大提高业务运作的速度和准确性,实现营业管理自动化。
2.提高了酒店经济效益,增加营业收入。
- 1 -
长春理工大学计算机科学技术学院课程设计报告
完善的客房管理功能可防止有房不能出租或房间重订的情况出现,随时提供准确和最新的房态信息,从而可提高工作效率和客房出租率。客人费用的一次性结账,不仅减少了票据传送,而且避免了管理上的混乱,更主要的是有效地防止逃帐的发生。
3.提高了服务质量,可以为客人提供快捷、细致、周到的服务。 操作人员只需敲击键盘,就可以办理客人入住、查询信息、结账等各项手续,并准确无误地记录客人的每笔消费记录,大大缩短客人办理手续时的等候时间,提高了服务质量。
4.信息透明,酒店营业情况一目了然,提高了经营者的决策水平。 经营者可以通过对酒店经营状况及历史数据的分析,做出相关的经营决策,并加强对饭店运营的内部控制,为酒店未来的发展提供理论依据。
1.2现状分析
酒店计算机管理系统最早是于上世纪70年代初在国外开始发展起来的,到了上世纪80年代,国外的饭店管理系统,如EECO,HIS,CLS,Lodgistix等,整个模式已基本定型,技术较成熟,功能也比较全面。国内的酒店计算机管理系统最早是在80年代初开始的,从事该方面工作的有清华大学自动化系的金国芬教授、西安交大和浙江省计算技术研究所。到上世纪80年代中经济型酒店管理信息系统的设计与实现后期,;随着国外酒店计算机系统的大规模引进,
国外酒店的先进管理技术进入我国,进打步促进曩我国饭店管理技术的发展。国内系统正是在充分吸收国外管理系统的精华。,再结合国内的实际情况,逐步发展成熟,到上世纪90年代初期形成了几个较成熟的软件系统,同时产生了许多专职从事酒店计算机管理系统的公司。进入21世纪后,随着计算机在酒店中的普及应用,以及计算机技术的不断发展,酒店计算机系统的发展到了一个新的时期,新的系统平台、新的软件功能、新的系统特点及发展方向断涌现,酒店管理系统逐渐向ERP方向发展。 1.3课程设计主要研究内容和架构
小型酒店管理系统的设计与实现是基于MVC三层架构完成,使用Java语言开发,主要应用jsp完成前台界面部分,servlet MVC完成后台逻辑部分,采用javabean操作封装数据库的表信息。
本系统的设计从现实角度出发,根据实际小型酒店管理系统的实际需求,采用功能模块化设计,便于系统组合和修改,又便于酒店系统各类工作人员不同
- 1 -
长春理工大学计算机科学技术学院课程设计报告
功能操作。系统的设计过程由概述、需求分析、技术方案、总体设计、详细设计、软件测试、总结等部分构成。
二、需求分析
2.1系统角色
本系统有三个角色分别为:经理、前台服务员、客房管理员,他们进入系统都具有不同的权限和功能,分别都能进行自己的管理事项,既分工明确,又协调统一。
2.2系统功能
不同角色登录就有着不同的功能: 1. 经理具有雇佣员工、解雇员工的功能;
2. 前台服务员满足顾客的需求:填写预定客房订单、取消顾客的预定订单、办理入住手续、办理退房结账手续;
3. 客房管理员管理客房的状态,是否可提供入住,还是正在整理中
2.3数据库需求
2.3.1数据库表E-R图
本系统的主要的实体有经理,前台服务员,客房管理员,顾客,客房。它们对应的实体和关系ER图如下所示:
- 1 -
长春理工大学计算机科学技术学院课程设计报告 姓名1n姓名职工号1经理1管理前台服务员n接待/结账n顾客管理查询1姓名身份证号n客房管理员n管理n房间号姓名职工号状态价格订价面积客房n预定/入住/退订1类型 图-1 系统ER图 2.3.2系统管理模块 数据库实体共有九个实体,实体属性如下图所示。 1.经理实体图-2所示: 姓名职工号经理 图-2 经理实体图 密码 2.前台服务员实体图-3所示: 姓名职工号密码前台服务员 图-3 前台服务员实体图 3.客房管理员实体图-4所示: - 1 -
长春理工大学计算机科学技术学院课程设计报告 姓名职工号密码客房管理员 图-4 客房管理员实体图 4.客房实体图-5所示: 面积类型房间号钟点价一晚价押金状态客房
5.顾客实体图-6所示: 入住类型房间号姓名 图-5 客房实体图 入住时间预定日期入住日期退房日期身份证号 6.预定实体图-7所示: 顾客身份证号顾客 图-6 顾客实体图 预定 图-7 预定实体图 7..入住实体图-8所示: - 1 -
长春理工大学计算机科学技术学院课程设计报告 顾客身份证号入住状态入住 图-8 入住实体图 8.经理实体图-9所示: 顾客身份证号 退房 图-9 入住实体图 9.经理实体图-10所示: 姓名金额顾客身份证号结账日期 结账图-10 入住实体图 三、技术方案
3.1 Java Web相关技术
1.JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的
(1)跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;
(2)不受数据库供应商的:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的
- 1 -
长春理工大学计算机科学技术学院课程设计报告
交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的。
JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下: (1)操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;
(2)可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;
(3)通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC; (4)面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。
缺点如下:
(1)访问数据记录的速度受到一定程度的影响;
(2)更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦 2.MVC框架
MVC最早是在SMALLTALK-80语言中出现。后来在JSP开发中渐渐得到广泛应用。并且成为Sun公司推荐的J2EE平添的设计模式,Sun公司提出的Model2开发模型就是基于MVC设计模式的应用。Model2实现了业务逻辑、显示逻辑和控制的分离,即是基于MVC的框架。MVC框架即模型-视图-控制器(Model-View-Controller)设计模式。M代表Model,V代表View,C代表Controller。MVC的核心思想是将一个应用程序的数据业务处理功能(模型)、表示功能(视图)和控制功能(控制层)在3个不同的部分(或层)上分别实现。MVC 的目的是增加代码的可重用性,减少数据描述和应用操作的可耦合度,并提高代码的可读性。
3.2 开发工具
1.SQL server数据库
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。
- 1 -
长春理工大学计算机科学技术学院课程设计报告
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。 2.Tomcat服务器
Tomcat是一个免费的、开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发。Servlet和JSP规范在Tomcat容器中都得到了很好的支持,从Tomcat5开始支持最新的Servlet2.4和JSP2.0规范。Tomcat容器虽然是免费开源的Web应用服务器,但是它的技术含量并不亚于其他Web应用服务器、而且性能稳定,运行时占用的系统资源少,是开发和调试应用程序的理想工具,因而深受Java开发人员的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。 3.MyEclipse开发平台
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
四、总体设计
该小型酒店管理系统是基于MVC开发模式,使用B/S体系,采用Servlet + Jsp + service框架。其中数据访问层被封装在Dao层,数据访问层在底层封装了JDBC。。而系统的业务逻辑层由service负责。系统的所有Jsp装在工程的根目录下,Servlet负责web层以及Jsp页面的跳转功能。此外,系统将数据库中的所有关系表都封装在damain中,以便使用。当用户进行操作时,将页面中获取的表单数据提取出来,交给servlet进行处理,servlet通过调用业务逻辑层(service层)功能函数,与从数据库中获取的信息交互,处理问题
4.1系统功能模块介绍
- 1 -
长春理工大学计算机科学技术学院课程设计报告 建立一体化的酒店管理软件系统登录管理前台管理客房管理高层管理用户分类管理顾客预订房间顾客取消预定顾客入住手续顾客退房手续顾客结账手续更新客房状态解雇员工雇佣员工图-11 系统功能模块图 各个模块具体功能描述如下: 4.1.1登录管理
登录管理模块是分角色登录系统,包括经理、前台服务员、客房管理员。不同用户进入系统的不同功能模块进行各自的操作。利用不同的系统登录角色,是系统的结构更为清晰,功能体现的更为具体。 4.1.2经理管理
该酒店系统只有一位经理,该经理对各类员工雇佣、解雇的职能。经理通过选择需要解雇的员工职工号,进行员工的删除。同理根据职工号进行增添员工信息。
功能如下图: 解雇员工经理 4.1.3客房管理 雇佣员工 图-12 经理功能模块图
该酒店系统有客房管理员一职,该职员通过登录系统,对房间的状态进行及时的更新。房间的状态有两种:可提供和整理中。客房管理员通过房间号进行更新状态。
- 1 -
长春理工大学计算机科学技术学院课程设计报告
功能如下图: 客房管理员更新房间状态 图-13 客房管理员功能模块图 4.1.4前台管理 该酒店系统有前台服务员一职,该职员通过登录系统,对前台预定房间、入住房间、退房、结账的顾客,进行接待并完成相应的手续。顾客预定房间时,服务员对顾客的信息进行纳入,并预定顾客所选房间,下订单。顾客入住房间时,服务员通过顾客的身份证号进行查询订单信息,并办理入住手续。同时顾客也可以取消该订单。最后,顾客办理退房手续,也是根据顾客身份证号进行办理,并结账。
功能如下图: 更新房间状态更新房间状态前台服务员更新房间状态更新房间状态 更新房间状态 图-14 前台服务员功能模块图
4.2数据库设计
系统采用SQL server数据库,在数据库中创建了经理表、前台服务员表、客房管理员表、房间表、顾客表、预定表、入住表、退房表、结账表。此外还定义了两个触发器:顾客预定触发器、删除顾客触发器,后面详细介绍功能。
4.2.1.各表定义情况。
表-1 经理表
字段名称 num name password
含义 职工号 姓名 登录密码
数据类型 varchar(10) varchar(10) varchar(10)
是否主键 是 否 否
是否外键 否 否 否
其他约束 无 非空 非空
表-2 客房管理员表
字段名称 num
含义 职工号
数据类型 varchar(10)
- 1 -
是否主键 是
是否外键 否
其他约束 无
长春理工大学计算机科学技术学院课程设计报告
name password 姓名 登录密码 varchar(10) varchar(10) 否 否 否 否 非空 非空
表-3 前台服务员表
字段名称 num name password
含义 职工号 姓名 登录密码
数据类型 varchar(10) varchar(10) varchar(10) 表-4 客房表
字段名称 num type area
hour_price day_price ssp state rm_num
含义 房间号 类型 面积 钟点费 一晚价 押金 状态
客房管理员
数据类型 varchar(10) varchar(20) int int int int
varchar(10) varchar(10)
是否主键 是 否 否 否 否 否 否 否
是否外键 是 否 否 否 否 否 否 否
其他约束 无 非空 非空 非空 非空 非空 非空 非空
是否主键 是 否 否
是否外键 是 否 否
其他约束 无 非空 非空
表-5 顾客表
字段名称 num name
room_num intype intime or_time in_time co_time fore_num
含义 身份证号 姓名
预定房间号 预订房间类型 入住时长 预定时间 预定入住时间 预定退房时间
前台接待服务员
数据类型 varchar(10) varchar(10) varchar(10) int int date date date varchar(10)
是否主键 是 否 否 否 否 否 否 否 否
是否外键 是 否 否 否 否 否 否 否 否
其他约束 无 非空 非空 非空 非空 非空 非空 非空 非空
表-6 预定表
字段名称 num
含义 顾客身份证号
数据类型 varchar(10)
是否主键 是
是否外键 是
其他约束 无
表-7 入住表
字段名称
含义
数据类型
- 1 -
是否主键 是否外键 其他约束
长春理工大学计算机科学技术学院课程设计报告
num ischeckin 顾客身份证号 是否入住 varchar(10) int
表-8 退房表
是 否 是 否 无 无
字段名称 num
表-9 结账表
字段名称 num name allmoney a_time
含义 顾客身份证号 顾客姓名 结账金额 结账日期
数据类型 varchar(10) varchar(10) int date
是否主键 是 否 否 否
是否外键 否 否 否 否
其他约束 无 无 无 无
含义 顾客身份证号
数据类型 varchar(10)
是否主键 是
是否外键 否
其他约束 无
4.2.2.触发器
顾客下预定订单后,自动将顾客身份证号存入预定、入住、退房表中。 create trigger cust_Info on customer after insert as begin
declare @c_num varchar(20),@room_num varchar(10),@ord_time datetime; select @c_num=num from inserted;
select @room_num=room_num from inserted; select @ord_time=or_time from inserted; insert into ordered values (@c_num); insert into checkin values(@c_num,0); insert into checkout values(@c_num,0); end;
当顾客下取消预定房间订单或结账完成后后,自动将顾客的身份证号存、从入预定表、入住表、退房表、顾客表中删除
create trigger cust_delete on customer instead of delete as begin
declare @c_num varchar(20); select @c_num=num from deleted;
- 1 -
长春理工大学计算机科学技术学院课程设计报告
delete from checkout where num=@c_num; delete from checkin where num=@c_num; delete from ordered where num=@c_num; delete from customer where num=@c_num; end;
五、详细设计
5.1系统类图
使用MyEclipse开发工具导出系统的主要类图 1.数据访问层及基本数据增删改查操作类
2.javabean封装类
图-1 数据访问层数据访问层及基本数据增删改查操作类
2.业务逻辑Service层
图-2 javabean封装类
3.Web servlet层及Jsp
图-3 业务逻辑Service层
- 1 -
长春理工大学计算机科学技术学院课程设计报告
图-4 Web servlet层及Jsp
5.2用户登录
1.登录实现
首先选择登录角色,默认为经理。再输入职工号与密码当用户名和密码都正确时,用户进入到属于自己角色的系统界面。
2.异常处理
异常主要包括用户名或密码为空、用户名或密码在数据库中不存在。根据异常原因,将在对应的输入框后面显示提示信息。
3.主要实现方法
(1)约束用户名须是字母开头和字母数字组成,给用户名的文本框设置onblur()事件。当失去焦点时,执行checkUserName(),在方法里根据id获取用户名的输入框对象,并进行非空判断和正则表达式校验。
(2)在LoginServlet类中获取职工号,从数据库中调出等于该职工号的员工信息,如果为null或与获取的密码不一致,则在LoginServlet类中使用setAttribute()方法设置属性值,返回到jsp中显示出“不存在该用户”或“密码错误”。
登录流程如图5-4所示:
- 1 -
长春理工大学计算机科学技术学院课程设计报告 开始进入登录界面选择用户角色并输入职工号、密码是否为空NY是否正确Y进入系统主界面N用户名或密码错误 结束 图-5 登录流程 5.3经理功能
经理对各类员工雇佣、解雇的职能。经理通过选择需要解雇的员工职工号,进行员工的删除。同理根据职工号进行增添员工信息。界面如下:
(a) (b)
(c) (d)
图-6 经理业务界面
用到的类:AddMemberServlet、Manager_service、DaoImpl_ma、DeleteMemberServlet、AddMemberServlet
- 1 -
长春理工大学计算机科学技术学院课程设计报告
经理流程图如下: 开始进入经理管理界面Y进行员工解雇NN输入职工号是否存在该员工YY进行员工雇佣N结束 图-7 经理业务流程图 5.4客房管理功能 客房管理员通过登录系统,对房间的状态进行及时的更新。房间的状态有两种:可提供和整理中。客房管理员通过房间号进行更新状态。
用到的类:RoomChangeServlet、RoomManager_service、DaoImpl_roma 流程图如下: 开始进入客房管理员界面NY进行客房状态更新N输入房间号是否存在该房间Y结束
图-8 客房管理员业务流程图 5.5前台管理员功能 - 1 -
长春理工大学计算机科学技术学院课程设计报告
该职员通过登录系统,对前台预定房间、入住房间、退房、结账的顾客,进行接待并完成相应的手续。顾客预定房间时,服务员对顾客的信息进行纳入,并预定顾客所选房间,下订单。顾客入住房间时,服务员通过顾客的身份证号进行查询订单信息,并办理入住手续。同时顾客也可以取消该订单。最后,顾客办理退房手续,也是根据顾客身份证号进行办理,并结账。
用到的类:
/HotelManagement/src/cn/cust/dao/impl/DaoImpl_fore.java
/HotelManagement/src/cn/cust/service/impl/Fore_waiter_service.java /HotelManagement/src/cn/cust/web/controller/CheckInOrNotServlet.java /HotelManagement/src/cn/cust/web/controller/CheckInServlet.java /HotelManagement/src/cn/cust/web/controller/CheckOut2Servlet.java /HotelManagement/src/cn/cust/web/controller/CheckOutServlet.java /HotelManagement/src/cn/cust/web/controller/OrderServlet.java /HotelManagement/src/cn/cust/web/controller/SelectRoomServlet.java 主要用到的方法:
//查询顾客的预定情况,以便办理入住 Cus_room_ord search_order(String c_num); //查询顾客入住情况根据入住办理退房手续 Cust_in_out search_in(String c_num);
//添加顾客
boolean fore_add_customer(Customer customer); //办理入住
boolean add_cust_checkIn(String c_num); //办理退房
boolean add_cust_checkout(String c_num); //结账功能:房间号、房间价格、(房间订金) boolean add_account(Account account); //删除顾客信息
boolean delete_cust(String c_num); //登录
Fore_waiter search(String num, String password);
//判断顾客是否存在
Customer custIsExist(String c_num); //结账后删除结账表中的顾客
- 1 -
长春理工大学计算机科学技术学院课程设计报告
boolean delete_acc(String num); 界面如下:
图-9 前台服务员业务界面-查询可用房间
图-10 前台服务员业务界面-顾客信息纳入预定房间
前台服务员流程图如下:
- 1 -
长春理工大学计算机科学技术学院课程设计报告 开始进入前台服务员界面Y查询可用房间N顾客办理预定NY顾客办理入住N选择查询房间类型显示可用客房情况YY输入顾客信息是否成功预订N输入顾客身份证号Y是否存在该用户N显示顾客信息办理入住Y顾客办理退房N输入顾客身份证号是否存在该用户NY结束图-11 前台服务员业务流程图 六、软件测试
软件开发过程中难免会出现错误或缺陷,而软件测试的目的就是发现这些不足。软件测试贯穿于项目的整个生命周期,在项目开发的每个阶段都需要进行不同目的和内容的测试,确保各阶段的正确性。软件开发与软件测试应该是交互进行的,在单元编码阶段需要单元测试,在模块组合阶段需要集成测试。软件测试的主要工作内容是保证软件正确地实现了一些特定功能的一系列活动和保证软件达到预期的效果。软件测试的对象不仅仅是程序设计,还应包括需求规格说明、概要设计文档、详细设计文档。本系统主要用到了单元测试和集成测试。
单元测试用例如下:
运用Junit技术在类中编写方法,编写输出语句,将信息显示在控制台,然后观察控制台的输出信息是否为预想的结果。主要测试函数如下:
void connection();//检测是否连接上数据库 void searchRoom();//测试遍历客房的函数 void cust_ord();//测试顾客预定函数 void add_f();
- 1 -
长春理工大学计算机科学技术学院课程设计报告
void search_order(); void deleteCust(); void add_cust_checkIn(); void cancel_ord(); void search_room(); void time(); void account(); void delete(); @Test void daaF();
集成测试用例如下:
三种用户分别用户登录系统,逐一使用各个功能,通过以上步骤,可以有效地测试各个功能模块是否能正常地协同运行。
七、总结
以Web方式进行信息处理和应用系统的开发已经成为信息系统的主流发展趋势。特别是MVC的开发模式,已经被广泛地应用于各种web系统的开发。
从本系统的开发中可以看到,做好需求分析、准确理解用户需求是管理信息系统成功的关键。在技术手段日益丰富的今天,如何选择适当的技术来满足企业的管理需求是必须认真考虑的问题。开发人员不仅要掌握各种先进的技术,而且需要在实践中积累经验,这样才能为成功开发管理信息系统提供保证。管理信息系统的立足点是技术手段,目标是提高企业管理水平,降低管理成本。随着酒店业竞争的日益激烈,计算机在酒店中的应用日渐普及,对酒店客房管理系统的要求将越来越高,功能将更加全面,如决策支持DSS、客户关系管理CRM、办公自动化OA、网络中心实时订房、财务核算、人事管理、成本稽核等都可以集成在系统中。随着社会信息技术的进步,酒店客房管理系统还应提供与身份证管理系统、与铁路民航订票系统、银行信用卡系统的接口,以便更好的为顾客服务。由于时间仓促,水平及条件有限,系统虽然完成了大部分的酒店客房管理系统通用的功能,但一些与其它系统的接口未能实现,今后将考虑建立通用接口,方便与其他系统交换信息。
虽然系统实现了设计之初的大部分功能,基本实现了酒店经营管理所必须的各种功能,在实际工作中减少了人力、物力的耗费。但由于一开始欠缺系统开发经验,没有较好的从总体把握好系统结构的设计,导致在开发过程中走了一些弯路,部分工作需要返工。此外,还有几个重要的功能未能实现,如电话
- 1 -
长春理工大学计算机科学技术学院课程设计报告
计费、员工管理、财务管理等。其它一些辅助性、完善性的功能也未能在毕业设计所限定的时间内实现。因为系统还在不断地加入新功能以及修改现有问题,所以在系统的测试部分并没有详尽的测试报告,而本文中的内容也并未能完全表达整个系统的功能发展状态。
本次毕业设计,从系统的分析、设计、编码、测试,自己都动脑、动手去解决。从而对软件开发过程有一个更深的认识,同时也熟悉了基础知识的运用,受益良多。同时也出现一些问题,需要通过以后的进一步实践和学习去解决
- 1 -
长春理工大学计算机科学技术学院课程设计报告
附录1
参考文献
[1] 张海藩,牟永敏.软件工程导论(第6版).清华大学出版社,2014-11. [2] 王珊,萨师煊.数据库系统概论(第4版).高等教育出版社,2005. [3] 宋振会.Java语言编程基础教程.清华大学出版社,2005-2.
[4] 李存斌.数据库应用技术SQL Server 2000简明教程[M].北京:中国水利水电出版社,2001.
[5] (美)F.Scott Barker,邱仲潘等.VB.NET与ADO.NET数据库编程[M].北京:机械工业出版社,2003-4.
[6] 张艳华.中小型酒店管理信息系统设计[J].微机发展,2005,15(6):152-154. [7] 美萍公司.美萍酒店管理系统.http://www.mpsoft.net/download.htm#mphotel,2007.3. [8] 朱如龙,刘焰.SQL Server数据库应用系统开发实验指导[M]..北京:机械工业出版社,2004.
- 1 -
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务