软件工程课程设计酒店管理系统_第1页
软件工程课程设计酒店管理系统_第2页
软件工程课程设计酒店管理系统_第3页
软件工程课程设计酒店管理系统_第4页
软件工程课程设计酒店管理系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程课程设计报告软件工程课程设计报告 班级:班级:软件软件 xxx 姓名:姓名:xxx 学号:学号:xx4 指导教师:指导教师: 郭鹏飞郭鹏飞 辽宁工程技术大学软件学院 目目录录 1 1 设计内容设计内容 .1 1 2 2 概要设计概要设计 .1 1 2.1 数据库设计 .1 2.1.1 数据库 e-r 图.1 2.1.2 .1 2.1.3 数据库表设计.2 2.2 逻辑结构设计 .2 2.2.1 酒店管理系统数据流图.2 2.2.2 数据字典.3 3 3 详细设计详细设计 .4 4 4 4 程序源码程序源码 .5 5 4.1 客房申请 .5 4.2 退房申请 .6 4.3 查看 .9 5

2、 5 程序运行与调试程序运行与调试 .9 9 5.1 酒店入住页面 .9 5.2 退房 .10 5.3 查询 .10 6 6 总结总结 .1111 参考文献参考文献.1212 成绩评定成绩评定.1212 1 设计内容 酒店管理系统:实现住房,退房,住房人数统计等功能 2 概要设计 2.1 数据库设计 2.1.1 数据库 e-r 图 图 2-1 e-r 2.1.2 住户(序号,姓名,性别,身份证号) 房间(房号,类型,人数) 所住(序号,房号) 所住 房间 房号 类型 房号 序号 序号 身份证号 姓名 住户 性别 n 1 人数 2.1.3 数据库表设计 表 2-1 住户-person 列名列名(

3、table)类型长度非空 序号numberint4是 姓名namevarchar20是 性别sexchar4否 身份证号idint18是 表 2-2 房间-room 列名列名(table)类型长度非空 房号roomidint4是 类型typevarchar4否 人数numint4否 表 2-3 所住-relax 列名列名(table)类型长度非空 序号numberint4是 房号idint4是 2.2 逻辑结构设计 2.2.1 酒店管理系统数据流图酒店管理系统数据流图 图 2-2 数据流图 房间检查 住房信息 住 房 信 息 管理员 统计信息 住 房 标 识 人数统计 退 房 标 识 结账处理

4、 退房 房间 房间信息 结 账 款 项 退房申请 住 房 信 息 住 房 申 请 入住系统 住户 2.2.2 数据字典 图 2-3 图 2-4 图 2-5 图 2-6 名字:住房信息 别名: 描述:房间拥有的信息 定义:住房信息=房间号+房间人数+住房类型 位置:交给住户 房间申请 退房申请 名字:楼层号 别名: 定义:楼层号=1数字1 位置: 名字:房间号 别名: 定义:房间号=2数字2 位置: 名字:房间号 别名: 描述:房间的编号 定义:房间号=楼层号+房间号 位置: 3 3 详细设计详细设计 3.1 酒店管理系统程序流程图 图 3-1 酒店管理系统程序流程图 房间检查 申请成功 登记

5、结账 房间检查 显示 结束 房间申请 房间申请房间申请 用户申请统计申请退房申请 选择功能 开始 4 4 程序源码程序源码 4.1 客房申请 主要思想:输入身份证号,查看房间的剩余,进行入住 request.setcharacterencoding(utf-8); servletcontext application = getservletcontext(); string leixing= (string) application.getattribute(leixing); string roomno = (string) application.getattribute(roomno)

6、; datasource ds = null; context context; try context = new initialcontext(); ds = (datasource) context.lookup(java:/comp/env/jdbc/mysqlds); catch (namingexception e) e.printstacktrace(); system.out.println(获取数据源错误!); try string sql = select * from room where statue=? and roomno=?; queryrunner run =

7、new queryrunner(ds); string str=leixing,roomno; list list=(list) run.query(sql,str,new beanlisthandler(room.class); if(list.isempty() request.getrequestdispatcher(/servlet/insertroom).forward(request,response); elseservletcontext application1= getservletcontext(); application1.setattribute(roomno,ro

8、omno); application1.setattribute(leixing,leixing); requestdispatcher rs=request.getrequestdispatcher(/servlet/insertroom); tryrs.forward(request,response); return; catch (exception e) catch (sqlexception e) e.printstacktrace(); try string sql=select clientname,sex,shenfenzheng,roomnumber from client

9、 where yuding=1;queryrunner run = new queryrunner(ds); list list = (list) run.query(sql, new beanlisthandler(dbcommen.class); request.setattribute(list,list);request.getrequestdispatcher(/ main/yudingruzhu.jsp).forward(request,response);catch(sqlexcept ion e) e.printstacktrace(); 4.2 退房申请 客户退房模块设计是:

10、输入房间号后查询客户信息及消费情况;在输出之 前首先要预先查询房间号是否有人入住,再修改数据库信息,最后显示客户的 信息及消费情况。 退房设计思想为:当输入房间号后到 trueroom2 控制块中查询该房间是否 已经入住,到满足条件时,到 insertroom 对数据库插入退房时间,然后再到 getall 控制块查询:客户信息,房间入住,退房时间以及客户消费信息。最后 到 all.jsp 页面显示所有信息。然后结账,退房。 request.setcharacterencoding(utf-8); string roomno = request.getparameter(roomno); str

11、ing leixing= request.getparameter(leixing); try string sql = select * from room where statue=? and roomno=?; queryrunner run = new queryrunner(ds); string str = leixing, roomno ; list list = (list)run.query(sql, str, new beanlisthandler( room.class); servletcontext application1 = getservletcontext()

12、; application1.setattribute(roomno, roomno); application1.setattribute(leixing, leixing); requestdispatcher rs = request.getrequestdispatcher(/servlet/insertroom); try rs.forward(request, response);return; catch (exception e) catch (sqlexception e) e.printstacktrace(); insertroom 的实现如下: request.setc

13、haracterencoding(utf-8); servletcontext application = getservletcontext(); string leixing = (string) application.getattribute(leixing); string roomno= (string) application.getattribute(roomno); system.out.println(roomno); system.out.println(leixing); int i=integer.parseint(leixing); int result = 0;

14、string message = null; string sql=null; try switch(i) case 0:sql=update room set statue=1 where roomno=?;break; case 1:sql=update room set statue=2,startdate=now() where roomno=?;break; case 2:sql=update room set enddate=now() where roomno=?;break; string sr = roomno; queryrunner run = new queryrunn

15、er(ds); result = run.update(sql, sr); if(i=1) sql=update client set yuding=2 where roomnumber=?; queryrunner run1 = new queryrunner(ds); run1.update(sql, sr); if(i=2)servletcontext application1 = getservletcontext(); application1.setattribute(roomno, roomno); requestdispatcher rs = request.getreques

16、tdispatcher(/servlet/seachall); try rs.forward(request, response); return; catch (exception e) elseif (result = 1) message = 操作成功!; else message = 操作失败!; request.setattribute(message, message); request.getrequestdispatcher(/addresult.jsp).forward(request, response); catch (sqlexception e) e.printsta

17、cktrace(); seachall的实现如下: request.setcharacterencoding(utf-8); servletcontext application = getservletcontext(); string roomno = (string) application.getattribute(roomno); string consumerno = 123456; datasource ds = null; string sql = null; try sql = select clientname,sex,shenfenzheng from client wh

18、ere yuding=2 and roomnumber=?; queryrunner run = new queryrunner(ds); string str = roomno ; list list = (list) run.query(sql, str, new beanlisthandler( dbcommen.class); dbcommen bl = (dbcommen) list.get(0); request.setattribute(bl, bl); sql = select roomno,startdate,enddate, timestampdiff(day,startd

19、ate,enddate) as day from room where statue=2 and roomno=?; list list1 = (list) run.query(sql, str, new beanlisthandler(room.class); room room1 = (room) list1.get(0); request.setattribute(room1, room1); sql = select * from consumer where consumerno=?; string str1 = consumerno ; list list2 = (list) ru

20、n.query(sql, str1, new beanlisthandler (consumer.class); consumer cm = (consumer) list2.get(0);request.setattribute(cm, cm); if(list.isempty()|list1.isempty()|list2.isempty()system.out.println(读取失败!); else request.getrequestdispatcher(/seachall.jsp).forward(request, response); catch (sqlexception e)

21、 e.printstacktrace(); 4.3 查看 房间查询的思想为:先到 getallroom 控制块对条件进行处理,将满足条件 的房间号的数组放到 room.class 中,再到 roomseach.jsp 页面将数组显示出来。 try sql = select roomno,statue,startdate,enddate from room; queryrunner run = new queryrunner(ds); list list = (list) run.query(sql, new beanlisthandler(room.class); request.setatt

22、ribute(list,list); request.getrequestdispatcher(/main/roomseach.jsp).forward(request,response); catch (sqlexception e) e.printstacktrace(); 5 5 程序运行与调试程序运行与调试 5.1 酒店入住页面 图 5-1 入住 5.2 退房 5-2 酒店退房管理 5.3 查询 5-3 住户查询页面 6 6 总结总结 通过一段时间的设计与编写,该酒店管理系统终于有了一个比较完整的框架。 现将心得体会总结如下: 由于时间仓促,这暂时只是一个简单的管理系统,但从设计这个系统的过 程中,我感受到了关于软件工程,数据库设计、商业管理等各方面知识在实际 工作中的应用。在开发该系统过程中,我始终坚持以下四项原则,并朝相应目 标靠拢: (1)实用为主 任何系统都应该以用户需求为最终目标,以方便用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论