UML试题及其答案
- 格式:doc
- 大小:122.50 KB
- 文档页数:10
UML面向对象技术
UML中关联的多重度是指(一个类的实类能够与另一个类的多个实类相关联
1. 已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.
请画出能够正确表示类A,B和C之间关系的UML类图.
答案:
3在某个信息系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,存在___(46)___“客户”类的实例;对应每个“客户”类的实例,存在___(47)___个“订单”类的实例。
供选择的答案:
(1)A.0个 B.1个 C.1个或多个 D.0个或多个
(2)A.0个 B.1个 C.1个或多个 D.0个或多个
答案: 1. 2.
4、 UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。
答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
6、什么是高内聚度
高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
7、UML提供一系列的图支持面向对象的分析与设计,其中_G__给出系统的静态设计视图;
_B_对系统的行为进行组织和建模是非常重要的;_D__和_F_都是描述系统动态视图的交互图,其中_D__描述了以时间顺序组织的对象之间的交互活动,_F__强调收发消息的对象的组织结构.
A状态图B用例图C状态图D序列图E部署图F协作图G类图
9、UML是有四种关系,他们分别是:依赖,关联,泛化和实现,还有一种聚集是一种特殊类型的关联,请标出图示是哪种关系:
UML面向对象技术
(1) ---------------key:依赖
0..1 0..*
(2)
key:关联
(3)聚集
(4)泛化
(5) ————————— key:实现
图为销售实例,请为概念类添加联系。a,b,c,d?
解: a: 1 b: 1..* c: 1 d: 1..*
12、这是个usecase,其中有两个打电话的个案:使用电话卡和对方付款。Actort是电话用户,画出其usecase
diagram。
解:
如图:
14.什么是对象间的可见性?
答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力。
15.领域模型是一组表示__A__,在设计工作中广泛用来启发设计软件对象.
A.真实世界的概念类
B.虚拟世界的概念类
C.软件部件的模型
D.硬件部件的模型
16.UML提供了一系列的图支持面向对象的分析与设计,其中____(1)___给出系统的静态设计视图;UML面向对象技术
___(2)____对系统的行为进行组织和建模是非常重要的;____(3)___和____(4)___都是描述系统动态视图的交互图,其中___(3)___描述了以时间顺序组织的对象之间的交互活动,___(4)____强调收发消息的对象的组织结构。
A、状态图 B、用例图 C、序列图 D、部署图
E、协作图 F、类图
答案:(1)F (2)B (3)C (4)E
17.在UML提供的图中,___(1)___用于描述系统与外部系统及用户之间的交互;__(2)___用于按时间顺序描述对象间的交互。
(1)A、用例图 B、类图 C、对象图 D、部署图
(2)A、网络图 B、状态图 C、协作图 D、序列图
答案:(1)A (2)D
18.可以用_____________和____________两种方法找概念类。
答案:概念类类别表、 标识名词短语
19.关于GRASP模式设计的。(中午提到的,这里就不写了)
20.找出下面场景中的概念类:
(1).顾客带着购买的商品或服务来到POS收款台
(2).收款员启动一次销售
(3).收款员输入商品标识
(4).系统记录商品,并且显示该商品说明,价格,并计算总金额。按一组计价规则计算单价。
答案:顾客、POS收款台、收款员、销售、商品标识、商品、商品说明
21.画出下面场景的SSD图
1.收款员启动一次销售(makeNewSale())
2.收款员输入商品标识(enterItem(itemID,quantity))
3.销售结束,系统计算并显示总金额(endSale())
4.顾客付款,系统处理支付。(makePayment(amount))
答案如下:
备注:1和2差不多,选其中一道就行了。同时还可以出一些画交互图的,这里不讲了。
22 .统一过程中的四个阶段?
答:初始阶段(Inception) UML面向对象技术
细化阶段(Elaboration)
构造阶段(Construction)
提交阶段(Transition)
什么是设计过程中的Open-Close原则
23.识别概念类的策略?
识别概念类的策略1:使用概念类类别表
识别概念类的策略2:标识名词短语
24.GRASP(分配职责中通用原则的模式)及各解决了什么问题?(5个)
信息专家(Information Expert
模式名:信息专家(或专家)
解决的问题:分配职责给对象的基本原则是什么
创建者(Creator)
模式名:创建者
解决的问题:谁负责创建某个类的新的实例
低耦合(Low Coupling)
模式名:低耦合
解决的问题:如何支持低依赖关系和增加重用?
高内聚(High Cohesion)
模式名:高内聚
解决的问题:如何将复杂性保持在可控制的范围内?
控制器(Controller)
模式名:控制器
解决的问题:谁来负责处理一个输入系统事件?
27.设计模式的概念
参考答案:富有经验的面向对象专家(或其它软件开发人员)设计的作为通用原则和惯用法的解决方案 ,用于指导软件设计。如果将它们按问题和解决方案描述的结构形式编篡,然后起一个名字。 这就是设计模式。
30、需求分类主要需求FURPS的内容?
主要需求:功能、可用性、可靠性、性能、可维护性
31、读懂交互图,并结合其他条件将设计转化为代码。
35、适配器,策略,组合,单例子,工厂方法,抽象工厂等模式的理解和应用。
模式名:单例模式(Singleton)
问题:如何使一个类严格地只有一个实例?
解决方案:定义一个静态的返回单例(Singleton)的类方法。
模式名:策略模式(Strategy)
问题:如何设计一种方案可以适应算法或规则的频繁变更? UML面向对象技术
解决方案:定义一系列的算法,把他们一个个封装起来,并且使他们可以互相替换,具体的说就是为每个算法/政策/策略分别定义一个具有公共接口的类。
模式名:组成模式(Composite)
问题:希望按处理原子对象的方式来处理由原子对象结合而成的组合对象
解决方案:组成对象和原子对象实现相同的接口。
模式名:观察者模式(Composite)
问题:如何维护对象之间的一致性?
解决方案:当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。
模式名:适配器模式(Adapter)
问题:如何解决不兼容的接口的问题,或者说如何提供一个稳定的接口给具有不同接口的相似组件?
解决方案:通过一个中间的适配器对象使一个组件的原有接口转变成另一个接口。
38.在UML提供的图中, (1) 用于描述系统与外部系统及用户之间的交互; (2) 用于按时间顺序描述对象间交互。
(1)A.用例图 B.类图 C.对象图 D.部署图
(2)A.网络图 B.状态图 C.协作图 D.序列图
答案:(1)A (2)D
39.UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中___(3)___是面向对象系统规模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择___(4)___;当需要说明体系结构的静态实施视图时,应该选择___(5)___。
(3)A.构件图 B.类 图 C.对象图 D.部署图
(4)A.构件图 B.协作图 C.状态图 D.部署图
(5)A.协作图 B.对象图 C.活动图 D.部署图
答案:(3)B (4)A (5)D
41.定义大多数的需求和范围的工作是在UP中的 (11) 阶段完成的。
(11)A初始阶段 B细化阶段 C构造阶段 D提交阶段
答案:(11)B
42.下列 (12) 不在UP的初始阶段中完成的
(12)A编制简要的愿景文档 B粗略评估成本 C定义大多数的需求 D业务案例
答案:(12)C
44.领域模型是一组表示真实世界的 (16) ,不是 (17) 的模型。
答案:(16)概念类 (17)软件部件
45.在协作图中通过 (18)
表示出消息的时间顺序。
答案:(18)消息编号
46.在面向对象的方法学中,对象可看成是属性及对于这些属性的专用服务的封装体。封装是一种 (19)
技术,封装的目的是使对象的 (20) 分离。