某图书公司欲开发一个基于Web的书籍销售系统,为顾客(Customer)提供在线购买书籍(Books)的功能,同时对公司书籍的库存及销售情况进行管理。系统的主要功能描述如下:
(1)首次使用系统时,顾客需要在系统中注册(Registerdetail)。顾客填写注册信息表要求的信息,包括姓名(name)、收货地址(address)、电子邮箱(email)等,系统将为其生成一个注册码。
(2)注册成功的顾客可以登录系统在线购买书籍(Buybooks)。购买时可以浏览书籍信息,包括书名(title)、作者(author)、内容简介(introduction)等。如果某种书籍的库存量为0,那么顾客无法查询到该书籍的信息。顾客选择所需购买的书籍及购买数量(quantities),若购买数量超过库存量,提示库存不足;若购买数量小于库存量,系统将显示验证界面,要求顾客输入注册码。注册码验证正确后,自动生成订单(Order),否则,提示验证错误。如果顾客需要,可以选择打印订单(Printorder)。
(3)派送人员(Dispatcher)每天早晨从系统中获取当日的派送列表信息(Producepicklist),按照收货地址派送顾客订购的书籍。
(4)用于销售的书籍由公司的采购人员(Buyer)进行采购(Reorderbooks)。采购人员每天从系统中获取库存量低于再次订购量的书籍信息,对这些书籍进行再次购买,以保证充足的库存量。新书籍到货时,采购人员向在线销售目录(Catalog)中添加新的书籍信息(Addbooks)。
(5)采购人员根据书籍的销售情况,对销量较低的书籍设置折扣或促销活动(Promotebooks)。
(6)当新书籍到货时,仓库管理员(Warehouseman)接收书籍,更新库存(Updatestock)。
现采用面向对象方法开发书籍销售系统,得到如图3-1所示的用例图和图3-2所示的初始类图(部分)。


【问题1】(6分)
根据说明中的描述,给出图3-1中A1?A3所对应的参与者名称和U1?U3处所对应的用例名称。
【问题2】(6分)
根据说明中的描述,给出图3-1中用例U3的用例描述。(用例描述中必须包括基本事件流和所有的备选事件流)。
【问题3】(3分)
根据说明中的描述,给出图3-2中C1?C3所对应的类名。
正确答案及解析
正确答案
解析
【问题1】(6分)
A1:采购人员或Buyer
A2:仓库管理员Warehouseman
A3:派送人员或Dispatcher
U1:注册或Registerdetail
U2:打印订单或Printorder
U3:购买书籍或Buybooks
【问题2】
U3用例描述
参与者顾客。
主要事件流:
1、顾客登录系统;
2、顾客浏览书籍信息;
3、系统检查某种书籍的库存量是否为0;
4、顾客选择所需购买的书籍及购买数量;
5、系统检查库存量是否足够;
6、系统显示验证验证界面;
7、顾客输入验证码验证;
8、系统自动生成订单;
备选事件流:
3a.若库存量为0则无法查询到该书籍信息,退回到2;
5a.若购买数量超过库存量,则提示库存不足,并退回到4;
7a.若验证错误,则提示验证错误,并退回到6;
8a.若顾客需要可以选择打印订单。
前置条件:
1、注册成功。
后置条件:
1、购买成功
【问题3】
C1:顾客或Customer
C2:订单或Order
C3:书籍或Books
【问题1】
(1)根据题干描述“用于销售的书籍由公司的采购人员(Buyer)进行采购(Reorderbooks)”,与采购(Reorderbooks)相关的参与者是采购人员(Buyer),因此A1为采购人员或Buyer;
(2)根据题干描述“当新书籍到货时,仓库管理员(Warehouseman)接收书籍,更新库存(Update stock)。”,与更新库存(Updatestock)相关的参与者是仓库管理员(Warehouseman),因此A2为仓库管理员或Warehouseman;
(3)根据题干描述“派送人员(Dispatcher)每天早晨从系统中获取当日的派送列表信息(Producepicklist)”,与Producepicklist相关的参与者是派送人员(Dispatcher),因此A3为派送人员或Dispatcher;
(4)根据题干描述“(1)首次使用系统时,顾客需要在系统中注册(Registerdetail)。顾客填写注册信息表要求的信息,包括姓名(name)、收货地址(address)、电子邮箱(email)等,系统将为其生成一个注册码。”这里有顾客相关用例注册(Registerdetail)。
根据题干描述“(2)注册成功的顾客可以登录系统在线购买书籍(Buybooks)。购买时可以浏览书籍信息,包括书名(title)、作者(author)、内容简介(introduction)等。如果某种书籍的库存量为0,那么顾客无法查询到该书籍的信息。顾客选择所需购买的书籍及购买数量(quantities),若购买数量超过库存量,提示库存不足;若购买数量小于库存量,系统将显示验证界面,要求顾客输入注册码。注册码验证正确后,自动生成订单(Order),否则,提示验证错误。如果顾客需要,可以选择打印订单(Printorder)。”这里有顾客相关用例在线购买书籍(Buybooks)、打印订单(Printorder),并且这里提到如果顾客需要,可以选择打印订单,可以知道打印订单(Printorder)是在线购买书籍(Buybooks)在某个条件下的扩展。打印订单(Printorder)是在线购买书籍(Buy books)的扩展,体现在图示当中,<<extend>>箭头指向基用例在线购买书籍(Buybooks)即U3,<<extend>>箭头流出端为扩展用例打印订单(Printorder)即U2,注意箭头指向的区别。
U1与其他用例没有相关关系,即U1为注册(Registerdetail)。
【问题2】
当用例图不能提供用例所具有的全部信息,需要使用文字描述那些不能反映在图形上的信息。用例描述是加上关于参与者和系统如何交互的规格说明,在编写用例描述的时候,应该只注重外部能力,不涉及内部细节。一般用例描述包括以下内容:
1.目的:简要描述系统的最终任务和结果。
2.事件流:
(1)说明用例是怎么启动的,那些参与者在什么情况下启动执行用例;
(2)说明参与者和用例之间的信息处理过程;
(3)说明用例在不同的条件下,可以选择执行的多种方案;
(4)说明用例在什么情况下才能被视作完成,完成时结果传给参与者;
基本流说明了参与者和系统之间的相互交互或对话的顺序,当这种交互完成后,参与者便实现了预期目的;可选流程也可以促进成功的完成任务,但他们代表了任务的细节或用于完成任务的途径的变化部分。
3.特殊要求:说明此用例的特殊要求。
4.前提条件:说明此例的前提条件。
5.后置条件:用例执行结束后,结果应该传给说明参与者。
本题用例描述可以大致概括为:
参与者顾客。
主要事件流:
1、顾客登录系统;
2、顾客浏览书籍信息;
3、系统检查某种书籍的库存量是否为0;
4、顾客选择所需购买的书籍及购买数量;
5、系统检查库存量是否足够;
6、系统显示验证界面;
7、顾客输入验证码验证;
8、系统自动生成订单。
备选事件流:
3a.若库存量为0则无法查询到该书籍信息,退回到2;
5a.若购买数量超过库存量,则提示库存不足,并退回到4;
7a.若验证错误,则提示验证错误,并退回到6;
8a.若顾客需要可以选择打印订单。
【由于本题用例给出的并不详细,没有给出登录用例等内容,所有描述都在购买书籍用例描述当中,所以这里也就没有给出前置条件和后置条件,将所有内容都放在了主要事件流当中。此处答案不唯一。】
【问题3】
(1)根据题干描述“顾客填写注册信息表要求的信息,包括姓名(name)、收货地址(address)、电子邮箱(email)等”,包含name、address、email属性的类应该是顾客,即C1:顾客或Customer;
(2)根据题干描述“购买时可以浏览书籍信息,包括书名(title)、作者(author)、内容简介(introduction)等”,包含title、author、introduction属性的类应该是书籍,即C3:书籍或Books;
(3)根据图示OrderedBook类即已订购的书籍类,与顾客相关的类,并且是已订购书籍的整体,所以C2应该是生成的订单,列出已订购书籍,并且与顾客有依赖关系,即C2:订单或Order。
包含此试题的试卷
你可能感兴趣的试题
E-mail地址由分隔符“()”分为前后两部分,分别指明用户名及邮件
-
- A.//
- B.\\
- C.@
- 查看答案
某 html 文档中有如下代码,则在浏览器中打开该文档时显示为( )。
<form>
Listl:
<input type="text" name="List1" />
<br / >
List2:
<input type="text" name="List 2 " />
< /form>

-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案
设有商品关系P(商品名,条形码,供应商号,价格,数量), “条形码”唯一标识关系P中的每一个元组,商品名不能为空,供应商号是关系P的外键。另有供应商关系S(供应商号,供应商名,地址,电话)。关系 P 中的商品名是唯一的。建立商品关系 P 的 SQL语句如下所示:
CREATE TABLE P( 商品名CHAR(30)( ),
条形码CHAR(30) ( ) ,
供应商号 CHAR(5) ,
价格 CHAR(20) ,
数量CHAR(20)
( )(供应商号) REFERENCES S(供应商号));
查询供应商及价格小于等于 2500 元且大于等于 1280 元的“电冰箱”的数量的SQL语句为:
SELECT商品名,供应商名,价格,数量
FROM P
WHERE商品名= ’电冰箱’ AND ( ) ;
将供应商号“12021”所供应的商品价格上涨3%的SQL语句为:
UPDATE P
( )
WHERE 供应商号= ’12021’;
查询供应商地址包含“西安”的供应商名及电话的SQL语句为:
SELECT供应商名,电话
FROM S
WHERE ( );
-
- A.NULL
- B.UNIQUE
- C.NOT NULL
- D.NOT NULL UNIQUE
- 查看答案
函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为( );若以传引用方式调用g,则函数f的返回值为( )。

-
- A.3
- B.4
- C.6
- D.7
- 查看答案


-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案