餐馆订餐系统的UML设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
1.1 编写目的
本详细设计说明书是基于系统概要设计说明书,经过项目组成员讨论后,将系统的各个功能模块细化,将总的用例图的功能细化到每个序列图中。并且为后续的编码工作提供依据,也是系统测试用例编写和后期维护的主要参考资料。
1.3 名词解释
系统中所有以“JE_”开头的类和变量均为“Just Enjoy”——我们小组名称的缩写,也用以和系统或者其他人开发的变量和函数相区别。
SQLServer 2000: Microsoft公司的关系型数据库。
JDK 1.4: 版本为号1.4的JAVA虚拟机。
E-R图:关系实体图,用于表示数据库的设计。
2 软件结构概述
2.1 模块划分
本系统根据需求分析可以划分为三大模块,他们是订餐管理模块、餐馆管理模块和会员管理模块。其中餐馆管理主要简化为了餐桌管理。餐馆管理模块和会员管理模块分别提供增加、修改、删除的管理功能,而最为核心的订餐管理模块提供记录订单、修改订单(换桌、换时间等)、取消订单、定时提醒和查询空桌等功能。
2.2 模块功能详细设计
以UML序列图的方式列举各个用例模块的功能和实现过程。
2.2.1 CancelBooking
取消订单功能,使用户可以取消已经下过的订单。序列图如下图2-1所示:
图2-1 取消订单序列图
2.2.2 DeleteMember
删除会员功能,使餐馆可以注销某些用户。序列图如下图2-2所示:
图2-2 删除会员序列图
2.2.3 DisplayBooking
显示订单功能,根据用户设定的时间显示的餐桌的信息。其序列图如图2-3所示:
图2-3 显示订单序列图
2.2.4DisplayMember
显示会员信息功能,显示选定的会员信息,以供管理员查看并作为修改的依据。其序列图如图2-4示:
图2-4
2.2.5ModifyBooking
修改订单的功能为用户提供修改预约的机会,比如更换时间、换桌等。修改订单的序列图如图2-5所示:
图2-5
2.2.6ModifyMember
修改会员信息提供给管理员以修改会员信息的功能,比图联系方式、用户姓名、信誉度等。其序列图如下图2-6所示:
图2-6
2.2.7RecordArrival
记录到达功能会记录用户的到达情况,同时餐桌状态的显示跟它有一定的关系。其序列图如下图2-7所示:
图2-7
2.2.8RecordBooking
记录订单为接待员提供记录订单的功能,但接待员接到客户的电话预约时,会使用此功能来记录客户的预约,包括吃饭时间、吃饭桌号和预约人数等。此功能完成的序列图如图2-8所示:
图2-8
2.2.9RecordLeft
记录离开功能,但用餐者吃完饭后离开时记录此事件,同时修改桌子的状态为没有使用。其序列图如图2-9所示:
图2-9
2.2.10RecordWalkIn
记录未订餐者。对于没有预定的用餐者使用此功能来记录用餐信息。其序列图如图2-10所示:
图2-10
2.2.11RegisterMember
会员注册功能。可以增加新的会员。其序列图如下图2-11所示:
图2-11
2.2.12RemindBooking
定时提醒功能。但订单时间已到但用餐者还没有到达时就会体现本功能的作用。系统开辟一个线程单独来完成本功能,每隔一秒检查一下系统时间,如果到达用户设置的提醒时间,就从数据库中读取应当到达却未到达的订单信息显示给接待员,使其可以通过提供的联系方式提醒客户。整体的序列图如图2-12所示:
图2-12
2.2.13SearchBooking
搜索订单,为用户提供搜索订单的功能。其功能序列图如图2-13所示:
: Staff :StaffUI:BookingSys
tem
:Restaurant:Store:DB
mouseMove(cancel)
mouseUp(emptyTB)
SearchEmpty(date)
getEmpty(date)
getAllEmpty(date)
selectAllEmpty()
AllEmpty
emptyNum
emptyNum
emptyNum
UPDisplay()
图2-13
2.3 系统状态图
2.3.1 预约系统类的状态图
预约系统类显示的最重要的依赖状态行为与预约的选择有关,只有选择一个预约才能进行记录到达、记录离开。
预约系统类的状态图如下图所示:
2.3.2 预约类的状态图
预约显示依赖于状态的行为:一旦已经记录了到来者,就不能取消预约,或者再次记录到达;只有已经记录到达的预约才能记录离开。
预约类的状态图如下:
3 数据库设计
3.1 数据库的E-R图
根据系统功能和模块划分,设计出系统的E-R图中包括7个实体和1个多对多关系,共8张表如下图3-1所示:
图3-1 系统E-R图
3.2数据字典
本系统的数据库的数据字典如下表所示:
eatTime datetime 8 吃饭时段
state int 4 订餐状态
Table表
表名字段名数据类型大小含义是否为空备注Table TID int 4 桌子编号主键places int 4 人数
Flag varchar 256 使用标志是
tableNumber varchar 10 餐桌号
WalkIn表
表名字段名数据类型大小含义是否为空备注WalkIn walkinID int 4 未订餐号主键tableNumber varchar 10 餐桌号
covers int 4 人数
eatDate datetime 8 吃饭时间
eatTime datetime 8 吃饭时段
state int 4 状态
4 系统界面设计
系统的机面采用JBuider 2006工具开发,使用SWING控件来用,并用PhotoShop制作一些图片,以期望增加界面的友好程度。以下是系统的一些界面界图:
图4-1 系统初始化欢迎界面