详细设计.docx
《详细设计.docx》由会员分享,可在线阅读,更多相关《详细设计.docx(24页珍藏版)》请在冰豆网上搜索。
详细设计
详细设计
【酒店管理系统】
详细设计说明书
详细设计
4.1引言
4.1.1编写目的
经过对需求做出的详细而明确的分析说明,对系统的有了较为系统、全面的设计形成了概要设计说明书,为了进一步更为详细的设计系统,以便于高效、方便的的实现系统的编写和今后的测试而编写详细设计说明书。
此说明书主要实现对管理系统所有类图的详细设计包括方法描述和属性的详细定义,以及对数据表格的设计主要涉及详细表格和数据字典[5]。
系统中主要功能的流程和算法设计。
4.1.2项目背景
a.本系统的开发人员为大学二年级在校学生
b.项目委托方为哈尔滨工业大学(威海)软件学院
4.1.3定义
流程图:
用图形表示算法的思路是一种方法。
状态图:
状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出的反应。
4.1.4参考资料
a.需求分析说明书
b.概要设计说明书
4.2总体设计
4.2.1软件结构
权限设置
基本操作命令
操
作
命
令
查询命令
前台命令
4.2.2程序描述
预订管理模块:
a.功能:
显示预定,记录预定,修改预定,取消预定。
b.性能:
主要是对预定信息进行增加、删除、改写和查询。
显示预定可以查看已预订的顾客以及房间信息;记录预定可以增加预定信息,包括顾客信息及房间信息;修改预定可以对已预订的房间进行修改;取消预定是对已预定房间的取消,并更新数据库。
c.输入项目:
可在预定界面点击查看预订信息
d.输出项目:
可显示所有已预订房间的信息,可显示空房间的信息。
e.算法:
增删改查。
f.程序逻辑:
g.接口:
通过已预订房间号连接数据库信息;
h.存储分配:
只涉及到预订房间的读取,此模块没有存储分配。
i.限制条件:
用户id只能是数字。
j.测试要点
测试项目
测试点
结果或要求
显示预定
点击选择已预订
显示预订房间及宾客信息
记录预定
输入顾客ID含有字母
输入不合法
输入顾客正确ID及房间类型
预定成功
修改预定
修改预订信息
从数据库中更改数据信息
取消预订
取消订单
从数据库中删除此条数据
来客登记模块
a.功能:
实现来客登记功能,对已预订顾客和未预定顾客进行开单。
b.性能:
主要是在顾客预定与否两种情况下进行单据的显示。
c.输入项目:
无输入,点击“开单”即可
d.输出项目:
显示顾客信息及房间信息
e.算法:
增删改查;
f.程序逻辑:
g.接口:
通过ID查询数据库中数据;
h.存储分配:
对数据表进行读操作,此模块没有存储分配。
i.限制条件:
顾客ID只能是数字;
j.测试要点:
测试项目
测试点
结果或要求
预定顾客开单
点击开单
显示单据信息
未预定顾客开单
点击开单
显示单据信息
顾客服务模块
a.功能:
为顾客办理换房间,办理会员,消费结算业务;
b.性能:
更换房间,
c.输入项目:
顾客ID,顾客房间号
d.输出项目:
顾客消费总单;
e.算法:
增删改查;
f.程序逻辑:
g.接口:
通过顾客ID,操作数据库信息。
h.存储分配:
对Customer(宾客表),Bill(账单表),Room(房间表)进行查询与修改;
i.限制条件:
用户ID只能是数字。
j.测试要点
测试项目
测试点
结果或要求
换房间
选择无空房项的房号
显示无法更换
选择有空房项房号
更换成功
办理会员
输入一个已存在顾客信息
显示已是会员
输入一个新的顾客信息
办理会员
消费结算业务
选择顾客
显示顾客所有消费及总额
收银结账
a.功能:
收银结账
b.性能:
实现收银结账功能;
c.输入项目:
顾客ID
d.输出项目:
账目清单
e.算法:
无。
f.程序逻辑:
g.接口:
通过用户ID读取账目信息;
h.存储分配:
无;
i.限制条件:
只能点击“收银结账”
j.测试要点
测试项目
测试点
结果或要求
收银结账
点击按钮
显示收银项目信息
商品管理
a.功能:
库存查询,修改商品信息;
b.性能:
读取库存商品种类及数量;若是进货或者商品消耗之后,修改商品库存信息;
c.输入项目:
商品ID
d.输出项目:
商品数量
e.算法:
增删改查;
f.程序逻辑:
g.接口:
函数传递商品ID作为参数为读取数据的接口。
h.存储分配:
只是对数据表进行读操作;
i.限制条件:
商品ID只能是数字;
j.测试要点
测试项目
测试点
结果或要求
库存查询
点击商品
显示是商品库存信息
修改商品信息
把商品数量改为负数或者字母
输入不合法,修改失败
输入大于0的整数
修改成功
4.2.3详细类图
添加了Book、Reservation、Room、Good、VIP、Bill这几个类。
4.2.4活动图
4.2.5方法描述
Bill类的描述
Bill
privateintid;//用户id
privateStringroomNum;//房间号
privateStringgoodName;//商品名称
privateintgoodNum;//商品数量
privatefloattotalCost;//消费总额
publicintgetId()//获取用户ID
publicvoidsetId(intbillId)//录入用户ID
publicStringgetRoomNum()//获取房间号
publicvoidsetRoomNum(StringroomNum)//录入房间号
publicStringgetGoodName()//获取商品名称
publicvoidsetGoodName(StringgoodName)//录入商品名称
publicintgetGoodNum()//获取商品数量
publicvoidsetGoodNum(intgoodNum)//录入商品数量
Book类的描述
Book
privateintid;//顾客Id
privateStringroomNum;//预定房间号
privateStringcusTel;//顾客联系方式
privateDatestartDate;//住宿开始时间
privateDateendDate;//住宿截止时间
publicintgetId()//获取顾客id
publicvoidsetId(intid)//录入id
publicStringgetRoomNum()//获取房间号
publicvoidsetRoomNum(StringroomNum)//录入房间号
publicStringgetCusTel()//获取顾客联系电话
publicvoidsetCusTel(StringcusTel)//录入顾客联系电话
publicDategetStartDate()//获取顾客入住时间
publicvoidsetStartDate(DatestartDate)//录入顾客入住时间
publicDategetEndDate()//获取顾客入住截止时间
publicvoidsetEndDate(DateendDate)//录入顾客入住截止时间
Customer类的描述
Customer
privateStringcusName;//顾客姓名
privateStringcuTel;//顾客电话
privateStringID;//用户ID
publicStringgetCusName()//获取顾客姓名
publicvoidsetCusName(StringcusName)//录入顾客姓名
publicStringgetCuTel()//获取用户电话
publicvoidsetCuTel(StringcuTel)//录入顾客电话
publicStringgetID()//获取顾客ID
publicvoidsetID(StringID)//录入顾客ID
Good类的描述
Good
privateintgoodID;//商品编号
privateStringgoodName;//商品名称
privatefloatperPrice;//商品单价
privateintgoodNum;//商品编号
privateStringgoodType;//商品种类
publicintgetGoodID()
publicvoidsetGoodID(intgoodID)
publicStringgetGoodName()
publicvoidsetGoodName(StringgoodName)
publicfloatgetPerPrice()
publicvoidsetPerPrice(floatperPrice)
publicintgetGoodNum()
publicvoidsetGoodNum(intgoodNum)
publicStringgetGoodType()
publicvoidsetGoodType(StringgoodType)
Login类的描述
Login
privateStringuserName;//管理员账号
privateStringpassword;//密码
publicStringgetUserName()
publicvoidsetUserName(StringuserName)
publicStringgetPassWord()
publicvoidsetPassword(Stringpassword)
Reservation类的描述
Reservation
privateintid;//ID
privateStringroomNum;//房间号
privateStringcusTel;//顾客电话
privateDatestartDate;//开始入住日期起
publicintgetReserID()
publicvoidsetReserID(intid)
publicStringgetRoomNum()
publicvoidsetRoomNum(StringroomNum)
publicStringgetCusTel()
publicvoidsetCusTel(StringcusTel)
publicDategetStartDate()
publicvoidsetStartDate(DatestartDate)
Room类的描述
Room
privateStringid;//房间编号
privateStringtype;//房间类型
privateStringstate;//房间状态
publicStringgetId()
publicvoidsetId(Stringid)
publicStringgetType()
publicvoidsetType(Stringtype)
publicStringgetState()
publicvoidsetState(Stringstate)
RoomPrice类的描述
RoomPrice
privateStringtype;//房间类型
privatefloatprice;//房间价格
publicStringgetType()
publicvoidsetType(Stringtype)
publicfloatgetPrice()
publicvoidsetPrice(floatprice)
Vip类的描述
Vip
privateintVipNum;//vip编号
privateStringcusName;//顾客姓名
privateStringcusTel;//顾客电话
privateStringID;//ID号码
publicintgetVipNum()
publicvoidsetVipNum(intvipNum)
publicStringgetCusName()
publicvoidsetCusName(StringcusName)
publicStringgetCusTel()
publicvoidsetCusTel(StringcusTel)
publicStringgetID()
publicvoidsetID(Stringid)
4.2.6数据字典
表1Login(登陆表)
字段名
含义
类型
长度
是否为空
默认值
备注
UserID
用户名
Char
6
否
主键
Password
密码
Char
8
否
表2Customer(宾客表)
字段名
含义
类型
长度
是否为空
默认值
备注
CusName
宾客姓名
Varchar
50
否
CusTel
联系方式
Varchar
15
否
主键
ID
身份证号
Char
18
否
表3Room(房间表)
字段名
含义
类型
长度
是否为空
默认值
备注
RoomNum
房间号
Char
5
否
主键
Type
房间类型
Varchar
50
否
外键
表4RoomPrice(房间价格表)
字段名
含义
类型
长度
是否为空
默认值
备注
Type
房间类型
Varchar
50
否
主键
Price
房间价格
Float
5
否
表5Good(商品表)
字段名
含义
类型
长度
是否为空
默认值
备注
GoodID
商品编号
Char
4
否
主键
GoodName
商品名称
Varchar
50
否
PerPrice
商品单价
Float
4
否
GoodNum
商品数目
int
4
否
表6Bill(账单表)
字段名
含义
类型
长度
是否为空
默认值
备注
BillID
账单编号
Int
4
否
主键
RoomNum
房间号
Char
5
否
GoodName
商品名称
Varchar
50
否
GoodNum
商品数量
Int
3
否
TotalCost
消费总额
Float
5
否
表7Book(单据表)
字段名
含义
类型
长度
是否为空
默认值
备注
BookID
单据编号
Int
4
否
主键
RoomNum
房间号
Char
5
否
外键
CusTel
联系方式
Varchar
15
否
外键
StartDate
入住日期
Datetime
否
EndDate
结账日期
Datetime
否
表8Reservation(订单)
字段名
含义
类型
长度
是否为空
默认值
备注
ReserID
订单编号
Int
4
否
主键
RoomNum
房间号
Char
5
否
外键
CusTel
联系方式
Varchar
15
否
外键
StartDate
入住日期
Datetime
否
4.2.7界面设计
主界面:
点“散客开单后的界面。
消费清单界面:
预订管理界面:
结账界面: