UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)_第1页
UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)_第2页
UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)_第3页
UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)_第4页
UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

UML 面向对象夹馍馍基础(徐峰、陈暄)面向对象夹馍馍基础(徐峰、陈暄) 第第 1 章章 UML 概述概述 1. 请指出 UML 的三个主要的特性。 1)UML 是一种语言 2)UML 是用来建模的 3)UML 是统一的标准 2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么 样的作用。 1)电路图:电子产品设计、生产、维修 2)园区沙盘:直观、立体化地展示园区的景观、布局 3)地图:导航、指路等 3. 请简要说明建模的意义和建模的原则。 建议能够帮助我们按照实际情况或按我们需要的样式对系统进行可视化; 提供一种详细说 明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化 在建模时应遵循以下原则: 选择要创建什么模型对如何动手解决问题和如何形成解决方案 有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系 的;单个模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理 4. 请说明蓝图和草图的区别,并简单描述其适用的场景。 蓝图一般是指采用 CASE 工具绘制的、正式的、规范的 UML 模型;而草图则通常是指手 工绘制的、规范度较低的在纸张的 UML 模型。 对于局部的、重要性不高的、共享范围较小的 UML 模型,直接将草图扫描到电脑存档即 可;对于全局的、重要性高的、高度共享的,在草图的基础上用 CASE 工具绘制成为正式的蓝 图,并将其纳入统一的模型管理中 5. 说明 UML 适用的建模领域,以及其作用和主要的参与人员。 业务建模,用来加强对业务领域的了解,以领域专家为主,需求分析人员是主力,系 统分析员、架构师可参与。 需求模型,用来加强需求了解,便于技术决策,以需求分析人员为主,系统分析员是 主力,领域专家提供指导,架构师和资深开发人员参与。 设计模型:包括高层设计模型和详细设计模型。高层设计模型以架构师为主,系统分 析员从需求方面提供支持, 资深开发人员从技术实现方面提供支持。 详细设计模型则 以资深开发人员为主,架构师提供指导。 实现模型:架构师、资深开发人员(设计人员);以资深开发人员(设计人员)为主, 架构师提供总体指导。 数据库模型:架构师、数据库开发人员、资深开发人员(设计人员);以数据库开发 人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。 6. UML 是一种方法论吗?并简要说明理由。 UML 不是方法论。它仅仅是一种描述模型的标准语言,虽然渗透了许多方法论的基础概 念,但是却没有在标准中给出完整的方法指南。 7. 请简要说明 UML 和面向软件开发之间的关系。 UML 和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件开发催生 了 UML。但是由于在 UML 的标准化和发展过程,有机地吸纳了业务建模、工作流建模、数据 库建模等领域的标准规范,形成了一个适用性很强的标准。 8. 请简要阐述在软件开发过程中使用 UML 的必要性以及好处。 软件开发是一个很复杂的工程,而采用统一的建模语言来对软件进行描述能够使客户、涉 众、开发人员对软件能够有更好的共识,也能够有效地降低复杂性。 第第 2 章章 UML 世界的构成世界的构成 1. UML 是由哪三个部分组成的,请分别说明它们的作用。 基本构造块:也就是建模元素,是模型的主体 UML 规则:也就是支配基本构造块如何放在一起的规则 公共机制:运用于整个 UML 模型中的公共机制、扩展机制 2. 请列举出三个以上 UML 中的事物构造块,并说明适合用来表示“系统向用户提供的功 能”的构造块是什么。 结构事务、行为事物、分组事物、注释事务。 适合用来表示“系统向用户提供的功能”的构造块是用例。 3. 如果你想对一个类的意义进行描述,那么应该采用 ?请简要说明原因。 A. 标记值 B. 规格描述 C. 注释 D.构造型 C 标记值是用来为事物添加新特性的;规格描述用来对构造块的语法和语义进行文字叙述, 使得可视化视图和文字视图的分离;构造型是用来增加新事物的。 而对于类的意义进行简单描述,最合适的显然还是注释。 4. 图 2-26 所示的符号表示的是什么?它是关系构造块还是事物构造块? 图 2-26 示例符号 扩展关系,是关系构造块。 5. 可以包含其它事物构造块的构造块是什么?它属于什么类型的事物构造块? 可以包含其它事物构造块的构造块是包,它属于分组事物构造块。 6. 在 UML 中定义了哪几种可见性规则?其中 package 的含义是什么? 定义了 public、private、protected、package,package 是指只有声明在同一个包中的元素才 能够看到该元素。 7. 规格描述是一种事物构造块吗?如果不是,它是什么?它的作用是什么? 规格描述不是事物构造块,它是 UML 四种公共机制之一,用来对构造块的语法和语义进 行文字叙述,使得可视化视图和文字视图的分离。 8. 标记值的作用是什么?它的表示法和约束的表示法有什么异同?在UML模型中如何区 分它们? 标记值是用来为事物添加新特性的。约束的表示法和标记值法类似,都是使用花括号括起 来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。 9. 构造型的作用是什么?如果我们采用一个自定义的图标来表示它,那么可能遇到的主 要问题是什么? 构造型用来定义一些特定于某个领域或某个系统的构造块。用自定义的图标有两个问题: 一是容易产生歧义,二是建模工具难以支持。 10. 约束有两种表示法,它们分别是什么? 约束的内容可以以自由形式的文本来表示,也可以使用 UML 的 OCL(对象约束语言)来 精确定义。 11. UML 2.0 在 UML 1 的基础上新增了三种图,请指出它们的名称和作用。 1)复合结构图:描述类的运行时刻的分解 2)定时图:描述对象之间的交互,重点在于定时 3)交互概观图:是一种顺序图与活动图的混合 12. 在 UML 2.0 中定义了四种交互图,其中强调对象调用顺序的是什么图? 顺序图 13. 交互概观图是哪两种图的综合。 顺序图与活动图 14. 请绘制出类、用例和协作的图形符号。 图形图形 位置位置 颜色颜色 Draw() 管理用户管理用户 15. 在 RUP 的“4+1”视图中,这个 1 表示的是什么,它有什么作用。 这个 1 是用例视图。它是最基本的需求分析模型,是可被最终用户看到的系统行为的用例 组成。常用的模型包括用例图、交互图、状态图、活动图等 16. 适用于模型管理的是哪张图。 包图 第第 3 章章 UML 概述概述 1. 绘制一个表示类的 UML 元素,并指出它主要包含哪三个部分。 类名、属性、操作 2. 在对类名、属性/方法名时,通常会遵循什么样的规则?请举例说明。 对于类名通常采用 CamelCase 格式(大写字线开头、混合大小写,每个单词以大写开始, 避免使用特殊符号),尽可能避免使用缩写,例如 OrderDetail。 属性名也采用 CamelCase 格式,但为了与类名进行区别,通 常首字母以小写开头,例如 productId。 操作名的命名格式与属性名类似,不过通常是动词词组。 3. 假设类 ClassB 是 ClassA 的子类,其中 ClassA 的属性和方 法如图 3-30 所示,则 ClassB 能够访问的有哪些? 子类只有 private 的成员无法访问,因此可以访问的属性有 mem02 和 mem03,可以访问的方法有 op1。 4. 在图 3-31 中,是一个仓库管理系统的类模型局部,其中 IncomeOrder 是指入库单,OrderItem 是指入库中的每一项,Product 则是产品信息。请指出模 型中的错误,说明原因并改正错误。 OrderItem IncomeOrderProduct 1111 图 3-31 仓库管理系统类模型局部 根据题意和模型不难得知,一个入库单是由多个入库单项(OrderItem)组成的,因此不可 能只涉及一个产品,合理的方式应该是入每个入库单项(OrderItem)与产品一对一关联。即应 该绘制为: OrderItem IncomeOrder Product 1111 5. 在图 3-32 中是一个“涉税服务管理效能管理系统”中类模型的一个局部,请根据该图 回答以下问题。 图 3-30 ClassA 表示 行政许可类申请 行政审批类申请 涉税服务类申请 流转记录处理人 11 11 窗口人员核查人员审批人员 受理资料 受理提示 受理告知 纳税人 税务审批服务申请 0.n 1 0.n 1 0.n0.n 1 0.n 1 0.n 1 0.n10.n1 0.n1 10.n 图 3-32 涉税服务效能管理系统类模型局部 在描述“税务审批服务申请”时,它主要包含哪几个方面的内容?它有几种不同的类 别? 受理资料、受理提示、受理告知、纳税人、流转记录。 包括行政许可类申请、涉税服务类申请和行政审批类申请三类。 对于每一条流转记录,可能与几个“税务审批服务申请”相关?与几个处理人相关? 每条流转记录只和一个“税务审批服务申请”相关,只与一个处理人相关。 6. 在图 3-32 中,对于每个流转记录的处理人它的类型(窗口人员、核查人员、审批人员) 是唯一的,也就是只可能取一种值。请在图中加上表示这种规则的约束。 行政许可类申请 行政审批类申请 涉税服务类申请 流转记录处理人 11 11 窗口人员核查人员审批人员 受理资料 受理提示 受理告知 纳税人 税务审批服务申请 0.n 1 0.n 1 0.n0.n 1 0.n 1 0.n 1 0.n10.n1 0.n1 10.n xor 7. 后来,开发人员又在图 3-32 的基础上进行了一些修 改,其中有一个局部修改成了如图 3-33 的内容。请说明这 些新增加的元素分别表示什么含义。 has 是关联名称,表示这种关联是“拥有”关系。 “申请 ID”是限定符,表示每一个流转记录只能用一个“申 图 3-33 修改后的模型局部 请 ID”。 8. 根据对象所表示的内容不同,可以将对象分为哪两大类?请分别举出几个例子。 引用对象和值对象。客户、产品、订单都是引用对象的例子,日期、重量、高度等对象都 是典型的值对象。 9. 嵌套类的概念是什么意思?如果类 Student 包含类 Score,请使用你学过的、支持嵌套 类的面向对象编程语言将其表示出来。 将一个类的定义放在另一个类定义的内部。 public class Student private class Score 10. 请简要解释主动类的概念,并说明它建模的意义,并通过 1-2 个实例来说明,主动类 可以用来表示哪些设计元素。 主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够发起控制活动;它 不在别的线程、堆栈或状态机内运行,具有独立的控制期。从某种意义上说,它就是一个线程。 例如 Socket 服务器的监听线程就可以表示为主动类。 11. 以使用 OCL 语言来表示以下含义: 在类 examinee(考生)中,字段 result(成绩)的值大于零,小于 75 分(满分)。 examinee:result0 and result75 在类 Order 中,其包含的支付信息是用其它类来表示,要么是表示货到付款的类 AfterBill,要么是网上转账的类 BeforeBill。 AfterBill xor BeforBill 12. 请简要说明类图的应用领域,并重点说明在软件系统建模应用时的三种模型的关键点 及区别。 类图主要可以应用于业务性模型、软件系统模型和数据库逻辑模型。类图应用于软件系统 模型时,主要是用来构建领域模型、分析模型和设计模型: 领域模型是从面向对象的视角看待现实世界的结果, 也就是通过类图来描述现实世界 中各种事物的关系。因此在构建这个模型时,最主要的工作是找出相关的类,然后明 明类之间的关联关系,必要时加入一些多重性描述和业务规则约束。 分析模型和领域模型是很相近的,甚至可以说领域模型是一种全局的业务分析模型。 而在 RUP 中,分析模型主要是针对软件系统的分析,领域模型则更多是偏重对业务 领域的分析。 设计模型则是在分析模型的基础上添加设计元素的结果。 与分析模型相比, 设计模型 中的类的属性集更趋完善;更重要的是,它将加入模板类、参数类、抽象类/接口等 设计元素,以及框架类的使用、设计模式的使用等。总的来说,设计模型是一种详细 设计模型,将能够直接对编程予以指导。 13. 图 3-34 是小张绘制的一张关于网上商城用户管理的领域类图,但其中存在一些问题, 请指出错误并说明理由。 User LoginManager Account AccountInfo UserPreferences UserPreferencesInfo System.Data.Oracleclient ArrayList 图 3-34 网上商城用户管理领域类图局部 作为领域类图不应该涉及到实现类,因此不应该引入诸如 System.Data.Oracleclient 和 ArrayList 之类与程序实现直接相关的类。 14. 在绘制类图时, 第一步就是发现类, 最常用的方法是什么?请简要说明它的使用方法。 发现类的方法有很多种,其中最广泛应用的莫过于“名词动词法”,其主要规则是从名词 与名词短语中提取对象与属性;从动词与动词短语中提取操作与关联;而所有格短短语通常表 明名词应该是属性而不是对象。 15. 复合结构图主要包括哪两个部件?如图 3-35 所示的部件, 其各部分表示什么?含义是 什么? light:Control 1 (1 1)(2 2) (3 3) 图 3-35 复合结构图图例 (1)角色名 (2)类型 (3)多重性 16. 根据以下系统描述,绘制出最初的类模型。 该系统为指纹门禁系统,它包括四个主要部件:主机、锁控器、指纹采集器和电控锁。系 统中的每个电控锁都有一个惟一的编号。锁的状态有两种:“已锁住”和“未锁住”。主机上 可以设置每把锁的安全级别以及用户的开锁权限。 只有当用户的开锁权限大于或等于锁的安全 级别并且处于“已锁住”状态时,才能将锁打开。 用户的指纹信息、开锁权限以及锁的安全 级别都保存在主机的数据库中。用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个 中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据 数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将 锁打开;否则系统报警。 第第 4 章章 对对象图象图 1. 对象特性的三要素是什么,请通过一个实际的例子来说明三要素的内容。 对象特性的三要素是状态、行为和标识。 2. “书” 、 “购物车” 、 “我的 UML 参考手册 (第二版) ” 、 “银行卡” 、 “号码为的手机卡”中,哪些是对象,哪些是类。光从这些名字是否一定可以确定为是对象? “我的 UML 参考手册(第二版)”、“号码为的手机卡”应该是对象。 3. 在图 4-5 中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应 的类图。 fuJian:Province China:Country siChuan:Province 图 4-5 对象图实例 China。该图的意思是福建、四川等省份组成中国。 Country Province 4. 请说明对象图的适用场景以及它的优缺点。 对象图适用于论证类模型的设计以及对源代码进行分析和说明。 其优点是能够直观理解出 系统运行时的实时状态,缺点是比较复杂,工作量大。 5. 请你找一段源程序,并绘制出与其相应的对象图。 第第 5 章章 对象图对象图 1. 包在 UML 中属于哪一类的构造块?它的主要作用是什么? 属于分组事物构造块。通过“包”就可以把类、用例、构件等元素聚集在一起,构成更高 层的单位。这样就可以将它们作为一个成组的元素来进行可视化。 2. 包之间的依赖关系主要包括哪几种,请分别举个例子说明。 use:DAO 程序使用 System.Data.SqlClient 包完成对 SQL 服务器的访问 import:页面与被引用的用户控件之间的关系 access:两个相互之间可以访问的包 trace:不同版本的包 3. 包之间的各种依赖关系中,客户包将把提供者包并入自己的命名空间的是哪个? import关系 4. 假设有一个温度监控系统,用户在 MonitorGUI(监控界面)上输入查询指令,然后 QueryState 包的程序将与温感探头连接,获取当前的状态信息,并存入数据库,再返回给用户 界面。根据这一描述,小张绘制了如图 5-9 所示的包图。你认为其中存在什么问题,请试着修 改? MonitorGUIQueryState 图 5-9 温度监控系统包图的局部 在包图中应该避免出现这种循环依赖的情况。可以修改为: MonitorGUI QueryState DataBase 5. 请解释体系结构建模和对成组元素建模有什么区别,并试着给一个你开发过的系统绘 制表示其体系结构的包图。 对体系结构建模关键在于描述出系统采用的体系结构模式;而对成组元素建模,主要是将 建模元素组织成能作为一个集合进行命名和处理的分组。 第第 6 章章 用例图用例图 1. 请列举出两种以上现代需求分析技术,并简要地说明它们的特点。 用例:描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承 担人,Stakeholder)之间就系统的行为所达成的契约 用户故事:由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编 写,其长度约为三句话左右 特性:就是一个小的,具有客户价值的功能 2. 在用例图中参与者是什么,它属于系统范围之内吗? 参与者是为了完成一个事件而与系统交互的实体,它不属于系统范围之内。 3. 用例和使用场景之间是什么关系?与协作又是什么关系? 用例是由一组用例实例组成的,用例实例也就是常说的“使用场景”,而协作是用例的实 现。 4. 用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。 扩展关系:基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可 以被另一个用例的行为所扩展 包含关系:被包含的用例(此例中的检查座位详情)不是孤立存在的,它仅作为某些 包含它的更大的基用例(此例中的预订座位、安排座位)的一部分出现 泛化关系:用来表示参与者与参与者之间,用例与用例之间的特殊/一般化关系 5. 一个用例的描述,最基本的部分有哪些。 用户描述、用例名称、用例概述、主参与者、基本事件流 6. 对于一个电子商务网站而言,以下哪些不是合适的用例,指出并说明理由。 输入支付信息 将商品放入购物车 结账 预订商品 用户登录 邮寄商品 查看商品详情 输入支付信息:太小 邮件商品:系统功能之外 查看商品详情:太小 7. 用例分析技术和结构化分析相比,最大的区别是什么?请简要地说明它们之间的关系。 用例分析技术最大的特点是从用户的角度来分析、组织需求。而结构化分析更多是从系统 的结构上进行分析。 8. 为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发 一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、 出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用 户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最 初的用例模型的开发,图 6-14 是一个用例模型的局部: 录入房源信息录入房源信息 确认提交信息确认提交信息 房产经纪人房产经纪人 修改房源信息修改房源信息 打开房源信息页面打开房源信息页面 登录信息登录信息 图 6-14 物业管理系统用例模型局部 (1)但小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用 200 字以内 说明错误所在,并说明应该如何修改。 1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原 则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操 作步骤,因此不适合作为用例。 2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为 “新增房源信息”。 (2)在上图中构造型“include”表示的是什么意思,它与“extent”之间的区别 是什么? 在用例模型中,构造型“include”是用来表示包含关系。它通常用来表示被包含用 例是被多包含用例使用的一个可复用模块,而extent且通常用来表示对用例的扩展。 9. 请为图 6-4 中的用例 “预订座位” (以及它包含的用例 “检查座位信息” 和扩展用例 “处 理等候队列”)编写用例描述, 10. 说明用例模型是如何转变成设计模型的,试着结合自己的开发实践来说明。 第第 7 章章 交互图交互图 1. 交互是什么?请举 2-3 个交互的实际例子。 一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组 消息所表示的行为。 输入用户名、发送短信 2. 在 UML 2.0 中定义了哪四种交互图?其中强调控制流时间顺序的是哪一种交互图?哪 两种是基本交互图? 顺序图、通信图、定时图、交互概述图 强调控制流时间顺序的是顺序图 顺序图和通信图是两种基本交互图 3. 在顺序图中和在通信图中,分别应该如何表示“循环”结构的? 在顺序图中,循环结构可以使用一个交互片断来表示 在通信图中,使用迭代标记来表示循环。迭代是通过在顺序编号前加上一个迭代符“*” 和一个可选的迭代表达式来表示的。对于迭代表达式,UML 没有强制规定什么语法,因此你 可以使用任何可读的、有意义的表达式来表示 4. 在交互图中,消息编号有哪两种形式?请分别说明它们的优缺点。 一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系。 5. 在交互图中,表示返回消息的符号是什么?表示异步消息符号是什么,异步消息指的 是什么意思? 返回消息符号: 异步消息: 异步模式:对象 A 发送了一个信号给对象 B,那么 A 在发送完信号之后,就会继续执行, 不会等待 6. 假设有一系统的协作图局部如图 7-29 所示,print 方法的功能是将传入参数的值打印在 屏幕上;fact 方法是用来计算阶乘的,test 的初值为 1。那么将打印出什么? :A :B 1: print(test) *i=1.31.1: test=test+fact(test) 图 7-29 协作图局部 打印的值是 9。将执行三次迭代,因此 test 的值是 1!+2!+3!=9. 7. 根据以下 Java 源程序绘制出相应的顺序图: public class Payroll private PayrollDB itsPayrollDB; private PayrollDisposition itsDisposition; public void doPayroll() List employeeList = itsPayrollDB.getEmployeeList(); for (Iterator iterator = employeeList.iterator();iterator.hasNext();) String id=(String)iterator.next(); Employee e=itsPayrollDB.getEmployee(id); if(e.isPayDay() double pay=e.calculatePay(); double deductions=e.calculateDeductions(); itsDisposition.sendPayment(pay-deductions); 8. 根据以下 Java 源程序绘制出相应的顺序图和通信图: public class Sale private List lineItems= new ArrayList(); public Money getTotal() Money total=new Money(); Money subtotal=null; for (SalesLineItem lineItem:lineItems) Subtotal=lineItem.getSubtotal(); total.add(subtotal); return total; 9. 请说明图 7-30 所示的协作图的含义: :A:B:C:Caller 2: calculate(x) 1: do(x) 3: calculate(x) x x 1010 altalt elseelse 图 7-30 顺序图示例 10. 定时图的作用是什么?请简单说说它和顺序图的区别。 11. 有一个咖啡壶,它是由抽水泵和加热板所组成的。它的规则是,在抽水泵打开和加热 板打开之间必须至少隔 10 秒钟。当储水容器变空时,抽水泵就要关闭,而回热板继续保持加 热,但不能够超过 15 分钟。 请使用定时图来表示这一规则。 12. 图 7-31 是一个电梯控制系统的通信图, 其中 Elevator 表示电梯, Queue 表示指令队列, Order 表示指令,Elevator Control 是电梯控制器,Button 是电梯上的按钮。请简解释该协作图 的含义: :Button 1: Push() :Elevator Control :Queue :Order 1: getElevator(floorid) 1.1: *all queues len=Length() 1.3:Invoke(job) 2: nextjob=Get.job() localnext job1.2: Create() parameter job :Elevator 图 7-31 通信图示例 第第 8 章章 活动图活动图 1. 活动图和顺序图之间有什么区别?它们的特点是什么,请结合实际的建模需要简要说 明。 2. “在活动图中,可以根据自己的需要,有多个初始节点和活动终点”,这一描述是否 正确,请说明原因以及它们各自的图形表示法。 3. 分岔和分支有什么区别,分别适用于什么样的建模目标? 4. 在活动图中,监护条件有什么用?请举例说明。 5. 如果我们想在活动图中,表示出一个如下所示的 for 循环,该如何做?请用活动图来表 示: for (i=0;i9;i+) 假设,要表示的是对某个集合对象进行遍历访问,那么又应该怎么做? 6. 在图 8-19 中,(a)和(b)中那条“粗线段”表示的是分岔还是汇合,是否存在什么错误? ( (a a) )( (b b) ) 图 8-19 分岔与汇合 7. 在活动图中泳道要怎么表示,在需要表示什么信息时,需要用到它? 8. 如果要表示出某个活动节点的输入参数和输出参数,那么应该如何做?如果还要表示 异常的输出信息,则应该如何做? 假设有一个活动节点,其功能是求最大值,要求传入两个实数,返回较大的那个,如果输 入的不是实数,则抛出异常。请用活动图来表示它。 9. 在图 8-20 中,有一个表示某公司销售过程的一张活动图,请阅读并说明该图所表示的 含义。 收到订单 准备货物开具发票 收款 普通包裹EMS 关闭订单 其他加急 图 8-20 简单活动图 10. 假设订单的接收与关闭是由销售人员负责,开票收款是由财务人员负责,准备货物是 由仓管负责。请将其修改成为带泳道的活动图,以体现这种分工。 11. 假设,我们希望在活动图中体现出:仓管人员是根据“订单”来准备货物的,因此销 售人员在收到订单后,必须将订单传给仓管人员。应该采用什么机制?请直接修改活动图。 12. 在公司运转一段时间后,财务人员对该流程提出了置疑,反应说收款工作经常滞后, 客户总是在收到货物后的很长时间才付款。因此必须加以改进。请根据图 8-20 和问题提出一 个合理的修改意见,并用活动图表示出来。另外,请保持问题 11 所做的修改,并对新流程做 出相应的体现。 13. 随着该公司的客户量的增长,客户的涉及面也变得越来越广,在发货时不仅有包裹、 EMS,还有空运、集装箱等不同的手段。但如果直接在图 8-20 中做修改,就会降低图的可读 性,这时可以采用什么样的建模手段。 14. 随着订单的增大,有时对一个订单,可能需要进行多次发货,这种业务逻辑应该如何 用活动图建模。请用一个活动图来表述。 15. 活动图主要的应用场景可以分为哪两类,请简要说明它们的区别,并举一些实际的案 例来说明。 第第 9 章章 交互概述图交互概述图 1. 交互概述图有哪两种形式,它们分别适用于什么场景?相对而言,哪一种会更加常用 一些? 一是活动图的变体,它将活动节点进行细化,用一些小的顺序图来表示活动节点内部的对 象控制流;二是顺序图的变体,它用活动图来补充顺序图。但相对而言后者是十分不常见的, 因此 UML 的定义更倾向于将其称为活动图的变体。 2. 在交互概述图中,嫁接在活动图上的顺序图片断是用什么方法来表示的? 交互片断 3. 请简要说明交互概述图在建模时的优点和缺点。 优点:充分结合交互图和活动图的长处,在表达了对象到对象的控制流的同时,充分展示 了从活动到活动的控制流。 缺点:对于规模稍大的场景,它并不是一个很好的选择,它将使模型的可读性大大降低 4. 请简要描述交互概述图的绘制方法。 理解活动控制流,并用活动图表示出来; 分析活动节点:用交互图表述细节。 5. 请对 ATM 机的取款过程,制作一张交互概述图。 第第 10 章章 状态图状态图 1. 什么是状态,对象的状态和对象的属性有什么区别? 2. 在状态机图中,状态由哪五个部分组成? 3. 图 10-17 是一个某系统关于用户管理的状态机图,请阅读该图并说明其含义。 用户已添 加 用户已禁 用 用户已激 活 用户已删 除 新增 删除 删除 激活 激活 禁用 删除 禁用 图 10-17 用户管理状态机图 4. 在图 10-17 中,所涉及的所有转换都属于什么类型?在 UML 状态机图中共提供了哪几 种转换类型。 5. 在转换上标识的文字称为什么?它由哪几个部分组成?其中事件分为哪几类,请分别 以一个例子来说明。 6. 如果要在图 10-17 的基础上表达下述业务逻辑,应该对这张状态机图做哪些修改: 1)当用户删除后,还要自动完成该用户数据的备份,并从系统中清除,假设我们可以调 用 deleteAllData(username)方法来实现。 2)假设用户在“已激活”状态,可以响应“备份”命令,并调用 backData()方法来完成。 3)假设用户在进入“已禁用”状态,将调用 lockData()方法将其所属的信息设置为禁止访 问,而将其解禁后,则调用 unlockData()方法将其恢复。 7. 在状态机图中,自身转换和内部转换的区别是什么?请举例说明。 8. 复合状态可以分为哪两种类型,在图形表示时它们的主要区别是什么。 9. 假设我们要将图 10-17 中状态“用户已禁用”和“用户已激活”合并为“用户生效”状 态,这时使用的是哪种类型的复合状态?请用嵌套的复合状态绘制出新的状态机图。 10. 在图 10-18 所示的状态机图中,描述了学习驾照的过程。在该图采用的复合状态是什 么类型?请说明该图所表示的含义。 已报名 获得驾照 学习 理论学习理论考试 教练专人 指导 驾驶考试自主练车 理论学习理论考试 教练专人 指导 驾驶考试自主练车 图 10-18 学习驾照过程状态机图 11. 在图 10-18 中,什么时候才能够从复合状态“学习”转换到“获得驾照”中。 12. 在状态“理论考试”和“驾驶考试”与其相应的终态连接的线上,应该有什么样的描 述? 13. 如果要表示必须在“理论考试”通过之后,才能够安排“教练专人指导”,那么应该 如何建模。 14. 阅读图 10-19 所示的状态机图,并说明其含义。 查看订单 列表H 查看订单 详情 查看客户 信息 H 图 10-19 页面跳转状态机图 15. 在图 10-19 中符号“ H H ”表示的含义是什么?那么符号“ H H* ”又表示什么?请简 要说明它们的区别。 16. 绘制状态机图的常用的步骤是什么?请简要说明。 17. 某销售 POS 机,它的工作流程是:当客户到收银台后,收银员逐一输入用户购买的商 品,输入完之后,计算出总金额,然后等待用户付款,确定支付成功之后,完成收银,等待下 一个客户。请为其绘制出相应的状态机图。 18. 状态机图适用于什么场景。请分别举例说明。 第第 11 章章 构件图构件图 1. 请简要说明构件的五要素,并举一个例子来说明。 2. 请阐述类与构件之间的主要异同点,并指出在 UML 中构件主要包括哪三种。 3. 构件相关的接口有哪两种类型?它们的图示法分别是什么样的?从关联关系的角度来 看,构件与这两种类型的接口之间是什么关系? 4. 在一张基本构件图中,构件之间最常见的关系是什么? 5. 图 11-10 是对 callcenter.exe 的结构进行建模的结果,请说明该图所表示的含义。 executeable callcentercallcenter. .exeexe library shpshp_ _a a3 3. .dlldll library shsh_ _ttsuttsu. .dlldll versionversion= =4 4. .6 6. .0 0. .6 6 file configconfig. .iniini library libttslibtts. .dlldll 图 11-10 基本构件图 6. 请阅读图 11-11 所示的构件图,说明它表述的含义。 工商注册短信查重程序工商注册短信查重程序 短信发送短信发送 数据查询数据查询 短信网关接口短信网关接口 查重业务处理查重业务处理 收取短信收取短信 工商局系统接口工商局系统接口 数据查询数据查询 发送短信发送短信 短信接收短信接收 图 11-11 嵌套构件图 7. 请简要说明嵌套构件图的绘制过程。 8. 请简要说明构件图适用于哪些建模需求。 第第 12 章章 部署图部署图 1. 什么是节点,处理器和设备这两种节点有什么区别? 2. 节点包含的元素主要是什么?请展开说明。 3. 请简要说明部署图的阅读步骤。 4. 请阅读图 12-7 所示的部署图,说明其所表示的含义: 客户端客户端 artifactartifact ReservationAppReservationApp 服务器服务器 100100MM以太网以太网 artifactartifact SchedulerScheduler. .exeexe databasedatabase ReservationReservation SQL ServerSQL Server OSOS= =WindowsWindows OSOS= =WindowsWindows 图 12-7 示例部署图 5. 请简要说明部署图绘制的两个阶段的主要任务。 6. 用部署图来对嵌入式系统进行建模的最大好处是什么?在建模时,应该遵循哪些要 点? 第第 13 章章 需求建模基础与实例需求建模基础与实例 1. 需求有三个层次,请分别举例说明。 2. 对于一个软件系统而言,我们说需求可以分为三类,请指出这三类,并分别举例说明。 3. 需求开发主要包括哪些关键活动,请按顺序指出,并说明各自的主要任务。 4. 需求管理活动主要包括哪些?请分别说明其主要任务。 5. 阅读以下描述,找出所有不正确的说法,并说明理由。 (1)用例分析技术是一种需求捕获最佳实践。 (2)设计约束不属于需求阶段考虑的内容,它是设计阶段要捕获的信息。 (3)用户访谈的优点是不够深入、信息易失真。 (4)如果要对数据流细节进行研究,应该采用现场观摩法。 (5)需求基线一旦确立,在基线内包含的内容开发完之前,开发工作不响应变更。 (6)在需求调查之前,需要明确 2W1H,其中 1H 指的是“How(如何实现)”。 (7)需求是由用户需求、功能需求、非功能需求三个部分组成的。 (8)业务需求是软件系统开发的最为本质目标。 6. 请解释用例的 WAVE 测试中各个字母所表示的含义。请根据这一测试标准衡量以下用 例是否符合要求,如果不符合要求,请说明存在的问题。 (1)管理库存(对公司的库存进行优化配置) (2)输入搜索项 (3)送货(通过 EMS 将订单内的商品寄给用户) (4)网络连接测试(定时对网络连接进行活动测试,确保连接正常) (5)发送站内短信 7. 请说明在编写用例规格描述时可以采用哪些模型或方法,并分别说明其适用的场景及 优缺点。 8. 请对图 13-7 中的用例“填写任务计划”编写相应的规格描述。 第第 14 章章

温馨提示

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

评论

0/150

提交评论