基于j2ee的酒店预订系统设计与开发_毕业论文设计(编辑修改稿)内容摘要:
是用来展现用户所需要的数据,它是用户和系统进行交互的界面,一般可以采用 HTML 页面、 XML、 Applet 和 JSP 等技术。 控制层就是一个中转站,它从用户那里接受请求,将模型与视图匹配在一起,共同完成用户的请求。 通过上面的解释,可以得出 MVC 的处理过程:首先用户通过视图层发出请求,接着控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器将处理后的数据传递给视图层,并通过视图层展 现给用户。 Ajax 技术 Ajax 并不是一个新技术,它其实是整合了 XMLHttpRequest、 JavaScript、DOM、 CSS、 XML 等众多技术的一个综合体。 Ajax 主要是增强了用户体验。 随着 Ajax的逐渐流行,很多的 Ajax 框架便应运而生了,比如 Ext、 Prototype、 DOJO、DWR、 GWT、 Buffalo 等。 方便了开发,本系统主要使用 Ext 进行 Ajax 开发。 Ext 积累了众多的组件,有表格、表单、动态树、菜单、工具条、对话框等。 Spring 技术 Spring 提供了一个集成的框架,通过它可以解决一些常见的 JavaEE 问题。 Spring 的核心基础是依赖反转控制器,他鼓励好的编程习惯,比如针对接口而不是类进行编程;它还提供了一个独特的数据访问抽象,可以很方便的和 Hibernate、JPA 等进行整合;另外使用 Spring 可以选择使用编程式事务或者声明式事务处理,而且 Spring 还提供了一个强大的 MVC 框架。 Spring 的核心是控制反转,又称为依赖注入,其思想就是通常所说的“实现必须依赖抽象”,或者叫面向接口编程。 除了控制反 转, Spring 还提供了分发器的功能,以实现 MVC 中的控制层功能。 Hibernate 技术 Hibernate 是一个开放源代码的对象关系映射框架。 Hibernate 目的就是在应用程序和数据库之间建立一种映射关系,通过这种映射关系的建立使得开发人员完全用 OO 的思想去设计业务逻辑,而数据的存储依然使用关系型数据库。 Hibernate中持久化的状态有 3 中表现形式,分别是瞬时状态,持久化状态和托管状态。 现在 Hibernate 在持久化类和数据库之间建立映射关系除了通过 XML 文件还 可以支持 Annotations. 基于 J2EE 的 酒店预订 系统 设计与 实现 7 3 系统 需求分析 通过对系统的分析,制定出了如上本系统主要结构功能的设计,依靠此设计,制定除了本系统的实施方案 , 之后按照各个功能点完成详细设计,将每一个模块对应的参数定义详细的命名规范,设计好数据库,完成整个系统的开发。 然后设计进行整个系统的性能测试,研究其是否具有较强的系统抗压能力。 总体业务分析 酒店管理系统是管理信息系统在酒店业务处理方面的应用。 从总体上讲,客户要求该系统应具有操作人员识别模块,并且具备一般系统所具有的客房预订功能,客房状态更改功能,入住客人资料 登记功能,客房信息设置功能,账单查询功能等。 除这些基本功能外,客户要求该系统具备一定的统计能力,如对酒店每月的营业额进行统计。 另外,客户要求该系统升级维护方便,使用简单,容易上手操作,界面简单明了,所反映的信息直观等。 掌握了客户对该系统的总体功能要求后,通过与客户的沟通,了解到系统更详细的需求用例。 该酒店的客房有不同的档次,需要系统能够对客房进行分类管理,如增加某类客房的房间,删除某类型客房的房间,查找该类型客房的具体房间信息,更改房间类型。 该酒店管理系统应具有操作人员识别模块,以区别每项业务 是由哪位工作人员操作。 即该系统应设置登录模块。 为了方便对客房价格的设置,需要系统提供对不同类型的客房进行预定价格、预定折扣、计时最低价格等的设置功能。 需要提供一个客房设置模块,用来设置酒店的所有客房信息。 在设置客房信息时,应该提供对不同房间实际价格、实际折扣的设置。 特别重要的是能够了解到所有房间的当前状态以及是否可用,这样能够方便酒店对所有客房的当前状态进行及时管理,如对于已经退房的房间可以通知保洁员清洁房间,对于未入住的房间可以安排客人入住使用,对于已经入住的房间及时跟踪客人是否续住等。 需要提供入住登记功能,并能够根据客户的入住时间、离店时间、客户资料、入住房间等信息进行查询。 需要客房预定功能,能够处理客户的各种预定,如电话预定、总台面约、上预定或领导安排等等预定方式。 基于 J2EE 的 酒店预订 系统 设计与 实现 8 需要提供一个入住客人信息管理功能,从而实现对酒店的客人信息的统一管理,如根据身份证号进行客户查询,根据入住日期进行查询,更改客人的联系方式等。 系统还要提供业务统计报表功能,能够对酒店一年中每月的住宿房间数进行统计,然后绘图显示。 用例分析 根据前期掌握的用户需求分析信息,在酒店管理系统中设置 两种权限角色,分别是普通操作员和管理员。 这两种角色所对应的用例图如下所示。 图 31 普通操作员用例图 对图 31 普通操作员用例图的分析可以看出。 普通操作员只能使用前台系统,能够处理入住登记、退房结账、预定管理、客户管理、业务统计等操作。 图 32 管理员用例图 管理员是系统的管理者,拥有最高权限。 管理员除了可以使用前台系统外,基于 J2EE 的 酒店预订 系统 设计与 实现 9 还可以使用系统的后台。 通过后台可以对酒店的客房类型、客房、操作员进行设置,管理员用例图如图 32 所示。 根据上述用例图,下面通过挑选该系统典型模块进行分析说明。 登录模块 系统会判断用户的用户名和密码是否正确。 当判断用户是普通操作员时,用户仅能在前台界面操作,流程图如图 33 操作员登陆业务流程图所示;当用户是管理员时,用户不仅能操作前台系统,还可以操作后台系统,流程图如图 34 管理员登陆业务流程图所示。 图 33 操作员登陆业务流程图 基于 J2EE 的 酒店预订 系统 设计与 实现 10 图 34 管理员登陆业务流程图 入住登记 系统首先判断用户登陆的合法性,通过校验后的操作员或管理员系统前台首页,未通过登陆认证的人员返回登陆首页继续认证。 进入前台首页的管理员或操作员点击进入登记信息模块,接下来填写入 住客人的个人信息如身份证号,姓名,电话等个人信息,并在所有客房中选择可以使用的客房进行登记。 系统会对提交的客人信息如身份证号进行数据校验,并对选择的房间状态进行校验,如果选择的房间不是空闲房间或者身份证号不符,客户登记失败,并返回登记信息继续登记。 如果校验通过,房间状态更改为正在使用,信息写入数据库,系统反馈登记成功。 整个业务流程如图 35 入住登记业务流程图所示。 基于 J2EE 的 酒店预订 系统 设计与 实现 11 图 35 入住登记业务流程图 预定管理 首先判断用户的合法性,通过校验后操作员或管理员可以进行预定业务的操作,业务流程如图 36 所示。 图 36 预定业务流程图 (1)预订管理用例图 图 37 描述了前台预订人员在进行散客预订时可进行的操作,执行者为前台工作人员,可实现的功能是“散客预订”和“散客预订查询”,其中用例“预订基于 J2EE 的 酒店预订 系统 设计与 实现 12 修改”、“预订取消”、“预订删除”、“预订恢复”都是用例“预订查询”的必需组成部分被使用。 图 37 散客预订用例图 (2)接待管理用例图 图 38 描述了执行者“前台工作人员”在进行散客接待时所进行的相关操作及系统具备的功能。 用例“散客入住”的必备功能应包括用例“客人信息”、“历史查询”、“黑名单查询”,扩展用例则 包括用例“散客预订入住”、“协议公司客人入住”、“历史客人入住”、“会员入住”和“内部用房登记”。 基于 J2EE 的 酒店预订 系统 设计与 实现 13 图 38 散客接待用例图 客户信息管理 首先进行身份认证,通过认证的操作员或管理员进入系统前台首页进行客人信息管理模块进行业务操作。 该模块提供了显示客户信息,根据查询条件查询客户信息,添加新的客户信息,修改已存在客户信息,删除已存在客户信息的功能。 在删除或修改客户信息时,系统会首先进行数据校验,如校验客户身份证号是否正确,校验客户军官证号是否正确等。 如果未通过校验则返回客人信息主界面,通过校验则将数据写 入数据库,系统显示数据更新成功。 整个客户信息管理业务的流程如图 39 客户信息管理业务流程图所示。 基于 J2EE 的 酒店预订 系统 设计与 实现 14 图 37 客户信息管理业务流程图 业务统计 首先判断用户的合法性,通过校验后操作员或管理员进入前台首页,点击进入业务统计模块,系统主界面显示该酒店全年酒店入住情况并通过柱状图显示。 操作员可以通过刷新界面获得该图形的更新。 如果需要打印该统计图表,系统也提供了打印图表功能。 整个业务流程如图 310 酒店业务统计流程图所示。 图 310 酒店业务统计流程图 客房类型设置 系统首先对登录人员进行认证 ,只有管理员才能进入系统维护页面。 而操作员虽然能进入前台首页,但无法进入后台页面,系统维护属于后台页面范围。 接下来,管理员可以对客房类型进行管理,包括添加客房类型,删除选中的客房类基于 J2EE 的 酒店预订 系统 设计与 实现 15 型,更改客房类型,重新加载数据,保存数据的操作。 客房类型设置可以改变的内容包括房间类别名称,床位数,预定价格,预定折扣,计时最低价,每小时计时价。 这些内容更改后,属于该类别的所有房间的信息都会更改。 当管理员点击保存数据后,数据被保存进数据库。 图 311 客房类型设置业务流程图 功能分析 酒店管理系统分为后台和前台两 个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置 3 个子模块。 模块的具体功能如下: 客房类型设置模块:该模块用来设置酒店房间的类型,包括新增客房类型,删除客房类型,编辑已有客房类型,编辑已有客房类型包括修改房间床位数,修改预定价格,修改预定折扣,修改计时最低价的功能。 客房设置模块:该模块用来设置酒店房间信息,包括新增客房,删除客房,编辑房间号,编辑客房所在区域或楼层,编辑房间类型等功能。 操作员设置模块:该模块用来管理酒店操作员信息,新增操作员,编辑已有操作员信息, 删除操作员信息等功能。 系统前台供酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计模块。 模块的具体功能如下: 入住登记模块:该模块用来登记客户的入住信息,入住信息包括登记信息,客人信息和费用信息三部分。 基于 J2EE 的 酒店预订 系统 设计与 实现 16 结账模块:该模块用来处理客户的退房信息,知道客人入住的房间号码就可以进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定,还可以对现有预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息,编辑已有客户信息,删除客户信息等功能。 业务统计模块:该模块用来统计一定时间段内酒店客房的出租率,并且以图形报表形式显示。 整个系统的功能模块如图 312 系统功能模块图所示。 图 312 系统功能模块图 基于 J2EE 的 酒店预订 系统 设计与 实现 17 4 系统 的 设计 需求调研完成后,要与用户进行需求确认。 接下来系统的设计工作就可以启动。 系统的设计一般包括以下步骤:架构设计,系统设计,数据库设计。 本章首先对该系统的架构设计、系统设计、数据库设计进行阐述,最后以该系统的两个核心模块为例,对系统的设计和编码工作进行详细分析说明。 系统总体设计 在本系统中,管理系统模块主要 实现对酒店预定添加,修改,修改的管理;客房与用户信息的查询管理;入住管理;退房的管理。 该模块中存在 4 个子模块,他们为平行结构,关系如下列图。 图 41 系统模块图 系统设计 企业级 Web 应用开发,一般都采用 MVC 架构,而 Spring 是一个很好的实现了 MVC 的框架, Hibernate 是当前最流行的持久层框架。 因此,本系统采用 Spring 与 Hibernate 相结合的方 式作为系统的总体开发框架。 另外,系统视系统管理 客户 预定模块 查询信息模块 入住模块 退房模块 修改登记 预定登记 显所有客户信息 显示房间状态 取消登记 查询房间 预定入住 登记入住 退房 基于 J2EE 的 酒店预订 系统 设计与 实现 18 图层主要采用 JSP 技术, Ajax 技术作为视图层的补充。 后台数据库使用 MySQL 数据库。 系统设计阶段包括:实体域模型设计, DAO 模型设计,过程域模型设计,控制模型设计,视图模型设计。 实体域模型设计 根据需求调研可以分析出,该系统主要有以下实体域: 客户实体,包括客人编号,客人姓名,客人类型,客人证件类型,客人证件号码,国籍,住址,邮编,手机号码,性别,电子邮件地址等信息。 客房实体,包括客房编号,客房所属区域,客房所属楼层,客房分机号码,客房状 态,客房类型,实际折扣等信息。 操作员实体,包括操作员类型,姓名,操作员用户名,操作员密码,操作员权限,手机号码,地址,邮编,创建时间等信息。 客房类型实体,包括客房类型编号,客房类型名称,床位数,预定价格,预定折扣,计时每小时价格等信息。 散客入住登记实体,包括入住登记信息编号,入住登记订单,入住房间,实际价格,已付押金,入住时间,离开时间,登记状态等信息。 团体入住登记实体,包括入住登记信息编号,入住登记信息列表,团队名称,人数,客人类型,客人证件类别,客人证件号码,登记状态,入住时间,预计离开时间,实 际离开时间,已付押金,总费用,加床费,事由等信息。 结账类型实体,包括客人编号,结账类型,应收金额,已付押金,续收金额,创建时间,操作员用户名,结账说明等信息。 该系统共有 11 个实体,除了上述 7 个主要实体外,还包括基础信息实体,客户记录实体,预定信息实体和预定订单实体。 DAO 模型设计 有了实体域模型,还必须有 DAO 模型来操作这些实体。 DAO 是数据访问接口的缩写。 数据访问顾名思义就是与数据库打交道,数据访问层位于业务逻辑层与数据库资源中间。 在 JavaEE 规范中认为,为了建立 一个健壮的应用系统,应该将所有对数据源的访问操作抽象封装在一个公共 API 中。 在具体编码过程中,实际就是建立一个定义了程序中会用到的方法的接口,并且编写单独的类来基于 J2EE 的 酒店预订 系统 设计与 实现 19 实现这个接口,当需要与数据源进行交互时则使用它。 针对每一个实体域模型,都有一个 DAO 模型与它对应。 在本系统中,分别有 11 个 DAO 接口类和实现类与实体域模型对应,这些接口类分别定义了操作相应实体类的方法。 另外,还有一个公共接口类 GenericDAO,这个接口定义了一般的增删改查操作。 DAO 接口类位于工程的 包中。 DAO 的实现类定义在 包中。 如图 44DAO 接口类与 DAO 实现类包图所示。 过程域模型设计 实体域模型和 DAO 模型是为了描述实体对象,以及对实体的增删改查操作。 对于具体的业务逻辑或流程,采用过程域模型来设计。 在本系统中通过创建一个公用业务逻辑层,来封装所有的业务逻辑操作。 公用业务逻辑层同样包含两个组成部分,一个是业务逻辑层接口,用来声明所有的业务逻辑方法;一个是业务逻辑层实现类,用来实现所有的业务逻辑方法。 业务逻辑的接口类位于工程的 包中。 业务逻辑的实现类位于工程的 包中。 如图 45 业务逻辑接口类与业务逻辑实现类包图所示。 基于 J2EE 的 酒店预订 系统 设计与 实现 20 图 46 DAO 接口类与 DAO 实现类包图 控制模型设计 完成了系统的过程域模型设计后,还需要为系统添加业务。基于j2ee的酒店预订系统设计与开发_毕业论文设计(编辑修改稿)
相关推荐
科技学院毕业设计 6 技术 分析 本课题采用 C/S 开发模式,运用 java 语言 J2SE 版本开发,充分利用 java 语言的面向对 象特点及其跨平台性,采用 MVC分层设计模式,即“模型 — 视图表示 — 控制器”的思路来完成系统实现的。 Java 平台是一种纯软件平台,它有三个版本 Java SE、 JavaEE、 Java ME。 Java SE( Java Platform,
持对所有应用程序的集成 [14]。 Java Servlet 概述 Servlet 技术早于 J2EE 平台出现, 它是一种采用了 相关类和方法的 Java 程序。 它 提供在 WEB 上进行请求和响应的服务, 它通过 对 框架 的创建 来扩展服务器的功能, Servlet 是一种 服务器端 的 java 应用 程序。 下面我们来看一下他的技术特点: 1 高效 它 有许多优点 , 例如: 当 N
,代码不用做任何更改。 (2)系统的多平台支持。 基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。 相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。 从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器
所 需 的 各类润滑 材料及其它配套材料 、 建材工业 、 轻工 与 纺织工业 、高速发展的电子工业以及诸多的高新技术产业 都离不开大量石化产品的支撑。 中国石油化工产业发展历程 中国石油化工产业的发展是中国崛起的一部分,是中国近代发展史的一部分。 3邬国英、李为民、单玉华,《石油化工概论》,中国石化出版社, 2020 年第二版, 17 页。 解放前, 在战争动乱、落后挨打的那个年代
oud noise. He did an experiment, using a number of male students at a university who all had normal hearing. He gave them different amounts of aspirin for different periods of time, then he tested
DN 500 2SA30411FA00 9FC2ZLK2 2020 20 小机中压进汽 Z941H64 DN 200 2SA30311GA009FC2ZLK2 500 28 辅汽联箱联络管道 Z941H25 DN 300 2SA30311GA009FC2ZLK2 500 28 冷段至辅汽管道 Z941H64 DN 200 2SA30311GA009FC2ZLK2 500 28 锅炉辅助蒸汽