当前位置:文档之家› UML第二章作业答案

UML第二章作业答案

UML第二章作业答案
UML第二章作业答案

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给出同步消息和异步消息的定义?

同步消息:同步意味着阻塞和等待,如果对象A给对象B发送一个消息,对象A会等待对象B执行完这个消息,接着才进行自身的工作;

异步消息:异步意味着非阻塞,如果对象A给对象B发送一个消息,对象A不必等待对象B执行完这个消息,就可以接着进行自身的工作。

19被创建的新对象在顺序图中如何表示?

顺序图(也称序列图)是一种交互图(Interaction Diagram,用于描述执行系统功能的各个角色之间相互传递消息的顺序关系,显示跨越多个对象的系统控制流程),强调的是时间和消息的次序,用来说明系统的动态情况,顺序图由参与者、对象、对象生命线和消息组成。一个顺序图显示了一系列的对象(通常是类的实例,也可以代表其他事物的实例,例如协作、组件和节点)和在这些对象之间发送和接收的消息。

20在协作图中如何表示一个消息?

与顺序图一样,协作图也是一种交互图,用于描述对象之间的协作关系,其模型元素与序列图的基本相同,但它侧重于描述对象之间是如何相互连接的,强调的是发送和接收消息的对象之间的组织结构。顺序图着重体现对象间消息传递的时间顺序,协作图着重于哪些对象间有消息传递,表达了对象之间的静态连接关系。顺序图和协作图是同构的,它们相互之间可以转化而不损失信息,依靠工具协作图和顺序图可互相转换。

21.在协作图中如何表示消息的时间顺序?

协作图中的消息用带有消息标签的箭头表示,附在连接发送者的定义,整数表示过程调用中相邻高层中的消息顺序21.在协作图中如何表示消息的时间顺序?

协作图中的消息用带有消息标签的箭头表示,附在连接发送者的定义,整数表示过程调用中相邻高层中的消息顺序。

协作图中的消息类型说明交互过程中消息的时间顺序,需要给消息添加顺序号。

顺序号是消息的一个数字前缀,是一个整数,由1开始递增,每个消息都必须由唯一的顺序号。可以通过点表示法代表控制的嵌套关系。

嵌套可以具有任意深度。与时序图相比,协作图可以显示更为复杂的分支。

22.在协作图中如何表示状态变化?

在图中重复画出标注了不同的状态的同一对象的图标。这样的两个图标之间用带箭头的虚线连接起来,并在虚线上使用构造型《become》来表示对象状态的变化。

23两种类型的图“语义等价”是什么含义?

指利用计算机使不同的自然语言之间的翻译变得方便。这种程序包含一系列规则用于分析拚法...为使机器翻译可以被接受,事先还需要做大量的人工编辑,至于在语言应用比较艺术的领域,进展就很少。其困难,相对于信息的存储和检索来讲更多的是在于不能提供充分的句法分析。......

24.条件判定有哪两中表示法?

UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。25.序列图消息发送和接收如何表示?

序列图描述对象是如何交互的,并且将重点放在消息顺序上,也就是说,描述消息如何在对象间发送和接受。

26.状态图在那些重要方面与类图、对象图或者用例图有所不同?

状态图显示出了对象可能的状态以及由状态改变而导致的转移。

类图通过显示出系统的类以及这些类之间的关系来表示系统。类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响。

对象图用来表示类的实例。他们在解释复杂关系的细小问题时(特别是递归关系时)很有用。用例图描述了作为一个外部的观察者的视角对系统的印象。强调这个系统是什么而不是这个系统怎么工作。27.叙述下列术语的定义:转移、事件和动作。

转移是两个状态之间、两个活动之间或一个活动和一个状态之间的关系。事件是一个在时间和空间上都占据一事实上位置的有意义事件的规约,它能指示状态之间的转移的条件,一个事件的发生能触发状态的转移。动作是由对象的操作和属性组成,也可以由事件说明中的参数组成,在一个状态中允许有多个动作,动作说明当事件发生时产生了什么行为。

28.组件有哪些3中类型?组件和它的接口之间是什么关系?

组件类型有:工作产品组件和执行组件。

组件和接口之间的关系也叫做实现。外部只能通过组件的接口来使用组件中定义的操作。组件可以让它的接口被其他的组件使用,以便其他组件可以使用该组件中定义的操作。也就是说,提供服务的组件提供了输出接口,访问服务的组件使用了输入接口。

29.部署图中节点如何表示?节点有哪两种类型?节点中可以出现哪些信息?

节点是定义运行时的物理对象的类,它一般用于对执行处理或计算机的资源建模。

两种类型:处理器(Processor):这是能够执行软件构件,具有计算能力的节点;设备(Device):没有计算能力的节点,这些设备通常是通过其接口为外界提供某种服务,比如打印机,扫描仪等。

节点包含两方面的内容:(1)能力:如计算能力,存储能力等;(2)位置,部署的位置。

30.为什么UML的扩展能力很重要?UML提供了哪些扩展机制?

因为UML 提供了几种扩展机制,允许建模者在不用改变基本建模语言的情况下做一些通用的扩展。这些扩展机制已经被设计好,以便于在不需理解全部语义的情况下就可以存储和使用。由于这个原因,扩展可以作为字符串存储和使用。对不支持扩展机制的工具来说,扩展只是一个字符串,它可以作为模型的一部分被导入、存储,还可以被传递到其他工具。我们期望后端工具设计成能够处理各种扩展,这些工具会为它们需要理解的扩展定义特定的语法和语义。

UML提供了:Extensibility Mechanisms这种扩展机制。

相关主题
文本预览
相关文档 最新文档