课程设计(论文)任务书
软件 学院 软件工程 专业 2016 -07 班
一、课程设计(论文)题目 综合课程设计2
二、课程设计(论文)工作自 2018 年 1月 1 日起至 2018 年 1月 12 日止。
三、课程设计(论文) 地点:软件工程实训中心一部
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生熟练掌握数据库基本原理;
(2)使学生熟练掌握数据库的分析和设计能力;
(3)培养学生熟练使用常见的数据库管理系统;
(4)培养学生使用Java语言进行面向对象设计的能力;
(5)培养学生熟练使用Java语言进行数据库应用程序设计的能力;
(6)提高学生的科技论文写作能力。
2.基本要求:
课程设计题目:
设计主要内容:
3.课程设计论文编写要求
(1)要按照书稿的规格打印誊写课设报告;
(2)报告分为封面、任务书(本文档)、正文、课程设计体会和参考文献四部分;
学生签名:
2018年1月 1日
课程设计(论文)评审意见
(1)题目分析 (20分):优( )、良( )、中( )、一般( )、差( );
(2)流程分析 (30分):优( )、良( )、中( )、一般( )、差( );
(3)数据定义 (30分):优( )、良( )、中( )、一般( )、差( );
(4)代码编写 (10分):优( )、良( )、中( )、一般( )、差( );
(5)创新能力 (10分):优( )、良( )、中( )、一般( )、差( );
(6)格式规范性、设计态度及考勤是否降等级:是( )、否( )
评阅人: 职称:讲师
2018年 1 月 12 日
标题:宾馆客房管理系统的设计与实现
一、 数据设计
1. 实体
宾馆客房管理系统设计中用到的实体如下:
1) 实体1:用户信息
属性1:用户编号
属性2:用户姓名
属性3:密码
属性4:性别(0-男,1-女)
属性5:Email地址
属性6:通讯地址
属性7:联系电话
属性8:所在部门
属性9:用户类型(1-酒店管理员,2-前台服务员)
2) 实体2:客户信息
l 属性1: 身份证号
l 属性2: 客户姓名
l 属性3: 联系电话
3) 实体3:客房类型
l 属性1:客房类型编号
l 属性2:类型名称
l 属性3:客房面积
l 属性4:配置床位
l 属性5:客房价格
l 属性6:配置空调(0-是,1-否)
l 属性7:配置电视(0-是,1-否)
4) 实体4:客房信息
l 属性1: 客房号
l 属性2:客房类型编号
l 属性3:客房位置
l 属性4:描述
5) 实体5:客房状态
l 属性1:客房编号
l 属性2:状态(1-空房,2-入住)
6) 实体6:客房业务
l 属性1:客房编号
l 属性2:入住时间
l 属性3:客户身份证号
l 属性4:备注
7) 实体7:业务记录
l 属性1:入住时间
l 属性2:退房时间
l 属性3:客房编号
l 属性4:金额
l 属性5:客户身份证号
l 属性6:客户姓名
l 属性7:客户电话
l 属性8:备注
2. 联系
宾馆客房管理系统设计中实体之间的联系如下(E-R图):
二、 数据库设计
1. 关系模式
宾馆客房管理设计中的关系模式如下:
客户(客户编号,姓名,电话,E-mail)。关系的主键:客户编号;外键:无
用户(用户编号,用户姓名,密码,性别(0-男,1-女),Email地址,通讯地址,联系电话,所在部门,用户类型(1-酒店管理员,2-前台服务员)。
关系主键:用户编号;外键:无
客户信息(身份证号,客户姓名,联系电话)
关系主键:身份证号;外键:客户姓名
客房类型(客房类型编号,类型名称,客房面积,配置床位,客房价格,配置空调 (0-是,1-否),配置电视(0-是,1-否))
关系主键:客房类型编号;外键:类型名称
客房信息(客房号,客房类型编号,客房位置,描述)
关系主键:客房号;外键:客房类型编号
客房状态(客房编号,状态(1-空房,2-入住))
关系主键:客房编号;外键:无。
客房业务(客房编号,入住时间客户身份证号,备注)
关系主键:客房编号;外键:入住身份证号
业务记录(入住时间,退房时间,客房编号,金额,客户身份证号,客,姓名,客户电话,备注)
关系主键:入住时间;外键:客房编号,客户身份证,姓名,电话。
2. 数据表
本设计中创建的数据库名为:
数据表分别为(将数据库中设计的数据表表截图至此)。
表1:用户信息
表2:客户信息
表3:客房信息类型表
表4:客房信息表
表5:客房状态表
表6:客房业绩表
表7:业务记录表
数据库关系图为:
三、 数据库实现
设计中实现数据库操作的SQL 语句如下:
新建数据表:
1)用户信息数据建表
1 CREATE TABLE [dbo].weiwei( UserId Int 用户编号 2 Name Varchar(50) 用户姓名 3 Password Varchar(50) 密码 4 Gender Int 性别(0-男,1-女) 5 Email Varchar(50) Email地址 6 Address Varchar(50) 通讯地址 7 Telephone Varchar(50) 联系电话 8 Department Varchar(50) 所在部门 9 10 Type 11 Int 用户类型(1-酒店管理员,2-前台服务员
2)客户信息数据建表
1 CREATE TABLE [dbo]. CustomersInfo ( CIdentityId nVarchar(50) 身份证号 2 CName nVarchar(50) 客户姓名 3 CPhone nVarchar(50) 联系电话)
3)客户类型数据建表
1 CREATE TABLE [dbo]. RoomCategory ( RCategoryId Int 客房类型编号 2 Name nVarchar(50) 类型名称History 3 Area Float 客房面积 4 BedNum Int 配置床位 5 Price Money 客房价格 6 AirCondition Int 配置空调(0-是,1-否) 7 TV Int 配置电视(0-是,1-否) 8 9 )
4)业务记录数据建表
1 CREATE TABLE [dbo]. History ( BeginTime DateTime 入住时间 2 EndTime DateTime 退房时间 3 RoomId Int 客房编号 4 TotalPrice Money 金额 5 CIdentityId nVarchar(50) 客户身份证号 6 CName nVarchar(50) 客户姓名 7 CPhone nVarchar(50) 客户电话 8 Remarks nVarchar(50) 备注
5)客房信息表
1 CREATE TABLE [dbo].RomsInfo (Room Int 客房号 2 Rcategoryld Int 客房编号 3 RPostition nvarchar(50) 客房位置 4 5 Description nvarchar(50) 描述
6)客房状态
1 CREATE TABLE [dbo].RoomStatus (Roomld Int 客房编号 2 3 Status Int 状态)
7)客房业务表
1 CREATE TABLE [dbo].RoomOPeration (Roomld Int 客房编号 2 3 BeginTime DateTime 入住时间 4 5 CIdentityId nVarchar(50) 客户身份证号
二、查询
1)业务记录增加,删除修改操作
插入:
1 INSERT 2 3 INTO history(Roomld,Cname) 4 5 Values(‘223456’,’345’)
删除:
1 DELETE 2 3 FROM history 4 5 WHERE Roomld=’57’ 6 7 修改:UPDATE history 8 9 SET Cname=’456’ 10 11 WHERE Roomld=’5678’
2)用户编号查询:
1 SELECT userid 2 3 From usersinfo 4 5 Where Gender=’女’
3)客房类型查询
1 select * 2 3 from view_1 where 客房类型 in"; 4 5 where RCategoryld=‘123’)
4)客房信息查询
select *
from view_1 where 客房信息 in";
where Roomld=‘063’)
5)客房状态查询
1 select * 2 3 from view_1 where 客房状态 in"; 4 5 where Roomld=‘723’)
6)客房业务表查询
1 select * 2 3 from view_1 where 客房业务 in"; 4 5 where Roomld=‘793’)
7)客户信息查询
1 select * 2 3 from Customersinfo
四、 程序设计
1. 类
设计中定义的Java类如下:
1) weiwei类,表示设计中所有的客户信息类,连接数据库。
2) load类,表示设计中的客房管理,是weiwei的子类。
3) AddRooms类,表示设计中的客房管理,是weiwei的子类。
4) UseOfRooms类,表示设计中的客户,是weiwei的子类。
5) CustomerInformation类,表示设计中的员工信息,是weiwei的子类。
6) CheckStaff类,表示设计中的客户,是weiwei的子类。
2. 类设计
1)weiwei类
1 public class weiwei 2 3 { 4 5 private TAdminDAO adminDAO; 6 7 private TRenyuanDAO renyuanDAO; 8 9 public TAdminDAO getAdminDAO() 10 11 { 12 13 return adminDAO; 14 15 } 16 17 public void setAdminDAO(TAdminDAO adminDAO) 18 19 { 20 21 this.adminDAO = adminDAO; 22 23 } 24 25 26 27 public TRenyuanDAO getRenyuanDAO() 28 29 { 30 31 return renyuanDAO; 32 33 } 34 35 public void setRenyuanDAO(TRenyuanDAO renyuanDAO) 36 37 { 38 39 this.renyuanDAO = renyuanDAO; 40 41 } 42 43 public String login(String userName,String userPw,int userType) 44 45 { 46 47 System.out.println("userType"+userType); 48 49 try 50 51 { 52 53 Thread.sleep(700); 54 55 } catch (InterruptedException e) 56 57 { 58 59 // TODO Auto-generated catch block 60 61 e.printStackTrace(); 62 63 } 64 65 66 67 String result="no"; 68 69 70 71 if(userType==0)//系统管理员登陆 72 73 { 74 75 String sql="from TAdmin where userName=? and userPw=?"; 76 77 Object[] con={userName,userPw}; 78 79 List adminList=adminDAO.getHibernateTemplate().find(sql,con); 80 81 if(adminList.size()==0) 82 83 { 84 85 result="no"; 86 87 } 88 89 else 90 91 { 92 93 WebContext ctx = WebContextFactory.get(); 94 95 HttpSession session=ctx.getSession(); 96 97 TAdmin admin=(TAdmin)adminList.get(0); 98