UML复习资料最全.docx
- 文档编号:10104687
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:36
- 大小:184.53KB
UML复习资料最全.docx
《UML复习资料最全.docx》由会员分享,可在线阅读,更多相关《UML复习资料最全.docx(36页珍藏版)》请在冰豆网上搜索。
UML复习资料最全
UML期末复习资料
一、填空题:
(16分)
1.软件开发是一套关于软件开发各个阶段的定义、任务和作用的,建立在理论上的一门工程学科。
2.经典的软件工程思想将软件的开发分为以下5个阶段:
需求捕获、系统分析与设计、系统实现、测试和维护。
3.UML(UnifiedModelingLanguage,统一建模语言),是一种面向对象的建模语言。
它主要作用是帮助用户对软件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。
4.UML由视图、图、模型元素和通用机制四个部分组成。
5.UML中的5种视图分别为:
用例视图、逻辑视图、并发视图、组件视图和配置视图。
6.UML中的建模机制分为静态建模机制和动态建模机制。
二、问答题:
(24分)
1.请您阐述UML的组成及其之间的包含关系。
答:
UML由视图、图、模型元素和通用机制组成。
其中视图包含图,图包含模型元素,通用机制用于表示其它信息,比如注释、模型元素的语义。
2.请您阐述各视图下的各种图的组成。
答:
用例视图有用例图;
逻辑试图有类图和对象图;
并发视图有时序图、协作图、状态图、和活动图;
组件视图有组件图;
配置视图有配置图;
3.您如何理解UML中模型元素和通用机制的概念。
答:
模型元素(ModelElement)代表面向对象中的类、对象、接口、消息和关系等概念。
UML中的模型元素包括事物和事物之间的联系
通用机制(GeneralMechanism)用于表示其它信息,比如注释、模型元素的语义等。
4.如何理解UML中的静态建模机制和动态建模机制。
答:
静态建模机制所建立的图都是静态图,包括用例图、类图、对象图
组件图和配置图;
动态建模机制所建立的模型或者可以执行,或者表示执行时事物的时序状态或交互关系,包括有状态图、活动图、时序图和协作图。
5.用例图中的<
答:
扩展关系(extend):
1)、一个用例也可以被定义为基础用例的增量扩展;
2)、基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点;
3)、使用扩展关系时,基础用例没有扩展也是完整的。
包含关系(include):
1)、一个用例可以简单地包含其它用例具有的行为,并把它包含的用例行为作为自身行为的一部分;
2)、用例之间的包含用例称为提供者用例;
3)、使用包含关系时,必须在客户用例中说明提供者用例被包含的详细位置
6.请您简述时序图和协作图的区别和联系。
答:
联系:
时序图和协作图都来自UML元模型的相同信息,都是表示对象间的交互作用;他们的语义是等价的;它们可以从一种形式转换成另一种形式而不丢失任何信息。
区别:
时序图和协作图的侧重点不同,前者主要描述交互过程中的时间顺序,后者主要是明确的表达出对象间的关系;时序图有生命线和激活期而协作图没有。
7.请您阐述类图中关联、泛化、实现、依赖各自的适用情况。
答:
1)关联表示对象之间的结构关系。
2)泛化表示类之间的一般和泛化关系。
3)实现飙汗死规格说明和其实现之间的关系。
4)依赖表示类之间的使用关系。
8.您如何理解动态视图在UML建模中的作用。
答:
1)动态视图描述了系统的动态结构,并且建立响应的动态模型;
2)动态模型又描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。
9.您如何理解静态视图在UML中的作用。
答:
1)静态视图显示论文系统的静态结构,特别是存在事物的种类(例如类、类型)的对象结构中;
2)静态视图将行为实体描述成离散的模型元素,但不包括动态行为的细节。
三、名词解释题:
(15分)
1.UML中的视图、图、模型元素、通用机制?
答:
视图:
用于表达系统某一方面特征的UML建模元素的子集。
图:
是模型元素集的图形表示。
模型元素:
代表面向对象中的类、对象、接口、消息和关系等概念。
通用机制:
用于表示其他信息,比如注释、模型元素的语义。
2.用例图?
类图?
时序图?
协作图?
状态图?
活动图?
答:
用例图:
描述系统功能,由软件需求到最终实现的每一步。
类图:
系统的静态结构,是对一组具有相同属性、操作、关系和语义的对象的描述。
时序图:
按时间顺序描述系统元素间的交互,用来显示对象之间的关系,并强调对象的时间顺序,同时显示对象之间的交互。
协作图:
按时间和空间顺序描述系统元素之间的交互和它们之间的关系
状态图:
描述系统元素的状态条件和响应,通过对类对象的生存周期建立模型来描述对象随时间变化的动态行为。
活动图:
描述系统元素的活动,用于对计算机流程工作流程建模。
3.什么是泳道?
答:
泳道是活动图中的一些垂直展现,它将活动图中的活动状态进行分组,每一组表示负责某些活动业务组织。
4.静态建模机制?
动态建模机制?
答:
静态建模机制:
利用用例图、类图、对象图、包、组件图和配置图进行UML建模。
动态建模机制:
利用消息、状态图、时序图、协作图和活动图进行UML建模。
四、UML图与代码转换:
(35分)
1.根据以下UML图写出Java或C#的代码结构
2.据以下UML图写出Java或C#的代码结构
3.据以下UML图写出Java或C#的代码结构
4.根据场景画出UML的建模分析图形
5.用户使用电话的状态图分析:
6.客户购买商品操作购物车的时序图:
7.某学校信息系统用例图的部分内容。
用户请求系统做的事件(例如修改个人信息、查看个人信息和删除个人信息)
8.学生参加考试流程的活动图描述(使用泳道区分不同对象的活动状态)
25、UML中有哪些扩展机制?
答案:
构造型、标记值、约束
26、什么是参与者?
如何确定系统的参与者?
答案:
参与者(actor,有些书翻译成“角色”)是一种特殊的类,是系统外部的一个实体,这个实体可以是任何的人或物,它以某种方式参与了用例的执行过程。
在获取用例前首先要确定系统的参与者,可以根据下面的一些问题来寻找系统的参与者:
①谁使用系统?
②谁安装系统、维护系统?
③谁启动系统、关闭系统?
④谁从系统中获取信息,谁提供信息给系统?
⑤在系统交互中,谁扮演了什么角色?
⑥系统会与哪些其他系统相关联?
27、什么是用例?
如何确定系统的用例?
答案:
用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。
可以根据下面的一些问题来识别用例:
①参与者希望系统提供什么功能;
②系统是否存储和检索信息;
③当系统改变状态时,是否通知参与者;
④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。
28、什么是顺序图,顺序图是由那些部分组成?
答案:
顺序图是强调消息时间顺序的交互图。
是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。
顺序图是由:
类角色、生命线、激活期和消息组成。
29、什么是协作图,协作图是由那些部分组成?
答案:
协作图作为另一种交互图而言,强调的是参加交互的对象的组织。
协作图是由:
类角色、关联角色和消息流组成。
30、试论述类与用例的区别。
答案:
类是对一组具有相同属性、操作、关系和语义的对象的描述。
类是对事物的抽象。
而用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。
31、试比较边界类与实体类的异同点。
答案:
实体类是对系统中需要存储的信息和其信息的行为建立模型。
实体类具有永久的特性,这类似于数据库中的表一样用于保存系统的业务信息。
边界类位于系统与外界的交接处,它在一个或多个角色和系统之间建立相互作用的模型。
32、什么是依赖?
他与关联有什么区别?
答案:
依赖是一种使用关系,它说明了一个事物声明说明的变化可能影响到使用它的另一个事物,但反之未必。
也就是说,服务的使用者以某种方式依赖于服务的提供者。
而关联是一种结构关系,它详述了一个事物的对象与另一个事物的对象相互联系。
33、什么是泛化?
泛化是否就是类的继承,如果不是请说明理由
答案:
泛化是一般事物(称为父类或超类)和较特殊事物(称为子类或孩子类)之间的关系。
泛化不是类的继承,类的继承是泛化的一种。
34、试论述聚合和组合的异同。
答案:
聚合描述了整体对象拥有部分对象的关系。
组合是聚合的一种形式,它具有强的拥有关系,而且整体与部分的生命周期是一致的。
35、什么是动作状态?
什么是活动状态?
它们有什么区别?
答案:
动作状态是活动图中最小单位的构造块,表示原子动作。
活动状态表示的是可以分割的动作。
可以将对象的活动状态理解为一个组合,它的控制流由其他活动状态或动作状态组成。
36、活动图与传统的流程图有什么区别?
答案:
流程图一般限于顺序过程,而活动图则可以对付并行过程。
流程图明确指出了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。
37、什么是对象图,请简述对象的作用?
答案:
对象图是描述在某一时刻,一组对象以及它们之间关系的图形。
对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。
38、包的访问可见性有几种?
请描述各访问可见性的区别。
答案:
可见性可以分成3种:
公有访问(public)、保护访问(protected)、私有访问(private)
公有访问(public):
包内的模型元素可以被任何引入此包的其他包的内含元素访问。
保护访问(protected):
表示此元素只能被当前包的子包访问。
私有访问(private):
表示此元素只能被当前包内的模型元素访问。
39、什么是对象图,请简述对象的作用?
答案:
对象图(ObjectDiagram)是描述在某一时刻,一组对象以及它们之间关系的图形。
对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。
40、请描述组件图和部署图的关系?
答案:
组件图用于描述系统中软件的构成,但没有描述系统中与硬件有关的构成情况。
部署图则用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件。
41、请叙述类,组件和节点的关系?
答案:
组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。
节点和组件的关系:
①组件是参与系统执行的事物,而节点是执行组件的事物。
简单的说就是组件是被节点执行的事物,如假设节点是一台服务器,则组件就是其上运行的软件。
②组件表示逻辑元素的物理模块,而节点表示组件的物理部署。
这表明一个组件是逻辑单元(如类)的物理实现,而一个节点则是组件被部署的地点。
一个类可以被一个或多个组件实现,而一个组件也可以部署在一个或多个节点上。
42、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。
掌握利用两种图进行的设计的方法。
答案:
协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。
与顺序图一样,协作图也展示对象之间的交互关系。
顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。
顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
43、什么是高内聚度?
答案:
高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个意思:
①不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
②不相关的职责不要分派给同一个类。
44、什么是对象间的可见性?
答案:
可见性(Visibility)指的是一个对象能够“看到”或者引用另一个对象的能力
45、标准建模语言UML的重要内容可以由哪五类图(共9种图形)来定义?
答案:
用例图、静态图(包括类图、对象图和包图)、行为图、交互图和实现图。
46、简述统一建模语言(UML):
答案:
统一建模语言(UML)是一种绘制软件蓝图的标准语言。
可以用UML对软件密集型系统的制品进行可视化详述和文档化。
UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。
47、UML的交互图中是谁在交互?
为什么交互?
如何交互?
答案:
对象在交互,为完成特定功能而交互,以发送消息方式交互。
48、状态图中所谓主要事件有那四类?
答案:
1)信号事件;2)调用事件;3)变化事件;4)时间事件。
49、UML顺序图中定义的消息有那三种?
答案:
同步调用(ProcedureCall)是最主要的同步消息;异步(Asynchronous);返回消息(Return)。
50、面向对象技术的“泛化关系”是什么含有含义,其目的是什么?
答案:
指一般元素与特殊元素之间的关系。
其目的:
子类共享父类的属性和操作;实现多态。
51、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。
掌握利用两种图进行的设计的方法。
答:
协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。
与顺序图一样,协作图也展示对象之间的交互关系。
顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。
顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
52、什么是高内聚度
高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个意思:
不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
不相关的职责不要分派给同一个类。
53、什么是对象间的可见性?
答:
可见性(Visibility)指的是一个对象能够“看到”或者引用另一个对象的能力
54.可以用_____________和____________两种方法找概念类。
答案:
概念类类别表、 标识名词短语
54、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?
答:
1)初始阶段:
编制简要的愿景文档、业务案例、确定范围、粗略评估成本。
2)细化阶段:
细化愿景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求和范围、进一步评估成本
3)构造阶段:
迭代地实现系统的其余部分、准备部署
4)提交阶段:
beta测试、部署
55、统一过程中的核心工作流有哪些?
答:
业务建模、需求分析、设计、实现、测试。
56、定义大多数的需求和范围的工作是在UP中的 (11) 阶段完成的。
(11)A初始阶段 B细化阶段 C构造阶段 D提交阶段
57、下列 (12) 不在UP的初始阶段中完成的
(12)A编制简要的愿景文档 B粗略评估成本C定义大多数的需求D业务案例
58、.领域模型是一组表示真实世界的 (16) ,不是 (17) 的模型。
答案:
(16)概念类 (17)软件部件
59、在协作图中通过 (18) 表示出消息的时间顺序。
答案:
(18)消息编号
60、对象之间的关联关系有哪几种?
答案:
(UML中类间关系:
继承、实现、依赖、关联、聚合、组合)
61.UML语言定义了五种类型不同的图,把它们有机的结合起来就可以描述系统的所有视图,请列举出这些图形名称,并简要描述它们的作用。
参考答案:
(用例图(Usecasediagram)从用户角度描述系统功能,并指出各功能的操作者。
静态图(Staticdiagram),表示系统的静态结构。
包括类图、对象图、包图。
行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。
包括状态图、活动图。
交互图(Interactivediagram),描述对象间的交互关系。
包括顺序图、合作图。
实现图(Implementationdiagram)用于描述系统的物理实现。
包括构件图、部件图。
)
62.请分点叙述UML的特点。
参考答案:
(
(1)统一标准 UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。
(2)面向对象 UML还吸取了面向对象技术领域中其他流派的长处。
UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。
(3)可视化、表示能力强 系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。
(4)独立于过程 UML是系统建模语言,独立于开发过程。
(5)易掌握、易用 由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。
)
63、请按順序写出软件发展生命周期中之各项工作的名称。
计划、分析、设计、编程、测试、部署、维护
64、请比较软件开发时,分析及設計两项工作之不同。
分析:
规范whattodo,定义Problem,目标为dotherightthing
设计:
规范howtodo,定义Solution,目标为dothethingright
65、由小到大写出各种软件测试之策略。
单元测试、整合测试、系统测试、驗收测试
66、写出各种软件维护工作之种类。
校正性维护、適应性维护、完善性维护、防範性维护
67、UML是那三个英文字的縮写?
UnifiedModelingLanguage
68、UML所统一是什么?
统一了Notation,但是沒有统一Process
69、UML之主要用途为何?
·以一个英文单字来描述:
modeling
·以三个英文单字来描述:
writesoftwareblueprint
·以四个方向来描述:
visualization,specification,construction,documentation
70、所謂“建模(Modeling)”是指软件发展生命周期中之哪些工作?
是指分析与设计之有关工作
71、面向对象软件开发中最重要、最核心之UML图形为何?
类图(ClassDiagram)
72、UML中用来描述流程之图形为何?
活动图(ActivityDiagram)
73、UML中用来描述对象间彼此调用合作以完成特定功能之图形为何?
交互图(InteractiveDiagram)
74、UML中用以建模使用者之需求及系统之功能之图形为何?
使用用例图(UseCaseDiagram)
75、UML中用以描述单一对象,接受外界事件,改变內部状态,且作出适当回应之图形为何?
状态图(StateDiagram)
76、UML中用来描述系统中各类软件项目及其组织架构之图形为何?
组件图(ComponentDiagram)
77、UML中用来描述系统中各类硬件项目及其组织架构及软件组件于硬件上之分布状況之图形为何?
部署图(DepolymentDiagram)
78、UML2.0中之交互图有哪些?
通信图(Communicationdiagram)
交互概览图(Interactionoverviewdiagram)(UML2.0)
顺序图(Sequencediagram)
时间图(UMLTimingDiagram)(UML2.0)
79、UML之交互图中是谁在交互?
为什么交互?
如何交互?
对象在交互,为完成特定功能而交互,以发送消息方式交互
80、UML中的“4+1”视图是什么?
在分析阶段,表达用户需求用哪个视图最好?
答:
“4+1”视图是
逻辑视图、进程视图、实现视图、配置视图、用例视图;表达用户需求用用例视图最好。
81、RUP的特点是什么?
答,RUP特点为:
用例驱动;以体系结构为中心;使用迭代和增量的方法开发软件。
82、分析以下“工厂方法”模式图并回答问题:
_
(1)上述五个类中,哪些类定义了接口?
哪些类实现了接口?
(2分)
答:
Creator和Product类定义了接口
ConcreteCreator和ConcreteProduct类实现了接口
(2)哪个类仅使用接口?
(1分)
答:
Client类仅使用接口。
(3)哪个类实际创建产品?
(1分)
答:
ConcreteCreator类实际创建产品。
83、何谓OO三种模型?
各模型都表达(描述)什么?
三种模型的关系如何?
交互模型包括哪些框图?
这些框图(协作图除外)主要作用是什么?
答1)OO三种模型是:
类模型,状态模型,和交互模型
2)类模型描述静态整体结构,状态模型描述对象随时间变化的情况,交互模型描述对象交互情况;
3)类模型定义数据结构,状态模型和交互模型操作这个结构;
4)交互模型包括用例图、顺序、协作图和活动图;
5)用例图描述系统功能,顺序图描述对象之间的交互,活动图描述工作流程和算法。
1、UML(UnifiedModelingLanguage,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:
功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:
需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:
方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 复习资料