48 KiB
课后习题全集
来源:教材各章课后习题(OCR提取整理)
总题量:200+ 道(填空、选择、判断、简答、分析)
用途:学完全部章节后,不翻笔记独立刷一遍,检验掌握程度
第1章 面向对象技术概述
一、填空题(19题)
- 面向对象方法至少应当包含4个方面:( ___ )、( ___ )、( ___ )和( ___ )。 答案:标识 / 分类 / 多态 / 继承
- "面向对象"是把一组对象中的数据结构和行为( ___ )结合在一起组织系统的一种策略。 答案:紧密
- ( ___ )是一个对象可识别的特性。 答案:标识
- ( ___ )是用来描述对象动态特征(行为)的一个操作序列。 答案:服务
- ( ___ )就是把对象的属性服务结合成为一个独立的系统单位,并尽可能隐蔽对象的内部细节。 答案:封装
- ( ___ )就是向对象发出的服务请求,它应该含有下述信息:提供服务的( ___ )、服务标识、( ___ )和回答信息。 答案:消息 / 对象标识 / 输入信息
- 结构化分析方法侧重于对系统进行( ___ ),面向对象分析方法侧重于从( ___ )的角度出发去研究和理解问题。 答案:功能分解 / 现实对象
- 面向对象的基本建模原则:( ___ )、( ___ )、( ___ )和( ___ )。 答案:抽象 / 封装 / 继承 / 分类
- 面向对象的软件工程包括( ___ )、( ___ )、( ___ )、( ___ )和( ___ )等主要内容。 答案:面向对象分析(OOA) / 面向对象设计(OOD) / 面向对象编程(OOP) / 面向对象测试(OOT) / 面向对象的软件维护(OOSM)
- RDD方法,又称为( ___ )。 答案:CRC(类、责任、协作)方法
- 对象的概念是( ___ ),类的概念是( ___ )。 答案:对象是对问题域中某个实体的抽象 / 类是对具有相同属性和行为的一个或多个对象的描述
- 类和对象的关系是( ___ )。 答案:对象是类的实例 / 类是对对象的定义模板
- 属性的定义是( ___ ),服务的定义是( ___ )。 答案:属性是描述对象静态特征的一个数据项 / 服务是描述对象动态特征(行为)的一个操作序列
- 类属性的定义是( ___ )。 答案:类属性是描述类的所有对象的共同特征的一个数据项。对于任何对象实例,它的属性值都是相同的
- 类的定义包含( ___ )、( ___ )和( ___ )三要素。 答案:名称 / 属性 / 操作
- 面向对象程序设计的三大特性是( ___ )、( ___ )和( ___ )。 答案:封装 / 继承 / 多态
- 面向对象方法中的( ___ )机制使得子类可以自动地拥有(复制)父类的全部属性和操作。 答案:继承
- 面向对象技术采用以类为中心的( ___ )、( ___ )、( ___ )等特性不仅支持软件复用,而且使软件维护工作可靠有效。 答案:封装 / 继承 / 多态
- 面向对象的系统分析要确立( ___ )、( ___ )和( ___ ) 3个系统模型。 答案:对象模型 / 行为模型 / 功能模型
二、选择题(19题)
- 以下( )功能是面向对象软件开发环境应具有的。 A. 有一个支持复用和共享的类库及其浏览、维护界面 B. 有一个存储并管理永久对象的对象管理系统(OMS) C. 有一个或多个基于类库和OMS的面向对象的编程语言 D. 提供一套覆盖软件生命周期各阶段的面向对象的开发工具 答案:ABCD
- ( )不是对象具有的特性。 A. 标识 B. 继承 C. 顺序 D. 多态性 答案:C
- ( )不是方法学的设计阶段。 A. 分析 B. 系统设计 C. 物理设计 D. 对象设计 答案:C
- 构成对象的两个主要因素是( )。 A. 属性 B. 封装 C. 服务 D. 继承 答案:AC
- 描述对象之间的静态联系用( )。 A. 一般-特殊结构 B. 整体-部分结构 C. 实例连接 D. 消息连接 答案:C
- ( )描述两个或多个实例之间的关系,而( )描述单一实例的不同的特性。 A. 关联 B. 整合 C. 连接 D. 概括 答案:AD
- ( )编程语言不是面向对象编程语言。 A. FORTRAN B. Pascal C. Smalltalk D. Ada 答案:AB
- ( )是面向对象方法。 A. Coad & Yourdon方法 B. 维也纳方法 C. OMT方法 D. Booch方法 答案:ACD
- 如果想对一个类的意义进行描述,那么应该采取( )。 A. 标记值 B. 规格说明 C. 注释 D. 构造型 答案:C
- 下面选项中不是面向对象特征的是( )。 A. 抽象 B. 继承 C. 封装 D. 泛化 答案:D
- 下列关于类与对象的关系的说法正确的是( )。 A. 有些对象是不能被抽象成类的 B. 类给出了属于该类的全部对象的抽象定义 C. 类是对象集合的再抽象 D. 类用来在内存中开辟一个数据区,存储新对象的属性 答案:BCD
- 类的定义包含( )。 A. 类的属性 B. 类所要执行的操作 C. 类的编号 D. 属性的类型 答案:ABD
- 封装是指把对象的( )结合在一起,组成一个独立的对象。 A. 属性和操作 B. 信息流 C. 消息和事件 D. 数据的集合 答案:A
- 封装是一种( )技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。 A. 工程化 B. 系统维护 C. 信息隐藏 D. 产生对象 答案:C
- 面向对象方法中的( )机制使子类可以自动地拥有(复制)父类全部属性和操作。 A. 约束 B. 对象映射 C. 信息隐藏 D. 继承 答案:D
- 使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是( )。 A. 继承 B. 多态性 C. 约束 D. 接口 答案:A
- 建立对象的动态模型的步骤有( )。 A. 准备脚本 B. 确定事件 C. 构造状态图 D. 准备事件跟踪表 答案:ABCD
- 描述对象之间的动态联系用( )。 A. 一般-特殊结构 B. 整体-部分结构 C. 实例连接 D. 消息连接 答案:D
- 描述对象之间的结构(或组织)联系用( )。 A. 一般-特殊结构 B. 整体-部分结构 C. 实例连接 D. 消息连接 答案:C
三、判断题(10题)
- ( ) 数据建模(或称对象建模)就是通过信息流的变换来展示系统的功能。 答案:错
- ( ) 行为建模就是通过状态描述和导致系统改变状态的事件来显示系统的行为。 答案:对
- ( ) 结构化分析SA侧重于对系统进行功能分解。 答案:对
- ( ) 面向对象分析OOA侧重于从现实对象的角度出发来分析系统。 答案:对
- ( ) 可以使用Pascal编程语言进行面向对象的编程OOP。 答案:错
- ( ) 封装就是把对象的属性和行为组成一个独立的系统单位,不用担心内部细节的隐蔽。 答案:错
- ( ) 继承对于软件重用有重要意义,一般类继承特殊类,本身就是软件重用。 答案:错(应为特殊类继承一般类)
- ( ) 特殊类在继承一般类的行为时,通过参数的不同而表现出不同的行为,就是多态性。 答案:对
- ( ) 对象之间只通过消息进行通信,满足了封装的原则。 答案:对
- ( ) Smalltalk是面向对象编程语言发展史上的第一个里程碑。 答案:对
四、简答题(7题)
- 叙述对象和类的关系。 答案:对象是类的实例,类是对对象的定义模板。
- 简述面向对象的概念。 答案:面向对象 = 对象 + 类 + 继承 + 消息传递。涉及基本建模原则:抽象、封装、继承、分类。
- 简述面向对象设计的原则。 答案:6个原则——开放封闭原则、单一职责原则、依赖倒置原则、Liskov替换原则、迪米特法则、接口隔离原则。
- 对象之间如何协同工作? 答案:对象之间通过消息传递来协同工作。一个对象向另一个对象发送消息请求其服务。消息通常包括接收对象名、调用的操作和参数。
- 简述封装与信息隐藏的关系。 答案:封装将属性和操作结合成独立单元;信息隐藏是封装的目的——隐藏内部实现细节,只暴露公开接口。
- 简述多态性说明了什么。 答案:多态性说明同一个操作在不同对象类中可以有不同的实现。它允许用统一的接口处理不同类型的对象。
- 简述重载与覆盖的区别。 答案:重载(overload)是在同一类中同名方法参数不同;覆盖(override)是子类重新定义父类的方法,签名完全相同。
五、分析题
某银行办理取款手续:储户把存折和取款单一并交给出纳员检验。出纳员核对账目,发现存折有效性问题、取款单填写问题、账目与取款单不符等则停止取款。检查通过后登记存折和账目,交付现金。 (1) 确定"取款"用例描述。 (2) 识别对象。 (3) 识别对象属性。 (4) 识别对象行为,画状态-事件-响应图。 (5) 定义类结构。
答案: (1) 用例描述:出纳员检验存折、核对账目→有问题则停止并告知→通过后登记信息、交付现金。 (2) 对象:存折、账目(储户、出纳员、取款单、现金被筛选掉)。 (3) 存折属性:存折号码、户主姓名、开户日期、存折类型、开户行;账目属性:存折号码、交易类型、交易金额、交易日期。 (4) 存折行为:有效性检查()、打印取款信息();账目行为:与取款单一致性检查()、修改账目信息()。 (5) 存折类:属性(私有)、方法(保护);账目类:属性(私有)、方法(保护)。
第3章 用例图
一、填空题(8题)
- 用例图的组成元素包括( ___ )、( ___ )、( ___ )和( ___ )。 答案:参与者(角色) / 用例 / 系统边界 / 关联
- ( ___ )用于描述系统的全部功能。 答案:用例图
- 用例之间的关系分为( ___ )、( ___ )和( ___ )三种。 答案:包含 / 扩展 / 泛化
- ( ___ )是指用例的规模,即主事件流和子事件流综合步骤的大小。 答案:用例粒度
- 参与者是系统的( ___ ),用例是系统的( ___ )。 答案:组成部分 / 系统外部
- 用例分析不仅包括用例图,还包括( ___ )和( ___ )。 答案:用例 / 活动 / 类和对象
- 用例建模的主要步骤:( ___ )、( ___ )、( ___ )、( ___ )、( ___ )。 答案:确定系统边界 / 确定参与者和用例 / 细化用例 / 编写用例描述 / 审核用例模型
- 参与者可分为三种类型:( ___ )、( ___ )和( ___ )。 答案:人 / 外部系统 / 外部设备
二、选择题(10题)
- 用例图中的关系类型包括( )。 A.包含 B.扩展 C.泛化 D.实现 答案:ABC
- 用例的核心是( )。 A.用例名 B.参与者 C.交互行为 D.系统边界 答案:C
- 关于包含关系正确的是( )。 A.包含用例一定执行 B.可选执行 C.箭头基本用例指向包含用例 D.箭头包含用例指向基本用例 答案:A
- 关于扩展关系正确的是( )。 A.扩展用例一定执行 B.条件执行 C.箭头基本用例指向扩展用例 D.箭头扩展用例指向基本用例 答案:B
- 系统边界的作用是( )。 A.确定系统要实现的功能 B.确定谁是参与者 C.确定用例粒度 D.以上都是 答案:D
- 用例粒度决定了( )。 A.用例模型复杂度 B.用例间通信成本 C.系统耦合复杂度 D.以上都是 答案:D
- 参与者之间泛化关系表示( )。 A.特殊参与者继承普通参与者能力 B.普通参与者继承特殊参与者 C.两者是同一个 D.互不相关 答案:A
- 用例描述的核心至少包括( )。 A.用例名参与者 B.前置后置条件 C.主事件流子事件流 D.以上全部 答案:D
- 用例模型的组成是( )。 A.用例图 B.用例描述 C.用例图+用例描述 D.参与者+用例 答案:C
- 下列哪项不是用例之间的关系( )。 A.包含 B.扩展 C.泛化 D.实现 答案:D
三、判断题(2题)
- ( ) 用例图可以反映系统的非功能需求。 答案:错
- ( ) 用例是独立于实现的,只描述用户看到的系统功能。 答案:对
四、简答题(重点8题)
- 用例之间的关系有哪三种?试对比分析。 答案:包含=包含用例一定执行;扩展=扩展用例受条件约束不能单独执行;泛化=子用例可覆盖父用例功能且可单独执行。
- 用例分析获取用户需求是否有缺陷? 答案:有。只能反映功能需求不能反映非功能需求,需用补充规约弥补。
- 参与者和用例之间的关联关系箭头方向代表什么含义? 答案:箭头指向用例=参与者使用用例;箭头指向参与者=用例传递处理结果给参与者。
- 用例的核心是什么?如何体现? 答案:核心是用例和参与者之间的交互行为,由用例描述表达。
- 用例描述的核心是什么? 答案:至少6部分——用例名、参与者、前置条件、后置条件、主事件流、子事件流。
- 系统边界的作用是什么? 答案:确认系统要实现的功能。边界不同,功能、参与者、需求都不同。
- 用例粒度是什么?有何作用? 答案:用例规模(主事件流和子事件流综合步骤大小)。决定模型复杂度、通信成本、系统耦合复杂度。
- 用例之间为什么没有实现关系? 答案:用例与实现无关,只描述用户看到的系统功能。用例到类的映射在分析与设计阶段完成。
五、分析题(3道代表)
题1:销售点系统 —— 参与者:管理员、销售员、电话操作员。用例:加载存货、保存存货、记录销售、处理电话订单、更新存货清单、核实信用卡支付、核实支票支付。关系:记录销售和处理电话订单包含更新存货清单;核实支付扩展销售。电话操作员泛化自销售员。
题6:电话公司交互式网络系统 —— 图中A=浏览客户信息、B=修改个人信息、C=登录、D=删除客户信息。
题10:企业订餐系统COS —— 补全用例:查看今日特价菜、注册工资支付、生成付费请求、管理菜单。参与者A1=工资系统,A2=菜单管理员。
第4章 类图与对象图
一、填空题(10题)
- 对象图中的( ___ )是类的特定实例,( ___ )是类之间关系的实例。 答案:对象 / 链
- 类之间的关系包括( ___ )关系、( ___ )关系、( ___ )关系和( ___ )关系。 答案:依赖 / 泛化 / 关联 / 实现
- 类中方法的可见性包含3种:( ___ )、( ___ )和( ___ )。 答案:公有类型(public) / 私有类型(private) / 受保护类型(protected)
- 共享聚合整体端的重数应该是( ___ )。 答案:*
- 组合聚合整体端的重数必须是( ___ )。 答案:1
- 接口是一个没有( ___ )而只有( ___ )的类。 答案:属性 / 方法
- 对象的三大模型分别是( ___ )、( ___ )和( ___ )。 答案:对象静态模型 / 对象动态模型 / 系统功能模型
- 建立对象静态模型的步骤:( ___ )、( ___ )、( ___ )、( ___ )、( ___ )。 答案:确定对象和类 / 定义类的接口 / 定义类之间的关系 / 建立类图 / 建立系统包图
- 类的表示包括( ___ )、( ___ )、( ___ )和( ___ )等成分。 答案:类名 / 属性 / 操作 / 约束
- 类的三要素是( ___ )、( ___ )和( ___ )。 答案:名称 / 属性 / 操作
二、选择题(16题)
- 类通常可分为实体类、( )和边界类。 A.父类 B.子类 C.控制类 D.祖先类 答案:C
- 两个类之间存在部分和整体的关系则是( )。 A.依赖 B.泛化 C.聚合 D.实现 答案:C
- 两个类之间存在一般和特殊的关系则是( )。 A.关联 B.依赖 C.实现 D.泛化 答案:D
- 接口和它的实现类之间存在( )。 A.关联 B.依赖 C.实现 D.泛化 答案:C
- 类图中#表示的可见性是( )。 A.Public B.Protected C.Private D.Package 答案:B
- 类图中( )关系表达整体与部分的关系。 A.泛化 B.实现 C.依赖 D.聚合 答案:D
- UML中关联的多重性是指( )。 A.一个类有多个方法被调用 B.一个类的实例能与另一个类的多个实例相关联 C.一个类被调用的次数 D.两个类有相同的方法和属性 答案:B
- 一个类的方法的参数数据类型是另一个类的定义则两class间存在( )。 A.关联 B.依赖 C.实现 D.泛化 答案:B
- 一个类的部分对象与另一个类的部分对象存在属性值上的联系时两者存在( )。 A.关联 B.依赖 C.实现 D.泛化 答案:A
- UML中类的主要版型有( )。 A.边界类 B.控制类 C.实体类 D.以上都是 答案:D
- 封装是指把对象的( )结合在一起组成独立对象。 A.属性和操作 B.信息流 C.消息和事件 D.数据集合 答案:A
- 封装是一种( )技术使对象的生产者和使用者分离。 A.工程化 B.系统维护 C.信息隐藏 D.产生对象 答案:C
- 面向对象方法中的( )机制使子类自动拥有父类全部属性和操作。 A.约束 B.对象映射 C.信息隐藏 D.继承 答案:D
- 类的定义包含( )。 A.类的属性 B.类要执行的操作 C.类的编号 D.属性的类型 答案:ABD
- 下面选项中不是面向对象特征的是( )。 A.抽象 B.继承 C.封装 D.泛化 答案:D
- 个人客户与客户之间是( )关系。 A.关联 B.泛化 C.依赖 D.聚合 答案:B
三、判断题(10题)
- ( ) 类与对象的关系可理解为模板与具体实例的关系。 答案:对
- ( ) 类是现实世界中客观存在的事物或实体。 答案:错
- ( ) 类是具有相同属性和服务的一组对象的集合。 答案:对
- ( ) 对象的属性都有值,类的属性没有值。 答案:对
- ( ) 类的可见性描述其属性和操作是否对其他类可见。 答案:对
- ( ) 类的作用域限定了能共享类的属性和操作的对象数目。 答案:对
- ( ) CRC方法是经典的寻找类的方法。 答案:对
- ( ) 类之间的关联关系和依赖关系在很多场合下不用区分。 答案:错
- ( ) 多重性只存在于关联关系中在聚合关系中不存在。 答案:错
- ( ) 接口可以被实例化。 答案:错
四、简答题(5题)
- 简述类与对象之间的关系及关联与链之间的关系。 答案:对象是类的实例,链是关联的实例。
- 简述对象静态模型在UML软件开发过程中的地位。 答案:描述系统静态结构是系统开发模型的核心模型定义系统对谁做的问题。
- 简述类的属性描述有哪些成分。 答案:[可见性] 属性名 [:类型] [多重性] [=初始值] [{约束特性}]
- 简述类的操作描述有哪些成分。 答案:[可见性] 操作名 [(参数列表)] [:返回类型] [{约束特性}]
- 举例说明什么是关联类。 答案:关联类是描述关联属性的类。如Company和Person之间的Contract类有salary属性不属于任一方而属于关联本身。
五、分析题(4道代表)
题1:超市购买商品系统 —— 类图含6个类:销售终端、出纳员、购物单、顾客、商品项目、商品,标注关联与多重性。
题3:关系分类 —— 文件包含记录=聚合;多边形由有序点集成=组成(相同生存期);某学生选了某教授的课=关联。
题8:研究生三种角色 —— 最合理设计是使用接口PersonRole,三个角色类实现该接口。保证同时只有一种角色,利用多态和接口特性。
题9:书店库存管理系统 —— 由Station类负责创建Transaction类最合理。LineItem和Payment与Transaction是多对1增加耦合;Sale是Transaction子类,子类创建父类不合理。
第5章 顺序图与协作图
一、填空题(17题)
- 消息有4种类型:( ___ )、( ___ )、( ___ )和( ___ )。 答案:调用消息(同步消息) / 异步消息 / 简单消息 / 返回消息
- ( ___ )图和( ___ )图用来表达对象之间的交互。 答案:顺序 / 协作
- 进程是一个( ___ )能够与其他进程并发执行。 答案:动作流
- 线程是( ___ )的一个动作流能够与其他线程并发执行。 答案:进程
- ( ___ )是一个拥有进程或线程的对象能够初始化控制活动。 答案:主动对象
- ( ___ )是一个必须由其他对象发来的消息进行触发才执行动作的对象。 答案:被动对象
- 交互图中每一个交互都有( ___ )和( ___ )。 答案:发送者 / 接收者
- ( ___ )图将交互关系表示为二维图纵向是时间轴横向代表各对象的角色。 答案:顺序
- 消息的组成包括( ___ )、( ___ )、( ___ )。 答案:发送者 / 接收者 / 活动
- ( ___ )是一条垂直的虚线表示顺序图中对象在一段时间内的存在。 答案:生命线
- 协作图中类元角色描述了一个( ___ )关联角色描述了( ___ )。 答案:对象 / 协作关系中的链
- ( ___ )通过各对象之间的组织交互关系及对象彼此之间的连接表达交互。 答案:协作图
- ( ___ )是对对象操作的执行表示一个对象直接或通过从属操作完成操作的过程。 答案:激活
- 顺序图中对象用包围名称的( ___ )标记名称带有( ___ )用冒号隔开。 答案:矩形框 / 下画线
- 交互图对在一次交互过程中的( ___ )和( ___ )的链建模。 答案:对象 / 对象
- 协作图中的链是两个或多个对象之间的( ___ )是( ___ )的实例。 答案:独立连接 / 关联
- 协作图中( ___ )使用带有标签的箭头表示附在连接发送者和接收者的链上。 答案:消息
二、选择题(重点16题)
- 顺序图和协作图主要用于对用例图中( )的建模。 A.数据流 B.控制流 C.消息流 D.数据字典 答案:B
- 顺序图的组成是( )。 A.对象 B.生命线 C.激活 D.消息 答案:ABCD
- UML中强调控制流时间顺序的是( )。 A.顺序图 B.协作图 C.定时图 D.交互概述图 答案:A
- 在顺序图中返回消息的符号是( )。 A.直线箭头 B.虚线箭头 C.直线 D.虚线 答案:B
- 关于协作图的描述不正确的是( )。 A.强调参加交互对象的组织 B.是顺序图的一种特例 C.有消息流的顺序号 D.Rose中可按F5从顺序图生成 答案:B
- 组成协作图的元素包括( )。 A.对象 B.消息 C.发送者 D.链 答案:ABD
- 关于顺序图的描述正确的是( )。 A.对消息时间顺序的可视化表示 B.更详细描述用例需求 C.描述对象按时间顺序的交互过程 D.横向是时间轴 答案:ABC
- 消息序列可用两种图来表示分别是( )。 A.状态图和顺序图 B.活动图和协作图 C.状态图和活动图 D.顺序图和协作图 答案:D
- 协作图的作用体现在( )。 A.显示对象空间组织结构 B.表现类操作的实现 C.反映具体语境的逻辑表达 D.描述时间顺序 答案:ABC
- 关于控制焦点的概念描述不正确的是( )。 A.生命线上的矩形条 B.对象的生存期 C.对象方法的执行 D.对象执行动作的时间段 答案:B
- 消息4.2.1[x>3]:p=find(specs)中: 4.2.1是消息序号 [x>3]是警戒条件 p是返回值 find是消息名 specs是参数列表
- 关于调用消息和异步消息正确的是( )。 A.异步消息发出后停前期活动 B.调用消息发出后继续前期活动 C.异步消息必有返回消息且需表达 D.调用消息必有返回消息且无须表达 答案:D
- 生命线是UML中( )的组成部分。 A.类图 B.状态图 C.活动图 D.顺序图 答案:D
- 下面( )属于UML语言的交互图。 A.行为图 B.状态图 C.实现图 D.顺序图 答案:D
- 顺序图的用途包括( )。 A.显示并发进程和激活 B.描述控制流整体序列 C.显示难于在协作图中描述的事件序列 D.以上都是 答案:D
- 开始编写代码时交互图可用来提供( )。 A.消息发送顺序 B.消息发送条件 C.对象状态转移 D.多重性信息 答案:AB
三、判断题(10题)
- ( ) 交互模型包括顺序图和协作图两种形式。 答案:对
- ( ) 顺序图中的建模元素包括对象生命线控制焦点和消息。 答案:对
- ( ) 在顺序图中可表达对象的销毁在协作图中不能。 答案:错
- ( ) 从属流是从同一点出发的多条消息指向不同对象。 答案:错
- ( ) 异步消息的接收者和发送者是同步工作的。 答案:错
- ( ) 调用消息和异步消息主要区别在于控制流是否在完成之前被中断。 答案:对
- ( ) 顺序图和协作图可以相互转换。 答案:对
- ( ) 顺序图中必须用消息序号表达嵌套协作图中则不是。 答案:错
- ( ) 顺序图中可使用交互架构表达条件和循环消息。 答案:对
- ( ) 顺序图和协作图可描述用例的实现步骤。 答案:对
四、简答题(重点5题)
- 简述顺序图和协作图的区别。 答案:顺序图强调消息的时间顺序有生命线和控制焦点;协作图强调参与交互对象的空间关系有路径和消息序号。
- 调用消息和异步消息的区别是什么。 答案:调用消息发出后等待接收者返回才继续(同步);异步消息发出后不等待继续执行(并发)。
- 消息的语法格式分为几个部分不可缺少的是哪个。 答案:[前置条件][警戒条件][序号][返回值:=]消息名([参数列表])。消息名必不可少。
- 从消息表达式中如何看出嵌套循环条件发送。 答案:嵌套=小数点序号(1.1,1.1.1);循环=星号(3.1);条件=方括号警戒条件([x>0])。**
- 何时建顺序图何时建协作图。 答案:关注控制焦点和时间顺序则用顺序图;关注对象空间关系和并发则用协作图。
五、分析题(重点3题)
题1:Account类方法 —— 必须实现withdraw和checkBalance方法。
题6:指纹门禁系统 —— 补全(1)中断事件()(2)读取用户指纹()(3)读取用户开锁权限()(4)读取锁的安全级别()(5)判断用户是否有权限开锁()。
题7:促销系统 —— 补全(1)getCategories()(2)getCommodities()(3)createPromotion()(4)addCommodities()。
第6章 状态图与活动图
一、填空题(16题)
- 状态图由( ___ )的各个状态和连接这些状态的( ___ )组成展示( ___ )与( ___ )。 答案:对象 / 转移 / 状态 / 状态转移
- ( ___ )用于描述模型元素的实例行为。 答案:状态图
- 状态可分为( ___ )和( ___ )。 答案:简单状态 / 复合状态
- ( ___ )代表上次离开组合状态时的最后一个活动子状态用含字母( ___ )的小圆圈表示。 答案:历史状态 / H
- 状态图中( ___ )的发生能够触发状态的改变。 答案:事件
- ( ___ )的所有或多数状态都是动作状态或活动状态。 答案:活动图
- ( ___ )的状态必须与它所表示的参数和结果的类型匹配。 答案:一个对象流
- ( ___ )是原子动作或操作的执行状态不能被外部事件触发的中断。 答案:动作状态
- 活动状态可以有内部转移可以有( ___ )动作和( ___ )动作。 答案:入口 / 出口
- 活动图中活动状态按职责分为不同组称为( ___ )。 答案:泳道
- 顺序状态表明状态之间的转移是( ___ )的。 答案:串行
- 状态图也可使用( ___ )转移符号表示并发子状态。 答案:同步并发
- 活动图中( ___ )也称为对象流。 答案:带箭头的虚线
- 活动图中活动状态的转移( ___ )由事件触发一个活动执行完毕( ___ )进入下一个活动。 答案:不需要 / 可以直接
- 活动图可以描述对象的动态行为也可以描述( ___ )。 答案:用例
- 状态图和活动图描述了系统中某一( ___ )的一系列状态变化。 答案:对象
二、选择题(20题)
- 事件可分类为( )。 A.信号事件 B.变化事件 C.调用事件 D.时间事件 答案:ABCD
- 属于复合状态的有( )。 A.顺序 B.并发 C.同步 D.异步 答案:AB
- 对反应型对象建模一般使用( )。 A.状态图 B.顺序图 C.活动图 D.类图 答案:A
- 构成状态图基本模型元素的是( )。 A.状态 B.转移 C.初始状态 D.链 答案:ABC
- 构成活动图基本模型元素的是( )。 A.泳道 B.动作 C.对象 D.活动 答案:ABD
- 活动图中开始状态标记使用( )。 A.菱形 B.直线箭头 C.实心黑圆 D.空心圆 答案:C
- UML中用( )来描述过程或操作的工作步骤。 A.状态图 B.活动图 C.用例图 D.部署图 答案:B
- ( )技术是将活动图中的活动状态进行分组。 A.泳道 B.分支 C.分叉与汇合 D.转移 答案:A
- 状态图可表示( )在生存期间的行为。 A.一组对象 B.一个对象 C.多个参与者 D.几个子系统 答案:B
- 状态图描述对象的状态转移是由不同的( )驱动的。 A.事件 B.对象 C.参与者 D.数据 答案:A
- ( )转移符号可分解控制为并行线程或将多线程合并。 A.状态 B.对象 C.活动 D.同步并发 答案:D
- 活动图中活动状态间的转移不是由( )触发的。 A.对象 B.事件 C.参与者 D.系统 答案:B
- UML需求分析建模中应用( )来细化用例图中的用例。 A.活动图 B.状态图 C.部署图 D.组件图 答案:A
- 活动图中分叉和汇合用来描述( )。 A.多进程并发处理 B.对象时序 C.类关系 D.系统架构 答案:A
- 描述系统控制机制如设备控制器( )最有用。 A.交互图 B.活动图 C.状态图 D.类图 答案:C
- 描述复杂算法( )最有用。 A.活动图 B.状态图 C.类图 D.用例图 答案:A
- 对企业内工作流程建模( )最有用。 A.交互图 B.类图 C.活动图 D.部署图 答案:C
- 哪个UML视图描述对象的生命周期( )。 A.类图 B.状态图 C.协作图 D.顺序图 答案:B
- 可清楚表达并发行为的图形是( )。 A.类图 B.状态图 C.活动图 D.顺序图 答案:C
- 汽车有静止和运动状态运动含加速匀速减速子状态共( )状态。 A.2 B.4 C.5 D.6 答案:D
三、判断题(10题)
- ( ) 行为模型包括顺序图协作图状态图和活动图。 答案:对
- ( ) 状态图描述对象在生命周期中随事件发生而改变状态的过程。 答案:对
- ( ) 状态可用对象属性值表征也可用一段持续活动表征。 答案:对
- ( ) 状态可分为简单状态和复杂状态。 答案:对
- ( ) 复合状态必须包含开始子状态和结束子状态。 答案:对
- ( ) 转移是状态之间的关系统转移过程中必须执行一个动作。 答案:对
- ( ) 活动图中分支和分叉都可表达并发行为。 答案:错
- ( ) 活动图与SA中的流程图完全一样。 答案:错
- ( ) 状态图和活动图可以互相转换。 答案:错
- ( ) 在工具支持下状态图和活动图可实现代码自动生成。 答案:对
四、简答题(7题)
- 简述状态图和活动图的区别。 答案:状态图重点描述一个对象的状态及转移;活动图重点描述系统工作流程和并发行为。活动图是状态图特殊形式。
- 状态图必须要有终态吗举例。 答案:不必。如电话对象只要不坏始终在等待状态永不进终态。
- 转移的组成有哪些。 答案:起始状态、目标状态、触发事件、警戒条件、转移动作。
- 分支和分叉的区别是什么。 答案:分支根据条件只选一条路径;分叉同时产生多条并发执行路径。
- 泳道的功能是什么。 答案:将活动按职责分组每个泳道代表一个责任区。
- 历史状态有几种区别是什么。 答案:浅历史状态(只记最外层)和深历史状态(可记任意深度)。
- 事件有几种类型信号事件的特点。 答案:4种——调用、信号、变化、时间。信号事件由其他对象异步发送信号类间可泛化扩展性强。
五、分析题(4题)
题2:简单电梯状态图 —— 初始-第一层楼-[上行]向上移动-[到达]等待命令-[上行/下行]移动-[到达]等待命令。
题4:ISPDialer类状态图 —— 组合状态DialingISP-WaitingForDialtone-Dialing-WaitingForCarrier-Connected或NotConnected-结束。
题5:防盗报警系统状态图 —— activate-SystemActive-初始化(并发)-监控(并发)-火警/入侵-报警-复位或结束。
题12:网上药店处方状态图 —— 处方已提交-审核中-准许付款-付款-邮寄-结束。分支:信息无效/无效处方/超时-取消。
第7章 组件图与部署图
一、填空题(12题)
- 组件是系统中遵从一组( ___ )且提供( ___ )的物理部件。 答案:接口 / 实现
- ( ___ )用于对系统的静态实现视图建模。 答案:组件图
- 组件可分为( ___ )、( ___ )和( ___ )三种。 答案:源代码 / 二进制代码 / 可执行代码
- 系统体系结构分为( ___ )和( ___ )。 答案:逻辑体系结构 / 物理体系结构
- ( ___ )描述处理器设备和软件组件运行时的体系结构。 答案:部署图
- ( ___ )由节点和节点之间的联系组成。 答案:部署图
- 软件体系结构分为( ___ )和( ___ )。 答案:软件系统体系结构 / 硬件系统体系结构
- 结点之间结点与( ___ )之间的联系包括通信关联依赖关联等。 答案:组件
- ( ___ )是一种只包含从其他包中引入的元素的组件。 答案:虚包
- 组件具有两种特征:( ___ )和( ___ )。 答案:代码特征 / 身份特征
- ( ___ )是软件逻辑体系中定义的概念和功能在物理架构中的实现。 答案:组件
- 部署图由( ___ )和( ___ )组成。 答案:节点 / 节点之间的联系
二、选择题(10题)
- 组成组件图的元素有( )。 A.接口 B.组件 C.发送者 D.依赖关系 答案:ABD
- ( )是系统中遵从一组接口且提供实现的物理部件。 A.部署图 B.组件 C.类 D.接口 答案:B
- 系统体系结构描述系统各部分的结构接口及通信( )。 A.机制 B.形式 C.原理 D.结构 答案:A
- UML可描述硬件间互联关系也能描述硬件单元上( )的分布。 A.对象 B.软件 C.系统体系结构 D.数据 答案:B
- ( )是对系统用例类对象接口及交互协作进行描述。 A.系统体系结构 B.软件逻辑体系结构 C.硬件物理体系结构 D.系统框架 答案:B
- ( )是对系统组件结点配置进行描述。 A.软件逻辑体系结构 B.系统体系结构 C.系统框架 D.硬件物理体系结构 答案:D
- UML的两种物理表示图形是( )和( )。 A.组件图 B.对象图 C.类图 D.部署图 答案:AD
- 组件图中可包含的建模元素有( )。 A.接口 B.包 C.约束 D.依赖关系 答案:ABCD
- 银行业务系统部署图分析正确的是( )。 A.GUI类部署在Branch Client B.表示三层体系结构 C.业务逻辑部署在Financial App Server D.业务逻辑部署在Branch Client 答案:ABC
- 部署图的组成元素包括( )。 A.处理器 B.设备 C.组件 D.连接 答案:ABD
三、判断题(10题)
- ( ) 组件也称构件就是可被替换的类。 答案:错
- ( ) 软件物理设计中采用的基本单位是类不是组件。 答案:错
- ( ) 可根据部署文件源代码文件可执行代码文件来判断组件。 答案:对
- ( ) 类的关系决定了组件之间的关系。 答案:对
- ( ) 接口可作为把组件绑定在一起的黏合剂。 答案:对
- ( ) 一个组件可仅含一个类也可含多个类。 答案:对
- ( ) 部署图中结点分为处理机和设备区别在于是否有计算能力。 答案:对
- ( ) 部署图中结点之间存在依赖关系。 答案:对
- ( ) UML正向工程和逆向工程都基于部署图操作。 答案:错
- ( ) 正向逆向工程基于类之间的依赖关系生成代码。 答案:对
四、简答题(4题)
- 简述建模包含组件的作用。 答案:组件是软件系统部署的基本单元将可重用模块封装成可替代的物理单元。
- 组件图和部署图的区别是什么。 答案:组件图显示各组件间的依赖关系;部署图描述硬件环境中这些组件的位置安排。
- 什么是结点意义是什么。 答案:结点代表有计算能力的物理设备可驻留组件实例。分处理机和设备两种。
- 结点有实例吗可驻留哪些元素。 答案:结点可有实例代表具体物理设备。可驻留组件实例。
五、分析题(2题)
题2:学生管理系统组件图 —— 组件:MainSystem、Form、DataManager、Student、SystemManager及依赖关系。
题4:网上书店系统部署图 —— Web浏览器(IE)--HTTP--Web服务器(Tomcat)--TCP/IP--数据库服务器(Oracle)--TCP/IP--应用程序(MainSystem)。
第9章 数据建模
一、填空题(8题)
- 关系数据库不能直接存取( ___ )须将( ___ )映射为二维表格列对应( ___ )行对应( ___ )。 答案:持久对象 / 暂时对象 / 属性 / 实例或对象
- UML( ___ )可用于设计( ___ )。 答案:类图 / 数据库
- 数据库设计涉及3个阶段:( ___ )、( ___ )、( ___ )。 答案:概念设计 / 逻辑设计 / 物理设计
- 数据表之间确定性关系是指( ___ )构成子表中( ___ )的一部分。 答案:外键 / 主键
- 数据表之间非确定性关系是指外键( ___ )子表中主键的一部分。 答案:不是
- 一个( ___ )映射为一个( ___ )属性变列对象变行。 答案:类 / 表格
- 在将UML类图映射成数据库时主要使用( ___ )及其之间的( ___ )。 答案:实体类 / 关系
- 对于关系数据库( ___ )是数据库中全体数据的逻辑结构和特征的描述。 答案:模式(Schema)
二、选择题(6题)
- 持久对象是( )其构造过程的对象。 A.依赖于 B.区别于 C.独立于 D.都不是 答案:C
- 在UML数据建模中主要使用( )进行转换。 A.用例图 B.类图 C.对象图 D.组件图 答案:B
- 将类图映射成关系数据表时主要使用( )。 A.边界类 B.控制类 C.实体类 D.抽象类 答案:C
- 数据库中数据库概念对应UML中( )版型。 A.DataBase B.Schema C.Table D.Domain 答案:A
- 必须在( )中创建数据库对象。 A.Use Case View B.Logical View C.Component View D.Deployment View 答案:C
- 必须在( )中创建模式。 A.Use Case View B.Logical View C.Component View D.Deployment View 答案:B
三、判断题(10题)
- ( ) 数据库设计主要用E-R图所以UML无须提供数据建模方法。 答案:错
- ( ) 数据库设计核心阶段是物理设计。 答案:错
- ( ) UML提供版型符号对应数据库基本概念。 答案:对
- ( ) 对象模型和数据模型可相互转换。 答案:对
- ( ) 实体类类图可对应成E-R图反之亦然。 答案:对
- ( ) Rational Rose中对象模型可自动生成数据表。 答案:对
- ( ) 类之间泛化关系不能生成数据表间对应关系。 答案:错
- ( ) 非确定性关系不会造成子表随父表删除而删除。 答案:对
- ( ) 表间关系主要体现在父表通过外键联系子表。 答案:错
- ( ) 对象模型转数据模式时类的持久性不做要求。 答案:错
四、简答题(5题)
- 对象模型转数据模型时类为什么要设成Persistent。 答案:表示该类需永久保存(实体类)转换时才会生成对应数据库表。
- 数据表间非确定性关系和确定性关系是什么。 答案:确定性关系中外键是子表主键一部分删父表则子表也删;非确定性关系中外键不是子表主键一部分删父表不影响子表。
- 如何存储永久类之间多对多关系。 答案:新建关联表将两端主键作为外键放入关联表。
- 数据表的外键起什么作用。 答案:建立表与表间关联关系引用另一个表的主键。
- 举例说明类间关联关系与数据表间联系。 答案:Customer(1)---(0..*)Order则Order表加外键customer_id指向Customer表主键。
五、分析题
图书借阅系统数据建模 —— 从用例图到实体类类图(罚款信息/借阅记录/图书流通细目/图书信息)到Rational Rose转换成的数据模型图(4个表及Identifying/Non-Identifying关系)。
第11章 Rational统一过程
一、填空题(10题)
- RUP静态结构使用( ___ )、( ___ )、( ___ )和( ___ )4种元素表达。 答案:角色 / 活动 / 制品 / 工作流
- RUP的5种视图:( ___ )、( ___ )、( ___ )、( ___ )和( ___ )。 答案:逻辑视图 / 进程视图 / 部署视图 / 实现视图 / 用例视图
- RUP为架构提供( ___ )、( ___ )和( ___ )的系统性方法。 答案:设计 / 开发 / 验证
- RUP开发过程使用一种( ___ )结构表达。 答案:二维
- RUP动态结构通过对( ___ )、( ___ )及( ___ )等描述表示。 答案:周期 / 迭代过程 / 里程碑
- RUP 4个阶段:( ___ )、( ___ )、( ___ )、( ___ )。 答案:初始阶段 / 细化阶段 / 构造阶段 / 移交阶段
- 核心过程工作流(6个):( ___ )、( ___ )、( ___ )、( ___ )、( ___ )、( ___ )。 答案:业务建模 / 需求捕获 / 分析与设计 / 实现 / 测试 / 部署
- 核心支持工作流(3个):( ___ )、( ___ )、( ___ )。 答案:配置与变更管理 / 项目管理 / 环境
- RUP特点:( ___ )、( ___ )和( ___ )。 答案:用例驱动的 / 以体系结构为中心的 / 迭代和增量开发
- RUP 6个最佳实践:( ___ )、( ___ )、( ___ )、( ___ )、( ___ )、( ___ )。 答案:迭代增量开发 / 管理需求 / 基于构件的体系结构 / 可视化建模 / 持续验证质量 / 控制变更
二、选择题(6题)
- RUP最佳实践包括( )。 A.瀑布式 B.迭代式 C.基于构件的架构 D.质量验证 答案:BCD
- 迭代过程4个连续阶段有( )。 A.初始 B.分析 C.细化 D.构造 答案:ACD
- 以架构为中心的开发需关心架构的( )。 A.目的 B.绘制软件 C.表示 D.过程 答案:ACD
- 有效需求管理指( )。 A.应对复杂项目 B.良好用户满意度 C.减少需求错误 D.减少交流 答案:ABCD
- 实现RUP步骤有( )。 A.评估当前状态 B.建立明确目标 C.执行过程实现 D.评价过程实现 答案:ABCD
- RUP以( )为中心。 A.用例 B.对象 C.类 D.程序 答案:A
三、判断题(10题)
- ( ) RUP是Rational Unified Process缩写。 答案:对
- ( ) RUP核心概念含角色活动制品工作流过程。 答案:错
- ( ) RUP生命周期是二维结构横轴时间纵轴开发过程。 答案:对
- ( ) RUP最突出特点是用户驱动。 答案:错
- ( ) 最佳实践包括迭代增量开发和基于构件的体系结构。 答案:对
- ( ) 4阶段按次序初始构造细化移交。 答案:错
- ( ) 核心工作流9个其中6个是过程工作流。 答案:对
- ( ) RUP可指导敏捷开发模式。 答案:对
- ( ) 每阶段都由一个或多个连续迭代组成。 答案:对
- ( ) RUP不适合多循环开发模式。 答案:错
四、简答题(7题)
- RUP的4个阶段是什么。 答案:初始(确定项目范围)、细化(设计架构)、构造(开发所有功能)、移交(部署给用户)。
- RUP的9个核心工作流是什么。 答案:6过程——业务建模、需求、分析与设计、实现、测试、部署;3支持——配置与变更管理、项目管理、环境。
- RUP如何解决4W。 答案:角色(Role)解决Who;活动(Activity)解决How;制品(Artifact)解决What;工作流(Workflow)解决When。
- 简述RUP产生的模型和文档。 答案:模型——用例、分析、设计、配置、实现、测试。文档——技术文档(需求/设计/实现/配置信息集)和管理文档(风险/进度/测试计划)。
- 简述RUP的特点。 答案:用例驱动、以体系结构为中心、迭代和增量开发。
- 简述RUP的6个最佳实践。 答案:迭代式开发、管理需求、基于构件的体系结构、可视化建模、验证质量、控制变更。
- 简述RUP裁剪。 答案:RUP是通用框架需根据项目裁剪。步骤:确定工作流-确定制品-确定阶段间演进-确定迭代计划-规划工作流内部结构。
刷题建议:先做填空和选择判断,做完一章对一章答案。简答和分析题最后集中攻克。总题量约250道。