UML建模案例酒店预订系统.docx
《UML建模案例酒店预订系统.docx》由会员分享,可在线阅读,更多相关《UML建模案例酒店预订系统.docx(17页珍藏版)》请在冰豆网上搜索。
![UML建模案例酒店预订系统.docx](https://file1.bdocx.com/fileroot1/2022-12/13/a170eb82-8261-4413-b2eb-ccb39d8e4192/a170eb82-8261-4413-b2eb-ccb39d8e41921.gif)
UML建模案例酒店预订系统
案例:
酒店预订系统
一、需求分析
酒店订餐管理系统是中小型酒店餐饮企业用来对客人的订餐活动进行管理的信息管理系统(MIS)。
该信息系统不仅能够为客人提供方便的订餐功能,同时也能够达到提高酒店餐饮企业管理效率的目的。
订餐系统的功能性需求包括以下内容:
(1)酒店的接待员使用电话为客人提供订餐服务,根据客人的订餐要求,在指定的时间和桌位安排好客人的就餐事宜;按客人的要求执行修改订单的操作;在客人临时取消预订时删除订餐信息;在客人订餐时间到达前,及时提供电话提醒服务。
(2)酒店领班在订餐客人到店用餐时和用餐离店后分别在系统做好记录并保存;能够为客人注册成为会员;可以查询、修改和删除会员信息;可以为客人提供换桌服务。
二、创建系统用例模型
接待员用例能够通过该系统进行如下活动:
(1)记录订餐信息。
接待员将客人的订餐要求输入到系统中予以保存。
(2)订餐定时提醒。
接待员在客人的预定的订餐时间之前给客人一个提醒,同时再次加以确认。
(3)取消订餐记录。
客人因临时原因取消订餐,接待员将系统中原来的订餐信息予以取消。
领班用例能够通过该系统进行如下活动:
(1)记录订餐客人到店。
领班在有预订的客人前来酒店就餐时,在系统中记录预订客人已到店的信息并保存。
(2)记录订餐客人离店。
领班在预订的客人用餐离店后,在系统中记录预订客人用餐完毕的信息并保存,表示整个订餐过程结束。
(3)注册新会员。
领班在用餐客人同意加入成为本酒店会员时,有为客人注册成为新会员的权力。
(4)修改会员信息。
领班有权对酒店会员信息进行修改。
(5)删除会员信息。
当客人不再要保留会员资格时,领班将该会员的信息从系统中删除。
(6)换桌服务。
当客人对就餐位置不满意时,领班可为客人提供更换餐位的服务并在系统中做好记录。
三、创建系统静态模型
根据系统需求,创建静态系统类图。
我们可以识别系统中存在的主要实体类:
接待员类(Receptionist)、领班类(Captain)、客人类(Customer)和会员类(Member)。
辅助类:
预订类(Order)、菜单类(Menu)、菜单类(Menu)和提醒时间类(Time)。
1、接待员记录订餐的序列图和交互图
接待员记录订餐的工作流程:
(1)接待员接到客人要求订餐的电话。
(2)接待员登录系统进入操作界面Form。
输入客人会员号,系统查询客人的会员信息并返回显示。
(3)接待员根据客人的要求将订餐的信息输入并提交。
(4)系统创建新的订餐信息记录Order类对象并返回订餐成功的信息。
2、接待员取消订餐的序列图和交互图
接待员取消订餐的工作流程:
(1)接待员接到客人要求取消订餐的电话。
(2)接待员登录系统进入操作界面Form。
输入订单号,系统到数据库对象DataBase查询此订单是否存在。
如果不存在,返回提示信息。
(3)如果订单存在,则返回订单信息并显示在操作界面。
(4)接待员提交取消订单操作,订单对象Order创建取消订单记录,同时更新数据库中订单的信息。
(5)返回取消订餐成功的信息。
3、接待员定时提醒预订的序列图和交互图
接待员定时提醒预订用例的工作流程,具体描述如下:
(1)系统定时自动检查事先设定的提醒预订时间。
(2)如果提醒预订的时间已到,订单类Order将该订餐信息发送到界面Form。
(3)Form立即通知接待员与客人进行联系及时提醒和再次确认。
4、领班记录订餐客人到店的序列图和交互图
领班记录订餐客人到店的工作流程:
(1)订餐客人抵店用餐。
(2)领班登录系统进入操作界面Form,输入订单号,系统到数据库对象DataBase查询此订单是否存在。
如果不存在,返回提示信息。
(3)如果订单存在,则返回订单信息并显示在操作界面。
(4)领班提交客人抵店的时间,订单对象Order修改订餐记录中的订餐状态,同时更新数据库中订单的信息。
(5)返回订餐状态修改成功的提示信息。
5、领班记录订餐客人离店的序列图和交互图
领班记录订餐客人离店的基本工作流程如下:
(1)订餐客人用餐完毕后离店。
(2)领班登录系统进入操作界面Form,输入订单号,系统到数据库对象DataBase查询此订单是否存在。
如果不存在,返回提示信息。
(3)如果订单存在,则返回订单信息并显示在操作界面。
(4)领班提交客人离店的时间,订单对象Order修改订餐记录中的订餐状态,同时更新数据库中订单的信息。
(5)返回订餐状态修改成功的提示信息。
6、领班注册新会员序列图和协作图
领班注册新会员的工作流程:
(1)领班进入操作界面Form,并在界面中提交客户的信息。
(2)界面Form将提交的信息传递给会员对象Member。
.
(3)会员对象查询数据库判断该客人是否已经是会员,并将结果返回给界面Form显示。
如果客人已经是会员,领班结束操作。
(4)如果该客人不是会员提交会员注册信息到会员类Member。
(5)会员类Member创建新会员对象,并将该对象的信息保存到数据库中。
(6)向界面返回注册会员成功的提示信息。
7、领班修改会员信息的序列图和协作图
领班修改会员信息的工作流程如下:
(1)领班进入操作界面Form,并在界面中查询指定会员的信息。
(2)界面Form将提交的信息传递给会员对象Member。
.
(3)会员对象查询数据库判断该会员是否存在,并将结果返回给界面Form显示。
如果会员不存在,领班结束操作。
(4)如果该会员存在则提交修改后的会员信息到会员类Member。
(5)会员类Member修改会员信息,并更新到数据库中。
(6)向界面返回修改会员信息成功的提示。
8、领班删除会员的序列图和协作图
领班删除会员的工作流程,基本工作流程如下:
(1)领班进入操作界面Form,并在界面中查询指定客户的信息。
(2)界面Form将提交的信息传递给会员对象Member。
.
(3)会员对象查询数据库判断该会员是否存在,并将结果返回给界面Form显示。
如果该会员不存在,领班结束操作。
(4)如果该会员存在提交删除操作到会员类Member。
(5)会员类Member删除该会员对象,并更新数据库中相关数据。
(6)向界面返回删除会员成功的提示信息。
9、领班更换餐位的序列图和协作图
领班更换餐位的工作流程:
(1)当客人对就餐位置不满意时,提出更换餐桌的要求。
(2)领班进入操作界面Form,并在界面中查询当前酒店餐桌状态信息。
(3)界面Form将提交的信息传递给餐桌对象Table。
.
(4)餐桌对象查询数据库判断是否存在空位,并将结果返回给界面Form显示。
(5)如果有空的餐桌可供使用,领班提交更改餐桌的操作,并修改餐桌使用状态。
同时更新数据库相关数据。
(6)向界面返回餐桌更改成功的信息提示。
10、预订类状态图
在订餐管理系统中,有明确状态转换的类是预订类。
预订类包含以下三种状态:
被预订的状态、被取消的状态、预订结束的状态。
它们之间的转化规则是:
(1)接待员接受客人的订餐,将订餐信息输入系统,表示预订类进入了被预订的状态。
(2)当客人取消订餐的要求被接受,接待员将系统中原来的订餐信息取消时,该预订类进入被取消的状态。
(3)当客人按时到店用餐完毕接账离店,领班在系统中输入预订客人离店时间时,结束一个完整的订餐过程,该预订类进入结束状态。
11、接待员记录订餐活动图
在接待员记录订餐的活动图中,创建了二个泳道,分别是接待员对象和系统对象。
具体的活动过程描述如下:
(1)接待员在操作界面输入客人的订餐信息。
(2)系统判断该客人是否是会员。
如果是会员,享受折扣价。
否则,不享受优惠价。
(3)将客人的订餐信息保存到数据库并向界面返回订餐信息。
12、接待员取消订餐活动图
接待员取消订餐的活动图中,有二个泳道,分别是分别是接待员对象和系统对象,具体的活动过程描述如下:
(1)接待员在操作界面输入要取消的订单号的。
(2)系统判断该订单是否存在。
如果不存在向界面返回订单不存在的信息。
(3)如果该订单存在则更改订单的状态并更新数据库订单的数据。
同时,向界面返回取消订餐成功的信息。
13、接待员定时提醒预订活动图
接待员定时提醒预订的活动图中,创建了二个泳道,系统对象泳道和接待员对象泳道,活动过程描述如下:
(1)系统定时器对象判断是否有订餐预约的提醒时间已到。
(2)如果有提醒时间到的订餐提醒则立即通知接待员进行处理。
(3)如果没有到提醒时间的订餐,则按规定的间隔时间继续判断。
14、领班记录订餐客人到店活动图
领班记录订餐客人到店的活动图,创建了个二个泳道,分别是领班对象和系统对象。
具体活动过程如下:
(1)领班在界面输入到店客人的订单号。
(2)系统判断订单是否存在,如果不存在,返回订单不存在的信息。
(3)如果订单存在,领班输入订餐客人到店的时间,对订单的状态进行修改。
并同时更新数据库的数据。
(4)最后向界面返回修改成功的信息。
15、领班记录订餐客人离店活动图
领班记录订餐客人离店的活动图,先创建了二个泳道,分别是领班对象和系统对象。
具体的活动过程如下:
(1)领班在界面输入到店客人的订单号。
(2)系统判断订单是否存在,如果不存在,返回订单不存在的信息。
(3)如果订单存在,领班输入订餐客人离店的时间,对订单的状态进行修改。
并同时更新数据库的数据。
(4)最后向界面返回修改成功的信息。
16、领班注册会员活动图
领班注册会员的活动图,创建了个二个泳道,分别是领班对象和系统对象。
具体的活动过程如下:
(1)领班在界面输入客人的信息。
(2)系统判断该客人是否是会员,如果已经是会员,返回客人已是会员的信息。
(3)如果客人还不是会员,领班提交注册的客人的信息。
系统创建新会员信息,并同时将信息保存到数据库。
(4)最后向界面返回注册会员成功的信息。
17、领班为客人换桌活动图
领班为客人换桌的活动图,先创建了个二个泳道,分别是领班对象和系统对象。
具体的活动过程如下:
(1)领班在界面中查询餐桌的状态。
(2)系统判断是否还有空闲且没有预订的餐桌。
如果没有空余的餐桌,将此信息返回给界面。
(3)如果是有空闲的餐桌,就更改订餐信息中的餐桌号,然后更新餐桌当前的状态并保存到数据库中。
(4)最后向界面返回餐桌更新成功的信息。
18、领班修改会员信息活动图
领班修改会员信息的活动图,先创建了个二个泳道,分别是领班对象和系统对象。
具体的活动过程如下:
(1)领班在界面中输入会员编号。
(2)系统判断该会员是否存在。
如果不存在此会员,将此信息返回给界面。
(3)如果有该会员存在,就修改会员信息并保存。
然后更新数据库会员的数据。
(4)最后向界面返回会员信息修改成功的提示。
四、创建系统部署模型
1、系统构件图
在订餐管理系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。
我们前面在类图中创建的Custmoer类、Member类、Reception类、Captain类、Table类、Order类、Menu类、Form和Time类可以映射出相同的这些构件,包括顾客构件、会员构件、接待员构件、领班构件和餐桌构件、预订类构件菜单构件、界面构件、时间构件和主程序构件。
2、系统部署图
在订餐系统中,包括四种节点,分别是:
数据库节点(DBServer),由一台数据库服务器负责数据的存储,处理等;系统服务器节点(SystemServer),用于处理系统的业务逻辑。
客户端节点(Client),用户通过客户端登录系统进行操作。
打印机节点(Printer),用于打印数据报表。