文档库 最新最全的文档下载
当前位置:文档库 › UML

UML

主题:UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

https://www.wendangku.net/doc/5418976887.html,/topic/632059

继承

指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;

实现

指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字 implements明确标识,在设计时一般没有争议性;

依赖

可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B

作为参数被类A在某个method方法中使用;

关联

他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;

聚合

聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a 的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

组合

组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;

对于继承、实现这两种关系没多少疑问,他们体现的是一种类与类、或者类与接口间的纵向关系;其他的四者关系则体现的是类与类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准备定位是很难的,前面也提到,这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;但总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖;

主题:类与类关系的UML图与代码表现

类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。

类与类之间存在以下关系:

(1)泛化(Generalization)

(2)关联(Association)

(3)依赖(Dependency)

(4)聚合(Aggregation)

UML图与应用代码例子:

1.泛化(Generalization)

[泛化]

表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。

[具体表现]

父类父类实例=new 子类()

[UML图](图1.1)

图1.1Animal类与Tiger类,Dog类的泛化关系

[代码表现]

1.class Animal{}

2.class Tiger extends Animal{}

3.public class Test

4.{

5. public void test()

6. {

7. Animal a=new Tiger();

8. }

9.}

2.依赖(Dependency)

[依赖]

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

[具体表现]

依赖关系表现在局部变量,方法的参数,以及对静态方法的调用

[现实例子]

比如说你要去拧螺丝,你是不是要借助(也就是依赖)螺丝刀(Screwdriver)来帮助你完成拧螺丝(screw)的工作

[UML表现](图1.2)

图1.2 Person类与Screwdriver类的依赖关系

[代码表现]

1.public class Person{

2. /** 拧螺丝 */

3. public void screw(Screwdriver screwdriver){

4. screwdriver.screw();

5. }

6.}

3.关联(Association)

[关联]

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。

[具体表现]

关联关系是使用实例变量来实现

[现实例子]

比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司

[UML图] (图1.3)

图1.3 公司和员工的关联关系

[代码表现]

1.public class Company{

2. private Employee employee;

3. public Employee getEmployee(){

4. return employee;

5. }

6. public void setEmployee(Employee employee){

7. this.employee=employee;

8. }

9. //公司运作

10. public void run(){

11. employee.startWorking();

12. }

13.}

(4)聚合(Aggregation)

[聚合]

当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚集关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

[具体表现]

与关联关系一样,聚合关系也是通过实例变量来实现这样关系的。关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。

[关联与聚合的区别]

(1)关联关系所涉及的两个对象是处在同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是由自行车组成的。

聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。

(2)对于具有聚集关系(尤其是强聚集关系)的两个对象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。比如张三的电脑被偷了,

那么电脑的所有组件也不存在了,除非张三事先把一些电脑的组件(比如硬盘和内存)拆了下来。

[UML图](图1.4)

图1.3 电脑和组件的聚合关系

[代码表现]

1.public class Computer{

2. private CPU cpu;

3. public CPU getCPU(){

4. return cpu;

5. }

6. public void setCPU(CPU cpu){

7. this.cpu=cpu;

8. }

9. //开启电脑

10. public void start(){

11. //cpu运作

12. cpu.run();

13. }

14.}

主题:UML用例图之泛化(generalization)、扩展(extend)和包含(include)关

系--UML一波流系列讲解

在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。

基本概念

用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指导测试。

用例图的4个基本组件:参与者(Actor)、用例(Use Case)、关系(Relationship)和系统。

泛化(generalization):泛化关系是一种继承关系,子用例将继承基用例的所有行为,关系和通信关系,也就是说在任何使用基用例的地方都可以用子用例来代替。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向基用例。

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

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

实例需求场景

联通客户响应OSS。系统有故障单、业务开通、资源核查、割接、业务重保、网络品质性能等功能模块。现在我们抽出部分需求做为例子讲解。

需求1:客户响应用户和国际客服可以进行割接通知查询,在页面上有骨干割接查询、省间割接查询、省级割接查询的Tab。

分析:可以很容易看出割接查询和不同的割接子查询Tab之间是继承的关系,所以此处用泛化。用户和客户响应、国际客服也是继承的Actor关系。

需求2:客户响应用户和国际客服可以查看某条割接通知信息,可以在页面上导出割接信息Excel格式,可以查询和该条割接相关联的故障单信息。

分析:因为导出割接和查看相关联的故障单信息都是可选的,就是说我查看割接的时候,也可以不进行这些操作,所以这里用extend关系。也就是导出割接和查看故障单信息扩展了查看割接信息。

需求3:客户响应用户可以以网管系统为来源创建割接通知,在创建割接通知时可以保存为草稿,也可以直接发布割接通知。

分析:由于创建割接通知时,发布割接通知可以同时进行,也可以先存为草稿,所以发布割接是可选的,用extend就比较合适。也就是发布割接扩展了创建割接通知。

需求4:用户在进行业务开通、发布割接通知、发布重保通知及相关跨省的业务时需要进行数据分发。

分析:由于业务开通、重保、割接及其它跨省的业务都需要用到数据分发用例,我们可以将数据分发用例单独抽出来,供各业务使用,这里用include就比较合适。实际的系统中数据分发也是单独抽出来用jms和webservice实现的接口服务。

其它需求:可以看到删除割接通知和查看割接明细也可以做为割接通知查询用例的扩展,因查询列表时,一般可以选择继续查看明细或者删除操作。但在实际化图中,这两个extend

可以不画,这里只是为了让大家理解概念。

用例图:大家可以参照着图,好好理解。

加深理解

我们再用另外一个场景的用例说明一下include和extend,因为就这两个玩意比较容易搞混。销户:因为销户必需先进行账户结算,所以这里用include

停机提醒:有两个可选项,短信提醒和邮件提醒,所以用extend.

经过以上的分析,相信大家对三种关系已经有比较好的理解了。大家有什么其它想法或好的见解,欢迎拍砖。

PS:以上用例图用Enterprise Architect 7.5所画,在此推荐一下EA,非常不错。可以替代Visio 和Rose了。Visio功能不够强大,Rose太重。唯有EA比较合适。

eclipse画UML类图 (1)

MDT/UML2/Getting Started with UML2 < MDT?| UML2 Copyright ? 2004, 2014 International Business Machines Corp., CEA, and others. Contents [hide] 1 Summary 2 Prerequisites 3 Introduction 4 Getting Started 5 Creating Models 6 Creating Packages 7 Creating Primitive Types 8 Creating Enumerations 9 Creating Enumeration Literals 10 Creating Classes 11 Creating Generalizations 12 Creating Attributes 13 Creating Associations 14 Saving Models 15 Conclusion 16 References Summary This article describes how to get started with the UML2 plug-ins for Eclipse. In particular, it gives an overview of how to create models (and their contents) both programmatically and by using the sample UML editor. Kenn Hussey and James Bruck Last Updated: January 21, 2014 Prerequisites To start using UML2 (and to follow along with the example in this article), you must have Eclipse, EMF, and UML2 installed. You can

软件工程与UML期末试题及答案

软件工程与U M L建模复习题B 一:单选题 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.正式运行系统后能够产生的收益被称为 A).直接效益B).运营效益C).最佳效益D).启动效益 7.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的 A).问题定义B).可行性研究C).需求分析D).设计 8.在处理过程定义中,有时存在多重嵌套的情况,对于复杂的条件组合问题,用自然语言往往不能直观、清楚地表述处理的过程,因此,常常使用方法。 A).数据字典B).判定表和判定树C).用例图D).螺旋模型 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问

题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

UML图中的几种图简介

UML图中的几种图简介(时序图,协作图,状态图,活动图,对象图) 1、时序图: 时序图用于描述对象之间的传递消息的时间顺序,即用例的行为顺序。当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.在UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列. 时序图中的基本概念: 对象:时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的. 生命线:生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线. 消息:两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息. 激活:时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息.在UML中,对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化. 对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放 置“X”符号 2、活动图: 在UML 中, 活动图本质上就是流程图. 它用于描述系统的活 动, 判定点和分支等. 活动图的基本概念: 动作状态:原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变.在UML 中动作状态用圆角矩形表示, 动作状态所表示的动作写在圆角矩形内部. 分支与合并:分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和

UML中类图的符号解释

在UML的定义中,描述类和对象之间的关系,包括以下几种方式:依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization)。现分别说明如下: 1. 依赖(Dependency) 在uml中,“依赖”表示为带箭头的虚线,箭头指向被依赖的元素。是类与类之间的连接,表示为一个类依赖于另一个类的定义,其中一个类的变化将影响另一个类。依赖总是单向的,不应该存在双向依赖,这一点要特别注意。更具体的说,依赖可以理解为:一个类(A)对不在其实例作用域内的另一个类或对象(B)的任何类型的引用。大致包含以下几种情况: (1)局部变量; (2)方法的参数; (3)静态方法的调用; 下面是依赖关系的uml示意图: 2. 关联(Association) 在uml中,关联表示为带箭头的实线。关联可以是单向的,也可以是双向的。如果是双向关联,则可以表示为双向箭头,或者没有箭头。一般来说,系统设计应表现为单向关联,这样利于维护。一个关联可以附加“多重性”的修饰符,表示两个类之间的数量关系。关联可以理解为:一个类(A)持有另一个类或对象(B)。具体表现为: (1)成员变量

下面是关联关系的uml示例图: 上面的关联表示,一个Employee持有(has)0个或多个TimeCard。 3. 聚合(Aggregation) 在uml中,聚合关系表示为空心的菱形箭头线。聚合关系是关联关系的一种,表示一种“强”关联关系。对比与关联关系,两个类是处于同一个层次的。而聚合关系,两个类处于不同的层次,强调了一个整体/局部的关系。例如一辆汽车有一个引擎,4个轮胎。 在聚合关系中,体现了一种“弱拥有”的概念。也就是说,对象A拥有对象B,但B并不是A的组成部分。更具体的表现为,如果A由B聚合而成,则A包含B的全局对象,但B对象可以不在A对象创建时创建。回到前面的例子,汽车对象由轮胎对象聚合而成,但是轮胎对象的生命期并不受汽车对象的左右。当汽车对象销毁时,轮胎对象也可以单独存在! 下面是聚合关系的uml示意图:

UML期末考卷一份(有答案)

考试时间年月日(120分钟) 课程UML 请将答案填写在答题纸上!不要在考卷上作答! 一、单选题(每小题只有一个正确选项,每小题2分,共30分) 1.执行者(Actor)与用例之间的关系是() (A)包含关系(B)泛化关系(C)关联关系(D)扩展关系2 .在类图中,下面哪个符号表示继承关系() 3.在类图中,“#”表示的可见性是() (A)Public (B)Protected (C)Private (D)Package 4.下面那个类图的表示是正确的() 5.下面哪个符号代表部署图的节点() 6.生命线是UML视图中哪个图形的组成部分() (A)类图(B)状态图(C)活动图(D)顺序图 7.在类图中,那种关系表达总体与局部的关系() (A)泛化(B)实现(C)依赖(D)聚合 8.下面哪个图形代表活动() 9.下面哪个UML视图是描述一个对象的生命周期的() (A)类图(B)状态图(C)协作图(D)顺序图 10.下面哪个视图属于UML语言的交互图() (A)行为图(B)状态图(C)实现图(D)顺序图 11.下面哪个符号代表包图() 12.在UML协作图中,有多少种关联角色的构造型() (A)1 (B)3 (C)5 (D)7 13.在类图中,哪种关系表达总体与局部的关系() (A)泛化(B)实现(C)依赖(D)聚合 14.在类图中,“#”表示的可见性是() (A)Public (B)Protected (C)Private (D)Package 15.下面哪个符号表示注释() 二、多选题(每小题有一个或多个选项,每小题2分,共10分) 1.下面哪些图形可以清楚地表达并发行为() (A)类图(B)状态体(C)活动图(D)顺序图 2.下面哪些元素构成了组件图形() (A)组件(B)转换(C)关系(D)接口 3.部署图中的节点具有以下哪些方面的内容() (A)计算能力(B)基本内存(C)位置(D)接口 4.顺序图的用途包括() (A)显示并发进程和激活 (B)当不同的类之间存在多个简短的方法时,描述控制流的整体序列 (C)显示在协作图中难于描述的事件序列 (D)显示涉及类交互而与对象无关的一般形式 5.常见的UML工具有哪些?() (A)Rational Rose (B)Power Designer (C)Visio (D)Visual UML 三、填空题(每空2分,共30分) 1. UML中有多种关系,请标出图示是哪种关系: (B) (A) (C) (D) (B) (A) (C) (D) (B) (A) (C) (D) (B) (A) (C) (D) Student Student name : String age : Student getName () getAge () Student Name : String Age: intInteger getName () getAge () (B) (A) (C) (D) (B) (A) (C) (D)

UML类图的各符号含义

UML类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形。由这些基本的图形进行组合构成了类图的基本符号。这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程 度。越向右耦合度越高。 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系。实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示 组合的关系。 另外一点是在看类图的时候要注意。类图的思想其实也还没有脱离面向对象的思想,以某个类为中心,有些线是射入的而有些线是射出的。射入的线表示的是这个类被哪些类所调用而射出的线则表示该类调用了哪些类,包括泛化,关联,依赖,聚合和组合四种关系。这类似于离散数学中有关图部分的描述。 1. 类(Class):使用三层矩形框表示。 第一层显示类的名称,如果是抽象类,则就用斜体显示。 第二层是字段和属性。 第三层是类的方法。 注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。 2. 接口:使用两层矩形框表示,与类图的区别主要是顶端有<>显示。 第一行是接口名称。 第二行是接口方法。 3. 继承类(extends):用空心三角形+实线来表示。 4. 实现接口(implements):用空心三角形+虚线来表示 5. 关联(Association):用实线箭头来表示,例如:燕子与气候 6. 聚合(Aggregation):用空心的菱形+实线箭头来表示 聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如: 公司和员工 组合(Composition):用实心的菱形+实线箭头来表示 组合:部分和整体的关系,并且生命周期是相同的。例如:人与手 7. 依赖(Dependency):用虚线箭头来表示,例如:动物与氧气 8. 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类 可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。

UML期末考试题(必考)

一、选择 1.UML 的全称是 ( ) (A )Unify Modeling Language (B )Unified Modeling Language (C )Unified Modem Language (D )Unified Making Language 2.参与者(Actor )与用例之间的关系是( ) (A )包含关系(B )泛化关系(C )关联关系 (D )扩展关系 3.在类图中,下面哪个符号表示继承关系( ) (B) (A) (C) (D) 4.下面哪个视图属于UML 语言的交互图( ) (A )行为图 (B )状态图 (C )实现图 (D )顺序图 5. 在类图中,下面哪个符号表示实现关系( ) (B) (A) (C) (D) 6.下面哪个图形代表活动( ) 7.UML 中关联的多重度是指 ( ) (A )一个类有多个方法被另一个类调用 (B )一个类的实类能够与另一个类的多个实类相关联 (C )一个类的某个方法被另一个类调用的次数 (D )两个类所具有的相同的方法和属性 8.下面哪个不是UML 中的静态视图( ) (A)状态图 (B)用例图 (C)对象图 (D)类图 9.( )技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 (A)泳道 (B)分叉汇合 (C)分支 (D)转移 10.下列关于状态图的说法中,正确的是( ) (A) 状态图是UML 中对系统的静态方面进行建模的图之一。 (B) 状态图是活动图的一个特例,状态图中的多数状态是活动状态 (C) 活动图和状态图是对对象的生命周期进行建模,描述对象随时间变化的行为。 (D) 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模 11.类图应该画在Rose 的哪种( )视图中。 (A)Use Case View (B)Logic View (C)Component View (D)Deployment View 12.顺序图由类角色,生命线,激活期和( )组成 (A)关系 (B)消息 (C)用例 (D)实体 13.关于通信图的描述,下列哪个不正确( ) (A)通信图作为一种交互图,强调的是参加交互的对象的组织; (B)通信图是顺序图的一种特例 (C)通信图中有消息流的顺序号;

UML各种图详解

UML用例图 用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块。展示了一个外部用户能够观察到的系统功能模型图。 用例图中涉及的关系: 1》泛化(Inheritance) 就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用 例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。 2》包含(Include) 包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。 3》扩展(Extend) 扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

包含(include)、扩展(extend)、泛化(Inheritance)的区别: 条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的; 直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include 中被包含的用例为参与者提供间接服务。 对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内 容。 对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的 关系; UML类图 类名:如果是抽象类,则采用斜体(继承用实线)

'. 1》接口的表示: 一个类和一个接口不同:一个类可以有它形态的真实实例,然而一个接口必须至少有一 个类来实现它。在 UML 2 中,一个接口被认为是类建模元素的特殊化。因此,接口就象类 那样绘制,但是长方形的顶部区域也有文本“interface”。 2》UML 支持的可见性类型的标志 标志可见性类型 +Public #proteted -private ~package 3》多重值和它们的表示 可能的多重值描述 表示含义 0..1 0个或1个 1只能1个 0..*0个或多个 * 0个或多个 1..*1个或多个 3只能3个 0..50到5个 5..15 5到15个

ROSE画图--UML类图关系大全

UML类图关系大全(ROSE画图) 1、关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。 使用ROSE 生成的代码是这样的: class C1 ...{ public: C2* theC2; }; class C2 ...{ public: C1* theC1; };

双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。 单向关联: C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。 生成代码如下: class C3 ...{ public: C4* theC4; }; class C4 ...{ }; 单向关联的代码就表现为C3有C4的指针,而C4对C3一无所知。

自身关联(反身关联): 自己引用自己,带着一个自己的引用。 代码如下: class C14 ...{ public: C14* theC14; }; 就是在自己的内部有着一个自身的引用。 2、聚合/组合 当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。 聚合:表示C9聚合C10,但是C10可以离开C9而独立存在(独立存在的意思是在某个应用的问题域中这个类的存在有意义。这句话怎么解,请看下面组合里的解释)。

UML期末考试试题与答案解析

UML期末考试试题与答案解析 一、选择题: 1.UML中关联的多重度就是指(B) A.一个类有多个方法被另一个类调用 B.一个类的实类能够与另一个类的多个实类相关联 C.一个类的某个方法被另一个类调用的次数 D.两个类所具有的相同的方法与属性 2.已知三个类A、B与C、其中类A由类B的一个实类与类C的1个或多个实类构成、 请画出能够正确表示类A,B与C之间关系的UML类图、 3在某个信息系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类与“订单”类。对应每个“订单”类的实例,存在___(46)_B__“客户”类的实例;对应每个“客户”类的实例,存在___(47)D___个“订单”类的实例。 供选择的答案: (1)A、0个 B、1个C、1个或多个 D、0个或多个 (2)A、0个 B、1个 C、1个或多个 D、0个或多个 4、 UML中的交互图有两种,分别就是顺序图与协作图,请分析一下两者之间的主要差别与各自的优缺点。掌握利用两种图进行的设计的方法。 答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的就是交互的时间顺序,而协作图强调的就是交互的语境与参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。 顺序图可以清晰地表示消息之间的顺序与时间关系,但需要较多的水平方向的空间。 协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。 14、什么就是对象间的可见性? 答:可见性(Visibility)指的就是一个对象能够“瞧到”或者引用另一个对象的能力。 5、UML提供了一系列的图支持面向对象的分析与设计,其中____(1)___给出系统的静态设计视图;___(2)____对系统的行为进行组织与建模就是非常重要的;____(3)___与____(4)___都就是描述系统动态视图的交互图,其中___(3)___描述了以时间顺序组织的对象之间的交互活动,___(4)____强调收发消息的对象的组织结构。 A、状态图 B、用例图 C、序列图 D、部署图 E、协作图 F、类图 答案:(1)F (2)B (3)C (4)E 6、在UML提供的图中,___(1)___用于描述系统与外部系统及用户之间的交互;__(2)___用于按时间顺序描述对象间的交互。

uml期末考试题A卷及答案

考试时间 年 月 日(90分钟) 课程 UML 请将答案填写在答题纸上!不要在考卷上作答! 一、单选题 1.执行者(Actor )与用例之间的关系是( ) (A )包含关系 (B )泛化关系 (C )关联关系 (D )扩展关系 2 .在类图中,下面哪个符号表示继承关系( ) 3.在类图中,“ #”表示的可见性是( ) (A )Public (B )Protected (C )Private (D )Package 4.下面那个类图的表示是正确的( ) 5.下面哪个符号代表部署图的节点( ) 6.生命线是UML 视图中哪个图形的组成部分( ) (A )类图 (B )状态图 (C )活动图 (D )顺序图 7.在类图中,那种关系表达总体与局部的关系( ) (A )泛化 (B )实现 (C )依赖 (D )聚合 8.下面哪个图形代表活动( ) (B) (A) (C) (D) (B) (A) (C) (D) Student Student name : String age : Student getName () getAge () Student Name : String Age: intInteger getName () getAge () (B) (A) (C) (D) (B) (A) (C) (D)

9.下面哪个UML 视图是描述一个对象的生命周期的( ) (A )类图 (B )状态图 (C )协作图 (D )顺序图 10.下面哪个视图属于UML 语言的交互图( ) (A )行为图 (B )状态图 (C )实现图 (D )顺序图 11.下面哪个符号代表包图( ) 12.在UML 协作图中,有多少种关联角色的构造型( ) (A )1 (B )3 (C )5 (D )7 13.在类图中,哪种关系表达总体与局部的关系( ) (A )泛化 (B )实现 (C )依赖 (D )聚合 14.在类图中,“ #”表示的可见性是( ) (A )Public (B )Protected (C )Private (D )Package 15.下面哪个符号表示注释( ) 二、多选题 1.下面哪些图形可以清楚地表达并发行为( ) (A )类图 (B )状态图 (C )活动图 (D )顺序图 2.下面哪些元素构成了组件图形( ) (A )组件 (B )转换 (C )关系 (D )接口 3.部署图中的节点具有以下哪些方面的内容( ) (A )计算能力 (B )基本内存 (C )位置 (D )接口 4.顺序图的用途包括( ) (A )显示并发进程和激活 (B )当不同的类之间存在多个简短的方法时,描述控制流的整体序列 (C )显示在协作图中难于描述的事件序列 (D )显示涉及类交互而与对象无关的一般形式 5.常见的UML 工具有哪些?( ) (A )Rational Rose (B )Power Designer (C )Visio (D )Visual UML (B) (A) (C) (D) (B) (A) (C) (D)

UML类图各符号含义

UML类图各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形。由这些基本的图形进行组合构成了类图的基本符号。这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程 度。越向右耦合度越高。 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系。实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示 组合的关系。 另外一点是在看类图的时候要注意。类图的思想其实也还没有脱离面向对象的思想,以某个类为中心,有些线是射入的而有些线是射出的。射入的线表示的是这个类被哪些类所调用而射出的线则表示该类调用了哪些类,包括泛化,关联,依赖,聚合和组合四种关系。这类似于离散数学中有关图部分的描述。 1. 类(Class):使用三层矩形框表示。 第一层显示类的名称,如果是抽象类,则就用斜体显示。 第二层是字段和属性。 第三层是类的方法。 注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。 2. 接口:使用两层矩形框表示,与类图的区别主要是顶端有<>显示。 第一行是接口名称。 第二行是接口方法。 3. 继承类(extends):用空心三角形+实线来表示。 4. 实现接口(implements):用空心三角形+虚线来表示 5. 关联(Association):用实线箭头来表示,例如:燕子与气候 6. 聚合(Aggregation):用空心的菱形+实线箭头来表示 聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如: 公司和员工 组合(Composition):用实心的菱形+实线箭头来表示 组合:部分和整体的关系,并且生命周期是相同的。例如:人与手 7. 依赖(Dependency):用虚线箭头来表示,例如:动物与氧气 8. 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类 可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。

uml期末深刻复习

第一章 1、UML(Unified Modeling Langeage)是一种可视化的建模语言,提供了一种标准的、易于理解的方式描述系统的实现过程,从而实现了用户与设计者之间的有效交流。 2、定义系统的物理元素,用于描述事物的静态特征,包括类、接口、协作、用例、主动类、组件和节点。 3、行为建模元素包括哪些? 反映事物之间的交互过程和状态变化,包括交互图和状态图。 4、组织建模元素包括哪些? 子系统、模型、包、框架等。 5、关系元素包括哪些? 关联、泛化、组成、实现、聚集、依赖、约束 6、对于UML的描述,错误的是(A、C)。 A:UML是一种面向对象的设计工具。 B:UML不是一种程序设计语言,而是一种建模语言。 C:UML不是一种建模语言规格说明,而是一种表示的标准。 D:UML不是过程,也不是方法,但允许任何过程和方法使用它。 7、从系统外部用户角度看,用于描述系统功能集合的UML图是用例视图。 8、对如下的用例图的功能进行简单描述。 Buy Goods 8、在UML中,描述父类与子类之间关系的是泛化关系。 9、“交通工具”类与“汽车”类之间的关系属于(D)。 A:关联关系 B:聚集关系

C:依赖关系 D:泛化关系 第二章 1、从软件工程的角度,软件开发可分为:需求分析、系统分析、设计、实现、测试5个阶段。 2、用UML进行建模时会涉及9种图,Rose 2003只支持其中的8种,还有一种图只能用别的图来代替。这个不能在Rose中直接表示的图是(C)。 A:顺序图 B:用例图 C:对象图 D:构件图 3、应用题:Rose分别用哪些图描述系统的静态和动态方面? 静态:用例图、类图、构件图、部署图; 动态:状态图、协作图、顺序图、活动图。 4、默认情况下,Rose模型文件的扩展名为(A)。 A:.mdl B:.ptl C:.cat D:.sub 5、关于浏览窗口的描述,正确的是(A、B、C、D)。 A:可视化地显示模型中所有元素的层次结构 B:具有托放功能,通过模型元素的托放操作可以方便地改变一个模型的特征 C:在浏览器中的模型元素发生变化时,可以自动更新模型中的相关元素 D:只有在浏览窗口中才能把模型元素从模型中永久删除 6、Rose是什么的缩写?

UML各种图画法总结

一.用例图 用例模型是把应满足用户需求的基本功能(集) 聚合起来表示的强大工具。 用例模型的基本组成部件是用例角色和系统。 引入用例的主要目的是: 确定系统应具备哪些功能这些功能是否满足系统的需求开发者与用户协商达成共识的东西 为系统的功能提供清晰一致的描述,以便为后续的开发工作打下良好的交流基础,方便开发人员传递需求的功能 为系统验证工作打下基础通过验证最终实现的系统能够执行的功能是否与最初需求的功能相一致保证系统的实用性 从需求的功能用例出发提供跟踪进入系统中具体实现的类和方法检查其是否正确的能力特别是为复杂系统建模时常用用例模型构造系统的简化版本(也就是精化系统的变化和扩展能力使系统不要过于复杂)然后利用该用例模型跟踪对系统的设计和实现有影响的用例简化版本构造正确之后通过扩展完成复杂系统的建模 图示用例图时既要画出三种模型元素,同时还要画出元素之间的各种关系(通用化关联依赖) 用例代表的是一个完整的功能。 如何发现用例 实际上从识别角色起发现用例的过程就已经已开始了对于已识别的角色通过询问下列问题就可发现用例 ●角色需要从系统中获得哪种功能角色需要做什么 ●角色需要读取产生删除修改或存储系统中的某种信息吗 ●系统中发生的事件需要通知角色吗或者角色需要通知系统某件事吗这 些事件功能能干些什么 ●如果用系统的新功能处理角色的日常工作是简单化了还是提高了工作效 率 ●还有一些与当前角色可能无关的问题也能帮助建模者发现用例例如 ●系统需要的输入/输出是什么信息这些输入/输出信息从哪儿来到哪儿去 ●系统当前的这种实现方法要解决的问题是什么也许是用自动系统代替手 工操作 UML 中的用例 UML 中的用例用椭圆形表示用例的名字写在椭圆的内部或下方用例位于系统边界的内部 角色与用例之间的关联关系或通信关联关系用一条直线表示

UML类图符号简介

UML类图符号简介 1. 类(Class):使用三层矩形框表示。 第一层显示类的名称,如果是抽象类,则就用斜体显示。 第二层是字段和属性。 第三层是类的方法。 注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。 2. 接口:使用两层矩形框表示,与类图的区别主要是顶端有<>显示。 第一行是接口名称。 第二行是接口方法。 3. 继承类(extends):用空心三角形+实线来表示。 4. 实现接口(implements):用空心三角形+虚线来表示 5. 关联(Association):用实线箭头来表示,例如:燕子与气候 6. 聚合(Aggregation):用空心的菱形+实线箭头来表示 聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如:公司和员工 组合(Composition):用实心的菱形+实线箭头来表示 组合:部分和整体的关系,并且生命周期是相同的。例如:人与手 7. 依赖(Dependency):用虚线箭头来表示,例如:动物与氧气 8. 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的 类之间的关系 UML把类之间的关系分为以下5种. ● 关联:类A与类B的实例之间存在特定的对应关系 ● 依赖:类A访问类B提供的服务 ● 聚集:类A为整体类,类B为局部类,类A的对象由类B的对象组合而成 ● 泛化:类A继承类B ● 实现:类A实现了B接口 关联(Association)

uml期末考试题a卷及答案

文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持. 一、单选题 1.执行者(Actor )与用例之间的关系是( ) (A )包含关系 (B )泛化关系 (C )关联关系 (D )扩展关系 2 .在类图中,下面哪个符号表示继承关系( 3.在类图中,“ #”表示的可见性是( ) (A )Public (B )Protected (C )Private (D )Package 4.下面那个类图的表示是正确的( ) 5.下面哪个符号代表部署图的节点( ) 6.生命线是UML 视图中哪个图形的组成部分( ) (A )类图 (B )状态图 (C )活动图 (D )顺序图 7.在类图中,那种关系表达总体与局部的关系( ) (A )泛化 (B )实现 (C )依赖 (D )聚合 8.下面哪个图形代表活动( ) 9.下面哪个UML 视图是描述一个对象的生命周期的( ) (A )类图 (B )状态图 (C )协作图 (D )顺序图 10.下面哪个视图属于UML 语言的交互图( ) (A )行为图 (B )状态图 (C )实现图 (D )顺序图 11.下面哪个符号代表包图( ) (B) (A) (C) (D) (B) (A) (C) (D) (B) (A) (C) (D) (B) (A) (D)

文档来源为从网络收集整理 .word版本可编辑.欢迎下载支持 . 12.在UML协作图中,有多少种关联角色的构造型( ) (A)1 (B)3 (C)5 (D)7 13.在类图中,哪种关系表达总体与局部的关系() (A)泛化(B)实现(C)依赖(D)聚合 14.在类图中,“#”表示的可见性是() (A)Public (B)Protected (C)Private (D)Package 15.下面哪个符号表示注释() 二、多选题 1.下面哪些图形可以清楚地表达并发行为() (A)类图(B)状态图(C)活动图(D)顺序图 2.下面哪些元素构成了组件图形() (A)组件(B)转换(C)关系(D)接口 3.部署图中的节点具有以下哪些方面的内容() (A)计算能力(B)基本内存(C)位置(D)接口 4.顺序图的用途包括() (A)显示并发进程和激活 (B)当不同的类之间存在多个简短的方法时,描述控制流的整体序列 (C)显示在协作图中难于描述的事件序列 (D)显示涉及类交互而与对象无关的一般形式 5.常见的UML工具有哪些?() (A)Rational Rose (B)Power Designer (C)Visio (D)Visual UML 三、填空题(每空2分,共30分) 1. UML中有多种关系,请标出图示是哪种关系: (1)(2) (3)(4) (5)(6) (B) (A) (C) (D) (B) (A) (C) (D) 0..1 0..* employer employee

UML中各种图的画法(全)

UML中各种图的画法(全) 一、UML中基本的图范畴: 在 UML 2 中有二种基本的图范畴:结构图和行为图。每个 UML 图都属于这二个图范畴。结构图的目的是显示建模系统的静态结构。它们包括类,组件和(或)对象图。另一方面,行为图显示系统中的对象的动态行为,包括如对象的方法,协作和活动之类的内容。行为图的实例是活动图,用例图和序列图。 二、UML中的类图: 1.类图的表示: 类的 UML 表示是一个长方形,垂直地分为三个区,如图 1 所示。顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出类的操作。在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。 描述: 顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出类的操作。当在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。 ·类名:如果是抽象类,则采用斜体 ·类属性列表:name : attribute type 如 flightNumber : Integer,这是最常见的表达形式 n ame : attribute type = default value 如balance : Dollars = 0,这是带有默认值的表达形式 ·类方法列表:name(parameter list) : type of value returned

注意: 在业务类图中,属性类型通常与单位相符,这对于图的可能读者是有意义的(例如,分钟,美元,等等)。然而,用于生成代码的类图,要求类的属性类型必须限制在由程序语言提供的类型之中,或包含于在系统中实现的、模型的类型之中。 2.继承的表示: 为了在一个类图上建模继承,从子类(要继承行为的类)拉出一条闭合的,单键头(或三角形)的实线指向超类。 类名BankAccount和withdrawal操作使用斜体。这表示,BankAccount 类是一个抽象类,而withdrawal方法是抽象的操作。换句话说,BankAccount 类使用withdrawal规定抽象操作,并且CheckingAccount 和 SavingsAccount 两个子类都分别地执行它们各自版本的操作。 3.接口的表示: 一个类和一个接口不同:一个类可以有它形态的真实实例,然而一个接口必须至少有一个类来实现它。在 UML 2 中,一个接口被认为是类建模元素的特殊化。因此,接口就象类那样绘制,但是长方形的顶部区域也有文本“interface”。

UML中类图实例

UML中类图实例 接口:空心圆+直线(唐老鸭类实现了…讲人话?); 依赖:虚线+箭头(动物和空气的关系); 关联:实线+箭头(企鹅需要知道气候才迁移); 聚合:空心四边形+实线+箭头(雁群和大雁的关系); 合成/组合:实心四边形+实线+箭头(鸟和翅膀的关系);泛化/继承:空心三角形+实线(动物和鸟的继承关系);实现:空心三角形+虚线(实现大雁飞翔的接口); UML类图 解释UML类图:

1. 首先看“动物”矩形框,它代表一个类。该类图分为三层,第一层显示类的名称,如果 是抽象类就要用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法和行为。 注意前面的符号,…+?表示public, …—? 表示private, …#?表示protected. 2. “飞翔”矩形框表示一个接口图,它与类图的区别主要是顶端有《interface》显示,第 一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了“讲人话”的接口。 interface IFly interface Ilanguage { { void Fly(); void Speak(); } } 3. 动物,鸟,鸭,唐老鸭他们之间都是继承的关系,继承关系用空心三角形+实现来表 示。

4.“大雁”实现了“飞翔”接口。实现接口用空心三角形+虚线来表示。(注:下面的图中应为 空心三角形) class Bird:Animal class WideGoose:IFly { { //继承动物类 //实现飞翔接口 } } 5. 企鹅与气候有很大的关系,企鹅需要“知道”气候的变化,需要“了解”气候规律。当一 个类“知道”另一个类时,可以用关联(association)关系。关联关系用实线箭头来表示。 class Penguin :Bird { private Climate climate;//在企鹅Penguin中,引用到气候Climate对象 } 6. “大雁”和“雁群”这两个类。大雁是群居动物,每只大雁都属于一个雁群,一个雁群可 以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的“拥有” 关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱形+ 实线箭头表示。

UMl期末考试题

1.下列描述中,哪个不是建模的基本原则(D) A.要仔细的选择模型 B.每一种模型可以在不同的精度级别上表示所要开发的系统 C.模型要与现实相联系 D.对一个重要的系统用一个模型就可以充分描述 2.UML体系包括三个部分:UML基本构造块,(A)和UML公共机制 A、UML规则 B、UML命名 C、UML模型 D、UML约束 3.UML中的事物包括:结构事物,分组事物,注释事物和(D) A、实体事物 B、边界事物 C、控制事物 D、动作事物 4.(A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题 A、瀑布模型 B、原型模型 C、增量模型 D、螺旋模型 5.下面哪个不是UML中的静态视图(A) A.状态图 B.用例图 C.对象图 D.类图 6.(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 A、泳道 B、分叉汇合 C、分支 D、转移 7.下列关于状态图的说法中,正确的是(C) A. 状态图是UML中对系统的静态方面进行建模的五种图之一。 B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态 C.活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。 D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模 8.对反应型对象建模一般使用(A)图 A、状态图 B、顺序图 C、活动图 D、类图 9.对反应型对象建模一般使用(A)图 A、状态图 B、顺序图 C、活动图 D、类图 10.类图应该画在Rose的哪种(B)视图中 A、Use CaseView B、Logic View C、ComponentView D、Deployment View 11.类通常可以分为实体类,(C)和边界类 A、父类 B、子类 C、控制类 D、祖先类 12.顺序图由类角色,生命线,激活期和(B)组成 A、关系 B、消息 C、用例 D、实体 13.(D)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现 A、部署图 B、类 C、接口 D、组件 13关于协作图的描述,下列哪个不正确(B) A.协作图作为一种交互图,强调的是参加交互的对象的组织; B.协作图是顺序图的一种特例 C.协作图中有消息流的顺序号; D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成; 14.组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为四种方式来 完成,下面哪种不是其中之一(B) A.对源代码建模

相关文档