《信息系统开发技术课程设计JSP宾馆管理系统.doc》由会员分享,可在线阅读,更多相关《信息系统开发技术课程设计JSP宾馆管理系统.doc(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息系统开发技术课程设计JSP宾馆管理系统772020年6月23日资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。学 号 ( 信息系统开发技术A课程设计) 设计说明书应用JSP创立宾馆管理系统起止日期: 年 5 月 16 日至 年 5 月 22 日学生姓名/ / / 班级 成绩/ / / 指导教师( 签字) 经济与管理学院 5月22日信息系统开发技术A课程设计分工及成绩评定组员承担主要任务学习态度10%说明书撰写质量与格式符合程度40%技术水平与实际能力40%软件应用能力10%总评成绩学号: 系统实现( 前台实现、 后台实现) 、 设计说明书审定和定稿优 良 中及格 不及格优 良
2、中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格姓名: 学号: 总体设计( 总流程设计) 、 详细设计( 数据库设计) 、 设计说明书相应部分的编写优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格姓名: 学号: 详细设计( 系统设计之数据流程、 业务流程及用例设计) 、 设计说明书相应部分的编写优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格姓名: 学号: 系统分析( 需求分析和可行性分析) 、 总体设计( 总体功能设计) 、 设计说明书相
3、应部分编写优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格优 良 中及格 不及格姓名: 目录1 系统分析21.1 系统需求分析21.2 系统可行性分析32 开发环境及工具32.1 JSP技术32.2 TOMCAT服务器42.3 MYSQL数据库43 总体设计43.1 总体功能设计43.1.1 客户端( 前台) 43.1.2 管理端( 后台) 43.2 总流程设计53.2.1 用户流程设计53.2.2 管理员流程设计54 详细设计64.1 数据库设计64.1.1 概念结构设计64.1.2 逻辑结构设计84.1.3 物理结构设计84.2 系统设计104.2.
4、1 系统数据流程设计104.2.2 系统业务流程设计104.2.3 系统用例图设计125 系统实现125.1 前台实现125.1.1 首页设计实现效果135.1.2 首页实际实现效果135.1.3 用户注册效果155.1.4 用户查询效果155.1.5 用户预定效果165.1.6 用户留言效果215.2 后台实现225.2.1 后台管理效果225.2.2 客房添加效果245.2.3 订单查询效果245.2.4 后台操作回应效果276 总结29参考文献29附录301 系统分析1.1 系统需求分析1.1.1 系统需求背景随着旅游事业的蓬勃发展和宾馆业务的不断扩大, 加上当今社会经济与科学技术的发展
5、, 中国服务行业取得了巨大的发展, 使得人们对宾馆的需求也随之提高, 这就对于宾馆管理的现代化、 科学化的要求也就不断迫切起来。如何利用先进的管理手段, 提高现阶段宾馆的管理水平, 已成为宾馆发展的当务之急。现代化的宾馆组织庞大, 服务项目多, 信息量大, 要想提高服务质量和管理水平, 进而促进经济效益, 必须借助计算机技术来进行现代化的信息管理。电子计算机科学的飞速发展, 给宾馆计算机应用带来了蓬勃生机, 出现了宾馆计算机管理信息系统、 安全保卫系统、 电子门锁系统、 宾馆信息服务系统、 客房电脑保险系统以及计算机娱乐系统。计算机在宾馆中的应用, 已深入到宾馆的各个部门, 特别是在信息处理领
6、域, 计算机已成为最重要的工具。在宾馆现代管理理论中, 宾馆管理信息系统已成为宾馆现代科学管理的重要内容, 是宾馆经营必不可缺少的现代科学工具。也就是说, 怎样在原有的基础上再进行简化, 使其具有操作简单、 灵活性好、 系统安全性高、 运行稳定等特点是我们的宾馆管理系统的设计方向。1.1.2 系统需求目的宾馆在正常的运营中需要对客房资源、 住客信息、 结算信息进行管理, 利用宾馆管理信息系统能够及时了解各个环节中信息的变更, 有利于提高管理效率。简而言之, 宾馆管理系统就其表现形式看就是对宾馆大量的常规性信息的输入、 存储、 处理和输出过程, 其作用主要表现在以下几个方面: ( 1) 快速办理
7、住客从预定到入住到退房的整个过程, 实现住客在酒店消费自动化; ( 2) 准确无误地记录住客的每笔消费记录; ( 3) 实时、 快速、 准确提供客房动态; ( 4) 方便查询住客的消费情况; ( 5) 完善、 全面的综合查询; ( 6) 系统运行稳定可靠、 各项维护功能齐全、 易于维护; 不难看出, 本系统主要为了更好地加强宾馆管理员对房间的管理, 给宾馆管理员提供一个井然有序的管理平台,提高效率和服务质量。同时也为客户提供选择、 查询客房的类型与客房的资源, 和进行挑选的快捷需求。避免了管理员的重复操作, 大大的减少了管理人员的工作量, 提高了工作效率, 也能够更好的满足住客的需要。1.1.
8、3 系统需求功能经过需求目的知道, 一个宾馆管理系统功能应包括: 住客结算信息管理、 客房类型信息管理、 客房资源管理、 住客信息管理、 用户管理五个模块。系统开发的总体任务是实现宾馆各种信息的系统化、 规范化和自动化。主要完成功能: ( 1) 有关客房标准的制定、 标准信息的输入, 修改和查询, 包括客房编号、 客房类型、 床位数量、 住房单价、 是否有空调、 电视机、 电脑、 电话以及单独卫生间等。( 2) 剩余客房信息的查询等。( 3) 订房信息的输入, 修改和查询, 包括客房编号、 客房类型、 客房单价、 住客姓名、 住客身份证号码、 入住日期、 折扣、 押金、 备注信息等。( 4)
9、结算信息的输入, 修改和查询, 包括客房编号、 客房类型、 客房单价、 住客姓名、 住客身份证号码、 入住日期、 折扣、 退房日期、 押金、 备注信息等。( 5) 住客信息的输入, 修改和查询, 包括住客姓名、 住客身份证号、 住客性别、 客房编号、 押金、 入住时间、 备注等。( 6) 用户信息的输入, 修改和查询, 包括用户编号、 用户身份、 密码1.2 系统可行性分析可行性分析是根据系统要求和系统目标从经济/技术和运行等方面进行可行性论证。系统要求: 宾馆管理系统必须包括宾馆的可预订资源的详细信息和用户所下订单的基本信息, 并可对这些基本信息进行查询和管理。系统目标: 宾馆管理系统的目标
10、是实现宾馆资源管理的信息化, 提高资源信息的维护性能, 提高工作的效率, 从而为宾馆带来更好的的利益。1.2.1 经济可行性开发该系统所需的相关资料能够经过已存在的相关系统进行调查采集,所需的其它应用软件、 硬件系统也易于获得.因此,开发成本较低。1.2.2 技术可行性本系统采用JSP开发语言, 调试相对简单, 当前的计算机硬件与软件配置也完全能满足开发的需求, 因此在技术上是绝对可行的。1.2.3 运行可行性运行可行性是对组织结构的影响, 包括现有人员、 机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及, 各类使用人员都具备一定的操作能力, 因此在运行上是可行性
11、的。2 开发环境及工具2.1 JSP技术Java Server Pages 技术是一个纯Java平台的技术, 它主要用来产生动态网页内容。在传统的网页HTML文件中加入Java程序片段和JSP标记, 就构成了JSP网页; Web服务器接收到访问JSP网页的请求时, 首先执行其中的程序片段, 然后将执行结果以HTML格式返回给客户; JSP是基于Java Servlet以及整个Java体系的Web开发技术, 利用这一技术能够建立先进、 安全、 快速和跨平台的动态网页。 JSP在多个方面加速了动态的Web页面的开发: 1.程序写一次, 到处能够运行。JSP在设计时, 充分考虑到应用平台的无关性;
12、依赖于Java的可移植性, JSP得到当前许多流行操作平台的支持, 可在Apache、 NetScape、 IIS等服务器上执行。2.执行速度快。JSP页面只需编译一次转化为Java字节代码, 其后一直驻留于服务器内存中, 加快了对JSP页面的响应速度; 若不考虑JSP页面第一次编译所花的时间, 则JSP的响应速度要比ASP快得多。 JSP技术是用Java语言作为脚本语言的, 跨平台、 成熟、 健壮、 易扩充的Java技术使得开发人员操作起来更简单。2.2 TOMCAT服务器Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件, 适合于嵌入Apache中使用
13、, 而且, 它的源代码能够免费获得, 你能够自由地对它进行扩充。Tomcat服务器的兼容性很好, 如WebLogic服务器采用其为Web服务器引擎, Jbuilder将其作为标准的测试服务器, Sun公司也将其作为JSP技术应用的示例服务器。2.3 MYSQL数据库MySQL是一种开放源代码的关系型数据库管理系统( RDBMS) , MySQL数据库系统使用最常见的数据库管理语言-结构化查询语言( SQL) 进行数据库管理。 由于MySQL是开放源代码的, 因此任何人都能够在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、 可靠性和
14、适应性而备受关注。大多数人都认为在不需要事务化处理的情况下, MySQL是管理内容最好的选择。它使用系统核心提供的多线程机制提供完全的多线程运行模式, 提供了面向C、 C+、 Eiffel、 Java、 Perl、 PHP、 Python以及Tcl等编程语言的编程接口( APIs) , 支持多种字段类型而且提供了完整的操作符支持查询中的SELECT和WHERE操作。当前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、 速度快、 总体拥有成本低, 特别是开放源码这一特点, 许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。3 总体设计3.1 总体功能
15、设计系统界面采用Web方式, 界面应简洁明了, 用户可方便浏览和查找客房信息。该系统的用户有两种类型: 一是管理员, 二是顾客, 两者应具有不同的权限。3.1.1 客户端( 前台) 宾馆顾客: 预订系统对一般用户来说分为两类, 分别为未注册用户( 普通用户) 和注册用户( 会员) 。( 1) 未注册用户: 只能在线浏览, 查询客房信息, 不能进行预订服务。( 2) 注册用户: 此用户能够在网页上查询客房信息、 预订服务、 退订服务等, 而且有客户的个人信息, 方便客户进行预订。3.1.2 管理端( 后台) 系统管理员: 管理系统后台功能, 对系统、 数据库进行维护。预订系统对系统管理员来说,
16、系统管理员是一级用户, 她的权限最大, 主要是维护系统、 管理用户的信息, 为了使系统及时有效运行, 系统管理员还需要对数据进行存储备份, 以防止因为某些网络恶意导致系统瘫痪、 数据丢失带来的不必要的麻烦。宾馆管理系统( Hotel) 管理端( 后台)-houtai.jsp( houtai.jsp) 客户端( 前台) -shouye.jsp( shouye.jsp) 用户登录、 注册( denglu.jsp) ( user/zhuce.jsp) 住房管理(find.jsp)留言版管理(lybgl.jsp)(lyb/lybshu.jsp)用户管理(yhgl.jsp)订单管理(ddgl.jsp)(
17、 ddwclguanli.jsp)管理员登录(guanli/admin1.jsp)信息管理(yhxiugai.jsp)(xinxiguanli.jsp)留言版、 留言(lyb.jsp)( lyadd.jsp) 预定管理(user/yudingxm.jsp)(yuding.jsp)查询住房(find/chaxun.jsp)图1: 总体功能设计3.2 总流程设计宾馆管理信息系统主要有两个流程: 3.2.1 用户流程设计用户需要使用账号和密码经过登录界面登录宾馆管理信息系统。登陆后进入系统主窗体, 能够对用户个人信息, 个人客房预定与结算进行操作, 退出系统时返回登陆页面。3.2.2 管理员流程设计
18、宾馆管理人员能够经过不同的身份验证进入宾馆管理信息系统, 进行客房管理、 客房资源管理、 住客订房管理、 住客结账管理、 住客信息管理等进行操作, 简化流程, 方便操作。客房标准设置基本信息输入修改客房登记基本信息录入客房信息管理用户登记订房信息管理订房信息管理结算信息输入结算信息管理客房信息返回图2: 总体流程设计4 详细设计4.1 数据库设计4.1.1 概念结构设计住客结算信息管理身份证号入住日期押金结算金额顾客姓名客房编号退房日期折扣备注住客编号用户编号客房资源管理客房编号客房类型剩余客房数量客房单价预定备注用户编号住客编号客房类型信息管理客房类型客房编号床数量客房单价洗手间电视电话空调
19、电脑用户编号住客编号住客信息管理身份证号姓名押金入住时间性别客房编号备注用户编号用户管理用户编号用户身份密码4.1.2 逻辑结构设计将上面的E-R图进行分析后, 形成如下的逻辑关系: ( 1) 结算信息( 住客姓名, 身份证号, 客房编号, 入住日期, 退房日期, 押金, 折扣, 实缴金额, 备注) ( 2) 客房资源( 客房编号(主码), 客房类型, 剩余客房量, 客房单价, 预定情况, 备注) ( 3) 客房类型信息( 客房编号(主码), 单价, 床位数量, 空调, 电话, 电脑, 电视, 卫生间, 客房类型) ( 4) 用户( 用户ID(主码), 身份, 密码) ( 5) 住客( 住客姓
20、名, 身份证号( 主码) , 性别, 客房编号, 押金, 入住时间, 备注) 4.1.3 物理结构设计根据逻辑结构分析确定系统需要设置五个表( 包括表结构) : 表1 用户管理表(SUser): 列名数据类型长度值说明User ID(主码)varchar10Not null管理用户IDIdentityvarchar10Not null管理者身份Passwordvarchar10Not null密码表2 客房类型信息管理表(RoomType): 列名数据类型长度值说明User IDvarchar10Not null管理用户IDIDnumbervarchar20Not null住客身份证号Room
21、ID(主码)varchar4Not null客房编号Pricefloat8Not null客房价格Bednumberint4Not null床位数目Airvarchar2Not null是否有空调Telephonevarchar2Not null是否有电话Computervarchar2Not null是否有电脑TVvarchar2Not null是否有电视Bathroomvarchar2Not null是否有卫生间RoomTypevarchar50Not null房间类型表3 客房资源管理表(Room): 列名数据类型长度值说明User IDvarchar10Not null管理用户IDID
22、numbervarchar20Not null住客身份证号RoomID(主码)varchar4Not null宾馆统一安排的房间号Roomtype(外码)varchar50Not null房间类型Reroomvarchar20Not null客房剩余情况Pricefloat8Not null客房价钱Bookvarchar2Not null已预订、 未预定Dictionvarchar50Null客房信息的补充 表4 住客结算信息表( Settle) : ( 注: 其中主码为( 身份证号, 房间号, 入住日期) ) 列名数据类型长度值说明User IDvarchar10Not null管理用户ID
23、Costnamevarchar10Not null住客姓名IDnumbervarchar20Not null住客身份证号码RoomIDvarchar4Not null客房编号Indatavarchar50Not null入住日期Outdatavarchar50Null退房日期Marginfloat8Not null押金Discountfloat8Null会员折扣或宾馆活动Moneyfloat8Null实缴金额Dictionvarchar50Null信息的补充表5 住客信息管理表( customer) 列名数据类型长度值说明User IDvarchar10Not null管理用户IDIDnumb
24、er(主码)varchar20Not null住客身份证号Costname(外码)varchar10Not null住客姓名Sexvarchar2Not null男女RoomIDvarchar4Not null客房编号MarginFloat8Not null押金Indatavarchar50Not null入住时间Dictionvarchar50Null住客信息的补充4.2 系统设计4.2.1 系统数据流程设计 图3: 数据流程图设计4.2.2 系统业务流程设计图4: 第一层业务流程图图5: 第二层业务流程图图5: 第三层业务流程图4.2.3 系统用例图设计5 系统实现除必要的功能代码( 如:
25、 WEB页面链接数据库的相应代码、 JSP动态交互代码等) 会在报告里给出, 其余界面的代码会以附录的形式列出, 以达到主要内容的精简。系统的实现分为前台实现和后台实现: 前台的实现主要针对用户的相应操作, 其主要用到基本的HTML语言, JSP应用主要是在有交互页面中使用; 后台的实现主要针对管理员的相应操作, 其主要用到链接数据库的一系列操作。下面分别详细阐述它们的实现: 5.1 前台实现前台首页是客户进入本系统的第一个界面, 用户在此页面能够查询宾馆有哪些资源分组, 并能够经过导航到达具体的资源页面, 也能够实现注册和登录的功能。我们所做的前台特点是: 简洁、 大方、 用户可轻松的找到自
26、己想要的内容。5.1.1 首页设计实现效果注: 本宾馆管理系统的前台设计( 即首页设计) 及具体功能设计是仿照粤海( 国际) 酒店管理集团有限公司( ) 的网站做, 在此以做说明。5.1.2 首页实际实现效果本系统采用在浏览器主窗体中的中上部设置导航栏, 分别为首页、 预定房间、 查询房间、 客户留言、 后台管理, 5个导航, 通俗易懂的概括了本系统主要功能。其中普通用户只能操作最基本浏览客房信息, 会员和系统管理员有各自相应操作权限, 在本报告的3总体设计中已经详细介绍过, 这里不再赘述, 详见3总体设计, 此页面的链接地址为: HTTP:/localhost:8080/Hotel/shou
27、ye.jsp。下面为实现图: 为了使读者更容易理解与使用, 下面将具体的页面( 包括名称、 功能、 对应文件) 做以说明, 并以表格的形式列出, 方便查看, 给出下表: 表6: 前台页面描述区域名称功能对应文件1网站LOGO主要用于宣传企业知名度和认识度html/top.htm2网站导航主要用于显示网站为用户提供的前台功能导航shouye.jsp3时间栏主要用于展示现在的时间shijian2.jsp4用户登录入口用户能够经过该入口登录系统denglu.jsp5公告区用于展示相关公告的信息gonggao.jsp6友情链接用于链接相关网站yqlj.jsp7推荐区用于推荐本宾馆的特色房间tuijia
28、n.jsp8图片展示区用于展示本宾馆的房间样子tp.html9网站页脚用于告知用户网站的联系方式html/bottom.htm10预定房间用于预定房间yuding/yd.jsp11查询房间用于查询房间find/chaxun.jsp12客户留言用于留言lyb.jsp5.1.3 用户注册效果在本报告的3总体设计中已经阐述过进入页面的会有会员和非会员之分, 因此会提供用户注册来让非会员成为会员来行使相应的会员操作, 页面显示效果如下图: ( 页面仅用于非会员注册为会员, 页面地址为: http:/localhost:8080/Hotel/user/zhuce.jsp) 5.1.4 用户查询效果本系统
29、所提供的最基本功能为房间查询, 会员和非会员均能使用, 显示页面如下图: ( 用于房间的查询, 页面为: http:/localhost:8080/Hotel/find/chaxun.jsp) 5.1.5 用户预定效果用户预定仅对会员提供, 非会员需预先经过5.1.3用户注册页面进行注册方能使用, 显示效果如下图: ( 用于房间的预定, 页面为: http:/localhost:8080/Hotel/user/yudingxm.jsp) 其中表单的传递以及页面提示主要代码为: !-function isValidDate(year,month,day) if (year 2078) alert
30、(您输入的年份无效!); return false; if (month 12) / check month range alert(月份必须为 1-12.); return false; if (day 31) alert(日必须为 1-31.); return false; if(month=4 | month=6 | month=9 | month=11) & day=31) alert(month+月份+ 没有31天!) return false if (month = 2) / check for february 29th var isleap = (year % 4 = 0 &
31、(year % 100 != 0 | year % 400 = 0); if (day29 | (day=29 & !isleap) alert(year+年2月没有 + day + 天!); return false; return true; / date is validfunction validEmail(email) invalidChars = /:,; if (email = ) return false for (i=0; i -1) return false atPos = email.indexOf(,1) if (atPos = -1) return false if
32、(email.indexOf(,atPos+1) -1) return false periodPos = email.indexOf(.,atPos) if (periodPos = -1) return false if (periodPos+3 email.length) return false return true function dosubmit() if (document.form1.ydname.value=) alert(请输入您的姓名!); document.form1.ydname.focus(); else if (!isValidDate(document.fo
33、rm1.ChkInYear.value,document.form1.ChkInMonth.value,document.form1.ChkInDay.value) document.form1.ChkInDay.focus(); else if (!isValidDate(document.form1.ChkOutYear.value,document.form1.ChkOutMonth.value,document.form1.ChkOutDay.value) document.form1.ChkOutDay.focus(); else if (document.form1.num_of_
34、adults.value=) alert(请输入入住人数!); document.form1.num_of_adults.focus(); else if (document.form1.ydtelephone.value=) alert(请输电话号码!); document.form1.num_of_adults.focus(); else if (document.form1.ydaddress.value=) alert(请输入联系地址!); document.form1.ydaddress.focus(); else document.form1.submit(); function
35、Room_type_onchange() document.form1.Room_ref.options.length=0; if (document.form1.Room_type.value=行政套房) var aText = new Array(7); aText0=中国式; aText1=古典式; aText2=新古典式; aText3=当代式; aText4=后现代式; aText5=彩色式; aText6=黑白式; for(i=0;i7;i+) var oOption = document.createElement(OPTION); oOption.text=aTexti; oO
36、ption.value=aTexti; document.form1.Room_ref.add(oOption); document.form1.Room_ref.selectedIndex=0; else if(document.form1.Room_type.value=总统套房) var aText = new Array(7); aText0=紫金城风格; aText1=普罗旺斯风格; aText2=金字塔风格; aText3=罗浮宫风格; aText4=白金汉宫风格; aText5=西雅图风格; aText6=地中海风格; for(i=0;i5.1.6 用户留言效果为了使宾馆能够提供更好的服务, 也为了使系统更好的运行, 本网站提供用户留言功能, 并一并开发了管理员回复功能, 显示效果如下图: ( 网页地址为: http:/localhost:8080/Hotel/lyb.jsp) 其中添加留言所用到动态交互代码如下: