列表

详情


阅读下列说明和UML图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
  某企业为了方便员工用餐,餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
  企业的任何员工都可以查看菜单和今日特价。
  系统的顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。
  餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。
  菜单管理员是餐厅特定员工,可以管理菜单。
  送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
  顾客订餐过程如下:
  1.顾客请求查看菜单;
  2.系统显示菜单和今日特价;
  3.顾客选菜;
  4.系统显示订单和价格;
  5.顾客确认订单;
  6.系统显示可送餐时间;
  7.顾客指定送餐时间、地点和支付方式;
  8.系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通  知给餐厅员工。
  系统采用面向对象方法开发,使用UML进行建模。系统的顶层用例图和一次订餐的活动图初稿分别如图3-1和图3-2所示。

图3-1    COS系统顶层用例图

图3-2     一次订餐的活动图

【问题1】(2分)
  根据【说明】中的描述,给出图3-1中A1和A2所对应的参与者。
【问题2】(8分)
  根据【说明】中的描述,给出图3-1中缺少的四个用例及其所对应的参与者。
【问题3】(4分)
  根据【说明】中的描述,给出图3-2中(1)~(4)处对应的活动名称或图形符号。
【问题4】(1分)
  指出图3-1中员工和顾客之间是什么关系,并解释该关系的内涵。

图3-1    COS系统顶层用例图

图3-2     一次订餐的活动图

参考答案:

【问题1】(2分,各1分)
  A1:工资系统        A2:菜单管理员
【问题2】(8分,每行2分)


(注:四行顺序可以不同,但是每行必须对应,其中,用例名称及其对应的参与者都正确给2分,只有用例名正确给1分,其余情况不得分)

【问题3】(4分,各1分)

 
【问题4】(1分)
  泛化关系(一般/特殊关系、继承关系)。泛化关系描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。

详细解析:

本题考查面向对象系统开发时,采用UML模型进行建模的方法。
  此类题目要求考生认真阅读题目说明中对现实问题的描述,使用UML建模时的原则,从中确定用例图、活动图以及图中的各种关系。题目给出了未完成的用例图和活动图,需要根据描述给出参与者、用例、活动图中的活动和符号,以及参与者之间的关系内涵。
  用例图是用例建模的一个重要产物,它以图形化的方式将系统描述成用例、参与者及其之间的关系。用例图在高层交流了系统必须处理的业务事件的范围,是描述系统与其他外部系统以及用户之间交互的图形。发起或者触发用例的外部用户称为参与者。为了完成某些业务任务,参与者发起系统活动,即用例。在构建用例图时,常用的方式是先识别参与者,然后确定用例以及用例之间的关系。
  UML活动图用于建模系统的过程步骤或活动。构造活动图通常先为用例添加开始和结束点,为用例的主要步骤添加一个活动,从每个活动到其他活动、决策点和终点添加转换,并行活动的地方添加同步条。
【问题1】
  识别参与者时,考查和系统交互的人员和外部系统。本题中,与系统交互的人员包括员工、注册到系统的员工(顾客)、餐厅员工、菜单管理员、送餐员以及工资系统。
  由“菜单管理员是餐厅特定员工”以及图中A2和图中餐厅员工之间的“是一种”关系可知,A2为菜单管理员;图中还缺少描述中与工资系统的交互,由“……并发送给工资系统”可知,A1为工资系统。
【问题2】
  考查用例及其和参与者之间的关系时,通过判断哪一个特定参与者发起或者触发了与系统的哪些交互,来识别用例并建立和参与者之间的关联。
  本题中,由“任何员工都可以查看菜单和今日特价”可知,图中缺少用例查看今日特价,对应参与者是员工;由“系统的顾客是……,注册工资支付、……”可知,图中缺少用例注册工资支付,对应参与者是顾客和工资系统;由“餐厅员工是……,可以进行备餐、生成付费请求……发送给工资系统”可知,图中缺少用例“生成付费请求”,对应的参与者是餐厅员工和工资系统;由“菜单管理员是餐厅特定员工,可以管理菜单”可知,图中缺少用例管理菜单,对应的参与者是菜单管理员。
  需要注意的是,在注册工资支付所对应的参与者中,虽然没有明确说明要和工资系统交互,但是由“对于注册工资支付的顾客生成付费请求并发送给工资系统”可知,工资支付是由工资系统控制,所以注册也需要和工资系统交互。
【问题3】
  在顾客订餐过程的描述中,在“顾客选菜”之前,图中缺少符号和活动。由说明中顾客“可以订餐(如果未登录,需先登录)”可以判断,在系统“显示菜单和今日特价”之后“顾客选菜”之前,需要判断(判定符号 )当前用户身份是否为顾客,如果不是,需先登录;由“……发送E-mail给顾客以确认订餐,同时发送相关订餐信息通知给餐于员工”可知,发送E-mail和通知餐厅员工为并行活动,需要在前后有同步条(或纵向)。
【问题4】
  参与者之间的关系表示子类型“是一种”父类型,即泛化关系。其中父类型通常是一个抽象泛化的参与者,可以完成子类型可完成的共同行为,每个具体的子类型继承它,可以完成父类型参与者同样的任务,并可以补充额外的角色功能。

上一题