UML第二章作业答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.UML如何表示类?类图标中可以指明哪些信息?

类是描述一类对象的特征和行为,类图包含一组、接口及他们之间的关联、依赖和泛化的关系。它不仅显示了信息的结构,同时还描述了系统对象的的行为。

2.什么是类的多重性(关联的基数)?多重性怎么表示?

多重性是对象之间关联的一个重要方面,它说明了在关联中的一个类的对象可以对应另一个类的多个对象。

主要包含一组上下限数,用来指出可被允许生成的实例(instance)数量,即最多可以生成多少数目(上限),最少不得低于多少数目(下限)。关联的两端以"下限..上限"的格式标示出多重性,如图2-12中的1..*。星号(*)代表无指定上限,下限最低为0。如果上下限数相同,标示出一个数目就可以了

3.两者对象之间能够以多种方式关联吗?

关联两边的"employee"和“employer”标示了两者之间的关系,而数字表示两者的关系的限制,是关联两者之间的多重性。通常有“*”(表示所有,不限),“1”(表示有且仅有一个),“0...”(表示0个或者多个),“0,1”(表示0个或者一个),“n...m”(表示n到m个都可以),“m...*”(表示至少m个)。在关联中有一种叫“限定关联”,还有一种谓之自身关联。另外,对象之间的关联就没那么复杂,只是将类的关联实例化而已

4.什么是约束?为什么要对类图附加注释?

约束用来约束MUL成员的语义。约束用举例在大括号内的条件来表示({contrraint}),可以直接放在图中,类图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互

5.聚集和组成之间有什么区别?

聚合关系完全是概念上的,只是区分了整体与组成部分,没有改变整体与其组成部分之间的关联导航的含义,也没有将整体与部分的生命周期联系起来。而组合是聚合的变种,整体与部分之间有很强的所有关系,也就是说,在组合关系中,一个对象一次只是一个组合的一部分,而在简单的聚合关系中,一个部分可以被好几个整体共享。

另外,在组合关系中,整体负责部分的创建和破坏,部分的生命周期是依附于整体的,要么和整体一起创建和破坏,要么在整体存在后创建或在整体破坏前破坏,总之它不能单独存在。

6.什么叫实现?实现和继承有何相似之处?两者又有何不同之处?

答:实现是类和它的接口之间的关系,可以说成是类实现了它的接口。相似之处:在于类可以使用它的接口中的操作,也可以操作从父类中继承操作。不同之处:类不能使用它的接口中的属性但可以继承父类中的属性。实现是对接口而言的,继承是对类而言的。

7.写出3种可见性的名称,并描述每一种可见性的含义。

答:public,protected,private及package。

8.包含用例是什么含义?扩展用例是什么含义?

包含(include):当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。include关系在用例图中使用带箭头的虚线表示,箭头从基用例指向子用例。

扩展(extend): extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。 extend关系在用例图中使用带箭头的虚线表示,箭头从子用例指向基用例。

9.如何可视化描述本章中学到的用例之间的两种关系—泛化和扩展?

泛化表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素扩展关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。 extend 关系在用例图中使用带箭头的虚线表示,箭头从子用例指向基用例。

10.类和用例之间有什么类似之处?又有哪些差异?

类是描述一类对象的特征和行为。用例表示软件系统的一项外部功能,他从用户的角度分析所得的需求。P26

11在系统模型中为什么要使用多种UML模型类?

UML是一种面向对象的建模语言。它的主要作用是帮助用户对软件进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。UML通过建立各种联系,如类与类之间的关系、类/对象怎样相互配合实现系统的行为状态等,来组建整个结构模型。UML提供了各种图形,比如用例图、类图、时序图、协作图和状态图等,来把这些模型元素及其关系可视化,让人们可以清楚容易地理解模型,可以从多个视角来考察模型,从而更加全面地了解模型。这样一个系统模型中就会使用多种UML图。

12哪种UML模型图给出系统的静态视图?哪种UML模型图提供了系统的动态视图(就是说,描述系统随时间所经历的变化)

类图类图展示了一组类、接口和协作及它们间的关系,在建模中所建立的最常见的图就是类图。用类图说明系统的静态设计视图,包含主动类的类图——专注于系统的静态进程视图。系统可有多个类图,单个类图仅表达了系统的一个方面。要在高层给出类的主要职责,在低层给出类的属性和操作。对象图对象图展示了一组对象及它们间的关系。用对象图说明类图中所反应的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面的因素外,它与类图作用是相同的

顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图

13 一个典型的用例图中有哪些组成部分?

用例图,类图, 对象图, 顺序图, 协作图, 状态图, 活动图, 组件图, 配置图

14一个用例包含(或者使用)了另一个用例是什么含义?

任何一个与系统发生相互作用的事物都可以表现为一个角色。角色可以是人也可以是物。一个用例定义了一组系统要做的有序的动作序列,并且这个动作序列要产生一个可观测的结果,返回给某一个特定的角色。单个执行者可与多个用例联系;反过来,一个用例可与多个执行者联系。对同一个用例而言,不同执行者有着不同的作用:他们可以从用例中取值,也可以参与到用例中。

15什么叫生命线?

当画一个序列图的时候,放置生命线符号元件,横跨图的顶部。生命线表示序列中,建模的角色或对象实例。1生命线画作一个方格,一条虚线从上而下,通过底部边界的中心(图 3)。生命线名字放置在方格里。

UML 的生命线命名标准按照如下格式:

16在一个序列图中,如何显示出“激活”?激活代表了什么含义?

激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程

在序列图中使用激活一个细长的矩形框表示,它表示顶端与激活时间对齐,而底端与完成时间对齐

17顺序子状态和并发子状态有什么区别?

1状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类的对象画状态图。状态图只是对单个对象建立模型。2事件和活动可以对状态转换线添加一些细节。可以指明引起转移发生的事件和引起状态变化所需执行的计算(活动)。添加的事件和活动写在转换线上,事件和活动名之间用"/"隔开。3防护:当满足这个防护条件时,转换才能发生。4嵌套状态。子状态以两种形式出现:顺序子状态和并发子状态。并发状态之间用虚线隔开

18给出同步消息和异步消息的定义?

相关文档
最新文档