uml期末考试题集及答案 联系客服

发布时间 : 星期二 文章uml期末考试题集及答案更新完毕开始阅读baff4721f242336c1fb95e2c

图形用户界面(GUI)的状态图,加上了屏幕保护和一个保护条件

7、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。

答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。

顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。 8、顺序图和协作图中,消息有哪三种?各自的意义和表示法什么?

答: 消息可以是简单的(simple)、同步的(synchronous)或异步的(asynchronous)。简单消息是从—个对象到另一个对象的控制流的转移。如果一个对象发送了—个同步消息,那么它要等待对方对消息的应答,收到应答后才能继续自己的操作。而发送异步消息的对象不需要等待对方的应答便可以继续自己的操作。在顺序图中,简单消息是—个简单箭头,同步消息是实心箭头。异步消息是—个半边箭头。

9、已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成,请画出能够正确表示类A,B和C之间关系的UML类图。

答案:

10、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?

答:使用RUP过程开发软件系统,软件的生命周期分四个阶段:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)、提交阶段(Transition)。各阶段需要完成的主要工作如下:

1)初始阶段:编制简要的愿景文档、 业务案例、 确定范围、 粗略评估成本。]

2)细化阶段:细化愿景文档、 迭代地实现核心构架、 解决高风险的问题、 定义大多数的需求和范围、 进一步评估成本

3)构造阶段:迭代地实现系统的其余部分、 准备部署 4)提交阶段:beta 测试、部署 11. 缩写词UML的全称是什么?

答案:UML的中文意思是统一建模语言(Unified Modeling Language),它是一种通用的可视化建模语言。 12. UML只适用于软件工程领域吗?

答案:UML同样也可以用来描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。

37

13. UML包括哪些组成部分?

答案:UML包括语义概念、表示法和指导规范,提供了静态、动态、系统环境及组织结构的模型。UML体系包括三个部分:UML基本构造块、UML规则和UML公共机制。 14. UML事物(基本元素)有哪些?

答案:UML事物有:结构事物、行为事物、分组事物、注释事物。 15. UML关系有哪些?

答案:UML中关系包括四种:依赖、关联、泛化和实现。 16. UML图有哪些?其中哪些是静态图?哪些是动态图?

答案:在UML中包含9类图:①类图;②对象图;③用例图;④顺序图; ⑤协作图;⑥状态图;⑦活动图;⑧组件图;⑨部署图。

静态图有:类图、对象图、用例图、组件图、部署图。 动态图有:顺序图、协作图、状态图、活动图。

17. UML虽然统一了软件建模符号,但仍然保有弹性可以与时俱进,这是采用了什么方法?

答案:扩展机制 18. UML中也哪些扩展机制?

答案:构造型、标记值、约束

19. 什么是参与者?如何确定系统的参与者?

答案:参与者(actor ,有些书翻译成“角色”)是一种特殊的类,是系统外部的一个实体,这个实体可以是任何的人或物,它以某种方式参与了用例的执行过程。

在获取用例前首先要确定系统的参与者,可以根据下面的一些问题来寻找系统的参与者:①谁使用系统?②谁安装系统、维护系统?③谁启动系统、关闭系统?④谁从系统中获取信息,谁提供信息给系统?⑤在系统交互中,谁扮演了什么角色?⑥系统会与哪些其他系统相关联? 20. 什么是用例?如何确定系统的用例?

答案:用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。 可以根据下面的一些问题来识别用例: ①参与者希望系统提供什么功能; ②系统是否存储和检索信息;

③当系统改变状态时,是否通知参与者;

④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。 21. 什么是顺序图,顺序图是由那些部分组成?

答案:顺序图是强调消息时间顺序的交互图。是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。顺序图是由:类角色、生命线、激活期和消息组成。 22. 什么是协作图,协作图是由那些部分组成?

答案:协作图作为另一种交互图而言,强调的是参加交互的对象的组织。 协作图是由:类角色、关联角色和消息流组成。 23. 试论述类与用例的区别。

答案:类是对一组具有相同属性、操作、关系和语义的对象的描述。类是对事物的抽象。而用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。 24. 试比较边界类与实体类的异同。

答案:实体类是对系统中需要存储的信息和其信息的行为建立模型。实体类具有永久的特性,这类似于数据库中的表一样用于保存系统的业务信息。

边界类位于系统与外界的交接处,它在一个或多个角色和系统之间建立相互作用的模型。 25. 什么是依赖?他与关联有什么区别?

38

答案:依赖是一种使用关系,它说明了一个事物声明说明的变化可能影响到使用它的另一个事物,但反之未必。也就是说,服务的使用者以某种方式依赖于服务的提供者。而关联是一种结构关系,它详述了一个事物的对象与另一个事物的对象相互联系。

26. 什么是泛化?泛化是否就是类的继承,如果不是请说明理由

答案:泛化是一般事物(称为父类或超类)和较特殊事物(称为子类或孩子类)之间的关系。 泛化不是类的继承,类的继承是泛化的一种。 27. 试论述聚合和组合的异同。

答案: 聚合描述了整体对象拥有部分对象的关系。组合是聚合的一种形式,它具有强的拥有关系,而且整体与部分的生命周期是一致的。

28. 什么是动作状态?什么是活动状态?它们有什么区别?

答案:动作状态是活动图中最小单位的构造块,表示原子动作。活动状态表示的是可以分割的动作。可以将对象的活动状态理解为一个组合,它的控制流由其他活动状态或动作状态组成。 29. 活动图与传统的流程图有什么区别?

答案:流程图一般限于顺序过程,而活动图则可以对付并行过程。

流程图明确指出了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。 30. 什么是对象图,请简述对象的作用?

答案:对象图是描述在某一时刻,一组对象以及它们之间关系的图形。

对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。 31. 包的访问可见性有几种?请描述各访问可见性的区别。

答案:可见性可以分成3种:公有访问(public)、保护访问(protected)、私有访问(private)

公有访问(public):包内的模型元素可以被任何引入此包的其他包的内含元素访问。保护访问(protected):表示此元素只能被当前包的子包访问。

私有访问(private):表示此元素只能被当前包内的模型元素访问。 32. 什么是对象图,请简述对象的作用?

答案:对象图(Object Diagram)是描述在某一时刻,一组对象以及它们之间关系的图形。 对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。 33. 包的访问可见性有几种?请描述各访问可见性的区别。

答案:可见性可以分成3种:公有访问(public)、保护访问(protected)、私有访问(private) 公有访问:包内的模型元素可以被任何引入此包的其他包的内含元素访问。 保护访问:表示此元素只能被当前包的子包访问。 私有访问:表示此元素只能被当前包内的模型元素访问。 34. 请描述组件图和部署图的关系?

答案:组件图用于描述系统中软件的构成,但没有描述系统中与硬件有关的构成情况。部署图则用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件。 35. 请叙述类,组件和节点的关系?

答案:组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。 节点和组件的关系:

①组件是参与系统执行的事物,而节点是执行组件的事物。简单的说就是组件是被节点执行的事物,如假设节点是一台服务器,则组件就是其上运行的软件。

②组件表示逻辑元素的物理模块,而节点表示组件的物理部署。这表明一个组件是逻辑单元(如类)的物理实现,而一个节点则是组件被部署的地点。一个类可以被一个或多个组件实现,而一个组件也可以部署在一个或多个节点上。 36、简述UML的9种图。

答案:

39

(1)用例图:用例图展现了一组用况、参与者以及它们间的关系。可以用用例图描述系统的静态使用情况。在对系统行为组织和建模方面,用例图的是相当重要的。

(2)类图:

(3)对象图 对象图展示了一组对象及它们间的关系。用对象图说明类图中所反应的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面的因素外,它与类图作用是相同的。

(4)交互图:交互图展现了按一定的目的进行的一种交互,它由在一个上下文中的一组对象及它们间交互的信息组成。交互图也可用于描述一个用况的行为。顺序图和协作图都是交互图,顺序图和协作图可以相互转换。

顺序图:展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。 协作图:展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。

(5)状态图:展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用况实例的生命周期。

(6)活动图:活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。它对于系统的功能建模特别重要,强调对象间的控制流程。

高层活动图用于表示需要完成的一些任务,即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。低层活动图用于表示类的方法。但活动图不适用于描述动作与对象间的关系,显示对象间的合作以及显示对象在生命周期内的运转情况。

(7)构件图(组件图):构件图展现了一组构件之间的组织和依赖,用于对原代码、可执行的发布、物理数据库和可调整的系统建模。

(8)部署图:部署图展现了对运行时处理节点以及其中构件的配署。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。用部署图说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统。

37. 请简要解释主动类的概念,并说明它建模的意义,并通过1-2个实例来说明,主动类可以用来表示哪些设计元素。

主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够发起控制活动;它不在别的线程、堆栈或状态机内运行,具有独立的控制期。从某种意义上说,它就是一个线程。

例如Socket服务器的监听线程就可以表示为主动类。

38. 在绘制类图时,第一步就是发现类,最常用的方法是什么?请简要说明它的使用方法。

发现类的方法有很多种,其中最广泛应用的莫过于“名词动词法”,其主要规则是从名词与名词短语中提取对象与属性;从动词与动词短语中提取操作与关联;而所有格短短语通常表明名词应该是属性而不是对象。 39. 请说明对象图的适用场景以及它的优缺点。

对象图适用于论证类模型的设计以及对源代码进行分析和说明。其优点是能够直观理解出系统运行时的实时状态,缺点是比较复杂,工作量大。

40. 交互概述图有哪两种形式,它们分别适用于什么场景?相对而言,哪一种会更加常用一些?

一是活动图的变体,它将活动节点进行细化,用一些小的顺序图来表示活动节点内部的对象控制流;二是顺序图的变体,它用活动图来补充顺序图。但相对而言后者是十分不常见的,因此UML的定义更倾向于将其称为活动图的变体。 41、请简要说明交互概述图在建模时的优点和缺点。并简要描述交互概述图的绘制方法。

优点:充分结合交互图和活动图的长处,在表达了对象到对象的控制流的同时,充分展示了从活动到活动的控制流。 缺点:对于规模稍大的场景,它并不是一个很好的选择,它将使模型的可读性大大降低 绘制方法:理解活动控制流,并用活动图表示出来;分析活动节点:用交互图表述细节。 五、分析设计题(18)

1、如图所示,是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正错误。

40