【问题 1】(2 分)
根据【说明】中的描述,给出图 3-1中 A1 和 A2所对应的参与者。
第1题:
阅读下列说明和图,回答问题1至问题3.将解答填入答题纸的对应栏内。
【说明】
某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下:
(1)每个人(Person)可以是一个合法选民(Eligible)或者无效的选民(Ineligible)。
(2)每个合法选民必须通过该系统对其投票所在区域(即选区,Riding)进行注册
(Registration)。每个合法选民仅能注册一个选区。
(3)选民所属选区由其居住地址(Address)决定。假设每个人只有一个地址,地址
可以是镇( Town)或者城市(City)。
(4)某些选区可能包含多个镇,而某些较大的城市也可能包含多个选区。
现采用面向对象方法对该系统进行分析与设计,得到如图3-1所示的初始类图。
【问题1】(8分)
根据说明中的描述,给出图3-1中C1-C4所对应的类名(类名使用说明中给出的
英文词汇)。
【问题2】(3分)
根据说明中的描述,给出图3-1中Ml-M6处的多重度
【问题3】(4分)
现对该系统提出了以下新需求:
(l)某些人拥有在多个选区投票的权利,因此需要注册多个选区:
(2)对于满足(1)的选民,需要划定其“主要居住地”,以确定他们应该在哪个
选区进行投票。
为了满足上述需求,需要对图3-1所示的类图进行哪些修改?请用100字以内
文字说明。
第2题:
试题三(共 15 分)
阅读下列说明和 UML 图,回答问题 1 至问题4,将解答填入答题纸的对应栏内。
【说明】
某企业为了方便员工用餐,为餐厅开发了一个订餐系统(COS:Cafeteria Orderin
System),企业员工可通过企业内联网使用该系统。
企业的任何员工都可以查看菜单和今日特价。
系统的顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支
付、预约规律的订餐,在特殊情况下可以覆盖预订。
餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资
支付的顾客生成付费请求并发送给工资系统。
菜单管理员是餐厅特定员工,可以管理菜单。
送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注
册工资支付的顾客,由送餐员收取现金后记录)。
顾客订餐过程如下:
1. 顾客请求查看菜单;
2. 系统显示菜单和今日特价;
3. 顾客选菜;
4. 系统显示订单和价格;
5. 顾客确认订单;
6. 系统显示可送餐时间;
7. 顾客指定送餐时间、地点和支付方式;
8. 系统确认接受订单,然后发送 Email 给顾客以确认订餐,同时发送相关订餐信息通
知给餐厅员工。
系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和一次订餐的活动图初稿分别如图 3-1和图 3-2 所示。
【问题 1】(2 分)
根据【说明】中的描述,给出图 3-1中 A1 和 A2所对应的参与者。
【问题 2】(8 分)
根据【说明】中的描述,给出图 3-1中缺少的四个用例及其所对应的参与者。
【问题 3】(4 分)
根据【说明】中的描述,给出图 3-2中(1)~(4)处对应的活动名称或图形符号。
【问题 4】(1 分)
指出图 3-1 中员工和顾客之间是什么关系,并解释该关系的内涵。
第3题:
第4题:
试题三(共15 分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某运输公司决定为新的售票机开发车票销售的控制软件。图 3-1 给出了售票机的面板示意图以及相关的控制部件。
售票机相关部件的作用如下所述:
(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。
(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
(4)显示屏显示所有的系统输出和用户提示信息。
(5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
(6)打印机用于输出车票。
假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成。
系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和类图分别如图3-2和图3-3所示。
【问题1】(5 分)
根据说明中的描述,给出图 3-2 中 A1 和 A2 所对应的参与者,U1 所对应的用例,以及(1)、(2)处所对应的关系。
【问题2】(7 分)
根据说明中的描述,给出图3-3中缺少的C1~C4所对应的类名以及(3)~(6)处所对应的多重度。
【问题3】(3 分)
图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。
第5题:
试题三(共15分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某网上购物平台的主要功能如下:
(1)创建订单。顾客( Customer)在线创建订单(Order),主要操作是向订单中添加项目、从订单中删除项目。订单中应列出所订购的商品(Product)及其数量(quantities)。
(2)提交订单。订单通过网络来提交。在提交订单时,顾客需要提供其姓名(name)、收货地址(address)、以及付款方式(form. of payment)(预付卡、信用卡或者现金)。为了制定送货计划以及安排送货车辆,系统必须确定订单量(volume)。除此之外,还必须记录每种商品的名称(Name)、造价(cost price)、售价(sale price)以及单件商品的包装体积(cubic volume)。
(3)处理订单。订单处理人员接收来自系统的订单;根据订单内容,安排配货,制定送货计划。在送货计划中不仅要指明发货日期(delivery date),还要记录每个订单的限时发送要求(Delivery Time Window)。
(4)派单。订单处理人员将己配好货的订单转交给派送人员。
(5)送货/收货。派送人员将货物送到顾客指定的收货地址。当顾客收货时,需要在运货单(delivery slip)上签收。签收后的运货单最终需交还给订单处理人员。
(6)收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认。
现采用面向对象方法开发上述系统,得到如图3-1所示的用例图和图3-2所示的类图。
【问题1】 (5分)
根据说明中的描述,给出图3-1中A1~A3所对应的参与者名称和U1~U2处所对应的用例名称。
【问题2】(7分)
根据说明中的描述,给出图3-2中C1~C3所对应的类名以及(1)~(4)处所对应的多重度(类名使用说明中给出的英文词汇)。
【问题3】(3分)
根据说明中的描述,将类C2和C3的属性补充完整(属性名使用说明中给出的英文词汇)。