《数据库课程设计报告宾馆信息管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告宾馆信息管理系统.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库课程设计报告 -宾馆信息管理系统 计算机科学及技术学院08级电子商务专业一、 系统开发平台 题目:酒店信息管理预订系统 开发语言:Java Eclipse /netbeans后台数据库管理系统:SQL Server 2000操作系统:windows xp二、 数据库规划2.1 任务陈述 引言客房管理系统是典型信息管理系统一部份,而且是必不可少一部份。其开发主要包括后台数据库建立和维护以及前端应用程序开发两个方面。对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好数据库。而对于后者则要求应用程序功能完备,易使用等特点。酒店客房管理系统内容对于经营决策者和管理者来说都至关重要,所以客
2、房管理系统、信息管理系统应该能够为用户提供充足信息和快捷查询手段。但一直以来人们使用传统人工方式管理文件档案,这种管理方式存在着许多弊端,如:效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。在当今时代,这些完全可以改用计算机来代替人手工操作。 作为计算机及网络应用一部分,使用计算机对客房信息进行管理,具有手工管理所无法比拟优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高客房经营管理效率,也是企业科学化、正规化管理,及世界接轨重要条件。且办事效率也是决定收入一个关键因素。 因此,我选择酒店客房管理系统设计,力求开发出
3、一套界面友好,功能强大,使用简单适用于各大、中、小规模酒店客房管理系统。同时也是一款完全适合宾馆或旅馆酒店客房管理傻瓜式日常业务管理软件。酒店系统由前台和后台管理两个部分组成。前台作为及前台服务员直接交互可视化界面,由于使用方便,能将系统各个功能提供给他们,以帮助服务员进行客房管理。前台在考虑功能实现同时,也考虑了操作简洁和方便性,目是让大多数客户能够轻松地享受电子商务给他们带来便利。 为了确保客户和酒店信息具有更好安全性,前台管理和后台管理是分离。前台各管理模块只有部分功能和权限,我为此设计了两个角色:一是酒店管理员,二是前台服务员。其中:酒店管理员享有最高权限,可以使用酒店客房管理系统所提
4、供所有功能,包括员工信息修改、客房类型维护、客房信息维护、客户信息查询。前台服务员主要职能是负责订房,入住和退房,以及查询和修改订单,查询房间信息和查询预订及入住客户信息。所有该角色只可以使用部分功能,后台管理主要由数据库系统作为支持,后台管理维护工作主要由系统管理员进行。 数据库管理系统由于酒店管理系统是一个典型数据库应用系统,因而选择一个良好DBMS是系统实现另一个重要环节。DBMS访问数据库。一般来说现代DBMS具备以下几个功能:(1)事务恢复功能:为尽可能减少由于故障而引起数据库数据失效损失,现代DBMS通常具备恢复功能。(2)完整性约束检查:由于数据库中数据是持久和共享,其正确性十分
5、重要,为保证数据正确性,DBMS提供对数据库数据语法和语义检查,数据在语义上约束称为完整性约束。(3)访问控制:并不是任何用户可以不加限制访问任何数据库中数据,DBMS应有控制用户访问权限功能,即所谓访问控制功能,访问控制不但可以限制用户访问范围,而且可以限制用户可进行操作。(4)数据目录管理:数据库中保留是持久和共享数据,对数据定义应不同于一般程序设计语言,应独立于应用程序,长期保留在数据库中,这就构成了数据目录,数据目录管理是DBMS基本功能。2.2 任务目标 设计目标(1)操作简单方便、界面简洁美观,方便中小型酒店人员使用。(2)前台服务员功能:住宿管理:客房预订(能实现散客和团体客户预
6、订,团体预订可预订多间不同类型房间,并在这些房间中选择一个作为主房间号)客人入住(能实现散客和团体客户入住,团体入住可选择多间不同类型房间,并在这些房间中选择一个作为主房间号)客户信息录入(在订单生成页面将录入客户信息,团体客户只记录一位主客户信息,而不需所有客户依次登记)入住押金管理(押金设为住宿总费用百分之五十,在开入住订单时系统自动计算并显示)信息管理: 预订和入住订单查询(可按订单号、客户身份证号、入住类型查询)团体订单细则(对团体订单中每一个房间信息显示)修改预订订单和入住订单(可修改主客基本信息及订单信息)取消预订订单(直接删除预订订单,恢复房间可用状态)将预订订单直接转为入住(省
7、去了再次生成入住订单程序)房间查询(可按照房间号、房间类型、房间状态查询)客户查询(可按照客户姓名、客户身份证号、入住类型查询)入住客户中途换房(只能换同种类型房间,消费金额不变)入住客户正常退房(根据入住时间计算消费金额,最后客户应缴费用为总费用及已交押金之差)(3)管理员功能:除了前台接待功能之外,还包括房间信息设定及修改(包括客房类型,客房分机号,楼层,备注)个人信息修改(包括个人密码,联系方式,住址)增加客房类型(包括类型号,单价,床位数,房间设施,面积等)增加客房信息(包括房间号,房间类型,房间分机,楼层,备注)(4)酒店介绍等信息:介绍酒店地址,房间价格标准,联系电话等信息三、 系
8、统定义3.1 系统边界酒店信息管理系统住宿管理客房管理后台管理员散客客房预订散客客房入住团体客房预订团体客房入住押金管理客户信息录入预订订单查询入住订单查询预订订单修改入住订单修改取消预订订单房间信息查询客户信息查询个人信息维护增加客房类型增加客房信息修改已有房间信息退换房管理已住订单换房已住订单退房及结账3.2 用户视图 前台服务员散客客房预订及入住前房间查询散客预订生成订单,录入客户基本信息散客入住生成订单,录入客户基本信息团体客房预订及入住前房间查询,设置主房间号团体预订生成订单,录入主客户基本信息团体入住生成订单,录入主客户基本信息预订订单信息查询预订订单修改团体预订订单所有房间信息细
9、则取消预订订单入住订单信息查询入住订单修改团体入住订单所有房间信息细则客房信息查询客户信息查询入住换房管理入住正常退房及消费结账管理 后台管理员后台管理员登陆管理员个人功能主页个人信息修改增加客房类型增加客房信息修改已有客房信息四、需求分析4.1 用户需求分析 数据需求 前台服务员用户视图预订信息:预订订单号(唯一),客户身份证号,客户姓名,主客房间号,预订房间数,入住类型(散客/团体),预订时间,入住时间,入住天数,主客电话。预订登记:预订登记号(唯一),所属预订订单号,房间号,房间类型号,房间类型,预订时间,入住时间,入住天数,房间单价。入住信息:入住订单号(唯一),客户身份证号,客户姓名
10、,主客房间号,预订房间数,入住类型(散客/团体),入住时间,入住天数,主客电话,房间总费用,需收押金。入住登记:入住登记号(唯一),所属入住订单号,房间号,房间类型号,房间类型,预订时间,入住时间,入住天数,房间单价。客户信息:客户身份证号(唯一),客户姓名,客户电话,性别,备注客房信息:房间号,房间类型号,房间类型(标准间/高级套房/普通单间/总统套房),房间状态(可用/预订/入住),楼层,分机号,备注换房信息:房间号,房间类型,客户姓名,客户身份证号,订单号退房信息:订单号,客户姓名,客户身份证号,入住时间,入住天数,房间单价,已交押金,房间总费用,还需缴纳费用 后台管理员用户视图管理员登
11、陆:管理员账号,管理员密码管理员个人信息维护:管理员姓名,管理员账号,管理员密码,联系电话,住址,职务增加房间类型:房间类型号,房间类型名称,房间单价,床位数,面积,房间设施增加客房:房间号,房间类型,房间状态,楼层,分机,备注 事务需求 前台服务员视图:数据查询:现有各类房间详细信息以供预订或入住列出已有所有预订订单列出已有所有入住订单列出所有客房信息(可用/已住/预订)列出所有客户信息(预订/入住)列出某客户订单情况列出某团体所有登记房间情况列出需要换房房间信息以及所有同种类型当前可用房间信息列出需要退房房间信息,已交金额及需交金额显示酒店详细信息数据录入:录入客户需要房间信息(选择房间类
12、型及房间数目)录入客户基本信息(姓名,身份证号,电话等)录入订单信息(时间,入住天数)录入订单修改信息(修改预订及入住订单,及取消订单)录入换房信息录入退房信息数据输出:输出酒店现有有所类型房间数目自动输出预订订单及入住订单订单号和登记号(每一个订单有一个订单号,一个订单中每个房间有一个登记号,一个登记号对应一个订单号,一个订单号对应一个或多个登记号。订单号和登记号按系统时间自动生成)自动输出退房信息,退房所需交金额 后台管理员视图数据录入:录入管理员账号,密码录入个人修改信息(密码,电话,住址)录入新增加房间类型(类型号,类型名称,单价等)录入新增加房间信息(房间号,房间类型,分机,楼层)录
13、入已有房间修改信息(房间号,房间类型等)数据查询:列出现有所有房间信息列出个人所有信息列出修改后房间信息数据输出:输出增加房间类型输出增加房间信息4.2 系统需求说明 软件环境 软件环境需要支持Window操作系统,及SQL Server 2000商业数据库 硬件环境 Inter(R)Core(TM)2 Duo CPU T5670 1.80GHz 1.79 GHz, 504MB内存 初始数据库大小 客房信息40条员工信息4条 客户信息15条 预订订单信息8条入住订单信息7条预订登记信息15条入住登记信息15条 数据库增长速度 住宿信息每天增长大约50条预订信息每天增长大约50条 退宿信息每天增
14、长大约30条换房信息每天增长大约10条 其他信息增长速度不定记录查找类型和平均数量 查询客房信息 大约每天50次查询住宿信息 大约每天50次查询客户信息 大约每天50次 查询退宿信息 大约每天50次4.2.6 安全性管理员和服务员有不同权限每个管理员登录系统是需要身份验证(前台服务员不需要)五、数据库逻辑设计5.1 ER图订单号酒店客房房间类型预订登记表登记有属于客户预订订单预订入住管理管理员所属登记号登记号订单号入住登记表入住订单登记登记号所属订单号5.2 数据字典实体和联系属性客房信息(房间号,房间类型号,房间类型,房间状态,楼层,房间分机,备注)房间类型(房间类型号,类型名称,房间单价,
15、面积,床位数,房间设施)客户信息(身份证号,客户姓名,联系电话,性别,备注)预订订单(预订订单号,主客姓名,主客身份证号,主客房间号,入住类型,房间数目,预订时间,入住时间,入住天数,客户电话)预订登记表(预订登记号,所属预订订单号,房间号,房间类型号,房间类型,预订时间,入住时间,入住天数,入住类型,房间单价)入住订单(入住订单号,主客姓名,主客身份证号,主客房间号,入住类型,房间数目,入住时间,入住天数,客户电话,房间总费用,需交押金)入住登记表(入住登记号,所属入住订单号,房间号,房间类型号,房间类型,入住时间,入住天数,入住类型,房间单价)团体入住信息(团体入住订单号,主客姓名,主客身
16、份证号,客户人数,主客房间号,入住时间,入住天数,主客电话,房间总费用,需收押金)管理员(管理员账号,密码,管理员姓名,职位,联系电话,住址)属性描述实体属性类型及大小空客户信息身份证号(key)char(10)否客户姓名varchar(50)否联系电话varchar(50)否性别varchar(50)否备注varchar(50)客房信息房间号(key)char(10)否房间类型号char(10)否房间类型verchar(50)否房间状态verchar(50)否房间分机char(10)否楼层char(10)否备注varchar(10)管理员管理员账号(key)char(10)否密码char(1
17、0)否职位varchar(50)否联系方式char(10)否住址varchar(50)预订订单预订订单号(key)char(10)否主客姓名varchar(50)否主客身份证号char(10)否入住类型varchar(50)否预订房间数目char(10)否主客房间号char(10)否预订时间Datetime否入住时间Datetime否入住天数Char(10)否主客电话Char(10)否预订登记表预订登记号(key)char(10)否所属预订订单号char(10)否房间号char(10)否房间类型号char(10)否房间类型varchar(50)否预订时间datetime(8)否入住时间date
18、time(8)否入住天数char(10)否入住类型varchar(50)否房间单价char(10)否入住订单入住订单号(key)char(10)否主客姓名varchar(50)否主客身份证号char(10)否入住类型varchar(50)否入住房间数目char(10)否主客房间号char(10)否入住时间Datetime否入住天数Char(10)否主客电话Char(10)否房间总费用Char(10)否需交押金Char(10)否入住登记表入住登记号(key)char(10)否所属入住订单号char(10)否房间号char(10)否房间类型号char(10)否房间类型varchar(50)否入住时
19、间datetime(8)否入住天数char(10)否入住类型varchar(50)否房间单价char(10)否房间类型房间类型号(key)char(10)否类型名称varchar(50)否床位数char(10)否单价char(10)否房间设施varchar(50)否面积char(10)否六、数据库物理设计6.1 索引使用查询分析器运行:USE 酒店管理系统DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES可以得到“酒店管理系统”数据库中全部索引相关信息,其中用户所建表部分信息如下:ObjectNameIDIndexNameAverageFreeByte
20、sLogicalFragementation入住订单PK_团体入住信息入住登记表210099789PK_团体入住登记表客户信息837578022PK_客户信息10房间类型933578364PK_房间类型客房信息1669580986PK_客房信息100.0管理员1909581841PK_高级管理预订订单2021582240PK_团体预订信息预订登记表2085582468PK_团体预订登记表以上都是主键索引。6.2 安全机制(1)后台管理员登录必须要通过身份验证,当数据库中有此账号并且权限及用户类型一致是,才能成功登录。保证了系统安全性。(2)前台工作人员没有权利访问经理工作空间,对一些宾馆基本信
21、息和重要数据,如房间类型、客房信息,没有全部查询或者修改权利。保证了数据安全性。七、应用程序设计 功能模块 前台服务员(1) 散客预订和入住房间可按照房间类型(如单人间,标准间等)选择房间,该房间必须为空闲,即未被预订,并且目前无人入住房间,登记客户基本信息,包括客户姓名、电话、登记入住时间、预定时间。在预订后,会自动生成一个订单号和一个登记号,客房状态即为“预订”,从而在其他客户登记查询房间时候此房间不会被查询到。同时,如果客户在预订订单中入住时间之后三天仍未到达,则视为放弃,此时房间状态恢复“可用”。(2)团体预订和入住登记页面首先显示酒店现在剩余各类空闲房间数,客户可选择其中各种类型数目
22、,并设定一个主房间。登记入住客户基本信息,包括客户姓名、通讯地址、电话、登记预定时间和入住时间以及准备入住天数,对于已经预定过房间情况,根据房间号直接找出其预定信息,修改需变动信息后做入住登记。每一个订单有一个订单号,一个订单中包括了该团体中所有房间,且每个房间有一个登记号。即一个订单对应多个登记号,一个登记号只对应一个订单号。团体预订只需记录主客姓名电话等信息即可。入住之后房间状态为“已住”,从而在其他客户登记查询房间时候此房间不会被查询到。(3)退宿结账根据订单号查询客户入住订单信息,包括住宿天数、退宿时间,根据单价、已交押金和入住天数等信息自动计算费用。(4)入住换房根据房间号可查询到该
23、房间及订单所有信息,同时会显示该类房间其他剩余房间,选择其中一间确定换房后,订单表和登记表中数据都会改变。(5)房间管理及查询查询预订订单:可以直接查询所有订单,也可根据订单号、主客身份证号,入住类型查询。对每一个订单,可以显示其登记所有房间信息。修改预订订单:可以对预订订单中客户信息和预订信息修改,其中客户信息包括除了身份证号之外所有信息,预订信息包括入住天数和入住时间。查询入住订单:可以直接查询所有订单,也可根据订单号、主客身份证号,入住类型查询。对每一个订单,可以显示其登记所有房间信息。修改入住订单:可以对入住订单中客户信息和预订信息修改,其中客户信息包括除了身份证号之外所有信息,预订信
24、息包括入住天数和入住时间。查询房间信息:可以直接查询所有房间房间号,房间状态,房间楼层,房间类型等信息,也可以根据房间号,房间类型,房间状态查询。查询客户信息:可以直接查询所有客户,也可以根据客户姓名,客户身份证号,订单类型查找。(6)关于我们对酒店简介及联系方式等信息。 后台管理员 (1) 高级管理查询、增加、删除、修改客房信息,还包括修改个人信息,修改密码等功能。修改房间各项数据信息,包括房间号、房间类型、位置、状态、备注。修改个人信息,包括个人登录密码,联系方式,住址等。(2) 房间类型维护增加房间类型信息,包括类型号、名称、面积、床位数、设施(是否有沙发、是否有电视、是否有电话、是否有
25、卫生间),房间价格。对该类信息修改只有高级管理员才有权限。7.2 界面设计使用了Netbeans设计界面。 主界面 散客预订及入住界面:选择房间类型可以查询当前剩余此类房间数 生成预订订单。点击预订,自动生成预订订单号和登记号。 生成入住订单。点击入住,自动生成入住订单号和登记号,及需交押金。 团体预订及入住。选择房间类型,点击添加可以增加房间,并可以设定一个主房间。 生成预订订单和入住订单,填写客户信息。 查询订单信息,可以全部查询,按订单号、主客身份证号,入住类型查询。 点击详情,可查看该订单详细登记信息 点击修改,可以修改预订订单,也可以取消订单 查询入住订单,和预订订单类似。入住信息修
26、改 查询房间信息和客户信息 换房。输入房间号可查询同类房间,点击确定可以换房。 退房结账。输入订单号可以显示应缴金额。 管理员登陆界面点击修改,可以显示自己个人信息并修改。点击增加,可以增加房间类型和房间信息。输入房间号或房间类型,可以查询房间信息。修改房间信息后选择确定修改。 酒店简介。7.3 事务设计 自动生成订单号和登记号。public static synchronized String nextCode(String PREFIX) /产生序列号 GregorianCalendar calendar=new GregorianCalendar(); int month=calenda
27、r.get(Calendar.MONTH)+1; int day =calendar.get(Calendar.DAY_OF_MONTH); int hour =calendar.get(Calendar.HOUR_OF_DAY); int minute =calendar.get(Calendar.MINUTE); int seconds =calendar.get(Calendar.SECOND); long m =month*100000000 + day*1000000 + hour*10000 + minute * 100 + seconds; String n = (Long)m)
28、.toString(); return PREFIX + n ;调用时预订订单参数为“a”,入住订单为“b”。登记号为入住号加后缀。 /需要自动生成散客入住订单号和登记号 Xuliehao xulie=new Xuliehao(); comeno=xulie.nextCode(b);/订单号registerno=comeno+0;/登记号/需要自动生成团体入住订单号和登记号Xuliehao xulie=new Xuliehao();comeno=xulie.nextCode(b);/订单号registerno=new Stringmessage.length;/登记号registernoi=c
29、omeno+String.valueOf(i); 自动计算现在剩余各类房间数目private String rest(String typno)String sql1=select count(房间号) from 客房信息 where 房间状态=可用 and 房间类型号=+typno+;String rest=null;ResultSet a;try sc=new DBconnect();stat=DBconnect.getStatement();a=stat.executeQuery(sql1);while(a.next()rest=a.getString(1);/System.out.pr
30、int(a); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return rest; 自动计算退房时应缴金额try PreparedStatement prs = conn.prepareStatement(select 需收押金 from 入住订单 where 入住订单号=?); prs.setString(1, ordno); rs1=prs.executeQuery();while(rs1.next()deposit=rs1.getString(1).trim();/已交押金 ca
31、tch (SQLException e1) e1.printStackTrace();System.out.println(deposit);String allfare=jTable1.getValueAt(0, 6).toString().trim();/总费用int need=Integer.parseInt(allfare)-Integer.parseInt(deposit);/还需缴纳 换房后,房间状态改变try PreparedStatement prs1 = conn.prepareStatement(update 入住订单 set 主客房间号=? where 主客房间号=?);
32、prs1.setString(1, newroom);prs1.setString(2, roomno);prs1.executeUpdate();PreparedStatement prs = conn.prepareStatement(update 入住登记表 set 房间号=? where 房间号=?);prs.setString(1, newroom);prs.setString(2, roomno);prs.executeUpdate();PreparedStatement prs2 = conn.prepareStatement(update 客房信息 set 房间状态=可用 wh
33、ere 房间号=?);prs2.setString(1, roomno);prs2.executeUpdate();PreparedStatement prs3 = conn.prepareStatement(update 客房信息 set 房间状态=已住 where 房间号=?);prs3.setString(1, newroom);prs3.executeUpdate();JOptionPane.showMessageDialog(null, 换房成功!,ok,JOptionPane.INFORMATION_MESSAGE); catch (SQLException e1) JOption
34、Pane.showMessageDialog(null, 换房失败!,Error,JOptionPane.ERROR_MESSAGE);e1.printStackTrace();八、测试和运行 测试:在测试时花时间最多地方时sql语句。有时候一个小小引号没有中英切换就要出错,或者是在preparedStatement语句中用setString时候可能会把序号写错。出错以后就不得不反复用System.out.println()语句检测,并且用查询分析器检测sql语句是否正确。在测试中也发现当条件语句检测比如jTextField是否为空时候,用“=null”是检测不出来,就要不断上网搜查资料。在测
35、试中也发现有很多没有想到情况,比如在输入客房订单信息时,不仅要考虑所有客户信息不能为空,还要考虑入住天数不能小于一,入住时间要晚于预订时间等等。可能需要很多条件语句,而条件语句嵌套多了,就容易出问题。实验进行中我想法一直跟着做程度变化。因为最开始时候不可能将所有情况和事件都料想到。比如roommanage类中,在查询窗口中我一直没有确定到底按照哪种方式查询。本来设想了很多jTextField可以供不同条件查询,可是测试时候发现这样出错率很高,于是将它改成了一个下拉列表,选择查询方式再按照条件查询。不仅界面变得简洁并且错误也解决了。这些大大小小错误需要不断看,不断调试,所以调试在实验中占了很大一
36、部分。 运行:当所有模块基本都完成了之后,每个界面之间加好跳转语句,可以从mainframe串一遍。真正这样连起来模拟真实预订系统时候,却可以发现设计时候没有想到很多细节问题。比如散客预订入住界面转到订单界面时候,前一个页面是不消失,在订单页面点击返回可以直接继续查询。而团体预订入住界面是不行,因为添加房间是不可以取消,只能让这个页面先setvisible(false)然后点击返回时候再设为true。有些界面需要传参数然后赋给某个组件。这个赋值过程有时候会使面板上组件位置移动,界面也弄很难看。由于界面是从netbeans画好导入到eclipse中,遇到这种错误时候只能在netbeans中改好再
37、复制到eclipse中。这种方法是最笨方法,却是比较省时一种。九、总结这个程序从概念模型和ER图设计,到建立数据库,到界面设计,再到代码实现和测试运行,都是我独立完成。这其实也是我第一次完全自己做好一个课程设计。这个过程让我在两个星期内学到了很多东西,不论是知识还是素养。由于编程经验不足,在这个过程中也花了很多时间学习基本函数,方法和语句。只有不断上网查询,看API,借书看,及同学讨论。同时也深刻了解到一个完善设计想法和需求分析是多么重要。在写代码之前,一定要很仔细地想好这个系统要实现哪些功能,怎么实现,最好用笔写下来。就是因为最初设计没有想周到和全面,写代码过程中经常出现一边修改设计一边编写
38、情况,浪费了许多时间,也弄有一点混乱,到最后也有一些功能没有加到里面。在编码过程中,由于开始总是报错,检查原因是if条件语句嵌套逻辑结构总是没有设计好。后来稍微有点经验时就在编写之前把逻辑顺序写在纸上,这样不仅更清晰明了,还节约了时间,提高了效率。我觉得这个系统让我最满意是界面足够美观。在颜色,位置分配上自己也是有一点修饰,相比来说这是我长项。但是我对这个系统有很多不满意地方。比如我认为它稳定性还不是很好,有些地方容错性能还有待完善。功能上我认为还有很大提升空间,我现在只是完成了一些酒店系统基本功能,和真正预订系统还有很大差距。这一方面归于开始设计时候没有加,在一方面也是时间有点紧迫。我可以在报告交了之后,抽时间将这个系统改善一下,增加一些模块和功能。比如会员信息,客户评价模块,管理员功能可以再加多一点,还有退宿提醒,酒店其他消费等等。当独立做完这个系统之后, 发现原来编程其实不是一件很困难事,关键要看设计怎么样。我还会继续完善这个系统,也感谢在几个周内这个课程设计带给我充实。附. 参考文献JAVA核心技术机械工业出版社 清华大学出版社数据库课程设计 清华大学出版社JAVA从入门到精通清华大学出版社CSDN论坛