郑州大学软件学院《UML系统建模基础教程》大作业酒店订餐管理系统UML建模学号姓名班级专业20127710365张毅一班软件服务外包一、需求分析随着科学技术和互联网的迅猛发展,网络已经改变了我们的生活,通过网络交易成为当下的一种时尚,受到越来越多的人青睐,各个行业也将其当成一种重要的营销手段,酒店订餐管理系统也得益于网络的发展,提高了管理水平,扩大了营销范围。酒店订餐管理系统是中小型酒店餐饮企业用来对客人的订餐活动进行管理的信息管理系统。该信息系统不仅能够为客人提供方便的订餐功能,同时也能够达到提高酒店餐饮企业管理水平的目的。订餐系统的功能性需求包括以下内容:(1)酒店的接待员使用电话为客人提供订餐服务,根据客人的订餐要求,在指定的时间和桌号安排好客人的就餐事宜;按客人的要求执行修改订单的操作;在客人临时取消预订时删除订餐信息;在客人订餐时间到达前,及时提供电话提醒服务。(2)酒店领班在订餐客人到店用餐时和用餐离店后分别在系统做好记录并保存;能够为客人注册成为会员;可以查询、修改和删除会员信息;可以为客人提供换桌服务。二、酒店订餐管理系统UML建模简介:基于UML建模的酒店订餐管理系统,通过用例图、类图、序列图、协作图、状态图、活动图、构件图、部署图来进行酒店订餐管理系统建模的。三、创建系统的用例模型:(一)接待员(Receptionist)用例图:接待员用例能够通过该系统进行如下活动:(1)记录订餐信息。接待员将客人的订餐要求输入到系统中保存。(2)订餐定时提醒。接待员在客人的预定的订餐时间之前给客人一个提醒,同时再次加以确认。(3)取消订餐记录。客人因临时原因取消订餐,接待员将系统中原来的订餐信息取消。用例规约:用例名称记录订餐顾客角色接待员(Receptionist)简要说明记录订餐信息。接待员将客人的订餐要求输入到系统中保存。事件流接待员将客人的订餐要求输入到系统中保存。用例场景接待员将客人的订餐要求记录下来保存在系统中。前置条件接待员首先进入系统的操作界面,保存客人的订餐要求。后置条件系统数据库返回成功记录客人的订餐要求。用例名称定时提醒角色接待员(Receptionist)简要说明订餐定时提醒。接待员在客人的预定的订餐时间之前给客人一个提醒,同时再次加以确认。事件流接待员在客人的预定的订餐时间到来之前给客人一个电话以示提醒,同时再次加以确认记录信息。用例场景同上前置条件接待员进入操作界面,在客人的预定的订餐时间到来之前给客人一个电话以示提醒,同时再次加以确认记录信息。后置条件系统返回一个提醒时间成功的消息。用例名称取消订餐角色接待员,顾客简要说明取消订餐记录。客人因临时原因取消订餐,接待员将系统中原来的订餐信息取消。事件流客人因临时原因取消订餐,接待员将系统中原来的订餐信息取消。前置条件收到客人要求,接待员进入操作界面,取消预订餐。后置条件系统数据库返回一个成功(或失败)的取消订餐的消息。用例场景同事件流。(二)领班(Captain)用例图:领班用例能够通过该系统进行如下活动:(1)记录订餐客人到店。领班在有预订的客人前来酒店就餐时,在系统中记录预订客人已到店的信息并保存。(2)记录订餐客人离店。领班在预订的客人用餐离店后,在系统中记录预订客人用餐完毕的信息并保存,表示整个订餐过程结束。(3)注册新会员。领班在用餐客人同意加入成为本酒店会员时,有为客人注册成为新会员的权力。(4)修改会员信息。领班有权对酒店会员信息进行修改。(5)删除会员信息。当客人不再要保留会员资格时,领班将该会员的信息从系统中删除。(6)换桌服务。当客人对就餐位置不满意时,领班可为客人提供更换餐位的服务并在系统中做好记录。用例规约:用例名称记录订餐客人到店角色领班(Captain)、客人简要说明记录订餐客人到店。领班在有预订的客人前来酒店就餐时,在系统中记录预订客人已到店的信息并保存。事件流领班在有预订的客人前来酒店就餐时,在系统中记录预订客人已到店的信息并保存。前置条件领班见到客人来酒店就餐时,进入系统界面,记录预订客人已到店的信息并保存。后置条件系统数据库返回记录信息成功的信息。用例名称记录订餐客人离店角色领班(Captain)、客人简要说明记录订餐客人离店。领班在预订的客人用餐离店后,在系统中记录预订客人用餐完毕的信息并保存,表示整个订餐过程结束。事件流领班在预订的客人用餐离店后,在系统中记录预订客人用餐完毕的信息并保存,表示整个订餐过程结束。前置条件领班见到客人就餐后结账离店后,进入系统界面,录预订客人用餐完毕的信息并保存,表示整个订餐过程结束。后置条件系统数据库返回记录信息成功的信息。用例名称增删改会员角色领班(Captain)、客人简要说明注册新会员、修改原有会员、删除会员。事件流领班在用餐客人同意加入成为本酒店会员时,有为客人注册成为新会员的权力;领班有权对酒店会员信息进行修改;当客人不再要保留会员资格时,领班将该会员的信息从系统中删除。前置条件领班先进入系统界面,之后遵循会员意见执行操作。后置条件系统数据库返回执行信息成功的消息。用例名称换桌服务角色领班(Captain)、客人简要说明换桌服务。当客人对就餐位置不满意时,领班可为客人提供更换餐位的服务并在系统中做好记录。事件流当客人对就餐位置不满意时,领班可为客人提供更换餐位的服务并在系统中做好记录。前置条件当客人对就餐位置不满意时,领班进入系统界面进行调换,并保存调换后的新信息。后置条件系统数据库返回换桌位成功的消息。四、创建系统的静态模型:(一)类图如下:根据系统需求,创建静态系统类图:(1)实体类:接待员类(Receptionist)、领班类(Captain)、客人(Customer)和会员类(Member)。(2)辅助类:预订类(Order)、菜单类(Menu)和时间类(Time)。五、创建系统的动态模型:(一)创建系统的序列图和协作图:1)接待员(Receptionist)记录订餐的序列图和协作图:接待员记录订餐的工作流程:(1)接待员接到客人要求订餐的电话。(2)接待员登录系统进入操作界面Form,输入客人会员号,系统查询客人的会员信息并返回显示。(3)接待员根据客人的要求将订餐的信息输入并提交。(4)系统创建新的订餐信息记录Order类对象并返回订餐成功的信息。2)接待员(Receptionist)取消订餐的序列图和协作图:接待员取消订餐的工作流程:(1)接待员接到客人要求取消订餐的电话。(2)接待员登录系统进入操作界面Form,输入订单号,系统到数据库对象DataBase查询此订单是否存在。如果不存在,返回提示信息。(3)如果订单存在,则返回订单信息并显示在操作界面。(4)接待员提交取消订单操作,订单对象Order创建取消订单记录,同时更新数据库中订单的信息。(5)返回取消订餐成功的信息。3)接待员(Receptionist)定时提醒预订的序列图和协作图:接待员定时提醒预订用例的工作流程:(1)系统定时自动检查事先设定的提醒预订时间。(2)如果提醒预订的时间已到,订单类Order将该订餐信息发送到界面Form。(3)Form立即通知接待员与客人进行联系及时提醒和再次确认。4)领班(Captain)记录订餐客人到店的序列图和协作图:领班记录订餐客人到店的工作流程:(1)订餐客人抵店用餐。(2)领班登录系统进入操作界面Form,输入订单号,系统到数据库对象DataBase查询此订单是否存在。如果不存在,返回提示信息。(3)如果订单存在,则返回订单信息并显示在操作界面。(4)领班提交客人抵店的时间,订单对象Order修改订餐记录中的订餐状态,同时更新数据库中订单的信息。(5)返回订餐状态修改成功的提示信息。5)领班(Captain)记录订餐客人离店的序列图和协作图:领班记录订餐客人离店的基本工作流程如下:(1)订餐客人用餐完毕后离店。(2)领班登录系统进入操作界面Form,输入订单号,系统到数据库对象DataBase查询此订单是否存在。如果不存在,返回提示信息。(3)如果订单存在,则返回订单信息并显示在操作界面。(4)领班提交客人离店的时间,订单对象Order修改订餐记录中的订餐状态,同时更新数据库中订单的信息。(5)返回订餐状态修改成功的提示信息。6)领班(Captain)注册新会员的序列图和协作图:领班注册新会员的工作流程:(1)领班进入操作界面Form,并在界面中提交客户的信息。(2)界面Form将提交的信息传递给会员对象Member。.(3)会员对象查询数据库判断该客人是否已经是会员,并将结果返回给界面Form显示。如果客人已经是会员,领班结束操作。(4)如果该客人不是会员提交会员注册信息到会员类Member。(5)会员类Member创建新会员对象,并将该对象的信息保存到数据库中。(6)向界面返回注册会员成功的提示信息。7)领班(Captain)修改会员信息的序列图和协作图:领班修改会员信息的工作流程如下:(1)领班进入操作界面Form,并在界面中查询指定会员的信息。(2)界面Form将提交的信息传递给会员对象Member。.(3)会员对象查询数据库判断该会员是否存在,并将结果返回给界面Form显示。如果会员不存在,领班结束操作。(4)如果该会员存在则提交修改后的会员信息到会员类Member。(5)会员类Member修改会员信息,并更新到数据库中。(6)向界面返回修改会员信息成功的提示。8)领班(Captain)删除会员的序列图和协作图:领班删除会员的工作流程:(1)领班进入操作界面Form,并在界面中查询指定客户的信息。(2)界面Form将提交的信息传递给会员对象Member。.(3)会员对象查询数据库判断该会员是否存在,并将结果返回给界面Form显示。如果该会员不存在,领班结束操作。(4)如果该会员存在提交删除操作到会员类Member。(5)会员类Member删除该会员对象,并更新数据库中相关数据。(6)向界面返回删除会员成功的提示信息。9)领班(Captain)更换餐位的序列图和协作图:领班更换餐位的工作流程:(1)当客人对就餐位置不满意时,提出更换餐桌的要求。(2)领班进入操作界面Form,并在界面中查询当前酒店餐桌状态信息。(3)界面Form将提交的信息传递给餐桌对象Table。.(4)餐桌对象查询数据库判断是否存在空位,并将结果返回给界面Form显示。(5)如果有空的餐桌可供使用,领班提交更改餐桌的操作,并修改餐桌使用状态。同时更新数据库相关数据。(6)向界面返回餐桌更改成功的信息提示。(二)创建状态图:1)预订类状态图:在订餐管理系统中,包含以下三种预定类状态:被预订的状态、被取消的状态、预订结束的状态。它们之间的转化规则是:(1)接待员接受客人的订餐,将订餐信息输入系统,表示预订类进入了被预订的状态。(2)当客人取消订餐的要求被接受,接待员将系统中原来的订餐信息取消时,该预订类进入被取消的状态。(3)当客人按时到店用餐完毕接账离店,领班在系统中输入预订客人离店时间时,结束一个完整的订餐过程,该预订类进入结束状态。(三)创建活动图:1)接待员记录订餐活动图:在接待员记录订餐的活动图中,创建了二个泳道,分别是接带员对象和系统对象。具体的活动过程描述如下:(1)接待员在操作界面输入客人的订餐信息。(2)系统判断该客人是否是会员。如果是会员,享受折扣价。否则,正常价。(3)将客人的订餐信息保存到数据库并向界面返回订餐信息。2)接待员取消订餐活动图:接待员取消订餐的活动图中,有二个泳道,分别是分别是接待员对象和系统对象,具体的活动过程描述如下:(1)接待员在操作界面输入要取消的订单号的。(2)系统判断该订单是否存在。如果不存在向界面返回订单不存在的信息。(3)如果该订单存在则更改订单的状态并更新数据库订单的数据。同时,向界面返回取消订餐成功的信息。3)接待员定时提醒预订活动图:接待员定时提醒预订的活动图中,创建了二个泳道,系统对象泳道和接待员对象泳道,活动过程描述如下:(1)系统定时器对象判断是否有订餐预约