问答题
[说明]
S公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容也会有所不同。
注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息,并将该促销信息公布在网站上。
商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销活动,并选择具体的促销商品,输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。
系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图1是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图2是发布促销的序列图。
问答题
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图1中的(1)~(6)。
【正确答案】
【答案解析】(1)0..* (2)1 (3)0..*
(4)1..* (5)1 (6)0..*
问答题
请从下表中选择方法,完成图2中的(7)~(10)。
可选消息列表
|
|
功能描述
|
方法名
|
|
向促销订单中添加所选的商品
|
buyCommodities
|
|
向促销订单中添加要促销的商品
|
addCommodities
|
|
查找某个促销的所有促销订单信息列表
|
getPromotionOrders
|
|
生成商品信息
|
createCommodity
|
|
查找某个分类中某商家的所有商品信息列表
|
getCommodities
|
|
生成促销信息
|
createPromotion
|
|
生成促销订单信息
|
createPOrder
|
|
查找某个分类的所有促销信息列表
|
getCategoryPromotion
|
|
查找某商家所销售的所有分类列表
|
getCategories
|
|
查找某个促销所涉及的所有商品信息列表
|
getPromotionCommodities
|
【正确答案】
【答案解析】(7)getCategories (8)getCommodities
(9)creatPromotion (10)addCommodities
问答题
关联(Association)和聚集(Aggregation)是UML中两种非常重要的关系。请说明关联和聚集的关系,并说明其不同点。
【正确答案】
【答案解析】关系:聚集是关联的特例。
不同点:聚集表示部分与整体关系的关联;若从生命周期的角度考虑,则关联对象的生命周期一般无必然关系,聚集的整体对象往往对部分对象的生命周期负责。