酒店管理系统文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科学生大作业实验报告课程名称:数据库应用开发技术
实验项目名称:万家灯火酒店住宿管理
系统数据库设计
详细设计
开课学期: 2010至 2011 学年 02 学期
选课班级:选课B02班
学号:0082738 姓名:吴佳红
学号:0082721 姓名:曹雪梅
完成时间: 2011 年 5 月 1 日
目录
1 引言 (3)
1.1 编写目的 (3)
1.2 背景 (3)
1.3 定义 (3)
2 总体设计 (6)
2.1开发环境 (6)
2.2软件功能模块设计 (6)
2.3命名规则 (9)
3功能模块设计 (10)
3.1 bean文件 (10)
3.2 servlet文件 (12)
3.3jsp与html文件 (12)
3.4重要函数与过程 (12)
4子功能详细设计 (13)
4.1 登陆模块frmLogin、frmProductMain (13)
4.2 商品维护frmProduct.jsp (14)
4.3 供应商维护frmVendor.jsp (16)
1 引言
1.1 编写目的
该文档是专门为使用本系统者编写的,让使用者能够对本系统的功能及使用有个全面的了解,从而有助于使用者熟练的使用本系统及充分的使用好本系统所拥有的功能,更好的为使用者提供服务。
1.2 背景
随着我国经济的快速发展,人们的生活水平有了快速的提高,假日经济和旅游经济已成为人们消费的热点。
各地也把旅游业当做本地经济发展的重要经济支柱之一,从而促经了宾馆酒店业的快速发展。
同时,随着宾馆酒店越来越多,人们的需求越来越高,宾馆酒店业的竞争也愈来愈激烈。
如何在激烈的竞争中生从发展,是每一个宾馆酒店必须面临的问题。
对宾馆的经营状况起了决定作用的是宾馆的服务管理水平。
如何利用先进的管理手段,提高宾馆的管理水平,以成为宾馆酒店业发展的当务之急。
面对信息时代的机遇和挑战,利用科技手段提高企业管理水平是企业管理无疑的一条行之有效的途径。
现在的宾馆行业已经发生了巨大的变化,已不仅是提供给人们一个吃住行的简单场所。
所以,将计算机引入宾馆的管理体系中,无疑对宾馆的服务水平更上一层楼提供了一种有利的支持。
虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度的发挥准确,快捷,高效等作用,对宾馆的服务管理提供强有力的支持。
因此,采用全新的计算机网络和酒店住宿管理系统,已成为提高宾馆管理效率,改善服务的水准的准要手段之一,在某种意义上,酒店的住宿管理方面的信息化已成为现代化宾馆的重要标志。
传统手工的客房管理,管理过程繁琐而复杂,执行效率低,并且易于出错。
通过这酒店住宿系统,我们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。
从而更有利于管理者的经营管理,进而提高企业的利润,让企业在竞争中处于优势地位。
1.3 定义
列出本文件中用到的专门术语和外文缩写词的源词组。
给出工程目录结构
本系统的项目工程目录如图1-1 所示。
图1-1 项目工程目录
其中:
1)packBeanBasic存放所有包含业务字典表操作的bean对象,具体有:
(1)beanDCDepartment.java:定义了部门表DCDepartment的属性及相应的对
DCDepartment的相关操作
(2)beanDCIDType.java:定义了证件类型表DCIDType的属性及相应的对
DCDepartment的相关操作
(3)beanDCMemberLevel: 定义了会员类型表DCMemberLevel的属性及相应的对
DCMemberLevel的相关操作
(4)b eanDCNation:定义了民族表DCNation的属性及相应的对DCNation的相关操作
eanDCPrice
(5)b eanDCPrice:定义了收费标准表DCPrice的属性及相应的对DCPrice的相关操作
(6)beanDCQualification:定义了学历表DCQualification的属性及相应的对
DCQualification的相关操作
(7)b eanDCTitle:定义了职务表DCTitle的属性及相应的对DCTitle的相关操作
2)packBeanEntity存放所有包含实体表操作的bean对象,具体有:
(1)beanEmployee:定义了员工表Employee的属性及相应的对Employee的相关操作3)packBeanPublic存放连接数据库及过滤器的操作,具体有:
(1)beanConnDB:定义了与数据库的连接,包括无参连接及带参连接,及各种连接操作。
(2)beanEncodingFilter:定义了过滤器的功能,解决中文乱码问题,及使用户控制更加的安全及区分普通用户与管理员的管理。
4)packServBasic存放了对所有类的插入,删除,更新操作,具体如下:
(1)ServDCDepartmentDel:用于实现对部门表的信息删除操作。
(2)ServDCDepartmentIns: 用于实现对部门表的信息插入操作。
(3)ServDCDepartmentUpt: 用于实现对部门表的信息更新操作。
(4)ServDCIDTypeDel:用于实现对证件类型表的信息删除操作。
(5)ServDCIDTypeIns:用于实现对证件类型表的信息插入操作。
(6)ServDCIDTypeUpt:用于实现对证件类型表的信息更新操作。
(7)ServDCMemberLevelDel:用于实现对会员等级表的信息删除操作。
(8)ServDCMemberLevelIns:用于实现对会员等级表的信息插入操作。
(9)ServDCMemberLevelUpt:用于实现对会员等级表的信息更新操作。
(10)ServDCNationDel:用于实现对民族类的信息删除操作。
(11)ServDCNationIns:用于实现对民族类的信息插入操作。
(12)ServDCNationUpt:用于实现对民族类的信息更新操作。
(13)ServDCPriceIns:用于实现对收费标准类的信息插入操作。
(14)ServDCPriceDel:用于实现对收费标准类的信息删除操作。
(15)ServDCPriceUpt:用于实现对收费标准类的信息更新操作。
(16)ServDCQualificationDel:用于实现对学历类的信息删除操作。
(17)ServDCQualificationIns:用于实现对学历类的信息插入操作。
(18)ServDCQualificationUpt:用于实现对学历类的信息更新操作。
(19)ServDCTitleDel:用于对职务类的信息删除操作。
(20)ServDCTitleIns:用于对职务类的信息插入操作。
(21)ServDCTitleUpt:用于对职务类的信息更新操作。
5)packEntity实现了对基本数据职工表的相关操作,具体如下:
(1)ServEmployeeIns:用于实现对职工表基本数据的插入操作。
2 总体设计
2.1开发环境
(1)一个专用数据库服务器,用于Oracle11g数据库服务。
(2)PC机:安装如下软件:
Windows XP 、tomcat8.0 、jdk1.6 和myEclipse8.0。
2.2软件功能模块设计
描述该项目涉及的所有功能,详细描述每一个子功能的含义
该项目包括6大子功能
1)注册管理子功能:管理顾客注册,职员注册
2)客房管理子功能:管理客房分类信息,客房信息查询,更新客房信息及删除,预订客房管理,续订客房管理,转住客房管理,入住客房管理
3)订单管理子功能:管理订单查询,订单取消及更新,订单受理
4)消费账单信息管理子功能:管理消费账单信息查询,消费账单信息更新及删除
5)职员信息管理子功能:管理职员按部门分类管理,职员信息维护
6)顾客信息管理子功能:管理顾客信息分类,会员等级,会员信息维护
7)留言管理子功能:管理发布留言,回复留言
2.2.1注册管理子功能
注册管理子功能主要实现的是管理顾客注册及职员注册。
(1)顾客注册:填写基本信息:包括姓名,登录密码、证件类型、证件编号、性别、出生年月、地址、邮政编码、电话、和电子邮箱等。
系统检查所有信息填写正确后提示顾客注册成功,并返回顾客编号。
(2)职员注册:酒店工作人员以职员身份注册并填写基本信息,包括姓名、登录密码、身份证编号、学历、性别、出生年月、部门、薪水、住址、电话和电子邮箱等。
系统检查所有信息填写正确后提示注册成功,并返回职员编号。
2.2.2客房管理子功能
客房管理主要实现:管理客房分类信息,客房信息查询,更新客房信息及删除,预订
客房管理,续订客房管理,转住客房管理,入住客房管理等功能。
(1)管理客房分类信息:
1) 按客房设施分类:普通客房,经济客房,豪华客房,总统客房;
2) 按人数分类:单人间,标准间,套房
3) 按楼层分类:1楼,2楼,3楼等
4) 按房价分类:500元/(间*天),900元/(间*天),1200元/(间*天),2000元/(间*
天)等
(2)客房信息查询:
按以上四种分类的一种或几种查询客房信息,客房信息包括客房数量,客房类型,客房允许住的人数,房价等。
(3)更新客房信息及删除:
如果房间信息(房间类型,房间总数量和房间价格)发生改变时,职员可以更新该客房信息。
如果房间出现问题或该房间已经不存在,职员可以删除该房间信息。
(4)预订客房管理:分为在线预订,非在线预订(电话、直接到酒店预订)。
预定客房又再分为散客预订和团体预订。
预定时要填写入住信息(入住人姓名,入住时间等),预订时,订金不够,则不能预订。
(5) 续订客房管理:分为在线续订和非在线续订两种方式延长住房时间。
职员再将续订消费记录客户消费信息。
(6)转住客房管理:分为在线转住和非在线转住两种选择方式转房。
职员再按房间标准,更
改客户住房信息和消费信息。
(7)入住客房管理:顾客入住后,更新客房信息。
2.2.2订单管理子功能
订单管理子功能主要实现管理订单查询,订单取消及更新,订单受理等功能
预订客房交齐订金后,会生成订单
(1)订单查询:订单提交后,顾客可随时查询订单的最新信息及全部历史订单
(2)订单取消及更新:。
订单未审核前,允许顾客随时查询订单的最新状态(订单等待审核和订单处理结束)及更新订单信息(如退订和续订)
(3)订单受理:订单生成后,职员对订单审核。
若订单信息填写不正确,退回给客户,否则,
显示预订或续订成功。
2.2.3消费账单信息管理子功能
消费账单信息管理子功能主要实现管理消费账单信息查询,消费账单信息更新及删除
(1)消费账单信息查询:顾客可随时查询本次入住消费账单的最新信息及全部历史账单。
(2)消费账单信息更新及删除:职员可更新客户消费信息(如折扣等)或删除信息(如系统故障导致消费信息出错等)
2.2.4职员信息管理
职员信息管理主要实现职员按部门分类管理,职员信息管理管理
(1)职员按部门分类管理:系统按每个职员所属部门将职员信息统计到相应的部门。
(2)职员信息维护:职员可修改部分自己的基本信息,如地址,电话号码等。
有权限的职员可修改指定职员群体的信息,比如薪水,部门等。
2.2.5顾客信息管理
顾客信息管理只要实现顾客信息分类,会员等级管理,会员信息维护等功能。
(1)顾客信息分为两类:普通顾客,会员信息。
会员信息又分为普通会员,VIP1级会员,VIP2级会员,VIP3级会员,VIP白金会员
(2)会员升级:系统可对会员进行分级,即当会员累计消费金额达到一定数额后成为不同级别用户,以享受相应的优惠折扣
(3)会员信息维护:会员或有权限的职员可删除和更新会员信息
2.2.6留言管理
留言管理主要是实现发布留言及回复留言的管理。
(1)发布留言:客户可在网站发表留言或评论。
留言需记录留言人、留言内容、发布时间等信息
(2)回复留言:职员可回复留言,并记录回复人、回复时间和回复内容等信息。
2.3命名规则
(1) 每个过程或函数开始前给出说明,包括实现的功能、参数含义。
(2) 每个过程或函数在其程序中间对重要的部分给出详细的注释。
(3) 全局变量、函数和过程命名规范:
①函数gfun+含义,ex:gfunSearchDepartment()
②过程gpro+含义,ex:gproSearchDepartment
③变量g+类型+含义,ex:gsEmployeeNo
④单词首字母必须大写
(4) 类型命名规范:
s:字符串,n:整型,r:实数型,dt:日期时间型
d:日期型,t:时间b:布尔型
ex:gsDepartmentNo
(5) 单元变量命名规范:指仅在本单元文件范围内任何过程或函数可以使用的变量。
①函数fun+含义,ex:funSearchDepartment()
②过程pro+含义,ex:proSearchDepartment
③变量u+类型+含义,ex:usDepartmentNo
(6) 局部变量命名规范:仅在本函数或过程中可以使用的变量。
类型+含义,ex:sDepartmentNo
(7) 表单命名规范:
①文件名称:frm+含义,ex:frmLogin.jsp
②工程名prj+含义,ex:prjEmployee
③组件名:bean +含义,ex:beanOrder.java
④servert文件名:svr +含义,ex:svrOrder.java
⑤公共文件名:pub +含义,ex:pubOrder
⑥包名: pagBean bean包、 pagServlet servlet包
(8) 按钮命名规范:
①普通按钮btn+含义,ex:btnSave
②单选按钮rbtn+含义,ex:rbtnSave
③图片按钮bbtn+含义,ex:bbtnSave
④多选按钮cbtn+含义,ex:cbtnSave
⑤小按钮sbtn+含义,ex:sbtnSave
⑥菜单按钮mbtn+含义,ex:mbtnSave
⑦工具按钮tbtn+含义,ex:tbtnSave
(9) 编辑框命名规范:
①普通edt+含义,ex:edtSave
②格式medt+含义,ex:medtSave
③备注memo+含义,ex:memoSave
(10) 列表框命名规范:lbox+含义,ex:lboxPost
(11) 下拉列表框命名规范:cbox+含义,ex:cboxPost
(12) 菜单命名规范:
①主菜单menu+含义,ex:menuSave
②弹出菜单popmenu+含义,ex:popmenuSave
(13) 标签命名规范:
①普通标签lbl+含义,ex:lblName
(14) 图片命名规范:img+含义,ex:imgSave
(15) 网格命名规范:gd+含义,ex:gdEmployee
(17) 数据库控件命名规范:
①连接conn+含义,ex:connOracle
②数据集。
rs+含义,ex:rsEmployee
③命令com+含义,ex:acomEmployee
④存储过程pro+数据库中的存储过程名称
ex:proGetEmployeeNo
(18) 其它命名规范:
①面板pnl+含义,ex:pnlTop
②页控件pag+含义,ex:pagSearch
③日历下拉框dtp+含义,ex:dtpDate
④时间time+含义,ex:timeDate
⑤树trv+含义,ex:trvDepartment
3功能模块设计
共用模块涉及到bean、servlet和jsp等文件。
3.1 bean文件
(1) packBeanBasic包中的bean文件如表3-1所示。
表3-1 packBeanBasic包中的bean
(2)
3.2 servlet文件
(1) packServBasic包中的servlect文件如表3-10所示。
(2)
3.3j sp与html文件
(1)dirBasic目录中的文件如表3-20所示。
(2)
3.4重要函数与过程
重要的函数与过程如表3-50所示。
()packBeanPublic包中的
4位字符型数据集
beanPublic.java文件中
4子功能详细设计
4.1 登陆模块frmLogin、frmProductMain
4.1.1功能
对用户输入登录信息进行验证,并根据不同的用户权限显示不同的主菜单,对用户名、密码不正确的用户进行提示。
4.1.2时间
开始时间:
最后修改时间:
作者:
4.1.3界面
主菜单界面如图4-1所示,登录界面如图4-2所示。
图4-1 主界面
图4-2 登录界面
4.1.4输入项
(1)用户名和密码
(2)通过键盘输入数据
4.1.5主要实现算法
(1) 调用frmLogin.jsp网页为用户提供输入界面,提交后交给servLogin.java文件进行处理,在servlet中通过调用beanLogin.java文件,访问数据库中的User表来判断是否合法用户,如果是合法用户,进入相应的网页,如果出错,返回错误信息,提示用户重新登录。
出错登录次数不能超过3次。
4.2 商品维护frmProduct.jsp
4.2.1功能
对商品进行增加、修改、删除等操作。
4.2.2时间
开始时间:2011. 3. 22
最后修改时间:2011.3.22
作者:刘江懿
4.2.3界面
商品维护界面有两个,分别如图4-3和图4-4所示。
商品基本信息界面
商品附加信息界面
3.1.4输入项
(1)商品的录入时间、商品编号、商品名称、商品级别、单位、产地、颜色、单价、商品图片、商品备注(商品编号是自动产生的,商品类别是通过选择类别选择的)。
(2)通过键盘输入数据和外部图片,通过鼠标选择类别和产生编号。
(3)涉及到的表:Product1629(商品基本信息表)、ProductOther1629(商品附加信息表)、Sorts1629(商品类别表)
3.1.5输出项
(1) 将数据保存到数据库中
(2) 涉及的表:Product1629(商品基本信息表)、ProductOther1629(商品附加信息表)
3.1.6主要算法
(1)调用frmProduct.jsp网页为用户提供输入界面,提交后交给servProduct.java文件进行处理,在servlet中通过调用beanProduct.java文件,访问数据库中的ETProduct表。
(2)过程proCreateTree()用于生成商品级别树状结构,使用oracle树状结构检索首先将商品级别按照树结构检索出来,然后由该过程在treeview中生成结点。
(3)函数FindparentSite(sUpperClassNo :string :string) :integer用于查找父结点,输入商品级别编号,在treeview中查找该编号对应的结点,找到返回结点的索引值,未找到返回-1。
该函数用在过程proCreateTree()中。
(4)使用aqryType查询所有部门的级别编号和级别名称,用于将上级级别的编号用名称显示出来,该查询用于在表atbProduct建立一个lookup字段lkSortsName.
(5)当在treeview中选中一个商品级别时,点取选择级别按钮,则将该级别设置为当前选中级别的上级级别。
(6)在edtInDate中输入商品的录入时间,点击产生编号按钮,将自动产生8位的编号,其中使用了存储过程astpProductNo,调用了函数funProductNo产生商品编号。
(7)Dbgrid1的双击事件,当有选中dbgrid1中的一条记录时,双击便会在静态文本中显示商品的名称。
(8)按钮stbnImageClick事件,点击该按钮时便可以加载图片。
4.3 供应商维护frmVendor.jsp。