《软件设计师UML分析与设计(一).pdf》由会员分享,可在线阅读,更多相关《软件设计师UML分析与设计(一).pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 模拟 软件设计师UML分析与设计(一)填空题阅读下列说明和图,回答问题1 至问题 3,将解答填入对应栏内。说明 某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司 A开发一套信息管理系统,该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。A公司决定采用面向对象的分析和设计方法开发此系统。如图 19-1 所示为某类图书或唱碟被借阅时应记录的信息,图 19-2 描述了系统定义的两个类Book和 CD,分别表示图书和唱碟的信息。第 1 题:经过进一步分析,设计人员决定定义一个类Items_on_loan,以表示类 Book和CD的共有属性和方法。请采用图19-2
2、 中属性和方法的名称给出类Items_on_loan 应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如类 CD中的 composer 与类 Book中的 author 无任何关系。)_ 参考答案:属性:title 方法:Reference title 详细解答:第 2 题:为了记录每种图书或唱碟的历史记录,引入类CirculationHistory,类中存储的信息是图 19-1 中所表示的内容。请采用UML 表示法将下列 4 个类间的关系表示出来。参考答案:2 详细解答:第 3 题:现需了解十大最畅销(借出次数最多)图书或唱碟,为此引入TenPopulate 类以存储所有十
3、大畅销图书或CD的名称及其被借出的次数。顺序图19-3 描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有(1)个 TenPopulate 实例对象最合适,一个TenPopulate 类实例对象最多需要和(2)个 Items_on_loan 实例对象交互。参考答案:1;图书和唱碟种类数详细解答:阅读下列说明及 UML 类图,回答问题1 至问题 3,将解答填入对应栏内。说明 某客户信息管理系统中保存着两类客户的信息。(1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。(2)集团客户。集团客户
4、可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话及职位。该系统除了可以保存客户信息之外,还具有以下功能。向系统中添加客户(addCustomer);根据给定的客户标识,在系统中查找该客户(getCustomer);根据给定的客户标识,从系统中删除该客户(removeCustomer);创建新的联系人(addContact);在系统中查找指定的联系人(getContact);从系统中删除指定的联系人(removeContact)。该系统采用面向对象方法进行开发。在面向对象分析阶
5、段,根据上述描述,得到如表 19-1 所示的类。第 4 题:请使用说明中的术语,给出图19-4 中类 Customer 和类 Person 的属性。3 _ 参考答案:Customer 的属性:客户标识;Person 的属性:姓名、住宅电话、E-mail。详细解答:第 5 题:识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)(6)。_ 参考答案:(1)1 (2)0.*(3)1 (4)1 (5)1 (6)1.*详细解答:第 6 题:根据说明中的叙述,抽象出如表19-2 所示的方法,请指出图19-4 中的类CustomerInformationSystem和
6、 InstitutionalCustomer应分别具有其中的哪些方法。参考答案:CustomerInformationSystem的 方 法:AddCustomer、getCustotmer、removeCustomer:InstitutionalCustomer的方法:addContact、getContact、removeContact。详细解答:阅读以下说明和图,回答问题1 至问题 3,将解答填入对应栏内。说明 S 公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S 公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商
7、品的分类(Category)不同,促销的方式和内容会有所不同。注册商家可发布促销信息。商家首先要在自己所销售的商品分类中,选择促销涉及的某一具体分类,然后选出该分类的一种或多种商品(一种商品仅仅4 属于一种分类);接着制定出一个比较优惠的折扣政策和促销活动的优惠时间;最后由系统生成促销信息并将该促销信息公布在网站上。商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销(Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统
8、,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图 19-5 是该系统类图中的一部分;系统的动态行为采用UML序列图表示,图 19-6 是发布促销序列图。第 7 题:识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图 19-5 中的(1)(6)。_ 参考答案:(1)0.*或 1.*(2)1(3)0.*(4)1.*(5)1 (6)0.*详细解答:第 8 题:请从表 19-3 中选择方法,完成图19-6 中的(7)(10)。参考答案:(7)getCate
9、gories(8)getCommodities(9)createPromotion (10)addCommodities 详细解答:第 9 题:关联(Association)和聚集(Aggregation)是 UML 中两种非常重要的关系。请说明关联和聚集的关系,并说明其不同点。_ 5 参考答案:关系:聚集(聚合)是关联的特例。不同点:聚集表示部分与整体关系的关联;若从生命周期的角度考虑,则关联对象的生命周期一般无必然关系,聚集的整体对象往往对部分对象的生命周期负责。详细解答:阅读下列说明和图,回答问题1 至问题 3,将解答填入对应栏内。说明 某图书管理系统的主要功能如下。(1)图书管理系统的
10、资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。(2)资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或者磁带)。(3)读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统
11、的类。表19-4 给出了说明中出现的所有名词。通过对表 19-4 中的名词进行分析,最终得到了如图 19-7 所示的 UML 类图(类的说明如表 19-5 所示)。第 10 题:表 19-5 所给出的类并不完整,根据说明和表19-4,将图 19-7 中的(a)(c)处补充完整。_ 参考答案:(a)资源目录(b)图书(c)唱片注:(b)和(c)的答案可以互换。详细解答:第 11 题:根据说明中的描述,给出图19-7 中的类 CatalogItem 以及(b)、(c)处所对应的类的关键属性(使用表 19-4 中给出的词汇)。其中,CatalogItem 有 4 个关键属性;(b)、(c)处对应的类
12、各有 2 个关键属性。_ 6 参考答案:Catalogltem的属性:索引号、名称、出版时间、资源状态;图书的属性:作者、页数;唱片的属性:演唱者、介质类型。详细解答:第 12 题:识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图 19-7 中的(1)(6)。_ 参考答案:(1)1 (2)0.*(3)1 (4)0.*(5)1 (6)1或者 0.1 详细解答:阅读下列说明和图,回答问题1 至问题 4,将解答填入对应栏内。说明 已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。关于唱片,还有
13、以下描述信息。(1)每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这3 部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一个由2 名或 2 名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。(2)每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。(3)每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。根据上述描述
14、,采用面向对象方法对其进行分析与设计,得到了如表 19-6 所示的类列表、如图19-8 所示的初始类图,以及如图19-9 所示的描述播放器行为的 UML 状态图。第 13 题:根据说明中的描述,使用表19-6 中所示的类名称,给出图19-8 中 AF 所对应的类。_ 参考答案:7 A:Artist B:Song C:Band D:Musician E:Track F:Album 详细解答:第 14 题:根据说明中的描述,给出图19-8 中(1)(6)处的多重度。_ 参考答案:(1)0.*(2)2.*(3)0.1(4)1.*(5)1.*(6)1 详细解答:第 15 题:图 19-8 中缺少了一条
15、关联,请指出这条关联两端所对应的类以及每一端的多重度。_ 参考答案:详细解答:第 16 题:根据图 19-9 所示的播放器行为的UML 状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。_ 参考答案:按任意键,选择歌曲详细解答:阅读下列说明和图,回答问题1 至问题 4,将解答填入对应栏内。说明 某汽车停车场欲建立一个信息系统,已经调查到的需求如下:(1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示意图如图19-10 所示。8(2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡
16、后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。(3)在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。(4)当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。(5)系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许停车场内汽车出
17、场。根据上述描述,采用面向对象方法对其进行分析与没计,得到了如表 19-7 所示的类/用例/状态列表、如图 19-11 所示的用例图、如图19-12 所示的初始类图,以及如图 19-13 所示的描述入口自动栏杆行为的UML 状态图。第 17 题:根据说明中的描述,使用表19-7 中所示的用例名称,给出图19-11 中 U1、U2和 U3所对应的用例。_ 参考答案:U1:Car entry U2:Car exit U3:Car entry when full 详细解答:第 18 题:根据说明中的描述,使用表19-7 中所示的类名称,给出图19-12 中 AD所对应的类。_ 参考答案:A:CarP
18、ark B:Barrier C:EntryBarrier D:ExitBarrier 其中,C、D的答案可以互换。详细解答:第 19 题:根据说明中的描述,使用表19-7 中所示的状态名称,给出图19-13 中 S1S4所对应的状态。_ 9 参考答案:S1:Idle S2:Await Ticket Take S3:Await Enable S4:Await Entry 详细解答:第 20 题:简要解释图 19-11 中用例 U1和 U3之间的 extend 关系的内涵。_ 参考答案:用例之间的延伸关系用于对被用户看作是可选系统行为的用例的一部分建模。通过这种方式,可以把可选行为从必需的行为中分离出来。详细解答: