您好,欢迎来到吉趣旅游网。
搜索
您的当前位置:首页UML课后习题答案

UML课后习题答案

来源:吉趣旅游网
UML课后习题答案

UML习题答案

第⼀章⾯向对象设计与UML1.填空题

(1)基本构造块UML规则公共机制(2)名字属性操作(3)封装继承多态(4)继承

(5)瀑布模型喷泉模型基于组件的开发模型XP开发模型2. 选择题(1)C(2)A B C D(3)A B C D(4)A B C(5)A3.简答题

(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,⽽对象是某⼀类的具体化实例,每⼀个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,⽽对⼀类对象的抽象就是类.类描述了⼀组有相同特性和相同⾏为的对象。

(2)1.UML是⼀种语⾔。 2. UML是⽤来建模的。 3.UML是统⼀的标准。

(3)建模能够帮助我们按照实际情况或按我们需要的形式对系统进⾏可视化;提供⼀种详细说明系统的结构或⾏为的⽅法;给出⼀个指导系统构造的模板;对我们所做出的决策进⾏⽂档化。

在建模时应遵循以下原则:选择要创建什么模型对如何动⼿解决问题和如何形成解决⽅案有着意义深远的影响;每⼀种模型可以在不同的精度级别上表⽰;最好的模型是与现实相联系的;单个模型不充分;对每个重要的系统最好⽤⼀组⼏乎独⽴的模型去处理。

(4)UML和⾯向对象软件开发之间有紧密的关系,可以说是⾯向对象软件开发促使了UML 的产⽣。但是由于在UML标准化的过程中,吸收了业务建模、⼯作流建模和数据库建模等领域的标准规范,形成了适应性很强的标准。

(5)在软件设计过程中,使⽤UML建模是为了能够更好地理解正在开发的系统。通过UML 建模,可以达到以下⽬的:有助于按照实际情况或按照所需要的样式对系统进⾏可视化;能够规约系统的结构或⾏为;给出了指导构造系统的模板;对做出的决策进⾏⽂档化。

第⼆章UML通⽤知识点综述1.填空题

(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通⽤划分2. 选择题

(1)D(2)C(3)A(4)A B(5)D3.简答题

(1)在UML中,定义了四种基本的⾯向对象的事物,分别是结构事物、⾏为事物、分组事物和注释事物等。(2)构件种类有:源代码构件、⼆进制构件和可执⾏构件。

(3)在UML中主要包括的视图为静态视图、⽤例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。

(4)视图和图是包含和被包含的关系。在每⼀种视图中都包含⼀种或多种图。

(5)UML提供了⼀些通⽤的公共机制,使⽤这些通⽤的公共机制(通⽤机制)能够使UML 在各种图中添加适当的描述信息,从⽽完善UML的语义表达。通常,使⽤模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通⽤机制可以有效地帮助表达,帮助我们进⾏有效的UML建模。UML提供的这些通⽤机制,贯穿于整个建模过程的⽅⽅⾯⾯。前⾯我们提到,UML的通⽤机制包括规格说明、修饰和通⽤划分三个⽅⾯。第三章Rational统⼀过程1.填空题

(1)⾓⾊活动产物⼯作流

(2)逻辑视图过程视图物理视图开发视图⽤例视图(3)设计开发验证(4)⼆维

(5)周期迭代过程⾥程碑2.选择题(1)A B C D(2)A C D(3)A C D(4)A B C(5)A B C D3.简答题

(1)初始阶段、细化阶段、构造阶段和移交阶段。

(2)迭代式软件开发、需求管理、基于构件的架构应⽤、建⽴可视化的软件模型、软件质量验证和软件变更控制。(3)在Rational统⼀过程的开发流程中,分别使⽤⾓⾊、活动、产物和⼯作流四种建模元素来进⾏表达。(4)对于⼀个以架构为中⼼的开发组织,需要对架构的⽬的、架构的表⽰和架构的过程进⾏关注。

(5)Rational统⼀过程是Rational软件开发公司的⼀款软件产品,并且和Rational软件开发公司开发的⼀系列软件开发⼯具进⾏了紧密的集成。Rational统⼀过程拥有⾃⼰的⼀套架构,并且这套架构是以⼀种⼤多数项⽬和开发组织都能够接受的形式存在的。它提供了如何对软

件开发组织进⾏管理的⽅式,并且拥有⾃⼰的⽬标和⽅法。

(6)实现Rational统⼀过程的步骤:评估当前状态、建⽴明确⽬标、识别过程风险、计划过程实现、执⾏过程实现和评价过

程实现。

(7)Rational统⼀过程作为⼀种软件⼯程过程为开发组织提供了如何在开发过程中如何对软件开发的任务进⾏严格分配、如何对参与开发的⼈员职责进⾏严格的划分等⽅法。按照预先制定的计划,这些计划包括项⽬时间计划和经费预算,开发出⾼质量的软件产品,并且能够满⾜最终⽤户的要求。Rational统⼀过程提供了⼀种以可预测的循环⽅式进⾏软件开发的过程、⼀个⽤来确保⽣产⾼质量软件的系统产品、⼀套能够被灵活改造和扩展的过程框架和许多软件开发最佳实践,这些都使Rational统⼀过程对现代软件⼯程的发展产⽣了深远的影响。第四章Rational Rose的安装和操作1.填空题

(1)新建打开最近使⽤的模型

(2)⽤例视图逻辑视图构件视图部署视图(3)编辑区

(4)模型内容⽇志记录(5)mdl2.选择题(1)A B C D(2)A C D(3)A B C(4)A C D(5)C3.简答题

(1)Rational Rose 是⼀个完全的、具有能满⾜所有建模环境(包括Web开发、数据库建模以及各种开发⼯具和语⾔)需求能⼒和灵活性的⼀套解决⽅案。Rational Rose 允许系统开发⼈员、系统管理⼈员和系统分析⼈员在软件的各个开发周期内,建⽴系统地需求和系统的体系架构的可视化模型,并且能够将这些需求和系统的体系架构可视化模型转换成代码,帮助系统开发。Rational Rose建模⼯具能够为UML提供很好的⽀持。(2)从略,参照第⼆节。

(3)通过选择“File”(⽂件)菜单栏下的“Import”(导⼊)可以⽤来导⼊模型、包或类等,可供选择的⽂件类型包含.mdl、.ptl、.sub或.cat等,导⼊模型的对话框。导⼊模型,可以对利⽤现成的建模。

通过选择“File”(⽂件)菜单栏下的“Export Model ...”(导出模型)可以⽤来导出模型,导出的⽂件后缀名为.ptl,当选择⼀个具体的类的时候,⽐如选择⼀个类名称为“User”,然后我们可以通过选择“File”(⽂件)菜单栏下的“Export User”(导出User类)来导出User 类,弹出导出的⽂件后缀名称为.ptl

(4)Rational Rose 2003的主界⾯主要是由标题栏、菜单栏、⼯具栏、⼯作区和状态栏构成。默认的⼯作区域包含四个部分,分别是左侧的浏览器,⽂档编辑区和右侧的图形编辑区域,以及下⽅的是⽇志记录。第五章使⽤Rose设计UML1.填空题

(1)⽤例视图逻辑视图构件视图部署视图

(2)⾮⼀致性检查审查功能审查功能重⽤建模元素和图功能(3)构件构件图包(4)部署

(5)模型代码库执⾏⽂件运⾏库其他构件的信息2.选择题

(1)A B D(2)A C D(3)A C D(4)A B C(5)A B C D3. 简答题

(1)使⽤Rational Rose建⽴的Rose模型中分别包括⽤例视图、逻辑视图、构件视图和部署视图。⽤例视图是系统功能的⾼层抽象。逻辑视图关是系统如何实现⽤例中所描述的功能。部署视图显⽰的是系统的实际部署情况,它是为了便于理解系统如何在⼀组处理节点上的物理分布,⽽在分析和设计中使⽤的构架视图。

(2)使⽤Rational Rose⽣成代码有通过以下四个步骤进⾏:选择待转换的⽬标模型、检查语⾔的语法错误、设置代码⽣成属性、最后⽣产代码。

(3)在Rational Rose中,可以通过收集有关类、类的属性、类的操作、类与类之间的关系以及包和构件等静态信息,将这些信息转化成为对应的模型,在相应的图中显⽰出来。(4)⽤例视图关注的是系统功能的⾼层抽象,适合于对系统进⾏分析和获取需求,⽽不关注于系统的具体实现⽅法。逻辑视图关注系统如何实现⽤例中所描述的功能,主要是对系统功能性需求提供⽀持,即在为⽤户提供服务⽅⾯,系统所应该提供的功能。第六章⽤例图1.填空题(1)⽤例图

(2)参与者(⾓⾊)⽤例系统边界关联(3)包含扩展泛化(4)⽤例粒度

(5)组成部分系统外部2.选择题(1)D(2)A C D(3)C(4)C(5)D3. 简答题

(1)识别⽤例的最好⽅法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。当找到参与者之后,我们就可以根据参与者来确定系统的⽤例,主要是看各参与者如何使⽤系统,需要系统提供什么样的服务。对于这个被选出的⽤例模型,不仅要做到易于理解,

还要做到不同的涉众对于它的理解是⼀致的

(2)我们可以在⽤例之间抽象出包含、扩展和泛化这三种关系。多个⽤例⽤到同⼀段的⾏为,则可以把这段共同的⾏为单独抽象成为⼀个⽤例,然后让其他⽤例来包含这⼀⽤例。扩展关系往往被⽤来处理异常或者构建灵活的系统框架。使⽤扩展关系可以降低系统的复杂度,有利于系统的扩展,提⾼系统的性能。扩展关系还可以⽤于处理基础⽤例中的那些不易描述的问题,使系统显得更加清晰易于理解。当您发现系统中有两个或者多个⽤例在⾏为、结构和⽬的⽅⾯存在共性时,就可以使⽤泛化关系。这时,可以⽤⼀个新的(通常也是抽象的)⽤例来描述这些共有部分,这个新的⽤例就是⽗⽤例。

(3)视系统的复杂度决定。对于⽐较简单的系统,可以相对⽤的少些⽤例图,对于⽐较复杂的系统,为表⽰清楚系统功能必须多创建⽤例图。我们应该根据每个系统的具体情况,具体问题具体分析,在尽可能保证整个⽤例模型的易理解性前提下决定⽤例的⼤⼩和数⽬。(4)⽤例图是从软件需求分析到最终实现的第⼀步,它显⽰了系统的⽤户和⽤户希望提供的功能,有利于⽤户和软件开发⼈员之间的沟通。借助于⽤例图,系统⽤户、系统分析⼈员、系统设计⼈员、领域专家能够以可视化的⽅式

对问题进⾏探讨,减少了⼤量交流上的障碍,便于对问题达成共识。

(5)使⽤Rose创建⽤例图的步骤:识别参与者、创建⽤例,最后创建⽤例之间的关系。4.上机题(1)⽤例图位于光盘中学⽣管理系统.mdl. ->User Case View->系统管理员⽤例图(2)⽤例图位于光盘中学⽣管理系统.mdl. ->User Case View->教师⽤例图(3)⽤例图位于光盘中学⽣管理系统.mdl. ->User Case View->学⽣⽤例第七章类图与对象图1.填空题(1)对象链

(2)依赖泛化关联实现(3)类

(4)类接⼝数据类型构件

(5)共有类型私有类型受保护类型2.选择题(1)A B(2)C(3)D(4)D(5)C3. 简答题

(1)类的组成元素有类的名称、类的属性、类的操作、类的职责、类的约束和类的注释。(2)对象图是由对象和链组成的。

(3)在⾯向对象分析⽅法中,类和对象的图形表⽰法是关键的建模技术之⼀。它们能够有效的对业务领域和软件系统建⽴可视化的对象模型,使⽤强⼤的表达能⼒来表⽰出⾯向对象模型的主要概念。UML中的类图和对象图显⽰了系统的静态结构,其中的类、对象是图形元素的基础。

(4)在类中包含三个部分,分别是类名、类的属性和类的操作。类的名称栏只包含类名。类的属性栏定义了所有属性的特征。类中列出了操作类中使⽤了关联连接,关联中使⽤名称、

⾓⾊以及约束等特征定义。类是⼀类的对象的抽象,类不存在多重性。

对象包含两个部分:对象的名称和对象的属性。对象的名称栏包含“对象名:类名”。对象的属性栏定义了属性的当前值。对象图中不包含操作内容,因为对属于同⼀个类的对象,其操作是相同的。对象使⽤链进⾏连接,链中包含名称、⾓⾊。对象可以具有多重性。4.上机题

(1)类图位于光盘中学⽣管理系统.mdl. -> User Case View->类图(2)对象图位于光盘中学⽣管理系统.mdl. -> Logical View->类图(3)对象图位于光盘中学⽣管理系统.mdl. -> Logical View->类图类图位于光盘中学⽣管理系统.mdl. -> User Case View->类图第⼋章序列图1.填空题(1)序列图

(2)发送者接收者活动(3)激活(4)⽣命线(5)矩形框下划线2.选择题(1)A B C D(2)A(3)A C(4)B(5)A B C3. 简答题

(1)序列图的⽤途包括:确认和丰富⼀个使⽤语境的逻辑表达。细化⽤例的表达。有效地描述如何分配各个类的职责以及各类具有相应职责的原因。

(2)确定序列对象。创建对象。创建⽣命线。创建消息。销毁对象。

(3)序列图显⽰不同的业务对象如何交互,对于交流当前业务如何进⾏很有⽤。除记录组织的当前事件外,⼀个业务级的序列图能被当作⼀个需求⽂件使⽤,为实现⼀个未来系统传递需求。在项⽬的需求阶段,分析师能通过提供⼀个更加正式层次的表达,把⽤例带⼊下⼀层次。那种情况下,⽤例常常被细化为⼀个或者更多的序列图。组织的技术⼈员也能通过序列图在记录⼀个未来系统的⾏为应该如何表现。在设计阶段,架构师和开发者能使⽤该图,挖掘出系统对象间的交互,这样充实整个系统设计

(4)销毁对象表⽰对象⽣命线的结束,在对象⽣命线中使⽤⼀个“X”来进⾏标识。给对

象⽣命线中添加销毁标记的步骤如下:在序列图的图形编辑⼯具栏中选择按钮,此时的光标变为“+”符号。单击欲销毁对象的⽣命线,此时该标记在对象⽣命线中标识。该对象⽣命线⾃销毁标记以下的部分消失。4.上机题

(1)序列图位于光盘中学⽣管理系统.mdl->Loginal View->输⼊学⽣信息1(序列图)(2)序列图位于光盘中学⽣管理系统.mdl->Loginal View->输⼊学⽣信息(序列图)

(3)序列图位于光盘中学⽣管理系统.mdl->Loginal View->修改学⽣信息(序列图)第九章协作图1.填空题

(1)对象协作关系中的链(2)对象对象间进⾏交互(3)独⽴连接关联(4)协作图(5)消息2.选择题(1)B(2)A B D(3)D

(4)A B C(5)A3. 简答题

(1)协作图的作⽤:通过描绘对象之间消息的传递情况来反映具体的使⽤语境的逻辑表达。显⽰对象及其交互关系的空间组织结构。协作图的另外⼀个作⽤是表现⼀个类操作的实现。(2)对象、消息和链,这三个元素构成了协作图。对象的⾓⾊表⽰⼀个或⼀组对象在完成⽬标的过程中所应起的那部分作⽤。通过⼀系列的消息来描述系统的动态⾏为。链是两个或多个对象之间的独⽴连接,是关联的实例。

(3)协作图中消息的种类有同步消息和异步消息。同步消息⽤于系统中使⽤多线程的场合。异步消息⽤于使⽤有并⾏的活动如消息队列的场合。

(4)协作图和序列图都是交互图,它们既是等价的,⼜有所区别。顺序图表⽰了时间消息序列,但没有表⽰静态对象关系。顺序图可以有效的帮助我们观察系统的顺序⾏为。⽽协作图⽤于表⽰⼀个协同中的对象之间的关系和消息以及描述⼀个操作或分类符的实现。在对系统进⾏⾏为建模时,通常做法是⽤顺序图按时间顺序对控制流建模,⽤协作图按对象组织对控制流建模。4.上机题

(1)协作图位于光盘中学⽣管理系统.mdl->Loginal View->输⼊学⽣信息1(协作图)(2)协作图位于光盘中学⽣管理系统.mdl->Loginal View->输⼊学⽣信息(协作图)(3)协作图位于光盘中学⽣管理系统.mdl->Loginal View->修改学⽣信息(协作图)第⼗章活动图1.填空题(1)活动图(2)⼀个对象流(3)动作状态

(4)⼊⼝动作和出⼝动作(5)泳道2.选择题(1)A B D(2)A B D(3)C(4)B(5)A3. 简答题

(1)活动图描述⼀个操作执⾏过程中所完成的⼯,作它对活动图对⽤例描述尤其有⽤,它可建模⽤例的⼯作流,显⽰⽤例内部和⽤例之间的路径。活动图可以说明⽤例的实例是如何执⾏动作以及如何改变对象状态。它显⽰如何执⾏⼀组相关的动作,以及这些动作如何影响它们周围的对象。活动图对理解业务处理过程⼗分有⽤。

(2)UML活动图中包含的图形元素有:动作状态、活动状态、组合状态、分叉与结合、分⽀与合并、泳道、对象流。(3)分叉⽤来表⽰将⼀个控制流分成两个或者多个并发运⾏的分⽀,分叉具有⼀个输⼊转换,两个或者多个输出转换,每个转换都可以是独⽴的控制流。分⽀是转换的⼀部分,它将转换路径分成多个部分,每⼀部分都有单独的监护条件和不同的结果。当动作流遇到分⽀时,会根据监护条件(布尔值)的真假来判定动作的流向。分⽀的每个路径的监护条件应该是互斥的,这样可以保证只有⼀条路径的转换被激发。

(4)动作状态是原⼦性的动作或操作的执⾏状态,它不能被外部事件的转换中断。动作状态的原⼦性决定了动作状态要么不执⾏,要么就完全执⾏,不能中断。动作状态不能有⼊⼝动作和出⼝动作,也不能有内部转移。动作状态是⼀种特殊的活动状

态。可以把动作状态理解为⼀种原⼦的活动状态。

活动状态是⾮原⼦性的,⽤来表⽰⼀个具有⼦结构的纯粹计算的执⾏。活动状态可以分解成其他⼦活动或动作状态,可以被使转换离开状态的事件从外部中断。活动状态可以有内部转换,可以有⼊⼝动作和出⼝动作。活动状态具有⾄少⼀个输出完成转换,当状态中的活动完成时该转换激发。4.上机题

(1)活动图位于光盘中学⽣管理系统.mdl->Loginal View->State/Activity Model->学⽣登录(2)活动图位于光盘中学⽣管理系统.mdl-> User Case View-> State/Activity Model->学⽣登录

(3)活动图位于光盘中学⽣管理系统.mdl->Loginal View->State/Activity Model->删除学⽣信息第⼗⼀章包图1.填空题

(1)包⼦系统依赖关系(2)公共的私有的受保护的(3)模型元素图(4)包图(5)模型2.选择题(1)A(2)A B(3)B C D(4)B C D(5)A B C3. 简答题

(1)包和包之间的关系总的来讲可以概括为依赖关系和泛化。

(2)包图是⼀种维护和描述系统总体结构的模型的重要建模⼯具,通过对图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。包图是由包和包之间的联系构成的,它是维护和控制系统总体结构的重要⼯具。

(3)构成包图的基本元素有包、⼦系统和依赖关系。包是⼀个可以拥有任何种类的模型元素的通⽤的命名空间。在系统模型中,每个图必须被⼀个唯⼀确定的包所有,同样这个包可能被另⼀个包所包含。包构成进⾏配置控制、存储和访问控制的基础。若⼲个相对独⽴的⼦系统构成了⼀个⼤型的复杂系统,系统和⼦系统的关系基本上是组合关系。通过对包图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。

(4)包是包图中最重要的概念,是最重要的组成部分。包图是由包和包之间的联系构成的,没有包就没有包图。4.上机题

(1)包图位于光盘中学⽣管理系统.mdl->Loginal View->包图第⼗⼆章构件图和部署图1.填空题

(1)代码特征⾝份特征(2)构件图

(3)构件构件类和接⼝(4)虚包

(5)部署图2.选择题(1)A B D(2)B(3)A B D(4)A(5)B3. 简答题

(1)构件图适⽤于下列建模需求:系统源代码、系统的发布版本、物理数据库、⾃适应系统、⽤于建⽴业务模型和⽤于系统的开发管理等。

(2)⼆者都有名称,都可以实现⼀组接⼝,都可以参与依赖关系,都可以被嵌套,都可以有实例,都可以参与交互。类描述了软件设计的逻辑组织和意图,⽽构件这描述了软件设计的物理实现,类可以有属性和操作,构件只有操作,只有通过构件使得接⼝才能使⽤。(3)在⼀张基本构件图中,构件之间最常见的关系是依赖关系和实现关系。(4)在UML中,构件主要包括配置构件、⼯作产品构件和可执⾏构件。4.上机题

(1)构件图位于光盘中学⽣管理系统.mdl->Component View->构件图(2)部署图位于光盘中学⽣管理系统.mdl-> Deployment View第⼗三章状态图1.填空题(1)对象(2)状态图

(3)简单状态和组成状态(4)历史状态(5)事件2.选择题(1)A B C D(2)A B(3)A(4)A C D(5)A B C3. 简答题

(1)状态图是由状态、初始状态、终⽌状态、转换和判定这⼏个要素构成的

(2)状态机是⼀种记录下给定时刻状态的设备,它可以根据各种不同的输⼊对每个给定的变化⽽改变其状态或引发⼀个动作。⼀个状态图(Statechart Diagram)本质上就是⼀个状态机,或者是状态机的特殊情况,它基本上是⼀个状态机中的元素的⼀个投影,这也就意味着状态图包括状态机的所有特征。状态图描述了⼀个实体基于事件反应的动态⾏为,显⽰了该实体如何根据当前所处的状态对不同的时间做出反应的。

(3)在软件开发中使⽤状态图建模的作⽤:状态图清晰的描述了状态之间的转换顺序,通过状态的转换顺序也就可以清晰的看出事件的执⾏顺序;清晰的事件顺序有利于程序员在开发程序时避免出现事件错序的情况;状态图清晰的描述了状态转换时所必须的触发事件、监护条件和动作等影响转换的因素,有利于程序员避免程序中⾮法事件的进⼊;状态图通过判定可以更好

的描述⼯作流因为不同的条件发⽣的分⽀。

(4)顺序组成状态的多个⼦状态之间是互斥的,不能同时存在的。⼀个顺序组成状态最多可以有⼀个初始状态和⼀个终态。并发组成状态可以有两个或者多个并发的⼦状态,每个并发⼦状态还可以进⼀步分解为顺序组成状态。⼀个并发组成状态可以没有初始状态,终态。4.上机题

(1)状态图位于位于光盘中学⽣管理系统.mdl->Loginal View-> State/Activity Model->学⽣信息(2)状态图位于位于光盘中学⽣管理系统.mdl->Loginal View-> State/Activity Model->系统管理员60、统⼀过程中有哪四个阶段,各阶段需要完成的主要⼯作有哪些?

答:1)初始阶段:编制简要的愿景⽂档、业务案例、确定范围、粗略评估成本。] 2)细化阶段:细化愿景⽂档、迭代地实现核⼼构架、解决⾼风险的问题、定义⼤多数的需求和范围、进⼀步评估成本

3)构造阶段:迭代地实现系统的其余部分、准备部署4)提交阶段:beta 测试、部署61、统⼀过程中的核⼼⼯作流有哪些?答:业务建模、需求分析、设计、实现、测试。

4、UML中的交互图有两种,分别是顺序图和协作图,请分析⼀下两者之间的主要差别和各⾃的优缺点。掌握利⽤两种图进⾏的设计的⽅法。

答:协作图可视化地表⽰了对象之间随时间发⽣的交互,它除了展⽰对象之间的关联,还显⽰出对象之间的消息传递。与顺序图⼀样,协作图也展⽰对象之间的交互关系。顺序图强调的是交互的时间顺序,⽽协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,⽽协作图按照空间组织布图。顺序图可以清晰地表⽰消息之间的顺序和时间关系,但需要较多的⽔平⽅向的空间。协作图在增加对象时⽐较容易,⽽且分⽀也⽐较少,但如果消息⽐较多时难以表⽰消息之间的顺序。

30、需求分类主要需求FURPS的内容?

主要需求:功能、可⽤性、可靠性、性能、可维护性63、什么是增量开发?答:增量开发包括两层意思:1)对复杂的⽤况分多次迭代,⼀部分⼀部分地实现2)将所有⽤况按其优先级分别安排在不同的迭代中实现

79、简述统⼀建模语⾔(UML):统⼀建模语⾔(UML)是⼀种绘制软件蓝图的标准语⾔。可以⽤UML对软件密集型系统的制品进⾏可视化详述和⽂档化。UML是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的可视化建模语⾔。它融⼊了软件⼯程领域的新思想、新⽅法和新技术。它的作⽤域不限于⽀持⾯向对象的分析与设计,还⽀持从需求分析开始的软件开发的全过程。UML的作⽤就是⽤很多图从静态和动态⽅⾯来全⾯描述我们将要开发的系统。83、什么是⾼内聚度。

⾼内聚度是对⼀个类中的各个职责之间相关程度和集中程度的度量。⼀个具有⾼度相关职责的类并且这个类所能完成的⼯作量不是特别巨⼤,那么它就具有⾼内聚度。包括两个意思:?不要给⼀个类分派太多的职责,在履⾏职责时尽量将部分职责分派给有能⼒完成的其它类去完成。?不相关的职责不要分派给同⼀个类。1、简述统⼀建模语⾔(UML):

答:统⼀建模语⾔(UML)是⼀种绘制软件蓝图的标准语⾔。可以⽤UML对软件密集型系统的制品进⾏可视化详述和⽂档化。UML是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的可视化建模语⾔。它融⼊了软件⼯程领域的新思想、新⽅法和新技术。它的作⽤域不限于⽀持⾯向对象的分析与设计,还⽀持从需求分析开始的软件开发的全过程。UML的作⽤就是⽤很多图从静态和动态⽅⾯来全⾯描述我们将要开发的系统。2、类图在UML中有何重要作⽤?

答:1)为开发⼈员提供这种模仿现实世界的表达⽅式。2)让分析员使⽤客户所采⽤的术语和客户交流,促使客户说出所要解决的问题的重要细节。

3、阐述⽤例对于系统开发⼈员来说的价值。

答:是⽤来从⽤户的观察⾓度收集系统需求的⼀项技术,便于分析员与客户和⽤户交流,使系统更符合⽤户的需求。4、简述如何在实际⼯作中发现类。

答:在与客户的交谈中,要注意客户⽤来描述业务实体的名词术语。这些名词可作为领域模型中的类。还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。当得到⼀组类的核⼼列表后,应当向客户询问在业务过程中每个类的作⽤。他们的回答将告诉你这些类的职责。5、简述怎样发现类之间的继承关系。

答:作为候选的类有可能和它的⽗类、⼦类在谈话中同时被发现。系统分析员意识到某个类的属性和操作也许能被运⽤到其他多个类当中去。另⼀种可能的情况是系统分析员注意到两个或者多个类可能具有相同的属性和操作数7、UML中的交互图有两种,分别是顺序图和协作图,请分析⼀下两者之间的主要差别和各⾃的优缺点。

答:协作图可视化地表⽰了对象之间随时间发⽣的交互,它除了展⽰对象之间的关联,还显⽰出对象之间的消息传递。与顺序图⼀样,协作图也展⽰对象之间的交互关系。顺序图强调的是交互的时间顺序,⽽协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,⽽协作图按照空间组织布图。顺序图可以清晰地表⽰消息之间的顺序和时间关系,但需要较多的⽔平⽅向的空间。协作图在增加对象时⽐较容易,⽽且分⽀也⽐较少,但如果消息⽐较多时难以表⽰消息之间的顺序。

8、顺序图和协作图中,消息有哪三种?各⾃的意义和表⽰法什么?

答:消息可以是简单的(simple)、同步的(synchronous)或异步的(asynchronous)。简单消息是从—个对象到另⼀个对象的控制流的转移。如果⼀个对象发送了—个同步消息,那么它要等待对⽅对消息的应答,收到应答后才能继续⾃⼰的操作。⽽发送异步消息的对象不需要等待对⽅的应答便可以继续⾃⼰的操作。在顺序图中,简单消息是—个简单箭头,同步消息是实⼼箭头。异步消息是—个半边箭头。11. 缩写词UML的全称是什么?

答案:UML的中⽂意思是统⼀建模语⾔(Unified Modeling Language),它是⼀种通⽤的可视化建模语⾔。12. UML只适⽤于软件⼯程领域吗?答案:UML同样也可以⽤来描述⾮软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的⼯业系统或⼯业过程等。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. 什么是依赖?他与关联有什么区别?

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

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种图。

答案:(1)⽤例图:⽤例图展现了⼀组⽤况、参与者以及它们间的关系。可以⽤⽤例图描述系统的静态使⽤情况。在对系统⾏为组织和建模⽅⾯,⽤例图的是相当重要的。(2)类图:

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

(4)交互图:交互图展现了按⼀定的⽬的进⾏的⼀种交互,它由在⼀个上下⽂中的⼀组对象及它们间交互的信息组成。交互图也可⽤于描述⼀个⽤况的⾏为。顺序图和协作图都是交互图,顺序图和协作图可以相互转换。顺序图:展现了⼀组对象和由这组对象收发的消息,⽤于按时间顺序对控制流建模。⽤顺序图说明系统的动态视图。协作图:展现了⼀组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。

(5)状态图:展⽰了⼀个特定对象的所有可能状态以及由于各种事件的发⽣⽽引起的状态间的转移。⼀个状态图描述了⼀个状态机,⽤状态图说明系统的动态视图。它对于接⼝、类或协作的⾏为建模尤为重要,可⽤它描述⽤况实例的⽣命周期。(6)活动图:活动图是⼀种特殊的状态图,描述需要做的活动、执⾏这些活动的顺序(多为并⾏的)以及⼯作流(完成⼯作所需要的步骤)。它对于系统的功能建模特别重要,强调对象间的控制流程。⾼层活动图⽤于表⽰需要完成的⼀些任务,即⽤于分析⽤例,理解涉及多个⽤例的⼯作流、多线程及并⾏,显⽰相互联系的⾏为整体,还可⽤于对企业过程建模,对系统的功能建模。低层活动图⽤于表⽰类的⽅法。但活动图不适⽤于描述动作与对象间的关系,显⽰对象间的合作以及显⽰对象在⽣命周期内的运转情况。

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

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

37. 请简要解释主动类的概念,并说明它建模的意义,并通过1-2个实例来说明,主动类可以⽤来表⽰哪些设计元素。主动类的实例称为主动对象,⼀个主动对象拥有⼀个控制线程并且能够发起控制活动;它不在别的线程、堆栈或状态机内运⾏,具有独⽴的控制期。从某种意义上说,它就是⼀个线程。例如Socket服务器的监听线程就可以表⽰为主动类。

38. 在绘制类图时,第⼀步就是发现类,最常⽤的⽅法是什么?请简要说明它的使⽤⽅法。发现类的⽅法有很多种,其中最⼴泛应⽤的莫过于“名词动词法”,其主要规则是从名词与名词短语中提取对象与属性;从动词与动词短语中提取操作与关联;⽽所有格短短语通常表明名词应该是属性⽽不是对象。39. 请说明对象图的适⽤场景以及它的优缺点。

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

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

⼀是活动图的变体,它将活动节点进⾏细化,⽤⼀些⼩的顺序图来表⽰活动节点内部的对象控制流;⼆是顺序图的变体,它⽤活动图来补充顺序图。但相对⽽⾔后者是⼗分不常见的,因此UML的定义更倾向于将其称为活动图的变体。

41、请简要说明交互概述图在建模时的优点和缺点。并简要描述交互概述图的绘制⽅法。优点:充分结合交互图和活动图的长处,在表达了对象到对象的控制流的同时,充分展⽰了从活动到活动的控制流。缺点:对于规模稍⼤的场景,它并不是⼀个很好的选择,它将使模型的可读性⼤⼤降低绘制⽅法:理解活动控制流,并⽤活动图表⽰出来;分析活动节点:⽤交互图表述细节。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务