阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网上药店允许顾客凭借医生开具的处方,通过网络在该药店购买处方上的药品。该网上药店的基本功能描述如下:(1)注册。顾客在买药之前,必须先在网上药店注册。注册过程中需填写顾客资料以及付款方式(信用卡或者支付宝账户)。此外顾客必须与药店签订一份授权协议书,授权药店可以向其医生确认处方的真伪。(2)登录。已经注册的顾客可以登录到网上药房购买药品。如果是没有注册的顾客,系统将拒绝其登录。(3)录入及提交处方。登录成功后,顾客按照“处方录入界面”显示的信息,填写开具处方的医生的信息以及处方上的药品信息。填写完成后,提交该处方。(4)验证处方。对于已经提交的处方(系统将其状态设置为“处方已提交”),其验证过程为:①核实医生信息。如果医生信息不正确,该处方的状态被设置为“医生信息无效”,并取消这个处方的购买请求;如果医生信息是正确的,系统给该医生发送处方确认请求,并将处方状态修改为“审核中”。②如果医生回复处方无效,系统取消处方,并将处方状态设置为“无效处方”。如果医生没有在7天内给出确认答复,系统也会取消处方,并将处方状态设置为“无法审核”。③如果医生在7天内给出了确认答复,该处方的状态被修改为“准许付款”。系统取消所有未通过验证的处方,并自动发送一封电子邮件给顾客,通知顾客处方被取消以及取消的原因。(5)对于通过验证的处方,系统自动计算药品的价格并邮寄药品给已经付款的顾客。该网上药店采用面向对象方法开发,使用UML进行建模。系统的类图如图13一13所示。
问答题 根据说明中的描述,给出图13—13中缺少的C1~C5所对应的类名以及(1)~(6)处所对应的多重度。
【正确答案】正确答案:C1:付款方式 C2:处方 C3:信用卡 C4:支付宝账户 C5:药品 (1)1 (2)0...* (3)1 (4)1...* (5)0...* (6)1
【答案解析】解析:本题考查类图。类图展现了一组对象、接口、协作和它们之间的关系。由题目描述知,客户有两种付款方式:信用卡或者支付宝账户,所以Cl处填付费方式,C3、C4处分别填入信用卡、支付宝账户。客户和医生间交互的是处方,处方中的内容为药品,所以C2、C5处分配填入处方、药品。一个客户可以有多张处方单,当然一个客户也可能只是注册,而没有开处方单,所以(1)处是1, (2)处是0...*;既然医生开了处方,则一个处方上至少有一种药,所以(3)处为1, (4)处为1...*;一个医生可以开处方,也可以不开处方,所以(6)处为1, (5)处为0...*。说明:0...*术表示一个集合中的一‘个对象对应另一个集合中的0个或多个对象。 (可以不对应)1...*表示一个集合中的一个对象对应另一个集合中的一个或多个对象。 (至少对应一个)*表示一个集合中的一个对象对应另一个集合中的多个的对象。
问答题 图13—14给出了“处方”的部分状态图。根据说明中的描述,给出图13—14中缺少的S1~S4所对应的状态名以及(7)~(10)处所对应的迁移(transition)名。
【正确答案】正确答案:S1:审核中 S2:无法审核 S3:医生信息无效S4:处方无效 (7)医生信息不正确 (8)医生信息正确 (9)医生回复处方无效 (9)医生没有在7天内给出确认答复
【答案解析】解析:客户在网上提交处方后,首先核实医生信息,如果医生信息不正确,该处方的状态被设置为“医生信息无效”,并取消这个处方的购买请求。可见(7)处为“医生信息不正确”,S3为“医生信息无效”。如果医生信息是正确的,系统给该医生发送处方确认请求,并将处方状态修改为“审核中”。所以(8)处为“医生信息正确”,S1为“审核中”。在审核的过程中,如果医生回复处方无效,系统取消处方,并将处方状态设置为“无效处方”。如果医生没有在7天内给出确认答复,系统也会取消处方,并将处方状态设置为“无法审核”。所以(9)、(10)分别“医生回复处方无效”、“医生没有在7天内给出确认答复”,对应的S4和S2分别为“处方无效”和“无法审核”。
问答题 图13一13中的符号
【正确答案】正确答案:表示组合,
【答案解析】解析:本题考查UML中的关联关系。