动状态 是可分解的且可中断的。 7、 状态 图描述了系统对象随时间变化的动态行为,并展现了对象状态的变化及变化的原因。
8、在进行需求分析时,系统分析员必须从 功能性需求、非功能性需求和可用性需求等方面展开分析。
9、 对象图的模型元素有对象和链。对象是类的实例;对象之间的链是类之间的 关联 的实例
10、用UML进行建模时会涉及9个图,Rose 2003只支持其中的8个,还有一个图如果要在Rose 2003中表示,则只能用别的图来代替。这个不能在Rose2003中直接表示的图是
对象 图。
11、 RUP软件开发过程的特点是: 用例驱动 、以体系
结构为中心、迭代和增量开发。 12、 如图所示的类图:“/works for company”这个关联前有一斜杠,表示该关
联是
派生 。
Company11*Department1works for department*Person
13、 如果把一个类的类名写成斜体字,则表示这是 抽象 类,既
不能由这个类直接产生实例。
14、 RUP中把软件开发生命周期分为多个循环,每个循环由4个连续的阶段组
成。这4个阶段是初始阶段、细化阶段、 构造 阶段和移交阶段。
15、 顺序图所表达的是基于 时间顺序 的动态交互。
16、组成是强类型的聚集,因为聚集中的每个部分体只能属于 一个
整体。 三、判断题:(判断对错,并改正。每小题2分,共10分)
1、一个状态图最多只能有一个初态和一个终态。 答:错误。(1分)一个状态图最多只能有一个初态,但可有多个终态。(1分)
2、两个参与者之间可以有包含关系、扩展关系或泛化关系,而包含关系和扩展关系是依赖关系的版型。
答:前半句不对。(1分)应该为:两个用例之间可以有包含关系、扩展关系或泛化关系,而包含关系和扩展关系是依赖关系的版型。(1分)
3、参与者位于所要建模的系统边界的外部。 答:正确
4、在顺序图中无法表示要重复发送的消息,但在协作图中可以表示要重复发送的消息。
第 6 页
/works for company*答:错误。(1分)在顺序图和协作图中都可以表示要重复发送的消息。(1分)
5、下图所示的是抽象工厂设计模式的一般结构。抽象工厂设计模式的一个特点是,如果要增加新的产品类型,如在已有的AbstractProductA和AbstractProductB外再增加新的AbstractProductC及相应的具体子类,则很容易通过新增加一个具体的工厂(Factory)类并继承AbstractFactory类就可以适应这个需求的变化,原来的一些类不需要做改动。
答:错误。(1分)对于抽象工厂这个设计模式,增加新的具体工厂较容易,但要要增加新的产品很困难。(1分)
6、 协作图中的消息必须要有消息顺序号。 答:正确。
7、 参与者和用例之间的关系是关联关系。 答:正确。
8、 类A和类B之间的关系如下图所示,则称类B中的getName()方法是对类A
中的getName()方法的重载。
答:错误。(1分)是覆盖而不是重载。
9、 一个软件系统,如果只有源代码,缺乏其它相应的辅助文档,如缺乏顺序图
和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图比较简单。 答:错误。(1分)目前在Rose2003中,还不能通过逆向工程得到顺序图。(2分)
10、 RUP软件开发生命周期中有4个核心工作流,即初始阶段、细化阶段、构
造阶段和移交阶段。 答:错误。(1分)RUP中有9个核心工作流。初始阶段、细化阶段、构造阶段和移交阶段是对软件开发周期中每个循环的阶段划分。(2分)
第 7 页
四、问答题
1、简述UML中接口与类的区别?
(1) 接口不同于类或类型,它不描述任何结构(因此不包含任何属性),也不
描述任何实现(因此不包含任何实现操作的方法)。(2分)
(2) 同类一样,接口可以有一些操作,这些操作可以用可见性、参数、返回
值等约束等来修饰。(2分)
(3) 像类一样,一个接口也可以参与泛化、关联和依赖关系。(1分) 2、简述状态图和活动图的区别?
(1) 活动图用来建模某个过程的活动序列,以活动为中心。(2分) (2) 状态图用来建模对象生命期中的所有阶段,以状态为中心。(2分) (3) 活动图中一个活动结束后将立即进入下一个活动,在状态图中状态的转移
可能需事件的触发。(1分) 3、简述面向对象的四个基本特征? (1) 抽象:就是过滤掉对象与当前开发工作无关部分特性,只剩下所需要的属
性和操作。(2分)
(2) 继承:是指一个对象直接从一个类中得到的属性和方法。(1分) (3) 多态:不同的类有时具有相同名称的操作。(1分) (4) 封装:实质是当一个对象执行自己的操作时,它对外界隐藏了操作的细节。
(1分)
4、简述类图与对象图的区别?
(1) 类图描述系统中类的静态结构。类图不但定义了系统中的类,表示了类之
间的联系(如关联、依赖、聚合等),还描述了类的内部结构(类的属性和操作)。(1分)
(2) 类图描述的是一种静态关系,在系统的整个生命周期都是有效的。(1分) (3) 对象图是类图的实例,使用与类图类似的标识。(1分)
(4) 它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个
对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。(2分)
五、请画出下列描述的顺序图. (10分)
当用户按下一个字母或数字键时,GUI对象和其它对象之间的交互情况如下: (1) GUI将击键事件通知给操作系统。 (2) 操作系统接着通知CPU。 (3) 操作系统更新GUI。 (4) CPU又通知图形卡。
(5) 图形卡向显示器发送一个显示消息。
(6) 显示器将字母字符显示在屏幕上,给用户提供了图形化的反馈信号。
第 8 页
: user1: : GUI : OS : CPU : 图形卡 : 显示器2: 3: 4: 5: 6: 7:
一、 单选题(每小题只有一个正确选项,每小题2分,共30分)
1.下面哪个符号代表包图( A )
2.在UML协作图中,有多少种关联角色的构造型( C ) (A)1
(B)3
(C)5
(D)7
3.在类图中,哪种关系表达总体与局部的关系( D ) (A)泛化
(B)实现
(C)依赖
(D)聚合
4.在类图中,“ #”表示的可见性是( B ) (A)Public
(D)Package
(B)Protected
(C)Private
5.下面哪个符号表示注释( D )
6.生命线是UML视图中哪个图形的组成部分( D ) (A)类图
(D)顺序图
7.在类图中,那种关系表达总体与局部的关系( D )
第 9 页
(B)状态图 (C)活动图
(A)泛化 (B)实现 (C)依赖 (D)聚合
8.下面哪个图形代表活动( D )
9.下面哪个UML视图是描述一个对象的生命周期的(B ) (A)类图
(D)顺序图
10.下面哪个视图属于UML语言的交互图( D ) (A)行为图
(D)顺序图
11.执行者(Actor)与用例之间的关系是( C ) (A)包含关系
扩展关系
12.在类图中,下面哪个符号表示继承关系( C )
13.在类图中,“ #”表示的可见性是( B ) (A)Public
(D)Package
14.下面那个类图的表示是正确的( D )
(B)Protected
(C)Private
(B)泛化关系
(C)关联关系
(D)
(B)状态图
(C)实现图
(B)状态图
(C)协作图
第 10 页