某图书公司欲开发一个基于Web的书籍销售系统,为顾客(Customer)提供在线

考试题库2022-08-02  59

问题 某图书公司欲开发一个基于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。
转载请注明原文地址:https://tihaiku.com/congyezige/2409595.html

最新回复(0)