UML试题及其答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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是有四种关系,他们分别是:依赖,关联,泛化和实现,还有一种聚集是一种特殊类型的关联,请标出图示是哪种关系:
(1) ---------------key:依赖
0..1 0..*
(2)
key:关联
(3)聚集
(5)—————————实现
图为销售实例,请为概念类添加联系。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)___给出系统的静态设计视图;
___(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)
细化阶段(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)
问题:如何设计一种方案可以适应算法或规则的频繁变更?