2013级面向对象技术复习提纲
2012 级面向对象技术复习提纲 概念部分 1 理解面向对象的思想(封装性、继承性、多态性) ,作出一个简述。 2 理解多态性的概念和应用,理解动态绑定机制。 3 什么是用例图, 用例图有哪些部分组成。 用例图中参与者之间的关系有哪些?用例之间的 关系有哪些? 4 试描述用例图在 UML 中的地位和作用。 5 掌握用例模型的获取方法。 6 用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。 7 对象与类的概念; 类图有哪些元素构成?类之间的关系有哪些?掌握UML 中类图的绘制 方法。 8 简述类的聚合和组合关系的异同点。 9 在绘制类图时,第一步就是发现类,最常用的方法是什么?请简要说明它的使用方法。 10 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型。 11 理解对象图的概念,对象图的适用场景以及它的优缺点。 12 互图(时序图与协作图)的概念与作用,掌握其的绘制方法。 13、状态图概念与作用,掌握活动图、状态图的绘制方法。 14 类的设计原则包括哪些内容? 15 包图与组件图的概念,掌握包图的设计原则,包括稳定性和抽象度的衡量方法。 16 掌握设计模式、软件复用的概念,掌握所介绍的各种设计模式(单实例、工厂、适配器、 对象装饰、桥接、职责链、策略等)的用途,类图,以及相关实例。 综合部分 17 观察一部电梯的运行方式,并用状态图描述它的各种状态(简化为“第一层” 、 “向上运 动” 、 “向下运动” 、 “等待” 、 “运动到第一层”五种状态)和可能转移。 18 简单的数字钟包含两个按钮 A 和 B,系统启动后进入显示时间(时、分、秒)状态。在 显示时间状态下按钮 A 用于切换显示时间-设置小时-设置分钟-显示时间等状态; 在设置 小时、设置分钟状态下按B 键用于修改时间。试画出其状态转换图。 19 用状态图描述顾客在 ATM 机上的操作过程。ATM 机主要包括等待顾客插入磁卡的起始 状态和结束服务的终止状态,以及输入密码、 选择服务类型、存款及取款等状态。顾客插入 磁卡后进入输密码状态,当密码输入正确时进入选择服务类型状态,当输入密码不正确时, 停留在原状态,但如果三次不正确,服务结束。进入选择服务类型后根据选择的不同, 顾客 可进入存款和取款状态。存、取款结束后,顾客既可以选择结束服务到最终状态, 也可以选 择继续服务回到选择服务类型状态。 20. 信用卡可能处于“开放”和“关闭”状态,其中“开放”状态可以直接进入“关闭”状 态,而从“关闭”状态必须提供密码验证才能进入“开放”状态, “开放”状态又包括“透 支”和正常状态之间的变化,当剩余金额少于0,或者使用额度大于剩余金额,或者结算余 额小于 0 时进入透支状态,反之则为正常状态。画出信用卡的状态转换图。 21 用状态图描述航班机票预订系统,在没有任何预订时,系统处于“无预订”状态,有人 订座后处于“部分预订” ,而座位预订完后处于“预定完”状态,当航班快要起飞时,显然 要“预订关闭” 。请用状态图描述其变迁过程。 22 某“订货”用例的文字描述如下:接收顾客的订单、确认订单是否已付款。若未付款, 则取消并退回订单;若已付款,则检查每个订单项。对有货的订单项更新库存,同时向顾客 发放提货单;对于缺货的订单项则向顾客发放缺货单, 同时向采购人员发放采购单。 请用活 动图描述这一用例。 23 掌握 UML 中各种模型图的作用,画法,结合“网上学生选课系统”仔细理解。 24 无向图包括点集和边集,其中边集的边连接着点集的一对点,如下图所示。试用类模型 描述无向图,只需描述其结构,不需描述其中点的位置和边的长度等信息。 V5 e1 V4 e5 e6 V1 e2 V3 e4 V2 e3 1 UndirectedGraphUndirectedGraph 1 * VertexVertex -vertexName : string 2* * EdgeEdge -edgeName : string 25 简单有向图与无向图类似, 只是边是有向的,如下图所示。试用一个类模型描述有向图。 V5 e1 V4 e5 e6 V1 e2 V3 e4 V2 e3 1 DirectedGraphDirectedGraph 1 * -from VertexVertex -vertexName : string -to 1 1 * * EdgeEdge -edgeName : string * 26 下面类图是一个图形交互编辑器的部分类图,其中sheet(页面)是Line 和 Box 的集合, selection 是选中的 Line 和 Box 的集合。 在下面的类图中没能表示一个Line 或 Box 元素只能 属于 sheet 或 selectio 之一的约束,试修改该类图,使其能表示该约束关系。 * lineline 01 selectionselectionsheetsheet 01 * * 1 * linesegmentlinesegment 122 pointpoint 2 01 01 * * boxbox lineline selectionselection 01 CollectionCollection sheetsheet 2 01 * boxbox * * 1 * linesegmentlinesegment 122 pointpoint 27 优化下面的类图,使其在没有确认专栏(Culumn)之前可以确定文本行(Line)在哪个 页面(Page)上。 PagePage 1* ColumnColumn 1* LineLine 28 在下图中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应的类 图。 China:Country fuJian:ProvincesiChuan:Province 对象图实例 29. 用面向对象方法建立一个现实问题的分析模型。 题目如下: 学校管理系统要存储下列数据: (1)系:系名,系主任 学生:学号,姓名,学生所属系 教师:工作证号,姓名,教师所属系 教授:研究领域 研究生:专业方向 课程:课程号,名称,学分 (2)学生每学期要选修若干门课程 ,每门课有一个考试成绩;某个学期开设的某门课程只有一 个任教教师;一个教师只任教一门课;一个教师有能力讲授多门课程,一门课程也可以有多位 教师能够讲授;每个研究生只能跟随一位教授. 试画出表示上述数据的类模型。 30. 分析下面的类图, 画出新的类图,将原图中的多对多的关系转换为1:M(一对多)关系。 商品商品 -商店编号 1*1* 购买 顾客顾客 -顾客编号 31. 请判断以下类图中的类关系是否合适,并说明理由。 机翼机翼 飞机飞机机身机身 驾驶舱驾驶舱 飞机有机翼、机身、驾驶舱 洗衣机洗衣机 电器电器 电视机电视机 空调空调 商店里的电器,一台电器可以是一台洗衣机,也可以不是;一台电器可以是一台电视机,也 可以不是;一台电器可以是一台空调,也可以不是。 程序员程序员 公司员工公司员工分析员分析员 项目经理项目经理 公司员工很多,包括程序员、分析员与项目经理等。 32. 仔细分析“语音邮箱系统”的“保留语音信息”和“拨打邮箱号”的用