宾馆管理系统详细设计.docx

上传人:b****5 文档编号:6144141 上传时间:2023-01-04 格式:DOCX 页数:53 大小:1.27MB
下载 相关 举报
宾馆管理系统详细设计.docx_第1页
第1页 / 共53页
宾馆管理系统详细设计.docx_第2页
第2页 / 共53页
宾馆管理系统详细设计.docx_第3页
第3页 / 共53页
宾馆管理系统详细设计.docx_第4页
第4页 / 共53页
宾馆管理系统详细设计.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

宾馆管理系统详细设计.docx

《宾馆管理系统详细设计.docx》由会员分享,可在线阅读,更多相关《宾馆管理系统详细设计.docx(53页珍藏版)》请在冰豆网上搜索。

宾馆管理系统详细设计.docx

宾馆管理系统详细设计

五、详细设计说明书

 

 

1.引言

1.1编写目的

为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。

本文档供项目经理、设计人员、开发人员参考。

1.2项目背景

随着旅游业的兴起,以酒店等为主的服务型第三产业飞速发展;因此,规划外出计划,提前确定住处对游客就显得尤为重要。

为了解决人们的出行入住问题,同时提高酒店运作效率和规范性,节约酒店的成本;在充分了解调研酒店的运营、管理模式后,我们开发了此酒店预订和管理系统。

本系统分为在线预订子系统和酒店方的预订与管理子系统,在线预订子系统提供顾客在线预订房间等功能,争取在最终版本实现顾客足不出户完成预订;酒店方的预订与管理子系统提供给酒店服务员处理订单、办理入住、结帐退房等一系列管理功能。

在真正意义上,实现了计算机高效办公,起到了方便顾客与酒店的双重作用。

我们会根据技术发展、设备升级、业务需求等进行对本系统的扩展、升级与维护。

1.3定义

酒店前台管理系统:

是运行在酒店前台电脑的系统。

酒店人员可以使用本系统来对用户的订单进行处理,并且可以使用管理宾馆入住、消费、日记月结等基本酒店日常管理功能。

网上客户预定系统:

是运行在一般用户电脑上的程序。

网上用户可以通过本系统来对本酒店房间的预定信息进行查询,并预定房间。

1.4参考资料

1)用户的需求信息ProjectfortheCourseObjectOrientedDesignwithUML--AnalysisandDesignofaHotelReservationandManagementSystem

2)美萍酒店管理系统

3)美萍酒店管理系统的功能使用说明书

 

2.总体设计

2.1需求概述

1.在线预订系统主要提供以下功能:

2.允许顾客注册、登录账户、完善预订所需信息、查看和修改账户信息。

3.允许顾客查看、预订酒店房间,并且可以对已有的订单进行修改(更改房间等)和取消。

4.酒店预订管理系统主要提供以下功能:

5.员工登录并拥有不同权限。

6.允许服务员为“拨打电话进行预订”的顾客预订酒店房间。

7.查看、处理(确认、修改、取消)订单;查看全部和单个房间状态。

8.服务员可通过系统为预订过的顾客和散客(walk_in)办理入住。

9.服务员可以为已入住看顾客添加额外消费(物品、服务),进行结账退房。

10.HeadWaiter可通过系统为已入住的顾客更换房间,对房间、物品和服务的属性进行修改,查看员工信息和日、月结、历史交易记录。

2.2软件结构

2.2.1网上用户预定系统模块

2.2.2酒店前台管理系统模块

本程序在部署上的结构图:

3.程序描述

3.1酒店前台管理系统模块

3.1.1功能

本系统根据功能的需求以及底层数据结构的设计,主要分成了三个层次9大模块。

还有一个附加功能而添加的计时器子模块。

可以实现提醒有新订单未处理的功能,还有12点提醒退房和刷新房间状态的功能。

 

根据概要分析得到的功能,以及对时序图的总结,可以得到以下类图:

总的类图:

 

一般接线员拥有的功能:

而高级服务员应该有的功能:

登录子系统模块:

(与系统的联系比较少,所以划分出一个子系统)

本子系统拥有的功能:

1)得到用户信息:

应该根据名字查找数据库并判断是否存在该该用户

publicEmployeegetEmployee(Stringusername);

2)判断密码是否正确

booleancheckLogin(Stringusername,Stringkey);

 

订单管理模块和网上预定管理模块:

这个模块功能主要包括:

1)查看全部订单

2)查看某个订单

3)创建订单

4)修改订单

5)取消订单

6)查看临时订单

7)处理临时订单:

包括接受或者拒绝网上用户的预定、修改、取消请求

 

房间信息状态管理模块:

这个模块的功能主要包括:

1)查看全部房间:

不同的房间在界面显示的图标不同,而且12点以后会把有订单的房间设置成已订,把没订单的房间设置成空房。

打扫和已入住不改变。

2)修改房间属性

3)修改房间信息:

界面根据不同的房间状态打开不同的窗口,展示不同的内容

4)开房(只修改状态)

5)打扫(只修改状态)

6)退房(只修改状态)

 

入住信息管理模块:

本模块主要包括以下功能:

1)开房

2)退房

3)查看历史账单

4)查询某个已入住房间全部信息

 

消费管理模块(包括商品管理模块和服务管理模块,都是继承与本模块)

本模块主要包括以下功能:

1)查看管理商品:

可以管理商品的价格、库存

2)查看管理服务:

可以管理服务的价格

3)添加消费:

可以选择已入住的房间增加消费

4)取消消费:

可以选择已入住的房间删除消费

 

员工管理模块:

本模块主要包括以下功能:

1)登陆:

对员工等级进行功能限制

2)修改员工信息

客人信息管理模块:

本模块主要包括以下功能:

1)查看客人信息:

假如在预定或者开房时,输入相同的证件号,但是其他信息不同,就会更新客人信息。

也可以在预定或者开房时,输入证件号直接查询自动填入资料。

2)查看网上用户

 

3.1.2性能

1)程序打开时间应该在1s以内。

2)由登录界面进入到主界面应该在2s以内。

3)点击主界面的按钮展示子界面的时间应该在1s内。

4)查找或者读取数据库的时间最多不能超过3s。

5)程序的时间应该和系统的时间保持一致。

6)可以更换数据库的文件位置,只要重新配置,不影响功能的实现。

7)程序的精度全部只控制在整数,即使用Integer作为所有数字数据的储存基本单位。

3.1.3输入项目

模块名称

登陆模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

帐号

String

界面输入

长度20以内

getEmployee()

checkLogin()

密码

String

界面输入

长度20以内

checkLogin()

模块名称

员工管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

员工

Employee

界面传入

manageEmployee()

模块名称

网上订单请求模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

订单处理状态

DealState

界面传入

NODEAL(0)ACCEPT

(1)ONJECT

(2)

getNoDealOrders()

未处理订单

TempOrderLine

界面传入

ensureTempOrder()

handleOnlineOrder()

是否同意标志

Boolean

true|false

handleOnlineOrder()

模块名称

订单管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

员工

Employee

界面传入

addOrderLine()

房间

Room

界面输入

getOrderLine()

getOrderDatesInRoom()

checkIsEmptyInDate()

addOrderLine()

客人

Customer

界面输入

addOrderLine()

预定的日期

Date

界面选择

getOrderLine()

getOrders()

checkIsEmptyInDate()

已处理

OrderLine

界面选择

changeOrderLine()

cancelOrderLine()

模块名称

商品管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

消费项目

Goods

界面选择

createConsume()

cancelConsume()

manageGoodsInfo()

消费数量

int

界面输入

小于等于库存

createConsume()

cancelConsume()

模块名称

服务管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

消费项目

Service

界面选择

createConsume()

cancelConsume()

manageServiceInfo()

模块名称

入住信息管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

房间

Room

界面输入

getBillLine()

openRoom()

changeRoomBill()

addConsume()

cancelConsume()

checkout()

员工

Employee

界面传入

openRoom()

客人

Customer

界面输入

openRoom()

押金

Integer

界面输入

0~65535

openRoom()

checkout()

订单

OrderLine

界面选择

openRoom()

消费项

ConsumeLine

界面选择

addConsume()

入住信息

BillLine

界面选择

deldteBillLine()

历史入住信息

HistoryBillLine

界面传入

createHisBillLine()

入住时间

int

界面选择

0(代表住一天)或者2~4(代表钟点房的入住时间)

openRoom()

模块名称

客人管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

客人身份证

String

界面传入

长度为15或者18

getCustomer()

客人

Customer

界面传入

changeCustomerInfo()

模块名称

房间信息管理模块

输入项目

名称

数据类型

输入方式

数据来源

有效范围

调用的函数

房间类型

String

界面传入

‘A’,’B’,’C’,’D’

getRoomsState()

房间

Room

界面选择

openRoomState()

sweepRoomState()

changeRoomState()

clearRoomState()

manageRoomInfo()

房间号

Integer

界面输入

现有的房间号

getRoomByID()

3.1.4输出项目

模块名称

登陆模块

输出项目

名称

数据类型

输出的函数

员工

Employee

getEmployee()

密码是否正确标记

boolean

checkLogin()

 

模块名称

员工管理模块

输出项目

名称

数据类型

输出的函数

全部员工信息

ArrayList

getEmployees()

模块名称

网上订单请求模块

输出项目

名称

数据类型

输出的函数

全部未处理订单信息

ArrayList

getTempOrders()

getNoDealOrders()

订单是否被处理标志

Boolean(true表示成功,false表示房间已被预定)

ensureTempOrder()

模块名称

订单管理模块

输出项目

名称

数据类型

输出的函数

全部已处理订单信息

ArrayList

getOrders()

单个订单信息

OrderLine

getOrderLine()

某个房间未来全部订单日期

ArrayList

getOrderDatesInRoom()

房间在某日是否为空标志

boolean

checkIsEmptyInDate()

订单修改是否为成功标志

boolean

changeOrderLine()

模块名称

入住信息管理模块

输出项目

名称

数据类型

输出的函数

全部历史入住信息

ArrayList

getHisBill()

单个入住信息

BillLine

getBillLine()

结账余额

float

checkOut()

模块名称

商品管理模块

输出项目

名称

数据类型

输出的函数

全部商品信息

ArrayList

getGoods()

消费信息

ConsumeLine

createConsume()

模块名称

服务管理模块

输出项目

名称

数据类型

输出的函数

全部服务信息

ArrayList

getServices()

消费信息

ConsumeLine

createConsume()

 

模块名称

客人管理模块

输出项目

名称

数据类型

输出的函数

全部客人信息

ArrayList

getCustomers()

单个客人信息

Customer

getCustomer()

全部网上帐号信息

ArrayList

getOnlineAccounts()

模块名称

房间信息管理模块

输出项目

名称

数据类型

输出的函数

全部房间信息

ArrayList

getRoomsState()

单个房间信息

Room

getRoomByID()

3.1.5算法

登陆模块

从DAO读写帐号密码,并进行比较。

员工管理模块

从DAO读写员工的信息。

网上订单请求模块

从DAO读写网上订单的信息。

处理订单:

booleanhandleOnlineOrder(TempOrderLinetempOrderLine,BooleanisAgree,Employeeemployee);

订单管理模块

从DAO读写订单的信息。

客人管理模块

从DAO读取客人的信息。

 

入住信息管理模块

从DAO读写入住的信息。

有预定的客人入住:

intopenRoom(OrderLineorderLine,Employeeemployee,Integerdeposit);

结账:

floatcheckOut(Roomroom,floatdiscount,Stringnote);

商品管理模块

从DAO读写商品的信息。

服务管理模块

从DAO读写服务的信息

房间信息管理模块

从DAO读写房间的信息

更新当前全部房间的信息:

ArrayListgetRoomsState(Stringtype);

计时器模块

实现12点报时并刷新全部房间状态。

提醒有新订单,并且在打开提示窗口后,不会重复打开窗口知道窗口关闭。

 

3.1.6程序逻辑

对数据库的读写全部交给DAO执行,要做的只是把适当的参数传入DAO。

因此,详细设计一些复杂核心函数的流程图:

1)booleanhandleOnlineOrder(TempOrderLinetempOrderLine,BooleanisAgree,Employeeemployee);

2)intopenRoom(OrderLineorderLine,Employeeemployee,Integerdeposit);

 

3)floatcheckOut(Roomroom,floatdiscount,Stringnote);

 

4)ArrayListgetRoomsState(Stringtype);

 

5)提醒有新订单,并且在打开提示窗口后,不会重复打开窗口知道窗口关闭。

6)实现12点报时并刷新全部房间状态。

计时器部分与(5)相似,对房间状态的刷新与(4)相似。

 

3.1.7接口

逻辑层提供给显示的接口:

数据访问层提供给逻辑层的接口就是由Hibernate自动生成的DAO提供的接口。

3.1.8存储分配

应该在Web服务器上,建立MySQL数据库,把数据都存放在数据库当中。

由于没有网络编程的知识,所以目前把数据库部署在本机上。

还有程序的图片等资源放到lib文件夹之下。

数据库驱动mysql-connector-java-5.1.21-bin.jar放到当前文件下。

log4j的配置文件log4j.properties也放在当前文件下。

3.1.9限制条件

本程序必须运行在配置好java环境的windows7/8/10操作系统下运行。

由于没有网络编程基础,所以把MySQL数据库配置在本机上,所以把本机作为服务器,要先运行MySQL数据库的Server程序,才能打开本程序,否则会导致程序登录失败。

 

3.1.10测试要点

测试主要包括以下内容:

1)功能测试:

a)数据库测试(即数据库的连接以及内容增删改查等操作过程是否正确)。

b)界面测试(即从界面中是否能按正确格式输出、展示正确的内容、把输入的内容传递给逻辑层)。

c)逻辑层测试(即是否能把界面输入的内容进行处理,把正确而且符合需求以及格式的数据存入数据库)

2)性能测试:

测试各个界面执行某个功能的时间、读写数据库的速度、连接速度测试(即时间特性要求)、压力测试(单机使用)

3)可用性测试:

图形测试、内容测试、整体界面测试(即图形用户界面的显示是否人性化,是否易于操作员操作,以及容错机制)

4)容错测试:

本程序主要都把错误处理交给界面来进行。

所以应该把全部错误都进行测试。

5)还要在不同的电脑上测试,从而确定程序执行所必须的系统环境的配置方法没有错误。

 

3.2在线预定系统模块

3.2.1总体功能

本系统根据功能的需求以及底层数据结构的设计,主要分成了三个层次5大模块。

根据概要分析得到的功能,以及对时序图的总结,可以得到以下类图:

总的类图:

 

3.2.2账户管理模块

描述方面

具体描述

模块名称

账户管理模块

功能

注册账户,登录账户,修改密码

性能

1.时间特性要求:

要求等待时间<0.5s;

各个函数的输入项目

名称

类型

数据来源

附注

用户名、密码

String

参数传入

各个函数的输出项目

输出项

数据类型

输出形式

输出内容

操作成功与否

boolean

参数返回

True|false

参数定义

参数

类型

含义

实现的功能

Account

OnlineAccount

账户

注册&登录

Account&passward

OnlineAccount、String

账户、待修改密码

修改密码

算法

创建账户

登录

修改密码

接口

该模块为界面提供相应的接口。

存储分配

测试要点

测试主要包括以下内容:

 

3.2.3联系人管理模块

描述方面

具体描述

模块名称

联系人管理模块

功能

负责对当前登录账户的联系人进行查看、增加、修改和删除。

性能

时间特性要求:

要求等待时间<0.5s;

各个函数的输入项目

函数功能

名称

类型

数据来源

附注

返回联系人

返回此账户的全部联系人

增加联系人

Cus

Customer

参数传入

将联系人通过DAO加入数据库

修改联系人

Cus、name、sex、id、IDType

Custome&String

参数传入

将当前的联系人的信息替换成输入的信息

删除联系人

Cus

Customer

参数传入

将传入的联系人从数据库中删除

各个函数的输出项目

函数功能

输出项

数据类型

输出内容

上述所有函数

上述所有函数的参数定义

参数名称

类型

含义

所属

Cus

Customer

联系人(顾客)

参数传入

name

string

联系人姓名

参数传入

Sex

string

联系人性别

参数传入

Id

string

证件号

参数传入

IDType

string

证件类型

参数传入

算法

增加联系人

修改联系人

删除联系人

接口

该模块在OnlineAccount.java中实现,为界面提供的调用接口。

存储分配

从数据库读取联系人信息,向数据库中写入联系人信息

测试要点

测试主要包括以下内容:

 

3.2.4订单管理模块

描述方面

具体描述

模块名称

订单管理模块

功能

生成订单、查看已处理&未处理订单、修改(未处理|已处理)订单、删除(未处理|已处理)订单

性能

1.时间特性要求:

要求等待时间<0.5s;

所有函数的参数

参数名称

类型

含义

所属

arriveTime

Date

到达时间

参数传入

leaveTime

Date

离开时间

参数传入

account

OnlineAccount

当前账户

参数传入

room

Room

所选房间

参数传入

cus

Customer

所选联系人

参数传入

tOL

ArrayList

订单数组

参数传入

各个函数的输入项目

函数功能

名称

数据类型

数据来源

附注

生成订单

arriveTime

leaveTime

account

room

cus

同上

参数传入

根据用户输入信息,生成相应的订单,并将其存入数据库中,并发出添加请求。

查看已处理&未处理订单

根据订单是否处理的状态值,从数据库中返回相应类型的订单

修改已处理订单

调用添加、删除函数

对旧的订单发出删除请求,请求确认后,根据用户新输入的信息生成新订单,并发出添加请求。

修改未处理订单

 

调用添加、删除函数

删除旧订单,直接从临时表中删除

保存新订单(请求添加)

删除已处理订单

tOL

同上

参数传入

将传入的订单列表置为请求删除,请求确认后,从临时表订单中将其删除。

删除未处理订单

参数传入

直接删除临时订单表里的订单

各个函数的输出项目

输出项

数据类型

输出形式

输出内容

List

Arra

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1