《UML面向对象建模基础》课后习题答案

上传人:ji****72 文档编号:37541389 上传时间:2018-04-18 格式:DOC 页数:16 大小:1.35MB
返回 下载 相关 举报
《UML面向对象建模基础》课后习题答案_第1页
第1页 / 共16页
《UML面向对象建模基础》课后习题答案_第2页
第2页 / 共16页
《UML面向对象建模基础》课后习题答案_第3页
第3页 / 共16页
《UML面向对象建模基础》课后习题答案_第4页
第4页 / 共16页
《UML面向对象建模基础》课后习题答案_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《《UML面向对象建模基础》课后习题答案》由会员分享,可在线阅读,更多相关《《UML面向对象建模基础》课后习题答案(16页珍藏版)》请在金锄头文库上搜索。

1、第第 1 章章 UML 概述概述1. 请指出 UML 的三个主要的特性。1)UML 是一种语言2)UML 是用来建模的3)UML 是统一的标准2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发 挥了什么样的作用。1)电路图:电子产品设计、生产、维修2)园区沙盘:直观、立体化地展示园区的景观、布局3)地图:导航、指路等3. 请简要说明建模的意义和建模的原则。建议能够帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供 一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我 们所做出的决策进行文档化在建模时应遵循以下原则:选择要创建什么模型对如何动手解决

2、问题和如何形 成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示; 最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好 用一组几乎独立的模型去处理4. 请说明蓝图和草图的区别,并简单描述其适用的场景。蓝图一般是指采用 CASE 工具绘制的、正式的、规范的 UML 模型;而草图则 通常是指手工绘制的、规范度较低的在纸张的 UML 模型。对于局部的、重要性不高的、共享范围较小的 UML 模型,直接将草图扫描到 电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用 CASE 工具绘制成为正式的蓝图,并将其纳入统一的模型管理中5. 说明 UML 适用的建

3、模领域,以及其作用和主要的参与人员。业务建模:用来加强对业务领域的了解,以领域专家为主,需求分析人员是主 力, 系统分析员、架构师可参与。需求模型:用来加强需求了解,便于技术决策,以需求分析人员为主,系统分 析员是主力,领域专家提供指导,架构师和资深开发人员参与。设计模型:包括高层设计模型和详细设计模型。高层设计模型以架构师为主, 系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供 支持。详细设计模型则以资深开发人员为主,架构师提供指导。实现模型:架构师、资深开发人员(设计人员);以资深开发人员(设计人员)为主,架构师提供总体指导。数据库模型:架构师、数据库开发人员、资深开发人员;以

4、数据库开发人员为 主,架构师提供指导,资深开发人员予以配合。6. UML 是一种方法论吗?并简要说明理由。UML 不是方法论。它仅仅是一种描述模型的标准语言,虽然渗透了许多方法论 的基础概念,但是却没有在标准中给出完整的方法指南。7. 请简要说明 UML 和面向软件开发之间的关系。UML 和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件 开发催生了 UML。但是由于在 UML 的标准化和发展过程,有机地吸纳了业务 建模、工作流建模、数据库建模等领域的标准规范,形成了一个适用性很强的 标准。8. 请简要阐述在软件开发过程中使用 UML 的必要性以及好处。软件开发是一个很复杂的工程

5、,而采用统一的建模语言来对软件进行描述能够 使客户、涉众、开发人员对软件能够有更好的共识,也能够有效地降低复杂性。第第 2 章章 UML 世界的构成世界的构成1. UML 是由哪三个部分组成的,请分别说明它们的作用。基本构造块:也就是建模元素,是模型的主体UML 规则:也就是支配基本构造块如何放在一起的规则公共机制:运用于整个 UML 模型中的公共机制、扩展机制2. 请列举出三个以上 UML 中的事物构造块,并说明适合用来表示“系统向用 户提供的功能”的构造块是什么。结构事务、行为事物、分组事物、注释事务。适合用来表示“系统向用户提供的功能”的构造块是用例。3. 如果你想对一个类的意义进行描述

6、,那么应该采用 ?请简要说明原 因。A. 标记值B. 规格描述 C. 注释D.构造型C标记值是用来为事物添加新特性的;规格描述用来对构造块的语法和语义进行 文字叙述,使得可视化视图和文字视图的分离;构造型是用来增加新事物的。而对于类的意义进行简单描述,最合适的显然还是注释。4. 图 2-26 所示的符号表示的是什么?它是关系构造块还是事物构造块?图 2-26 示例符号扩展关系,是关系构造块。5. 可以包含其它事物构造块的构造块是什么?它属于什么类型的事物构造块?可以包含其它事物构造块的构造块是包,它属于分组事物构造块。6. 在 UML 中定义了哪几种可见性规则?其中 package 的含义是什

7、么?定义了 public、private、protected、package,package 是指只有声明在同一个包 中的元素才能够看到该元素。7. 规格描述是一种事物构造块吗?如果不是,它是什么?它的作用是什么?规格描述不是事物构造块,它是 UML 四种公共机制之一,用来对构造块的语 法和语义进行文字叙述,使得可视化视图和文字视图的分离。8. 标记值的作用是什么?它的表示法和约束的表示法有什么异同?在 UML 模 型中如何区分它们?标记值是用来为事物添加新特性的。约束的表示法和标记值法类似,都是使用 花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元 素附近。9. 构造型的

8、作用是什么?如果我们采用一个自定义的图标来表示它,那么可能 遇到的主要问题是什么?构造型用来定义一些特定于某个领域或某个系统的构造块。用自定义的图标有 两个问题:一是容易产生歧义,二是建模工具难以支持。10. 约束有两种表示法,它们分别是什么?约束的内容可以以自由形式的文本来表示,也可以使用 UML 的 OCL(对象约 束语言)来精确定义。11. UML 2.0 在 UML 1 的基础上新增了三种图,请指出它们的名称和作用。1)复合结构图:描述类的运行时刻的分解2)定时图:描述对象之间的交互,重点在于定时3)交互概观图:是一种顺序图与活动图的混合12. 在 UML 2.0 中定义了四种交互图,

9、其中强调对象调用顺序的是什么图?顺序图13. 交互概观图是哪两种图的综合。顺序图与活动图14. 请绘制出类、用例和协作的图形符号。图图形形位位置置 颜颜色色Draw()管管理理用用户户15. 在 RUP 的“4+1”视图中,这个 1 表示的是什么,它有什么作用。这个 1 是用例视图。它是最基本的需求分析模型,是可被最终用户看到的系统 行为的用例组成。常用的模型包括用例图、交互图、状态图、活动图等16. 适用于模型管理的是哪张图。包图第第 3 章章 UML 概述概述1. 绘制一个表示类的 UML 元素,并指出它主要包含哪三个部分。类名、属性、操作2. 在对类名、属性/方法名时,通常会遵循什么样的

10、规则?请举例说明。对于类名通常采用 CamelCase 格式(大写字线开头、混合大小写,每个单词以 大写开始,避免使用特殊符号),尽可能避免使用缩写,例如 OrderDetail。属性名也采用 CamelCase 格式,但为了与类名进行区别, 通常首字母以小写开头,例如 productId。操作名的命名格式与属性名类似,不过通常是动词词组。3. 假设类 ClassB 是 ClassA 的子类,其中 ClassA 的属性 和方法如图 3-30 所示,则 ClassB 能够访问的有哪些?子类只有 private 的成员无法访问,因此可以访问的属性 有 mem02 和 mem03,可以访问的方法有

11、op1。4. 在图 3-31 中,是一个仓库管理系统的类模型局部,其中 IncomeOrder 是指入 库单,OrderItem 是指入库中的每一项,Product 则是产品信息。请指出模型中 的错误,说明原因并改正错误。OrderItemIncomeOrderProduct1111图 3-31 仓库管理系统类模型局部根据题意和模型不难得知,一个入库单是由多个入库单项(OrderItem)组成的, 因此不可能只涉及一个产品,合理的方式应该是入每个入库单项(OrderItem) 与产品一对一关联。即应该绘制为:OrderItemIncomeOrderProduct1111图 3-30 Class

12、A 表示5. 在图 3-32 中是一个“涉税服务管理效能管理系统”中类模型的一个局部,请 根据该图回答以下问题。行政许可类申请行政审批类申请涉税服务类申请流转记录处理人11 11窗口人员核查人员审批人员受理资料受理提示受理告知纳税人税务审批服务申请0.n10.n10.n0.n10.n10.n10.n10.n10.n1 10.n图 3-32 涉税服务效能管理系统类模型局部在描述“税务审批服务申请”时,它主要包含哪几个方面的内容?它有几种不 同的类别?受理资料、受理提示、受理告知、纳税人、流转记录。包括行政许可类申请、涉税服务类申请和行政审批类申请三类。对于每一条流转记录,可能与几个“税务审批服务

13、申请”相关?与几个处理人 相关?每条流转记录只和一个“税务审批服务申请”相关,只与一个处理人相关。6. 在图 3-32 中,对于每个流转记录的处理人它的类型(窗口人员、核查人员、 审批人员)是唯一的,也就是只可能取一种值。请在图中加上表示这种规则的 约束。行政许可类申请行政审批类申请涉税服务类申请流转记录处理人11 11窗口人员核查人员审批人员受理资料受理提示受理告知纳税人税务审批服务申请0.n10.n10.n0.n10.n10.n10.n10.n10.n1 10.nxor7. 后来,开发人员又在图 3-32 的基础上 进行了一些修改,其中有一个局部修改成了如 图 3-33 的内容。请说明这些

14、新增加的元素分别 表示什么含义。has 是关联名称,表示这种关联是“拥有” 关系。“申请 ID”是限定符,表示每一个流转 记录只能用一个“申请 ID”。8. 根据对象所表示的内容不同,可以将对象分为哪两大类?请分别举出几个例 子。引用对象和值对象。客户、产品、订单都是引用对象的例子,日期、重量、高 度等对象都是典型的值对象。9. 嵌套类的概念是什么意思?如果类 Student 包含类 Score,请使用你学过的、 支持嵌套类的面向对象编程语言将其表示出来。将一个类的定义放在另一个类定义的内部。 public class Student private class Score 10. 请简要解释

15、主动类的概念,并说明它建模的意义,并通过 1-2 个实例来说明, 主动类可以用来表示哪些设计元素。主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够发起控 制活动;它不在别的线程、堆栈或状态机内运行,具有独立的控制期。从某种 意义上说,它就是一个线程。例如 Socket 服务器的监听线程就可以表示为主动类。11. 以使用 OCL 语言来表示以下含义:在类 examinee(考生)中,字段 result(成绩)的值大于零,小于 75 分(满分) 。examinee:result0 and result图 6-14 物业管理系统用例模型局部(1)但小李认为该模型不符合“用例建模”的思想

16、,存在明显的错误。请用 200 字以内说明错误所在,并说明应该如何修改。1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的 结果的原则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认 提交信息”都只是一个操作步骤,因此不适合作为用例。2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息” 合并为“新增房源信息”。(2)在上图中构造型“include”表示的是什么意思,它与“extent” 之间的区别是什么?在用例模型中,构造型“include”是用来表示包含关系。它通常用来表示 被包含用例是被多包含用例使用的一个可复用模块,而extent且通常用来表 示对用例的扩展。9. 请为图 6-4 中的用例“预订座位”(以及它包含的用例“检查座位信息”和 扩展用例“处理等候队列”)编写用例描述,10. 说明用例模型是如何转变成设计模型的,试着结合自己的开发实践来说明。第第 7 章章 交互图交互图1. 交互是什么?请举 2-3 个交互的实际例子。一次

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号