基于WEB的酒店前台管理信息系统2.docx
《基于WEB的酒店前台管理信息系统2.docx》由会员分享,可在线阅读,更多相关《基于WEB的酒店前台管理信息系统2.docx(59页珍藏版)》请在冰豆网上搜索。
![基于WEB的酒店前台管理信息系统2.docx](https://file1.bdocx.com/fileroot1/2023-2/23/321a557c-52a4-46dd-8c71-b0152147a7f1/321a557c-52a4-46dd-8c71-b0152147a7f11.gif)
基于WEB的酒店前台管理信息系统2
2.2.3网络平台与软件平台选择
综合考虑系统的易用性、界面友好性、安全性及价格性能比,本系统的网络平台选用Windows2000;用户端选用 Windows98;
2.2.4系统模式的设计
在系统分析中,本系统是基于web技术的酒店前台管理信息系统,其模式的选择采用B/S模式,其优点是:
客户端安装简单,简单易用,安全性高,效率高。
该模式由三层结构组成如表示层、功能层和数据层,其结构图如下:
图2-10系统模式结构图
2.2.5数据库结构的具体设计
A数据库软件选择
Oracle9i软件,其功能非常强大,实现复杂,维护困难,考虑员工的技能,不易采用该软件,而由微软公司研发的SQL 2000数据库管理软件,具有良好的数据管理功能,面向多用户,事务处理功能,界面的友好性,易安装性等特点,成为选择的对象。
B数据库表的具体框架
根据表间各关系,转换为物理结构的数据表,各表结构如下:
客房预定表(表2-2)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
凭证号码
T
C
10
主
非空
2
工作单位
C
20
3
房间号
T
C
10
非空
4
日期
D
8
5
姓名
C
12
非空
6
联系电话
C
20
7
预订日期
D
8
8
预住天数
Integer
4
9
押金
Float
8
2
10
预住人数
Integer
4
11
备注
C
50
12
预订服务员
C
12
13
时间
C
12
登记表(表2-3)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
凭证号码
T
C
10
主
非空
2
姓名
C
12
非空
3
性别
C
2
4
年龄
Integer
4
5
证件名称
C
12
非空
6
证件号码
C
20
非空
7
工作单位
C
20
8
姓名1
C
12
9
性别1
C
2
10
年龄1
Integer
4
11
证件名称1
C
12
12
证件号码1
C
20
13
工作单位1
C
20
14
房间号
T
C
10
非空
15
住宿日期
D
8
16
预住天数
Integer
4
17
退宿日期
D
8
18
押金
Float
8
2
非空
19
备注
C
50
20
日期
D
8
21
时间
C
12
22
来宿服务员
C
12
23
是否结账
C
1
退宿表(表2-4)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
凭证号码
T
C
20
主
非空
2
姓名
C
12
非空
3
房间号
T
C
10
非空
4
住宿日期
D
8
5
住宿时间
C
12
6
实际宿费
Float
8
2
7
结款方式
C
6
8
折扣
Integer
4
9
应收宿费
Float
8
2
10
金额总计
Float
8
2
11
押金
Integer
4
12
住宿天数
Integer
4
13
退还宿费
Float
8
2
14
酒水费
Float
8
2
15
电话费
Float
8
2
16
赔偿费
Float
8
2
17
其他费用
Float
8
2
18
退宿日期
D
8
19
退宿时间
C
12
20
备注
C
50
21
操作员
C
12
挂账信息表(表2-5)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
编号
T
2
凭证号码
T
C
20
3
日期
D
8
4
单位编号
C
30
5
摘要
C
50
6
住宿金额
Float
8
2
7
欠款金额
Float
8
2
8
还款金额
Float
8
2
9
金额累计
Float
8
2
10
姓名
C
12
11
证件名称
C
12
12
证件号码
C
20
13
时间
C
12
14
是否结清
C
2
客房信息表(表2-6)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
房间号
T
C
12
主
非空
2
类型编号
T
Integer
4
候选
3
房态
C
12
4
配置
C
30
5
使用设置
C
30
6
营业时间
D
8
7
备注
C
50
客房类型表(表2-7)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
类型编号
T
Integer
4
主
非空
2
客房类型
C
12
非空
3
价格
Float
8
2
非空
4
备注
C
50
5
6
7
挂账单位信息表(表2-8)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
单位编号
T
C
12
主
非空
2
单位全称
C
30
非空
3
简称
C
20
4
地址
C
50
5
邮政编码
C
20
6
传真
C
20
7
电话
C
20
8
联系人
C
12
9
联系人电话
C
20
员工登记表(表2-9)
编号
字段名
主码
外码
类型
长度
小数位数
索引
字段完整性
1
员工编号
T
C
12
主
非空
2
姓名
C
12
3
性别
C
2
4
密码
C
10
5
职务
C
12
6
聘用日期
D
8
7
薪金
Float
8
2
8
备注
C
50
C数据表之间完整性约束
表(2-10)
父表
主码
子表
外码
修改
删除
插入
客房
房间号
预订登记单
房间号
级联
级联
限制
客房
房间号
入住单
房间号
级联
级联
限制
客房
房间号
退宿单
房间号
级联
级联
限制
客房
房间号
挂账单
房间号
级联
级联
限制
客房类型
类型编号
客房
类型编号
级联
级联
限制
挂账单位
单位编号
挂账单
单位编号
级联
级联
限制
2.2.6动态网页技术的分析
三种流行语言JSP、ASP、PHP的比较
表(2-11)
内容
JSP
ASP
PHP
运行速度
快
较快
较快
运行耗损
较小
较大
较大
难易程度
容易掌握
简单
简单
运行平台
绝大部分平台均可
Windows平台
Windows/UNIX平台
扩展性
好
较好
较差
安全性
好
较差
好
函数支持
多
较少
多
数据库支持
多
多
多
厂商支持
多
较少
较多
对XML的支持
支持
不支持
支持
对组件的支持
支持
支持
不支持
对分布式处理的支持
支持
支持
不支持
应用程度
较广
较广
较广
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。
JSP技术在多个方面加速了动态Web页面的开发。
它主要有如下几个方面的特点:
(1)将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐号信息或者一本书的价格)。
生成内容的代码被封装在Servlet和JavaBean组件中,并且结合在脚本中,所有的脚本在服务器端运行。
JSP引擎解释JSP标识和脚本程序,生成所请求的内容(例如,通过访问JavaBean组件,使用JDBC技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2)强调组件的重用
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBean或者EnterpriseJavaBean组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行组件,或者使得这些组件为更多的使用者或者客户团体所使用。
此方法加速了总体开发进程。
(3)采用标识简化页面开发
Web页面人开发员不都是熟悉脚本语言的编程人员。
JSP技术封装了许多功能:
访问和实例化JavaBean组件、设置和检索组件的属性、下载Applet以及执行用其他方法更难于编码和耗时的功能。
JSP技术可以通过开发定制的标识库进行扩展。
第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使的Web页面开发人员能够使用熟悉的工具和如同标识一样执行特定功能的组件来工作。
(4)健壮的存储管理和安全性
JSP页面的内置脚本语言是基于JAVA编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面具有Java技术的所有优点,包括健壮的存储管理和安全性。
(5)一次编写,随处运行
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,随处运行”的特点。
从上表可以总结出,JSP动态网页技术语言具有如下优点:
(1)开放的技术:
JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。
相比之下,ASP技术主要依赖MICROSOFT支持。
(2)平台和服务器的独立性:
JSP编写的代码可运行在任何符合JAVA语法结构的环境中。
这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
(3)开放的开发过程,开放的源码:
自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。
(4)JSP标记可扩充性:
JSP技术能够是开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台的可重用性:
JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。
考虑其优点,结合未来的发展趋势,本系统采用JSP作为动态网页的开发语言,相应的选用JAVASCRIPT作为其脚本语言。
2.2.7JSP引擎的选择
现在流行的JSP引擎主要有Tomcat、JSWDK、Resin、JRun、Servletexec、Websphere、Weblogic、GNUJSP,Enhydra,与几种引擎相比,Tomcat有如下特点:
(1)Tomcat是apache上实现jsp+javabean环境的接口程序,集成了jsp和servlet,能够对servlet和jsp规范进行正式参考实现。
(2)大多数厂商支持Tomcat,它是在ApacheJakarta项目中开发的一个开源产品,目前得到广泛的运用。
(3)Tomcat的容错性比weblogic强。
(4)Tomcat是免费的,而weblogic是收费的。
(5)Tomcat受到Sun公司的全力支持,并由非常强大的开发组织apache来进行发展,JSWDK只是一个简化的服务器平台,性能和稳定程度都比较有限,而且实际上SUN并不许可将它作为internet上的商业平台。
(6)Tomcat服务器具有Tomcat管理和控制平台、安全域管理和Tomcat阀等功能。
(7)易于维护,适合中小型企业。
基于上述特点,本系统运行的服务器采用Tomcat5.0引擎。
2.2.8数据接口实现技术的选择
基于JSP与后台数据库连接的数据库驱动程序有四种类型,分别为:
(1)JDBC-ODBC桥
(2)部分Java、部分本机驱动程序;
(3)中间数据访问服务器
(4)纯Java驱动程序
以下对各种驱动程序作分析:
(1)JDBC-ODBC桥
JDBC-ODBC桥驱动程序为Java应用程序提供了一种把JDBC调用映射为ODBC调用的方法。
因此,需要在客户端机器上安装一个ODBC驱动。
这种方式的缺点是效率低下。
(2)部分Java、部分本机驱动程序
这种驱动程序使用Java实现与数据库厂商专有API的混合形式来提供数据访问,比JDBC-ODBC桥驱动程序实现的方式要快。
JDBC驱动将标准的JDBC调用转变为对数据库API的本地调用,该类型的驱动程序是本地部分Java技术性能的本机API驱动程序。
(3)中间数据访问服务器
这种方式使用一个中间数据访问服务器,通过这种服务器,可以把Java客户端连接到多个数据库服务器上。
这种方式不需要客户端的数据库驱动,而是使用网络-服务器中层来访问一个数据库。
该类型的驱动程序是网路协议完全Java技术性能的驱动程序,它为Java应用程序提供一种进行JDBC调用的机制。
(4)纯Java驱动程序
这种方式使用厂商专有的网络协议把JDBCAPI调用转换成直接的网络调用,这种方式的本质是使用套接子(Socket)进行编程。
对于本系统,考虑其易用性,执行效率以及编程的难度,采用第二种即部分Java、部分本机驱动程序作为其驱动程序。
其结构图如图2-11:
图2-11
2.2.9系统物理实现体系结构
本系统使用JSP技术作为表现手段,服务器采用Tomcat5.0作为JSP引擎,系统业务逻辑由JavaBean组件完成,使用JDBC驱动程序和厂商专有API访问数据库,采用SQL2000数据库作为数据库服务器。
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。
而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。
通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。
在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。
如图2-12:
图2-12
2.2.10系统物理实现总体模块设计
该部分分析设计主要解决用JSP开发WEB系统所遵循的规律,有利模块化设计,条理和结构清晰,增加系统的安全性。
经分析该系统由三大模块实现,包括登陆模块,用户模块和管理模块。
如图2-13:
图2-13
系统整体分分三大模块:
登录模块,用户模块和管理模块。
系统登录模块主要完成整个系统登录,从而传递登录参数到用户模块和管理模块。
用户模块主要面向内部前台员工完成整个系统的一些信息初始化以及日常业务的处理,包括调房登记,入住登记,退宿登记,预订登记,挂账处理和查询等子功能。
管理模块主要完成系统对于用户信息和系统敏感信息的管理,保证系统的安全,包括管理员管理,员工管理,客房类型管理等子功能。
2.2.11系统链接结构设计
系统的链接结构是指页面之间相互链接的拓扑结构。
它建立在目录结构基础之上,但可以跨越目录。
具体来说:
每个页面都是一个固定点,链接则是在两个固定点之间的连线。
一个点可以和一个点连接,也可以和多个点连接。
更重要的是,这些点并不是分布在一个平面上,而是存在于一个立体的空间中。
一般基于网络系统的链接结构的目的在于:
用最少的链接,使得浏览最有效率。
因此在本系统中,采用了一个树型菜单实现基本连接所有功能。
一般的,建立基于网络的管理系统链接结构有两种基本方式:
一是树状链接结构(一对一)。
类似DOS的目录结构,首页链接指向一级页面,一级页面链接指向二级页面。
这样的结构优点是条理清晰,访问者明确知道自己在什么位置,不会"迷"路。
缺点是浏览效率低,一个栏目下的子页面到另一个栏目下的子页面,必须绕经首页。
二是星状链接结构(一对多)。
类似网络服务器的链接,每个页面相互之间都建立有链接。
这种链接结构的优点是浏览方便,随时可以到达某个页面。
缺点是链接太多,容易使浏览者迷路,搞不清自己在什么位置,看了多少内容。
在本系统的链接设计中,将两种连接方式结合使用,采用树型菜单和框架模式,用户模块和管理模块实现各子功能可通过树型菜单查找,而想从用户模块跳转到管理模块可通过框架解决。
我们希望浏览者以及管理者可以随意到达他所需要操作的页面,又可以知道他处于整个系统的什么位置。
详细系统链接如图2-14:
图2-14系统链接图
2.2.12系统目录结构
根据系统各栏目及功能分类,确定系统目录结构,这样方便管理查找,也方便管理及遍历。
整个系统的目录结构如图2-15:
图2-15系统目录结构图
Empl目录存放用户模块所涉及各子功能的文件;
img目录存所有用到的图片;
manager目录存放管理模块所涉及各子功能的文件;
web-inf目录存站点的一些采用的面向对象类文件;其中bean目录存站点用到的bean文件,存放用户登录信息;db目录存站点数据库连接的类文件;util目录存站点对数据库操作的类文件和中文处理类文件;
db目录存站点用到的数据库文件;
lib目录存站点数据库连接的驱动程序;
src目录存站点全部类文件的源代码;
work目录存站点运行时产生的servlet类文件
3系统实现
3.1人员培训
(1)让员工了了解系统各功能,包括输入和输出。
(2)保密性培训,包括系统进入的密码以及对敏感信息的保密。
(3)数据库表结构的建立与数据输入:
3.2数据库表结构的建立与数据输入
3.2.1数据库表结构的建立
下面列举生成数据库表Transact-SQL源程序:
预订表:
CREATETABLE[tkfyd](
[编号][char](5)COLLATEChinese_PRC_CI_ASNOTNULL,
[姓名][char](20)COLLATEChinese_PRC_CI_ASNULL,
[证件名称][char](20)COLLATEChinese_PRC_CI_ASNULL,
[证件号码][char](20)COLLATEChinese_PRC_CI_ASNULL,
[联系电话][char](20)COLLATEChinese_PRC_CI_ASNULL,
[详细地址][char](50)COLLATEChinese_PRC_CI_ASNULL,
[工作单位][char](50)COLLATEChinese_PRC_CI_ASNULL,
[房间号][char](10)COLLATEChinese_PRC_CI_ASNULL,
[预住日期][smalldatetime]NULL,
[预住天数][tinyint]NULL,
[预付金额][float]NULL,
[备注][char](50)COLLATEChinese_PRC_CI_ASNULL,
[日期][smalldatetime]NULL,
[时间][char](10)COLLATEChinese_PRC_CI_ASNULL,
[操作员][char](10)COLLATEChinese_PRC_CI_ASNULL,
CONSTRAINT[PK_tkfyd]PRIMARYKEYCLUSTERED
(
[编号]
)ON[PRIMARY]
)ON[PRIMARY]
入住登记表:
CREATETABLE[tdjb](
[凭证号码][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[姓名][char](12)COLLATEChinese_PRC_CI_ASNOTNULL,
[性别][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[年龄][int]NULL,
[证件名称][char](12)COLLATEChinese_PRC_CI_ASNULL,
[证件号码][char](20)COLLATEChinese_PRC_CI_ASNULL,
[工作单位][char](