客房信息管理系统.doc
《客房信息管理系统.doc》由会员分享,可在线阅读,更多相关《客房信息管理系统.doc(40页珍藏版)》请在冰豆网上搜索。
数据库课程实训(2017)
数据库课程实训报告
题目:
客房信息管理系统
1
目录
目录 2
1课题内容和要求 1
1.1课题描述 1
1.2课题要求 1
2需求分析 1
2.1功能需求分析 1
2.2数据需求分析 1
3系统设计 3
3.1功能模块设计 3
3.2数据库概念设计 3
3.3数据库逻辑设计 5
3.4数据库物理设计 5
3.5数据库表间联系 7
4系统实现根据各自课题实际情况写,写清界面设计,包括哪些控件,各自哪些属性,哪些事件,数据库如何相连及操作 7
4.1登陆模块实现 7
4.2登记模块实现 7
4.3查询模块实现 8
5代码调试与功能测试 8
5.1测试方案 8
5.2测试结果 8
6收获与体会 8
参考文献 9
附 录 10
附录1源程序部分清单 10
附录1.1登陆代码 10
附录1.2查询代码 12
附录1.3计费代码 13
3
客房信息管理系统设计
1课题内容和要求
1.1课题描述
随着市场经济的发展,各行各业为加强信息管理,提高经济效益,都迫切地将现代化信息处理技术应用到经济管理中。
客房管理系统是酒店、宾馆管理中必不可少的一部分,它不仅对管理者在运营过程中起到至关重要的作用,而且也能为用户提供充分的信息和快捷的查询手段。
但是传统的人工操作管理存在着许多缺点,如:
效率低、保密性差,而且保存时间一长,在查找、更新、维护文件和数据时都比较困难。
这时就引入了客房信息管理系统,优点如下:
检索迅速、查找方便、保密性高、成本低等。
酒店在正常运营中需要对顾客信息、客房资源、结算情况进行管理,利用客房信息管理系统能更好地了解信息的变更,提高了管理效率。
1.2课题要求
1)可以对客房基本信息进行增加、删除、修改
2)客房分为三种类型:
三人房、双人房、单人房,每种类型房间价位不同
3)可以实现客户订房、退房、续房功能
4)可以登记、查询客户基本信息
5)可以查询房间状态信息
6)可以实现住宿计费
2需求分析
2.1功能需求分析
(1)作为酒店客房信息管理系统,应该具有增加、删除、修改这几个基本功能。
所需录入的表有客户基本信息表、房间资源信息表、密码表。
(2)设计登陆后系统的主窗口,要求能够显示酒店管理信息。
数据的增加、删除、修改、查询能直接放在桌面上供用户选择,而且要布局合理、美观。
应当减少用户的键盘输入,减少用户的工作量,提高效率。
2.2数据需求分析
图2-1
表2-1数据项说明表
数据项名称
含义说明
类型
长度
客人编号
惟一标识一位客人
bigint
10
房间号
惟一标识一间客房
int
10
入住时间
标识入住时间
datetime
10
离开时间
标识离店时间
datetime
10
单价
标识一间客房价格
money
10
金额
标识总金额
money
10
房间等级
标识房间类型
smallint
2
-
表2-2数据流说明表
数据流名称
含义说明
来源
去处
组成
登陆
管理员进入系统界面
系统设置界面
管理员端
编号+密码
查询已住房
查询房间资料
客人信息表
统计界面
客人信息表+客房编号表
查询空房间
查询空房间
客房编号表
统计界面
客房编号表
结算
计算总金额
系统设置界面
管理员端
系统设置界面
登记、删除
录入、删除住房信息
管理员端
系统设置界面
系统数据库
统计
统计住房信息
系统数据库
统计界面
系统数据库
表2-3数据存储说明表
数据存储名称
含义说明
组成结构
客户信息表
存放客人相关信息
个人信息+入住时间+金额
房间信息表
存放客房的信息与状态
客房信息+客房等级
管理员信息表
存放管理员验证信息
编号+密码
3系统设计
3.1功能模块设计
登陆系统
系统主界面
用户管理
旅客信息管理
客房情况查询
客房信息管理
经营管理
图3-1
3.2数据库概念设计
备注
房间价格
房间类型
房间位置
客房信息管理
房号
图3-2
真实姓名名
籍贯
身份证号
手机号码
旅客信息管理
性别
图3-3
客房号
入住编号
证件号
姓名
入住时间
经营管理
状态
入住天数
押金
图3-4
房间位置
房间类型
房号
客房情况查询
房间价格
使用情况
图3-4
登录名
用户真实姓名
主键
排序码
用户管理
登录次数
电子邮箱
图3-5
房间等级
房间号
单价
证件号码
性别
姓名
入住时间
年龄
证件名称
最大人数
房间信息
客户信息
离开时间
房间号
金额
N
N
管理
管理
1
1
管理员信息
密码
编号
图3-6
3.3数据库逻辑设计
客户信息(客房编号,姓名,性别,年龄,证件号码,证件名称);
房间信息(房间号,房间等级,单价,最大人数,金额,离开时间,入住时间);
管理员信息(编号,密码);
3.4数据库物理设计
1.客户信息
createtable客户信息(房间号varchar(5)notnullprimarykey,
姓名varchar(8)notnull,
性别char
(2)notnull,
年龄char(5)notnull,
证件号码varchar(20)notnull,
证件名称varchar(10)notnull);
图3-6
2.房间信息
createtable房间信息(房间号varchar(10)notnullprimarykey,
房间等级varchar(10)notnull,
单价char(10)notnull,
最大人数char(10)notnull,
金额char(10)notnull,
入住时间char(10)notnull,
离开时间char(10)notnull);
图3-7
3.管理员信息
createtable管理员信息(编号varchar(10)notnullprimarykey,
密码char(10)notnull);
图3-8
3.5数据库表间联系
图3-9数据库表间联系截图
4系统实现
4.1登陆模块实现
Login类:
登陆界面(用户名+密码),如果用户名和密码正确,则显示成功登陆
本窗体连接到数据库中的管理员表通过定义ResultSet来调用表中的数据,相关代码:
ResultSetrs;
rs=stat.executeQuery("select*from管理人员where编号="+"'"+tUser.getText()+"and密码="+"'"+String.valueOf(password.getPassword())+"'");判断成功后实现主窗体中子菜单的setEnable()方法。
4.2登记模块实现
Add类:
方便管理人员添加新的客人信息,包括编号、姓名、性别、年龄、家庭地址、来自、客房名、身份证号码、工作单位、预入住时间、入住时间、离开时间、押金
本窗体主要用到T-SQL语句中的insertinto…..VALUES语句,相关代码:
a1="'"+tName.getText().trim()+"'";
a2="'"+tSex.getText().trim()+"'";
a3="'"+tAge.getText().trim()+"'";
a4="'"+tIdentication.getText().trim()+"'";
a5="'"+tAddress.getText().trim()+"'";
a6="'"+tWorkPlace.getText().trim()+"'";
a7="'"+tFrom.getText().trim()+"'";
a8="'"+tRoomNo.getText().trim()+"'";
a9="'"+tWillIn.getText().trim()+"'";
a10="'"+tIn.getText().trim()+"'";
a11="'"+tLeave.getText().trim()+"'";
inti=Integer.valueOf(tCash.getText()).intValue();
Stringb="insertinto客人信息(客房编号,姓名,性别,年龄,身份证号码,家庭住址,工作单位,来自地的地名,预定入住时间,入住时间,离店时间,押金)VALUES("+a8+","+a1+","+a2+","+a3+","+a4+","+a5+","+a6+","+a7+","+a9+","+a10+","+a11+","+i+")";
stat=conn.prepareStatement(b);
r=stat.executeUpdate();
4.3查询模块实现
Search