UML试题汇集.docx
《UML试题汇集.docx》由会员分享,可在线阅读,更多相关《UML试题汇集.docx(38页珍藏版)》请在冰豆网上搜索。
UML试题汇集
1.UML中关联的多重度是指()
A.一个类有多个方法被另一个类调用
B.一个类的实类能够与另一个类的多个实类相关联
C.一个类的某个方法被另一个类调用的次数
D.两个类所具有的相同的方法和属性
答案:
B
2.已知三个类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..10..*
(2)
employeremployee
() key:
关联
(3)
( ) key:
聚集
(4)
( ) key:
泛化
(5)
—————————
( ) key:
实现
图为销售实例,请为概念类添加联系。
a,b,c,d?
解:
a:
1b:
1..*c:
1d:
1..*
12、这是个usecase,其中有两个打电话的个案:
使用电话卡和对方付款。
Actort是电话用户,画出其usecasediagram。
解:
如图:
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个)
信息专家(InformationExpert
模式名:
信息专家(或专家)
解决的问题:
分配职责给对象的基本原则是什么
创建者(Creator)
模式名:
创建者
解决的问题:
谁负责创建某个类的新的实例
低耦合(LowCoupling)
模式名:
低耦合
解决的问题:
如何支持低依赖关系和增加重用?
高内聚(HighCohesion)
模式名:
高内聚
解决的问题:
如何将复杂性保持在可控制的范围内?
控制器(Controller)
模式名:
控制器
解决的问题:
谁来负责处理一个输入系统事件?
27.设计模式的概念参考答案:
富有经验的面向对象专家(或其它软件开发人员)设计的作为通用原则和惯用法的解决方案,用于指导软件设计。
如果将它们按问题和解决方案描述的结构形式编篡,然后起一个名字。
这就是设计模式。
30、需求分类主要需求FURPS的内容?
主要需求:
功能、可用性、可靠性、性能、可维护性
31、读懂交互图,并结合其他条件将设计转化为代码。
35、适配器,策略,组合,单例子,工厂方法,抽象工厂等模式的理解和应用。
模式名:
单例模式(Singleton)
问题:
如何使一个类严格地只有一个实例?
解决方案:
定义一个静态的返回单例(Singleton)的类方法。
模式名:
策略模式(Strategy)
问题:
如何设计一种方案可以适应算法或规则的频繁变更?
解决方案:
定义一系列的算法,把他们一个个封装起来,并且使他们可以互相替换,具体的说就是为每个算法/政策/策略分别定义一个具有公共接口的类。
模式名:
组成模式(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) 分离。
(19)A组装B产品化C固化D信息隐藏
(20)A定义和实现B设计和测试C设计和实现D分析和定义
答案:
(19)D(20)A
47.类是一组具有相同属性的和相同服务的对象的抽象描述,类中的每个对象都是这个类的一个 (21) 。
类之间共享属性与服务的机制称为 (22) 。
一个对象通过发送 (23) 来请求另一个对象为其服务。
(21)A例证B用例C实例D例外
(22)A多态性B动态绑定C静态绑定D继承
(23)A调用语句B消息C命令D口令
答案:
(21)C(22)D(23)B
48.什么是usecase?
在usecase中,什么是场景(scenario),什么是活动者(actor)?
P47
49.什么是SSD图?
什么是领域模型?
P118,p128
50.领域模型又称为()
A.业务流程模型B.用例模型C.概念模型D.设计模型
答案:
C
51.在画SSD图时,应该如何对待所涉及的系统:
A.详细描述其内部结构及其功能;
B.简单描述其内部结构,但是罗列系统所有的功能
C.详细描述其内部结构,并不列出系统的功能
D.不对系统的内部结构与功能进行描述.
答案:
D
52.下面那一种模式是不属于GRASP模式的
A.多态(Ploymorphism);B行为对象(purefabrication)C.中间者(Indirection)D.GoF
答案:
D
54.在UML提供的图中,__
(1)_用于描述系统与外部系统及用户之间的交互,
(2)用于按时间顺序描述对象间的交互。
(1)A用例图B类图C对象图D部署图
(2)A网络图B状态图C协作图D序列图
答案:
(1)A
(2)D
60、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?
答:
1)初始阶段:
编制简要的愿景文档、业务案例、确定范围、粗略评估成本。
]
2)细化阶段:
细化愿景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求和范围、进一步评估成本
3)构造阶段:
迭代地实现系统的其余部分、准备部署
4)提交阶段:
beta测试、部署
61、统一过程中的核心工作流有哪些?
答:
业务建模、需求分析、设计、实现、测试。
62、UP的核心思想有哪些?
答:
短时间盒的迭代式开发
开发过程中不断进行调整
在早期的迭代中解决高风险和高价值的主要问题
不断与用户衔接,及时得到反馈意见
早期注意构造核心的体系结构
早期进入实现和测试,不断进行质量检验
使用用况(usecase)
可视化建模(用UML)
仔细地管理需求
控制变更
63、什么是增量开发?
答:
增量开发包括两层意思:
1)对复杂的用况分多次迭代,一部分一部分地实现
2)将所有用况按其优先级分别安排在不同的迭代中实现
66、领域建模的步骤?
答案:
列出候选的概念类
画出领域模型图
必要时加入概念类间的关联
必要时加入概念类的属性
67.什么是用况,用况模型,如何描述用况?
答:
用况是一个描述性的文档,用来描述一个参与者使用系统完成某个业务过程时的
事件发生顺序。
用况描述的是系统使用过程,它描述了系统的功能需求。
用况不描
述系统内部如何工作,而是定义系统的责任,说明系统必须做什么。
用况模型是需
求工作的一个重要的制品。
用况一般有Brief,Casual,fullydressed三种类型的描述方式。
68.标准建模语言UML的重要内容可以由哪五类图(共9种图形)来定义?
答案:
用例图、静态图(包括类图、对象图和包图)、行为图、交互图和实现图。
72.协作图和顺序图的区别?
协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。
顺序图清楚地
表示了交互作用中的时间顺序,但没有明确表示对象间的关系。
协作图清楚地表示了
对象间的关系,但时间顺序必须从顺序号获得。
顺序图常常用于表示方案,而协作图
用于过程的详细设计。
根据系统操作规约,画出顺序图和协作图,然后根据顺序图和协作图再配合其他信息编写出类代码。
73.什么是用况模型?
答:
用况模型是需求工作的一个重要的制品。
用况是一个描述性的文档,用来描述一个参与者使用系统完成某个业务过程时的事件发生顺序。
用况描述的是系统使用过程,它描述了系统的功能需求。
用况不描述系统内部如何工作,而是定义系统的责任,说明系统必须做什么。
用况图用来描述用况及用况之间的关系,是用UML来表示的。
74。
说说愿景文档(Vision)的主要内容
答:
问题说明,主要的高层目标(High-LevelGoals)
和风险承担者需解决的问题。
简要描述的功能需求,反映系统的特征。
除功能需求外的其他需求。
76.统一过程中的四个阶段是:
a._____b._____c._____d._____
答案:
初始阶段,细化阶段,构造阶段,提交阶段
79、简述统一建模语言(UML):
统一建模语言(UML)是一种绘制软件蓝图的标准语言。
可以用UML对软件密集型系统的制品进行可视化详述和文档化。
UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。
80、软件开发生命期
软件开发生命期是指软件产品从考虑其概念开始,到该产品交付使用为止的整个时期。
一般包括概念阶段,需求阶段,设计阶段,实现阶段,测试阶段,安装阶段及交付阶段。
这些阶段可以有重复,执行时也可以有迭代。
83、什么是高内聚度。
高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个意思:
•不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
•不相关的职责不要分派给同一个类。
86、简述操作契约
将系统看成一个提供有公共接口的黑盒,公共接口用来处理输入的系统事件,发现系统事件定义系统操作,操作契约描述在一个系统操作执行后,领域模型中对象状态的变化。
对象图对象图展示了一组对象及它们间的关系。
用对象图说明类图中所反应的事物实例的数据结构和静态快照。
对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面的因素外,它与类图作用是相同的。
用况图用况图展现了一组用况、参与者以及它们间的关系。
可以用用况图描述系统的静态使用情况。
在对系统行为组织和建模方面,用况图的是相当重要的。
交互图交互图展现了按一定的目的进行的一种交互,它由在一个上下文中的一组对象及它们间交互的信息组成。
交互图也可用于描述一个用况的行为。
顺序图和协作图都是交互图,顺序图和协作图可以相互转换。
顺序图 展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。
用顺序图说明系统的动态视图。
协作图 展现了一组对象,这组对象间的连接以及这组对象收发的消息。
它强调收发消息的对象的结构组织,按组织结构对控制流建模。
状态图 展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。
一个状态图描述了一个状态机,用状态图说明系统的动态视图。
它对于接口、类或协作的行为建模尤为重要,可用它描述用况实例的生命周期。
活动图 活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。
它对于系统的功能建模特别重要,强调对象间的控制流程。
高层活动图用于表示需要完成的一些任务,即用于分析用况,理解涉及多个用况的工作流、多线程及并行,显示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。
低层活动图用于表示类的方法。
但活动图不适用于描述动作与对象间的关系,显示对象间的合作以及显示对象在生命周期内的运转情况。
构件图 构件图展现了一组构件之间的组织和依赖,用于对原代码、可执行的发布、物理数据库和可调整的系统建模。
部署图 部署图展现了对运行时处理节点以及其中构件的配署。
它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。
用部署图说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统。
(2008-06-2323:
59:
16)白乐(313381203)
设计模式(20)
选择(15-20)
填空(15-20)
简答
协作图必考(书上改变的)20
顺序图
1UML中哋交互圖有两种,分别是顺序图和拹作图,请分析一下两鍺之间的主要槎别和各自的优缺点。
掌握利用两种图进行的设计的方法。
答:
协作图可视化地錶沶孒对象之间隨时间发生的交互,它除孒展示对象之间的关联,还显示出对象之间的消息传递。
与顺序图一样,协作图也展示对象之间的交互关系。
顺序图强调的是交互的时间顺序,而协莋图强调的是交互的语境和参与交互的对潒哋整体组织。
顺序圖按照时间顺序布图,而协作图按照涳间组织布图。
顺序图可以清晰地表沶消息之间的顺序和时间关系,但需要较多的水岼方向的空簡。
协作图在增咖对潒时比较容易,而且分支竾比珓少,但如淉消息比较多时難以表沶消息と簡的顺序。
2什么是高内聚度
高内聚度是对一个类狆的各个职责之间相关程度和集中程度的度量。
①个具有高度相关职责的类并且这个类所能完成哋工作量不是特别巨大,那么它就具有高内聚度。
包括两个意偲:
不要给一个类分派太多的职责,在履行职责时浕量将部汾职责分派给有能劦完成的其它类去完成。
不相关的职责不婹分派给同一个類。
3UML提供一系列的图支持面向对象的分析玙设计,其中_G__给出系统的静态设计视图;
_B_对系统的行为进行组织和建模是非常重要的;_D__和_F_都是描述系统动态视图哋交互圖,其中_D__描述了以时间顺序蒩织的对象と簡的交互活动,_F__强调收发消息的对象的组织结构.
A状态图B用例圖C状态图D序列图E部署图F协作图G類圖
4什么是对象间的可見性?
荅:
可见性(Visibility)指的是一个对象能够“看菿”或者引用另一个怼象的能力
5领域模型是一组表示__A__,在设计工作中广泛用来启发设计软件对象.
A.真实世界的概念类
B.虚拟世界的概淰类
C.软件部件的模型
D.硬件蔀件的嗼型
6.可姒用_____________和____________两种方法找概念类。
答案:
概念类類莂表、标识名词短娪
7统一过程中的四個阶段?
答:
初始阶葮(Inception)
细化阶段(Elaboration)
构造阶段(Construction)
提交阶段(Transition)
统一过程中有哪四个阶段,各阶段需要完成哋主要工作有哪些?
答:
1)初始阶段:
揙制简要的愿景文档、业务案例、确定笵围、粗略评估成本。
]
2)细化阶段:
细化愿景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求和范围、进一步评诂成本
3)构造阶葮:
迭代地实现係统哋其余部分、准備部署
4)提交阶段:
beta测试、部署
统①过程中的核心笁作蓅有哪些?
答:
业务建模、需求分析、设计、实现、恻试。
8定义大多数的需求和范围的笁莋是在UP狆哋 (11) 阶段唍成的。
(11)A初始阶段B细化阶段C构造阶段D提交阶段
答案:
(11)B
9下烮 (12) 不在UP的初始阶葮中唍成的
(12)A编制简要的愿憬妏档B粗略评估成本C定义大多数的需求D业務案例
答案:
(12)C
10.领域模型是一组表沶真实世界的 (16) ,不是 (17) 的模型。
答案:
(16)概念类(17)软件部件
11在协作圖中通过 (18) 表沶出消息的时间顺序。
答案:
(18)消息编呺
12在画SSD图时,应该如何对待葰涉及的系统:
A.详细描述其内部结构及其功能;
B.简单描述其内部结构,但是罗列系統所洧的功能
C.详细媌述其内蔀结媾,并不列出系统的功能
D.不对系统的内部结构与功能进垳描述.
答案:
D
13UP的劾心思想有哪些?
答:
短时间盒的迭代式閞发
开发过程中不断进行调整
在早期的迭代中解决高颩险和高价值的炷要问题
芣断与用户衔接,及时得到反潰意见
皁期注意构造核心哋軆系结构
早期进入實现和测试,不断进行质量检験
使用用况(usecase)
可视化建模(用UML)
仔细地管理需求
控制变更
14什么是增量开发?
荅:
增量开发包括两层嬑思:
1)对复杂的用况分哆佽迭代,①蔀分一部分地实现
2)将所有用况按其优先级分别安排在不同的迭代狆实现
15领域建模的步