UML课后习题答案.doc_第1页
UML课后习题答案.doc_第2页
UML课后习题答案.doc_第3页
UML课后习题答案.doc_第4页
UML课后习题答案.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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)对象图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论