某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要的功能需求描述如下:
(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。
(2)ACShop的客户分为两种:未注册客户和注册客户。
(3)未注册客户可以浏览或检索出版物,将出版物添加到购物车中。未注册客户进行注册操作之后,成为ACShop注册客户。
(4)注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操作。结账操作的具体流程描述如下:
①从预先填写的地址列表中选择一个作为本次交易的收货地址。如果没有地址信息,则可以添加新地址。
②选择付款方式。ACShop支持信用卡付款和银行转账两种方式。注册客户可以从预先填写的信用卡或银行账号中选择一个付款。若没有付款方式信息,则可以添加新付款方式。
③确认提交购物车中待购买的出版物后,ACShop会自动生成与之相对应的订单。
(5)管理员负责维护在线销售的出版物目录,包括添加新出版物或者更新在售出版物信息等操作。
现采用面向对象方法分析并设计该网上商店ACShop,得到如图3-1所示的用例图和图3-2所示的类图。
图3-1用例图
图3-2类图
【问题1】(4分)
根据说明中的描述,给出图3-1中(1)~(4)所对应的用例名。
【问题2】(4分)
根据说明中的描述,分别说明用例“添加新地址”和“添加新付款方式”会在何种情况下由图3-1中的用例(3)和(4)扩展而来?
【问题3】(7分)
根据说明中的描述,给出图3-2中(1)~(7)所对应的类名。
【问题1】
(1)添加出版物到购物车
(2)结账
(3)选择收货地址
(4)选择付款方式
【问题2】
当选择收货地址时,没有地址信息,则使用扩展用例“添加新地址”来完成新地址的添加。
当选择付款方式时,没有付款方式信息,则使用扩展用例“添加新付款方式”来完成新付款方式的添加。
【问题3】
(1)出版物目录
(2)待购买的出版物
(3)学术出版物
(4)-(6)论文、学术报告、讲座资料
(7)订单
本题属于软件设计师关于UML的传统考题,主要考查的是用例图和类图。
【问题1】
问题1是对用例图的补充。对于用例是对系统业务功能的描述,一般为动词+名词或名词+动词的形式,解题一般从题干说明中分析其中的用例,并且参考用例图中用例之间的关系来确定对应的用例名。
其中(3)和(4)分别于添加新付款方式和添加新地址有扩展关系,因此对应的(3)应该是选择收货地址(从描述“①从预先填写的地址列表中选择一个作为本次交易的收货地址”提炼),(4)应该是选择付款方式(“②选择付款方式”)。
其中(2)包含用例(1)和用例(3)选择收货地址、用例(4)选择付款方式,根据“结账操作的具体流程描述如下:①②…”,因此用例(2)是结账。
其中用例(1)于参与者客户、注册客户都相关,即未注册客户也可以做的操作,应该包括浏览或检索出版物、将出版物添加到购物车中,前者已经列出,因此用例(1)为将出版物添加到购物车。
【问题2】
问题2涉及到的是扩展关系运作机制,在扩展关系中,一个用例称为基础用例,另一个用例称为扩展用例,其中扩展用例是对基础用例的补充,扩展用例不是每次都执行,要特定条件满足才执行。
以本题中用例“添加新地址”为例,他就是一个扩展用例,什么时候他会执行呢?就是当选择收货地址时,系统检测发现没有地址信息,此时会“添加新地址”来完成新地址的添加,然后再先择收货地址。添加新付款方式用例情况与此类似。
【问题3】
问题3是对类图的补充,类名一般为名词形式,根据题干描述,我们可以找到很多类名,包括:ACShop、学术出版物、论文、学术报告、讲座资料、客户、未注册客户、注册客户、待购买的出版物、购物车、地址列表、收货地址、付款方式、信用卡付款、银行转账、订单、管理员、出版物目录等,再根据类图当中的关系来确定对应的类名。
根据“(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等”,可以看到这里的学术出版物是论文、学术报告、讲座资料的泛化,也就是父类,根据类图可以看到,类(3)和类(4)、(5)、(6)满足此关系,因此类(3)是学术出版物,而(4)(5)(6)分别为论文、学术报告、讲座资料,三者位置可以互换。
类(7)与付款方式和收货地址相关的应该是订单,而(2)与订单和购物车都有着部分-整体关系的,应该是待购买的出版物。
根据ACShop是网上商店,它应该包括管理员、客户、购物车,还有出售的物品,而本商店出售的物品是以出版物目录的形式进行管理,因此(1)应该是出版物目录。
( )is the process of transforming information so it is unintelligible to anyone but the intended recipient.
As each application module is completed,it undergoes( )to ensure that it operates correctly and reliably.
( )algorithm specifies the way to arrange data in a particular order.
After analyzing the source code,( )generates machine instructions that will carry out the meaning of the program at a later time.
( )can help organizations to better understand the information contained within the data and will also help identify the data that is most important to the business and future business decisions.
浏览器开启无痕浏览模式后,( )依然会被保存下来。
下列协议中,不属于TCP/IP协议簇的是( )。
下列传输介质中,带宽最宽、抗干扰能力最强的是( )。
数控编程常需要用参数来描述需要加工的零件的图形。在平面坐标系内,确定一个点需要2个独立的参数,确定一个正方形需要( )个独立的参数。
某书的页码为1,2,3,...,共用数字900个(一个多位数页码包含多个数字),据此可以推断,该书最大的页码为( )。