一、选择题。
1、下列描述中,哪个不是建模的基本原则(D)
A.要仔细的选择模型 B.每一种模型可以在不同的精度级别上表示所要开发的系统
C.模型要与现实相联系 D.对一个重要的系统用一个模型就可以充分描述
2、(A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题
A、瀑布模型 B、原型模型 C、增量模型 D、螺旋模型 3、下面哪个不是UML中的静态视图(A) A.状态图 B.用例图 C.对象图 D.类图
4、(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 A、泳道 B、分叉汇合 C、分支 D、转移
5、下列关于状态图的说法中,正确的是( C )
A. 状态图是UML中对系统的静态方面进行建模的五种图之一。 B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态
第 1 页
C.活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。
D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模
6、类图应该画在Rose的哪种(B)视图中
A、Use CaseView B、Logic View C、ComponentView D、Deployment View
7、顺序图由类角色,生命线,激活期和(B)组成 A、关系 B、消息 C、用例 D、实体
8、(D)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现 A、部署图 B、类 C、接口 D、组件
9、关于协作图的描述,下列哪个不正确(B )
A.协作图作为一种交互图,强调的是参加交互的对象的组织; B.协作图是顺序图的一种特例 C.协作图中有消息流的顺序号; D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;
第 2 页
10、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一(B )
A.对源代码建模 B.对事物建模 C.对物理数据库建模 D.对可适应的系统建模
11、一个对象和另一个对象之间,通过消息来进行通信。消息通信在面向对象的语言中即(C)
A、方法实现 B、方法嵌套 C、方法调用 D、方法定义
12、(A)是用于把元素组织成组的通用机制 A、包 B、类 C、接口 D、组件 13、(C)是一组用于描述类或组件的一个服务的操作 A、包 B、节点 C、接口 D、组件 14、(B)是被节点执行的事物
A、包 B、组件 C、接口 D、节点
15、 UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种类来表示,分别是( D )
第 3 页
A.状态图和顺序图 B.活动图和协作图 C.状态图和活动图 D.顺序图和协作图
16、 用例(Use-case)用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是( A )关系 A.包含(include) B.扩展(extend)C.分类(classification) D.聚集(aggregation)
17、 瀑布模型的生存周期是(C) A. 听取客户意见→建造/修改→测试/运行
B. 计划→听取客户意见→设计→编码→测试→运行/维护 C. 计划→需求分析→设计→编码→测试→运行/维护 D. 需求分析→计划→设计→编码→测试→运行/维护 18、下列关于状态图的说法中,正确的是( C )
A. 状态图是UML中对系统的静态方面进行建模的五种图之一。 B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态 C.活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。
第 4 页
D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模
19、(D)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现
A、部署图 B、类 C、接口 D、组件 20、下面关于正向工程与逆向工程的描述,哪个不正确(C) A.正向工程是通过到实现语言的映射而把模型转换为代码的过程; B.逆向工程是通过从特定实现语言的映射而把代码转换为模型的过程;
C.正向工程是通过从特定实现语言的映射而把代码转换为模型的过程;
D.正向工程与逆向工程可以通过rose支持来实现; 21、类和接口的关系类似于下面哪种类型的关系。(D)
A.关联和聚集 B.关联和组合 C.脚本和用例 D.包和子系统
22、如图所示,类PaymentController必须实现哪些方法?(C) A.create,process,reserve,acknowledge,commit B.process,reserve,acknowledge,commit C.Payment,save
第 5 页
D.payment,create,save
: ParticipantaPaymentWindow : WindowaPaymentController : PaymentController : CreditProcessor1: enterCreditCardDetails()2: payment3: createaReservation : Reservation4: process()5: reserve()6: acknowledge7: confirm()8: save()9: commot() 23、如下选项所示,哪一种设计所包含的包之间的依赖关系是最不好的?(B)
A. B. C. D.
24、下面哪些陈述是正确的?(ACD)
第 6 页
A.状态图可以用来描述涉及多个用例的对象的行为。 B.一些高级的状态图可以用来描述多个对象之间的关系。 C.活动图可以用来描述多个用例间多个对象之间的行为。 D.活动图可以用来描述企业中的工作流。
25、在构件图中可以包含下面哪些建模元素? (ABCD) A.接口 B.包 C.约束 D.依赖
26、下面哪些陈述是错误的?(AC)
A.在活动图中,一个活动结束后不能立即紧接着开始另一个活动。
B.在顺序图中,从对象图标垂直向下延伸的一条虚线称为这个对象的生命线,消息可以用两生命线之间带箭头的线段表示。 C.交互图往往用来描述一个或多个用例中多个对象之间的动态协作关系,以及协作过程中的行为次序。 D.活动图可以用于描述一个算法的具体步骤。 27、下面哪些建模元素不能在协作图中表示出来?(AC)
A.状态 B.消息序号 C.活动 D.多对象
28、为了描述和理解系统中的控制机制,如为了描述一个设备控制器
在不同情况下所要完成的动作,下面几个图中哪个图是最有用的?(C)
A.交互图 B.活动图 C.状态图 D.类
第 7 页
图
29、 在一个课程注册系统中,定义了类CourseSchedule和类Course,
并在类CourseSchedule中定义了方法add(c:Course)和方法reInove(c:Course),则类CourseSchedule和类Course之间的关系是:(C)
A.泛化关系 B.组合关系 C.依赖关系 D.包含关系
30、 下面4种类型的图中,哪种图可以描述一个用例中多个对象之
间的相互协作关系以及协作过程中的行为次序?(A)
A.交互图 B.状态图 C.对象图 D.用例图
31、如果要对一个企业中的工作流程建模,那么下面4个图中哪个图
是最有用的?(C)
A.交互图 B.类图 C.活动图 D.部署图
32、在课程注册系统中,下面哪组方法名和类名的命名是最合理
的?(每组中前面的为方法名,后面的为类名(B)
A.register(),VectorStudent B.register(),Student C.reg (),VectorStudent D.reg (),Student 33、下面那个图符表示UML中的依赖关系?(B)
ANewClass2.
0..1*NewClass3 NewClass5NewClass7NewClass4NewClass6NewClass8 第 8 页
B. C. D.
二、填空题。
1、系统用例由 参与者 激活。 2、 事件流 用于规定用例的行为。
3、在UML静态建模时,其分析阶段主要是通过分析 问题域,确定系统中的类,画出类图或动态图。
4、UML动态建模主要通过绘制 顺序 图、协作图、 活动 图和状态图来辅助分析或描述系统用例或类的重要操作的算法。 5、在UML动态建模时,主要通过分析对象的消息传递来确定系统的行为,而消息通常表示一个对象要调用另一个对象中的 操作 。
6、在活动图中, 动作状态 表示了正在执行的不可分解的计算,而 活动状态 是可分解的且可中断的。
7、 状态 图描述了系统对象随时间变化的动态行为,并展现了对象状态的变化及变化的原因。
8、在进行需求分析时,系统分析员必须从 功能性需求、非功能性需 第 9 页
求和可用性需求等方面展开分析。
9、 对象图的模型元素有对象和链。对象是类的实例;对象之间的链是类之间的 关联 的实例
10、用UML进行建模时会涉及9个图,Rose 2003只支持其中的8个,还有一个图如果要在Rose 2003中表示,则只能用别的图来代替。这个不能在Rose2003中直接表示的图是 对象 图。
11、 RUP软件开发过程的特点是: 用例驱
动 、以体系结构为中心、迭代和增量开发。 12、 如图所示的类图:“/works for company”这个关联前有一斜杠,
表示该关联是
派生 。
Company11*Department1works for department*Person/works for company*
13、 如果把一个类的类名写成斜体字,则表示这是 抽象
类,既不能由这个类直接产生实例。
14、 RUP中把软件开发生命周期分为多个循环,每个循环由4个连
续的阶段组成。这4个阶段是初始阶段、细化阶段、 构造 阶段和移交阶段。
15、 顺序图所表达的是基于 时间顺序 的动态交互。
第 10 页
16、组成是强类型的聚集,因为聚集中的每个部分体只能属于
一个 整体。
三、判断题:(判断对错,并改正。每小题2分,共10分)
1、一个状态图最多只能有一个初态和一个终态。
答:错误。(1分)一个状态图最多只能有一个初态,但可有多个终态。(1分)
2、两个参与者之间可以有包含关系、扩展关系或泛化关系,而包含关系和扩展关系是依赖关系的版型。
答:前半句不对。(1分)应该为:两个用例之间可以有包含关系、扩展关系或泛化关系,而包含关系和扩展关系是依赖关系的版型。(1分)
3、参与者位于所要建模的系统边界的外部。 答:正确
4、在顺序图中无法表示要重复发送的消息,但在协作图中可以表示要重复发送的消息。
答:错误。(1分)在顺序图和协作图中都可以表示要重复发送的消息。(1分)
5、下图所示的是抽象工厂设计模式的一般结构。抽象工厂设计模式的一个特点是,如果要增加新的产品类型,如在已有的AbstractProductA
和
AbstractProductB
外再增加新的
AbstractProductC及相应的具体子类,则很容易通过新增加一个具体的工厂(Factory)类并继承AbstractFactory类就可以适应这个
第 11 页
需求的变化,原来的一些类不需要做改动。
答:错误。(1分)对于抽象工厂这个设计模式,增加新的具体工厂较容易,但要要增加新的产品很困难。(1分)
6、 协作图中的消息必须要有消息顺序号。 答:正确。
7、 参与者和用例之间的关系是关联关系。 答:正确。
8、 类A和类B之间的关系如下图所示,则称类B中的getName()方
法是对类A中的getName()方法的重载。
答:错误。(1分)是覆盖而不是重载。
9、 一个软件系统,如果只有源代码,缺乏其它相应的辅助文档,如
缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图比较简单。
第 12 页
答:错误。(1分)目前在Rose2003中,还不能通过逆向工程得到顺序图。(2分)
10、 RUP软件开发生命周期中有4个核心工作流,即初始阶段、细
化阶段、构造阶段和移交阶段。
答:错误。(1分)RUP中有9个核心工作流。初始阶段、细化阶段、构造阶段和移交阶段是对软件开发周期中每个循环的阶段划分。(2分) 四、问答题
1、简述UML中接口与类的区别?
(1) 接口不同于类或类型,它不描述任何结构(因此不包含任何属
性),也不描述任何实现(因此不包含任何实现操作的方法)。(2分)
(2) 同类一样,接口可以有一些操作,这些操作可以用可见性、
参数、返回值等约束等来修饰。(2分)
(3) 像类一样,一个接口也可以参与泛化、关联和依赖关系。(1
分)
2、简述状态图和活动图的区别?
(1) 活动图用来建模某个过程的活动序列,以活动为中心。(2分) (2) 状态图用来建模对象生命期中的所有阶段,以状态为中心。(2
分)
(3) 活动图中一个活动结束后将立即进入下一个活动,在状态图中
状态的转移可能需事件的触发。(1分)
第 13 页
3、简述面向对象的四个基本特征?
(1) 抽象:就是过滤掉对象与当前开发工作无关部分特性,只剩下
所需要的属性和操作。(2分)
(2) 继承:是指一个对象直接从一个类中得到的属性和方法。(1分) (3) 多态:不同的类有时具有相同名称的操作。(1分)
(4) 封装:实质是当一个对象执行自己的操作时,它对外界隐藏了
操作的细节。(1分) 4、简述类图与对象图的区别?
(1) 类图描述系统中类的静态结构。类图不但定义了系统中的类,
表示了类之间的联系(如关联、依赖、聚合等),还描述了类的内部结构(类的属性和操作)。(1分)
(2) 类图描述的是一种静态关系,在系统的整个生命周期都是有效
的。(1分)
(3) 对象图是类图的实例,使用与类图类似的标识。(1分) (4) 它们的不同点在于对象图显示类的多个对象实例,而不是实际
的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。(2分) 五、请画出下列描述的顺序图. (10分)
当用户按下一个字母或数字键时,GUI对象和其它对象之间的交互情况如下:
(1) GUI将击键事件通知给操作系统。 (2) 操作系统接着通知CPU。
第 14 页
(3) 操作系统更新GUI。 (4) CPU又通知图形卡。
(5) 图形卡向显示器发送一个显示消息。
(6) 显示器将字母字符显示在屏幕上,给用户提供了图形化的反馈信号。
: user1: : GUI : OS : CPU : 图形卡 : 显示器2: 3: 4: 5: 6: 7:
一、 单选题(每小题只有一个正确选项,每小题2分,共30分)
1.下面哪个符号代表包图( A )
2.在UML协作图中,有多少种关联角色的构造型( C ) (A)1
(D)7
3.在类图中,哪种关系表达总体与局部的关系( D )
(B)3
(C)5
第 15 页
(A)泛化
(D)聚合
(B)实现 (C)依赖
4.在类图中,“ #”表示的可见性是( B ) (A)Public
(D)Package
(B)Protected
(C)Private
5.下面哪个符号表示注释( D )
6.生命线是UML视图中哪个图形的组成部分( D ) (A)类图
(D)顺序图
7.在类图中,那种关系表达总体与局部的关系( D ) (A)泛化
(D)聚合
8.下面哪个图形代表活动( D )
(B)实现
(C)依赖
(B)状态图
(C)活动图
9.下面哪个UML视图是描述一个对象的生命周期的(B )
第 16 页
(A)类图
(D)顺序图
(B)状态图 (C)协作图
10.下面哪个视图属于UML语言的交互图( D ) (A)行为图
(D)顺序图
11.执行者(Actor)与用例之间的关系是( C ) (A)包含关系
(D)扩展关系
12.在类图中,下面哪个符号表示继承关系( C )
13.在类图中,“ #”表示的可见性是( B ) (A)Public
(D)Package
(B)Protected
(C)Private
(B)泛化关系
(C)关联关系
(B)状态图
(C)实现图
14.下面那个类图的表示是正确的( D )
第 17 页
15.下面哪个符号代表部署图的节点( C )
二、多选题(每小题有一个或多个选项,每小题2分,共10分)
1.下面哪些图形可以清楚地表达并发行为( CD ) (A)类图
(B)状态体
(C)活动图
(D)顺序图
2.下面哪些元素构成了组件图形( ACD ) (A)组件
(B)转换
(C)关系
(D)接口
3.部署图中的节点具有以下哪些方面的内容( ABC ) (A)计算能力 口
4.顺序图的用途包括( ABCD ) (A)显示并发进程和激活
(B)当不同的类之间存在多个简短的方法时,描述控制流的整体序列
第 18 页
(B)基本内存 (C)位置 (D)接
(C)显示在协作图中难于描述的事件序列 (D)显示涉及类交互而与对象无关的一般形式 5.常见的UML工具有哪些?( ABCD ) (A)Rational Rose
三、填空题(每空2分,共30分)
1. UML中有多种关系,请标出图示是哪种关系:
(D)Visual UML
(B)Power Designer
(C)Visio
答案:(依赖 关联 聚合 泛化 关联 )
(
(2)
(
(4)
(5)
2. UML提供了一系列的图支持面向对象的分析与设计,其中____(1)F___给出系统的静态设计视图;___(2)_B___对系统的行为进行组织和建模是非常重要的;____(3)__C_和____(4)_E__都是描述系
3
1
)
)
第 19 页
统动态视图的交互图,其中___(5)C___描述了以时间顺序组织的对象之间的交互活动,___(6)_E___强调收发消息的对象的组织结构。 A、状态图 B、用例图 C、序列图 D、部署图 E、协作图 F、类图
3. UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中___(1)__B_是面向对象系统规模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择___(2)A___;当需要说明体系结构的静态实施视图时,应该选择___(3)__D_。
A.组件图 B.类 图 C.对象图 D.部署图
四、简答题(每小题10分,共30分)
1. 已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.
请画出能够正确表示类A,B和C之间关系的UML类图。
第 20 页
2、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。
答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
3、教师在线答疑系统有4个组件:教师客户端程序、学生客户端程序、白板程序、通信协议。其中,教师客户端、学生客户端都要依赖于白板程序以及通信协议。 画出该系统部署图。
第 21 页