UML考点复习

简述软件危机产生的原因和可能的解决方案。

软件危机产生原因: 随着软件规模的扩大,复杂性的增加,功能的增强,使用早期的自由软件开发方式使得高质量的软件开发变得越来越困难。

解决方案: 应用软件工程,用工程化的思想去指导软件开发。

软件工程的目标有哪些?

使软件开发的成本能够控制在预计的合理范围内;

使软件产品的各项功能和性能都能够满足用户需求;

提高软件产品的质量;

提高软件产品的可靠性;

使生产出来的软件产品易于移植、维护、升级和使用;

使软件产品的开发周期能够控制在预计的合理时间范围内。

什么是面向对象方法?简述其优势。

面向对象方法就是主张从客观世界固有的事物出发来构建系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域,也就是说,系统中的对象以及对象之间的关系能够如实地反映问题域中固有事物及其关系。

优势: 更符合人类的思维习惯; 需求的变化不会导致系统结构大的改变; 复用性; 改善软件结构; 增强扩展性; 支持迭代式开发等。

简述对象、类、抽象、封装、泛化与多态的概念。

对象: 一个具有状态、行为和标识符的实体,并且对象之间往往可以通过通信互相交互。

类: 拥有共同的结构、行为和语义的一组对象的抽象。

抽象: 揭示一个事物区别于其他事物的本质特征,去除从某一个角度看来不重要的细节的行为。

封装: 对其客户隐藏对象的属性和实现细节,仅对外公开接口,并控制在程序中属性的读和修改的访问级别。

泛化: 类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。

多态: 在同一接口下表现多种行为的能力,是面向对象技术的根本特征。

什么是模型?为什么为软件系统建模非常重要?

模型是用某种媒介对相同媒介或其他媒介里的一些事物的表现形式。

建模对一个系统的作用包括:

捕获和精确表达项目的需求和应用领域的知识,以使全部涉众能够理解并达成一致;

完成系统设计;

分离需求与具体实现细节;

帮助生成有用的工作产品;

方便研究多种解决方案;

全面把握复杂的系统。

简述建模的几点基本原理。

第一,选择创建什么模型对如何解决问题和如何形成相应解决方案意义深远。

第二,可以在不同的层次级别上表示不同模型。

第三,最好的模型总是与现实世界联系密切。

第四,单个模型或视图是不充分的。

了解UML的历史,并谈谈统一建模语言出现的意义。

UML的出现可以帮助开发团队以一种可视化的方式理解系统的功能需求。

UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效地消除了各种建模语言之间不必要的差异。

UML建模能力比其他面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。

使用UML使硬件组件和软件组件之间将会有更大的透明度。

便携性和综合效率将会增加。

简述UML的应用范围。

UML最广泛的应用是对软件系统进行建模,但它同样适用于许多非软件系统领域的系统。当UML应用于大多数软件系统的开发过程时,它从需求分析阶段到系统完成后的测试阶段都能起到重要作用。

简述UML中的四种事物的含义和作用。

UML中的四种事物包括结构事物、行为事物、分组事物和注释事物。

结构事物通常作为UML模型的静态部分,用于描述概念元素或物理元素。

行为事物是UML模型的动态部分,用于描述UML模型中的动态元素,主要为静态元素之间产生的时间和空间上的行为动作,类似于句子中动词的作用。

分组事物是UML模型的组织部分,是用来组织系统设计的事物。

注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素,简言之,就是对UML中元素的注释。

简述UML中四种基本关系的含义和作用。

UML中的四中关系包括关联关系、依赖关系、泛化关系和实现关系。

关联关系用来描述不同类元的实例之间的连接。它是一种结构化的关系,指一种对象和另一种对象之间存在联系,即“从一个对象可以访问另一个对象”。

依赖关系用来描述一对模型元素之间的内在联系(语义关系)。

泛化关系类似于面向对象方法中的继承关系,是从特殊到一般的一种归纳和分类关系。

实现关系是用来描述规格说明和其实现的元素之间的连接的一种关系。其中规格说明定义了行为的说明,真正的实现由后一个模型元素来完成。

简述“4+1”视图中五种视图的作用。

“4+1”视图包括逻辑视图、开发视图、进程视图、物理视图和场景视图。

逻辑视图将系统功能进行分解,负责反映出系统内部是如何组织和协作来实现功能的。

开发视图主要用来描述软件的各个模块的组织方式,包括源程序、程序包、支持软件、第三方库等。

进程视图主要描述系统的运行特性,侧重系统的性能和稳定性,关心系统的并发性、分布性、集成性的好坏,主要关注进程、线程、对象,并发、同步、通信等运行时概念。

物理视图主要描述硬件配置,强调系统的安装、配置、通信、拓扑结构等问题。

场景视图从项目需求入手,将四个视图结合为一个整体。可以描述一个特定视图内的构件关系,也可以描述不同视图间的构件关系。

什么是用例图?用例图有什么作用?

用例图是表示一个系统中用例与参与者关系之间的图。

它描述了系统中相关的用户和系统对不同用户提供的功能和服务。

用例图对系统的动态方面建模,是对系统、子系统和类的行为进行建模的核心。

用例图就相当于从用户的视角来描述和建模整个系统,分析系统的功能与行为。

用例图通过呈现元素在语境中如何被使用的外部视图,使得系统、子系统和类等概念更加易于探讨和理解。

简述用例图的一般建模流程。

用例图可以用来对系统的语境建模与对系统的需求建模。

对系统的语境建模,需要遵循如下策略:

识别系统边界; 识别参与者; 用泛化关系组织参与者; 对参与者应用构造型; 描述参与者与用例间的关系。

对系统的需求建模,需要遵循如下策略:

识别参与者; 考虑行为或交互; 将行为提炼为用例; 分解完善其他用例; 将元素关系组织为用例图; 添加注释或约束。

用例和用例之间存在什么关系,分别在什么时候使用?

用例之间的关系包括泛化关系和依赖关系。 用例间的泛化关系用来表示一般用例与特殊用例间的关系。

用例间最常见的两种依赖关系为包含与扩展。包含指的是基用例可以包含用例具有的行为,其中包含用例中定义的行为将被插入基用例定义的行为中。扩展指的是扩展用例对基用例行为的增强。在这一关系中,扩展用例包含了一个或多个片段,每个片段都可以插入到基用例中的一个单独的位置上,而基用例对于扩展的存在是毫不知情的。

什么是用例描述?用例描述包括哪些主要部分?

用例描述即通过使用足够清楚的、便于理解的文字来描述一个事件流,进而来说明一个用例的行为。一般的用例描述主要包括用例名称、用例编号、参与者、用例描述、触发器、前置条件、基本事件流、扩展事件流、结论、后置条件、补充约束。

什么是类图?

类图是显示一组类、接口、协作以及它们之间关系的图。

简述类图的组成部分。

类图由类、接口以及类图中的关系组成。类图中的关系包括了四种UML关系: 关联关系、依赖关系、泛化关系和实现关系。

简述类和类之间的关系,说明它们分别用来描述什么情况。

类图中的关系包括关联关系、依赖关系、泛化关系和实现关系。

关联关系是两个或多个类元之间的关系,它描述了这些类元的实例间的连接。

泛化关系定义为一个较普通的元素与一个较特殊的元素之间的类元关系。

依赖关系表示的是两个元素之间语义上的连接关系。

实现关系用来表示规格说明与实现之间的关系。

什么是实体类、控制类和边界类?

边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。

控制类是一种对一个或多个用例所特有的控制行为进行建模的类。

实体类是用于对必须存储的信息和相关行为建模的类。

简述什么是对象图。

对象图显示了某一时刻的一组对象及它们之间的关系。对象图可以看作是类图的实例,用来表达各个对象在某一时刻的状态。

简述对象图的组成元素。

对象图主要由对象和链组成。对象是类的实例,链是两个或多个对象之间的独立连接。

试简要说明使用对象图时要注意哪些要点。

注重于表达系统静态设计视图或静态交互视图的一个方面;

表示由一个交互图描绘的动态场景的一个画面;

只包含对理解该方面不可缺少的那些元素;

提供与它的抽象层次相一致的细节,应该只显露出对理解是不可缺少的那些属性值和其他修饰;

不要过分地简化,这样会使读者对重要的语义产生误解。

什么是包图?简述包图的组成部分。

包图是用来描述模型中的包和所包含元素的组织方式的图,是维护和控制系统总体结构的重要内容。

包图的主要组成元素是包。包是用于把模型本身组织成层次结构的通用机制。

包图中的主要关系为依赖关系,最主要的依赖关系为引入关系。引入指的是允许一个包(客户包)中的元素可以自由访问另一个包(提供者包)中的公有元素。

什么是模型的组织结构?它的作用是什么?

使用包图对成组的元素建模,可以遵循以下策略: 将接近的元素分组; 将分组的元素组织到包内; 确定包内元素的可见性; 添加引入关系。

什么是顺序图?顺序图有哪些组成部分?

顺序图是按时间顺序显示对象交互的图。它显示了参与交互的对象和所交换信息的先后顺序,用来表示用例中的行为,并将这些行为建模成信息交换。

顺序图的主要组成元素包括对象及生命线、激活和消息。

## 顺序图中的消息分为哪些?

顺序图中的消息包括简单消息以及产生动作的消息(调用、返回、创建、销毁)。根据消息的并发性来区分,消息可以分为同步消息和异步消息两种。

顺序图中对象的创建和销毁操作怎样表现?

一个对象可以在交互中创建。如果一个对象是在交互中创建的,则该对象的生命线就从接收到一个标有构造型<>的创建消息之时开始。

一个对象可以在交互中销毁。如果一个对象是在交互中销毁的,则该对象的生命线就从接收到一个标有构造型<>的销毁消息之时终止。对象销毁的标志是在其生命线的端部标上一个“×”。

一个对象可以由其他的对象发送<>消息予以销毁,也可以自己销毁。

## ## 简述顺序图的建模方法。

使用顺序图的最常见的目的是对刻画整个系统的行为的控制流建模。

按时间顺序对控制流建模,要遵循以下策略:

设置交互的语境;

设置交互的场景;

为对象设置生命线;

按时间顺序排列消息;

设置激活期;

附加时间和空间约束;

设置前置与后置条件。

## 什么是通信图?简要说明通信图的作用。

通信图是表现对象协作关系的图,它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链、发送的消息来显示参与交互的对象。

通信图的主要作用包括

通过描绘对象之间消息的传递情况来反映具体使用语境的逻辑表达;

显示对象及其交互关系的空间组织结构;

表达一个操作的实现。

简述通信图的组成部分。

通信图的主要组成部分包括对象、链和消息。

简述通信图和顺序图的异同。

共同点: 主要元素相同; 表达语义相同; 对象责任相同。

不同点: 通信图偏重于将对象的交互映射到连接它们的链上,而顺序图却不表示对象之间的链,而是偏重描述交互中消息传递的逻辑顺序。因此通信图更适用于展示系统中的对象结构,而顺序图则擅长表现交互中消息的顺序。顺序图可以显式地表现出对象创建与撤销的过程,而在通信图中,只能通过消息的描述隐式地表现这一点。顺序图还可以表示对象的激活情况,而对于通信图来说,由于缺少表示时间的信息,除了对消息进行解释,无法清晰地表示对象的激活情况。

## 什么是状态机?什么是状态机图?

状态机是一种行为,它说明对象在其生命周期中响应事件所经历的状态变化序列以及对那些事件的响应。 状态机图是一个展示状态机的图。状态机图基本上就是一个状态机中元素的投影,这也就意味着状态机图包括状态机的所有特征。状态机图显示了一个对象如何根据当前状态对不同事件做出反应的动态行为。

## 简述状态机图的组成要素。

状态机图的主要元素是状态,各状态由转移连接在一起。此外,伪状态和复合状态也是其组成元素。

## 简述简单状态和复合状态的不同。

简单状态都是不包含嵌套子结构的; 而复合状态是指包含有一个或多个嵌套状态机的状态。

简述非正交复合状态和正交复合状态的区别。

非正交复合状态是仅包含一个状态机的复合状态。当非正交复合状态被激活时,只有一个子状态会被激活。它只增加了一层子结构,没有增加额外的并发性。 正交复合状态将复合状态分成若干个正交区域,每个区域都有一个相对独立的子状态机。如果该正交复合状态是激活的,那么该状态中每个区域都将有一个状态是激活的。

## 简述状态机图的建模方法。

状态机图主要用来为对象的生命周期建模。建模过程可以遵循以下策略: 确定状态机的语境; 设置状态机的初态和终态; 决定该对象的状态机中可能需要响应的事件; 列出顶层状态; 使用转移连接状态; 识别状态的入口动作和出口动作; 进行状态嵌套; 检查状态机。

## 简述活动图和普通流程图的异同。

事实上活动图是在流程图的基础上添加了大量软件工程术语而成的改进版。具体地说,活动图的表达能力包括了逻辑判断、分支甚至并发,所以活动图的表达能力要远高于流程图: 流程图仅仅展示一个固定的过程,而活动图可以展示并发和控制分支,并且可以对活动与活动之间信息的流动进行建模。可以说,活动图在表达流程的基础上继承了一部分协作图的特点,即可以适当表达活动之间的关系。

## 简述判断节点的流出条件的制定原则。

判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。这些导出流规定了对于这个判断所有可能的离开路径,而系统根据判断结果满足哪一条件来判断应该进入哪一个活动。因为一个非并发的活动不可能同时进入两个动作,所以判断条件之间应当各自独立、互不交叉。

## ## 谈谈活动图中使用泳道的意义。

泳道是将活动中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。

## 简述活动图的建模技术。

活动图用于对系统的动态方面建模,这些动态方面可涉及系统体系结构的任意视图中任何类型抽象的活动,这些抽象类型包括类、接口、组件等。

当使用活动图对系统的某些动态方面建模时,事实上可以在任意建模元素的语境中这样做。但通常是在整个系统、子系统、操作或类的语境中使用活动图。还可以把活动图附在用例(对脚本建模)和协作(为对象群体的动态方面建模)上。

在使用活动图对一个系统的动态方面建模时,通常有两种使用活动图的方式:对工作流建模和对操作建模。

## 什么是组件图?简述组件图的作用。

组件图即是用来描述组件与组件之间关系的一种UML图。组件图在宏观层面上显示了构成系统某一个特定方面的实现结构。

组件图在面向对象设计过程中起着非常重要的作用: 它明确了系统设计,降低了沟通成本,而且按照面向对象方法进行设计的系统和子系统通常保证了低耦合度,提高了可重用性。可以说组件图是设计一个系统时不可或缺的工具。

## 简述组件图中出现的各个元素及其作用。

组件图中主要包含三种元素,即组件、接口和端口。组件是设计和实现一个软件系统时的一个模块化部分,在宏观上作为一个有指定功能的整体被关联和使用。组件图通过这些元素描述了系统的各个组件及之间的依赖关系,还有组件的接口及调用关系。此外,组件图还可以使用包来进行组织,使用注释与约束来进行解释和限定。

## 什么是组件的供给接口与需求接口?

对于一个组件而言,它有两类接口: 供给接口与需求接口。供给接口是组件为其他组件提供服务的操作的集合。需求接口是组件向其他组件请求相应服务时要遵循的接口。

组件的内部结构在组件图中如何表示?

组件图使用部件表示组件的内部结构。部件是组件的实现单元。在大多数情况下,部件实际上是较小的组件的实例,它们静态地连接在一起,通过端口提供必要的行为而不需要建模者额外地描述逻辑。

## 什么是部署图?试述该图的作用。

部署图是一种展示运行时进行处理的节点和在节点上存在的制品的配置的图。部署图它阐述了在实际应用中软件和它的运行环境(这里主要指运行该软件的硬件环境)的关系,并且描述了软件部署在硬件上的具体方式。 部署图对嵌入式系统、C/S架构系统、B/S架构系统和分布式系统的建模具有重要的作用。

## 简述处理器和设备的异同。

处理器是一些具有计算能力的节点,并且一般可以运行软件。而设备指的是一些不具有计算能力的节点,它们可能作为一些输入输出设备或者本身是处理器的外部连接设备。

## 为什么要将处理器和设备分开处理?谈谈你的理解。

既然我们把节点这些硬件资源纳入考虑当中,就必然少不了要从其特性出发来分析它们的运行时特性,如运算速度、内存大小等问题,因为这些问题可能是最终限制软件性能,或者强化软件运行效率的关键参数。这些节点的附加特性UML没有进行预定义,因此需要使用构造型或标记值自行创建。

## 简述部署图的建模方法。

部署图的意义在于对各种系统的静态部署视图进行建模。使用部署图对系统建模,可以遵循以下步骤: 将设备建模为节点; 使用构造型对不同种类的节点进行限制说明; 在节点之间建立关系; 添加注释和约束。

自测

简述软件危机产生的原因和可能的解决方案。

软件工程的目标有哪些?

什么是面向对象方法?简述其优势。

简述对象、类、抽象、封装、泛化与多态的概念。

什么是模型?为什么为软件系统建模非常重要?

简述建模的几点基本原理。

了解UML的历史,并谈谈统一建模语言出现的意义。

简述UML的应用范围。

简述UML中的四种事物的含义和作用。

简述UML中四种基本关系的含义和作用。

简述“4+1”视图中五种视图的作用。

什么是用例图?用例图有什么作用?

简述用例图的一般建模流程。

用例和用例之间存在什么关系,分别在什么时候使用?

什么是用例描述?用例描述包括哪些主要部分?

## 什么是类图?

类图是显示一组类、接口、协作以及它们之间关系的图。

简述类图的组成部分。

类图由类、接口以及类图中的关系组成。类图中的关系包括了四种UML关系: 关联关系、依赖关系、泛化关系和实现关系。

## 简述类和类之间的关系,说明它们分别用来描述什么情况。

类图中的关系包括关联关系、依赖关系、泛化关系和实现关系。

关联关系是两个或多个类元之间的关系,它描述了这些类元的实例间的连接。

泛化关系定义为一个较普通的元素与一个较特殊的元素之间的类元关系。

依赖关系表示的是两个元素之间语义上的连接关系。

实现关系用来表示规格说明与实现之间的关系。

## 什么是实体类、控制类和边界类?

边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。

控制类是一种对一个或多个用例所特有的控制行为进行建模的类。

实体类是用于对必须存储的信息和相关行为建模的类。

## 简述什么是对象图。

对象图显示了某一时刻的一组对象及它们之间的关系。对象图可以看作是类图的实例,用来表达各个对象在某一时刻的状态。

## 简述对象图的组成元素。

对象图主要由对象和链组成。对象是类的实例,链是两个或多个对象之间的独立连接。

试简要说明使用对象图时要注意哪些要点。

注重于表达系统静态设计视图或静态交互视图的一个方面;

表示由一个交互图描绘的动态场景的一个画面;

只包含对理解该方面不可缺少的那些元素;

提供与它的抽象层次相一致的细节,应该只显露出对理解是不可缺少的那些属性值和其他修饰;

不要过分地简化,这样会使读者对重要的语义产生误解。

## 什么是包图?简述包图的组成部分。

包图是用来描述模型中的包和所包含元素的组织方式的图,是维护和控制系统总体结构的重要内容。

包图的主要组成元素是包。包是用于把模型本身组织成层次结构的通用机制。

包图中的主要关系为依赖关系,最主要的依赖关系为引入关系。引入指的是允许一个包(客户包)中的元素可以自由访问另一个包(提供者包)中的公有元素。

## 什么是模型的组织结构?它的作用是什么?

使用包图对成组的元素建模,可以遵循以下策略: 将接近的元素分组; 将分组的元素组织到包内; 确定包内元素的可见性; 添加引入关系。

## 什么是顺序图?顺序图有哪些组成部分?

顺序图是按时间顺序显示对象交互的图。它显示了参与交互的对象和所交换信息的先后顺序,用来表示用例中的行为,并将这些行为建模成信息交换。顺序图的主要组成元素包括对象及生命线、激活和消息。

顺序图中的消息分为哪些?

顺序图中的消息包括简单消息以及产生动作的消息(调用、返回、创建、销毁)。根据消息的并发性来区分,消息可以分为同步消息和异步消息两种。

## 顺序图中对象的创建和销毁操作怎样表现?

一个对象可以在交互中创建。如果一个对象是在交互中创建的,则该对象的生命线就从接收到一个标有构造型<>的创建消息之时开始。

一个对象可以在交互中销毁。如果一个对象是在交互中销毁的,则该对象的生命线就从接收到一个标有构造型<>的销毁消息之时终止。对象销毁的标志是在其生命线的端部标上一个“×”。

一个对象可以由其他的对象发送<>消息予以销毁,也可以自己销毁。

## 简述顺序图的建模方法。

使用顺序图的最常见的目的是对刻画整个系统的行为的控制流建模。按时间顺序对控制流建模,要遵循以下策略: 设置交互的语境; 设置交互的场景; 为对象设置生命线; 按时间顺序排列消息; 设置激活期; 附加时间和空间约束; 设置前置与后置条件。

## 什么是通信图?简要说明通信图的作用。

通信图是表现对象协作关系的图,它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链、发送的消息来显示参与交互的对象。 通信图的主要作用包括通过描绘对象之间消息的传递情况来反映具体使用语境的逻辑表达; 显示对象及其交互关系的空间组织结构; 表达一个操作的实现。

## 简述通信图的组成部分。

通信图的主要组成部分包括对象、链和消息。

## 简述通信图和顺序图的异同。

共同点: 主要元素相同; 表达语义相同; 对象责任相同。 不同点: 通信图偏重于将对象的交互映射到连接它们的链上,而顺序图却不表示对象之间的链,而是偏重描述交互中消息传递的逻辑顺序。因此通信图更适用于展示系统中的对象结构,而顺序图则擅长表现交互中消息的顺序。顺序图可以显式地表现出对象创建与撤销的过程,而在通信图中,只能通过消息的描述隐式地表现这一点。顺序图还可以表示对象的激活情况,而对于通信图来说,由于缺少表示时间的信息,除了对消息进行解释,无法清晰地表示对象的激活情况。

## 什么是状态机?什么是状态机图?

状态机是一种行为,它说明对象在其生命周期中响应事件所经历的状态变化序列以及对那些事件的响应。 状态机图是一个展示状态机的图。状态机图基本上就是一个状态机中元素的投影,这也就意味着状态机图包括状态机的所有特征。状态机图显示了一个对象如何根据当前状态对不同事件做出反应的动态行为。

简述状态机图的组成要素。

状态机图的主要元素是状态,各状态由转移连接在一起。此外,伪状态和复合状态也是其组成元素。

简述简单状态和复合状态的不同。

简单状态都是不包含嵌套子结构的; 而复合状态是指包含有一个或多个嵌套状态机的状态。

## 简述非正交复合状态和正交复合状态的区别。

非正交复合状态是仅包含一个状态机的复合状态。当非正交复合状态被激活时,只有一个子状态会被激活。它只增加了一层子结构,没有增加额外的并发性。 正交复合状态将复合状态分成若干个正交区域,每个区域都有一个相对独立的子状态机。如果该正交复合状态是激活的,那么该状态中每个区域都将有一个状态是激活的。

## 简述状态机图的建模方法。

状态机图主要用来为对象的生命周期建模。建模过程可以遵循以下策略: 确定状态机的语境; 设置状态机的初态和终态; 决定该对象的状态机中可能需要响应的事件; 列出顶层状态; 使用转移连接状态; 识别状态的入口动作和出口动作; 进行状态嵌套; 检查状态机。

## 简述活动图和普通流程图的异同。

事实上活动图是在流程图的基础上添加了大量软件工程术语而成的改进版。具体地说,活动图的表达能力包括了逻辑判断、分支甚至并发,所以活动图的表达能力要远高于流程图: 流程图仅仅展示一个固定的过程,而活动图可以展示并发和控制分支,并且可以对活动与活动之间信息的流动进行建模。可以说,活动图在表达流程的基础上继承了一部分协作图的特点,即可以适当表达活动之间的关系。

## 简述判断节点的流出条件的制定原则。

判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。这些导出流规定了对于这个判断所有可能的离开路径,而系统根据判断结果满足哪一条件来判断应该进入哪一个活动。因为一个非并发的活动不可能同时进入两个动作,所以判断条件之间应当各自独立、互不交叉。

## 谈谈活动图中使用泳道的意义。

泳道是将活动中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。

## 简述活动图的建模技术。

活动图用于对系统的动态方面建模,这些动态方面可涉及系统体系结构的任意视图中任何类型抽象的活动,这些抽象类型包括类、接口、组件等。

当使用活动图对系统的某些动态方面建模时,事实上可以在任意建模元素的语境中这样做。但通常是在整个系统、子系统、操作或类的语境中使用活动图。还可以把活动图附在用例(对脚本建模)和协作(为对象群体的动态方面建模)上。

在使用活动图对一个系统的动态方面建模时,通常有两种使用活动图的方式:对工作流建模和对操作建模。

## 什么是组件图?简述组件图的作用。

组件图即是用来描述组件与组件之间关系的一种UML图。组件图在宏观层面上显示了构成系统某一个特定方面的实现结构。

组件图在面向对象设计过程中起着非常重要的作用: 它明确了系统设计,降低了沟通成本,而且按照面向对象方法进行设计的系统和子系统通常保证了低耦合度,提高了可重用性。可以说组件图是设计一个系统时不可或缺的工具。

## 简述组件图中出现的各个元素及其作用。

组件图中主要包含三种元素,即组件、接口和端口。组件是设计和实现一个软件系统时的一个模块化部分,在宏观上作为一个有指定功能的整体被关联和使用。组件图通过这些元素描述了系统的各个组件及之间的依赖关系,还有组件的接口及调用关系。此外,组件图还可以使用包来进行组织,使用注释与约束来进行解释和限定。

## 什么是组件的供给接口与需求接口?

对于一个组件而言,它有两类接口: 供给接口与需求接口。供给接口是组件为其他组件提供服务的操作的集合。需求接口是组件向其他组件请求相应服务时要遵循的接口。

## 组件的内部结构在组件图中如何表示?

组件图使用部件表示组件的内部结构。部件是组件的实现单元。在大多数情况下,部件实际上是较小的组件的实例,它们静态地连接在一起,通过端口提供必要的行为而不需要建模者额外地描述逻辑。

## 什么是部署图?试述该图的作用。

部署图是一种展示运行时进行处理的节点和在节点上存在的制品的配置的图。部署图它阐述了在实际应用中软件和它的运行环境(这里主要指运行该软件的硬件环境)的关系,并且描述了软件部署在硬件上的具体方式。 部署图对嵌入式系统、C/S架构系统、B/S架构系统和分布式系统的建模具有重要的作用。

## ## 简述处理器和设备的异同。

处理器是一些具有计算能力的节点,并且一般可以运行软件。而设备指的是一些不具有计算能力的节点,它们可能作为一些输入输出设备或者本身是处理器的外部连接设备。

为什么要将处理器和设备分开处理?谈谈你的理解。

既然我们把节点这些硬件资源纳入考虑当中,就必然少不了要从其特性出发来分析它们的运行时特性,如运算速度、内存大小等问题,因为这些问题可能是最终限制软件性能,或者强化软件运行效率的关键参数。这些节点的附加特性UML没有进行预定义,因此需要使用构造型或标记值自行创建。

简述部署图的建模方法。

部署图的意义在于对各种系统的静态部署视图进行建模。使用部署图对系统建模,可以遵循以下步骤: 将设备建模为节点; 使用构造型对不同种类的节点进行限制说明; 在节点之间建立关系; 添加注释和约束。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值