试题三(共15分)2007-11阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。3.每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表3-1所示的类列表、如图3-1所示的初始类图以及如图3-2所示的描述播放器行为的UML状态图。表3-1类列表类名说明Artist艺术家Song歌曲Band乐队Musician歌手Track音轨Album唱片图3-1初始类图图3-2播放器行为UML状态图ACDFEB(1)(2)(3)(4)(5)(6)10..*10..*编写演奏【问题1】(3分)根据说明中的描述,使用表3-1给出的类的名称,给出图3-1中的A~F所对应的类。【问题2】(6分)根据说明中的描述,给出图3-1中(1)~(6)处的多重度。【问题3】(4分)图3-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。类多重度【问题4】(2分)根据图3-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。试题三[问题1]A:ArtistB:SongC:BandD:MusicianE:TrackF:Album[问题2](1)0..*(2)2..*(3)0..1(4)1..*(5)1..*(6)1[问题3]类多重度Track或E0..1Track或E0..1【问题4】按任意键,选择歌曲试题二(15分)2006-5阅读下列说明以及UML类图,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。[说明]某客户信息管理系统中保存着两类客户的信息:(1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和email)。(2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、email、办公电话以及职位。该系统除了可以保存客户信息之外,还具有以下功能:(1)向系统中添加客户(addCustomer);(2)根据给定的客户标识,在系统中查找该客户(getCustomer);(3)根据给定的客户标识,从系统中删除该客户(removeCustoner);(4)创建新的联系人(addContact);(5)在系统中查找指定的联系人(getContact);(6)从系统中删除指定的联系人(removeContact)。该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表2-1所示的类,表2-1类名说明CustomerlnformationSystem客户信息管理系统IndividualCustomer个人客户InstitutionalCustomer集团客户Contact联系人描述该客户信息管理系统的UML类图如图2-1所示。图2-1客户信息管理系统的UML类图[问题1](3分)请使用说明中的术语,给出图2-1中类Customer和类Person的属性。[问题2](6分)识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)。[问题3](6分)根据说明中的叙述,抽象出如表2-2所示的方法,请指出图2-1中的类CustomerlnformationSystem和InstitutionalCustomer应分别具有其中的哪些方法。表2-2功能描述方法名向系统中添加客户addCustomer根据给定的客户标识,在系统中查找该客户getCustomer根据给定的客户标识,从系统中删除该客户removeCustomer创建新的联系人addContact在系统中查找指定的联系人getContact从系统中删除指定的联系人removeContact试题二[问题1]Customer的属性:客户标识Person的属性:姓名、住宅电话、email[问题2](1)1(2)0..*(3)1(4)1(5)1(6)1..*[问题3]CustomerInformationSystem的方法:addCustomer,getCustomer,removeCustomer。InstitutionalCustomer的方法:addContact,getContact,removeContact。试题三(共15分)2006-11阅读以下说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]S公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容会有所不同。注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销(Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-1是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图3-2是发布促销的序列图。[问题1](6分)识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图3-1中的(1)~(6)。[问题2](4分)请从表3-1中选择方法,完成图3-2中的(7)~(10)。表3-1可选消息列表功能描述方法名向促销订单中添加所选的商品buyCommodities向促销中添加要促销的商品addCommodities查找某个促销的所有促销订单信息列表getPromotionOrders生成商品信息createCommodity查找某个分类中某商家的所有商品信息列表getCommodities生成促销信息createPromotion生成促销订单信息createPOrder查找某个分类的所有促销信息列表getCategoryPromotion查找某商家所销售的所有分类列表getCategories查找某个促销所涉及的所有商品信息列表getPromotionCommodities[问题3](5分)关联(Association)和聚集(Aggregation)是UML中两种非常重要的关系。请说明关联和聚集的关系,并说明其不同点。试题三[问题1](1)0..n(2)1(3)0..n(4)1..n(5)1(6)0..n[问题2](1)getCategories(2)getCommodities(3)createPromotion(4)addCommodities[问题3]关系:聚集(聚合)是关联的特例。不同点:聚集表示部分与整体关系的关联。