阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要的功能需求描述如下:(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。(2)ACShop的客户分:为两种:未注册客户和注册客户。(3)未注册客户可以浏览或检索出版物,将出版物添加到购物车中。未注册客户进行注册操作之后,成为ACShop注册客户。(4)注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操作。结账操作的具体流程描述如下:①从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没有地址信息,可以添加新地址信息。②选择付款方式。ACShop支持信用卡付款或银行转账两种方式。注册客户可以从预先填写的信用卡或银行账号中选择一个付款,若没有付款方式信息,则可以添加新付款方式。③确认提交购物车中待购买的出版物,ACShop会自动生成与之相对应的订单。(5)管理员负责维护在线销售的出版物目录,包括添加新出版物或者更新在售出版物信息等操作。现采用面向对象方法分析并设计该网上商店ACShop,得到如图3-1所示的用例图和图3-2所示的类图。
问答题 【问题1】根据说明中的描述,给出图3-1中(1)~(4)所对应的用例名。
【正确答案】正确答案:(1)将(待购买)出版物添加到购物车 (2)结账 (3)选择收货地址 (4)选择付款方式
【答案解析】解析:本题属于经典的考题,主要考查面向对象分析方法与设计的基本概念。在建模方面,本题中涉及到了UML,的用例图与类图。本题属于比较经典的考题,难度不大。 本问题考查UML用例图,要求将图中缺失的用例(1)~(4)补充完整。解答此类题目的时候,根据给出的用例图对照说明中的功能需求描述,就可以完成。 首先(1)处的用例与参与者“客户”相关,而“客户”又分为“注册客户”和“未注册客户”,那么(1)处所代表的用例,是“注册客户”和“未注册客户”都具有的行为。由说明可知,(1)处的用例为“将(待购买)出版物添加到购物车”。 (2)~(3)处的用例与参与者“注册客户”相关,对照说明确定没有在用例图上表示出来的注册客户的行为即可,同时应注意用例(3)与“添加新地址”、用例(4)与“添加新付款方式”之间的扩展(extend)关系。根据说明可知,“注册客户”一个很重要的行为是“结账”,而这个行为在用例图恰好没有表示出来。再者,由说明中给出的结账操作的具体流程可知,结账操作中包含了选择地址和选择付款方式,与用例图中(2)和(3)、(2)和(4)之间的包含(include)关系对应,因此(2)处的用例为“结账”;而(3)处的用例为“选择收货地址”、(4)处的用例为“选择付款方式”。
问答题 【问题2】根据说明中的描述,分别说明用例“添加新地址”和“添加新付款方式”会在何种情况下由图3-1中的用例(3)和(4)扩展而来?
【正确答案】正确答案:“添加新地址”的扩展条件:地址信息为空或没有地址信息。 “添加新付款方式”的扩展条件:付款方式信息为空或没有付款方式信息。
【答案解析】解析:扩展是用例之间的一种关联关系。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。 用例(3)和(4)在结账操作的流程中给出了详细的描述:“如果没有地址信息,可以添加新地址信息”、“若没有付款方式信息,则可以添加新付款方式”。所以用例“添加新地址”和“添加新付款方式”分别是用例(3)和(4)的一种分支情况,其扩展点就是分支条件。所以“添加新地址”的扩展条件:地址信息为空或没有地址信息;“添加新付款方式"的扩展条件:付款方式信息为空或没有付款方式信息。
问答题 【问题3】根据说明中的描述,给出图3-2中(1)~(7)所对应的类名。
【正确答案】正确答案:(1)目录或出版物目录 (2)待购买的出版物 (3)出版物 (4)论文 (5)学术报告 (6)讲座资料 (7)订单 注:(4)~(6)答案次序可以互换。
【答案解析】解析:本问题考查UML的类图,要求将图中缺失的类补充完整,是比较传统的考法。在解答此题时,可以先关注一下需要填写的类之间的关系。由类图可知,主要是两大类关系:聚集关系和继承关系。由说明可知,在题目中存在着3组继承关系:“ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等”;“ACShop的客户分为两种:未注册客户和注册客户”;“ACShop支持信用卡付款或银行转账两种方式”。后2组继承关系已经在类图中给出了,所以空(3)~(6)处要表达的就是第1组继承关系。由此可知,空(3)处应填入“(学术)出版物”,(4)~(6)处分别是“论文”、“学术报告”和“讲座资料”。类(3)和类(1)之间是聚集关系,而现在已经知道类(3)表示的是“出版物”。由说明可知,与“出版物”之间具有聚集关系的应该是“出版物目录”,因此(1)处应填入“出版物目录”。 类(2)与类“购物车”之间具有聚集关系,购物车中包含的是“待购买的出版物”,因此(2)处应填入“待购买的出版物”。由此也可以确定(7)处应该填入的类是“订单”。