级面向对象技术复习提纲.docx
《级面向对象技术复习提纲.docx》由会员分享,可在线阅读,更多相关《级面向对象技术复习提纲.docx(12页珍藏版)》请在冰豆网上搜索。
级面向对象技术复习提纲
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无向图包括点集和边集,其中边集的边连接着点集的一对点,如下图所示。
试用类模型描述无向图,只需描述其结构,不需描述其中点的位置和边的长度等信息。
25简单有向图与无向图类似,只是边是有向的,如下图所示。
试用一个类模型描述有向图。
26下面类图是一个图形交互编辑器的部分类图,其中sheet(页面)是Line和Box的集合,selection是选中的Line和Box的集合。
在下面的类图中没能表示一个Line或Box元素只能属于sheet或selectio之一的约束,试修改该类图,使其能表示该约束关系。
27优化下面的类图,使其在没有确认专栏(Culumn)之前可以确定文本行(Line)在哪个页面(Page)上。
28在下图中最上面的对象的名称是什么?
该图表示的意思是什么?
请绘制出与其相应的类图。
对象图实例
29.用面向对象方法建立一个现实问题的分析模型。
题目如下:
学校管理系统要存储下列数据:
(1)系:
系名,系主任
学生:
学号,姓名,学生所属系
教师:
工作证号,姓名,教师所属系
教授:
研究领域
研究生:
专业方向
课程:
课程号,名称,学分
(2)学生每学期要选修若干门课程,每门课有一个考试成绩;某个学期开设的某门课程只有一个任教教师;一个教师只任教一门课;一个教师有能力讲授多门课程,一门课程也可以有多位教师能够讲授;每个研究生只能跟随一位教授.
试画出表示上述数据的类模型。
30.分析下面的类图,画出新的类图,将原图中的多对多的关系转换为1:
M(一对多)关系。
31.请判断以下类图中的类关系是否合适,并说明理由。
飞机有机翼、机身、驾驶舱
商店里的电器,一台电器可以是一台洗衣机,也可以不是;一台电器可以是一台电视机,也可以不是;一台电器可以是一台空调,也可以不是。
公司员工很多,包括程序员、分析员与项目经理等。
32.仔细分析“语音邮箱系统”的“保留语音信息”和“拨打邮箱号”的用例事件流描述,请找出里面的对象,并画出时序图或协作图。
用例1:
拨打邮箱号
呼叫者拨打语音邮件系统的主号码;
语音邮件系统发出提示音:
输入邮箱号码并加#号
呼叫者输入接收者的邮箱号
语音邮件系统发出问候语:
已进入XX的邮箱,请留言。
用例2:
保留语音信息
呼叫者“拨打邮箱号”
呼叫者说出信息
呼叫者挂断电话
语音邮件系统将记录的信息存放在接收者的邮箱中。
33.假设某高校需要建立一个档案管理系统,而你是该软件系统的负责人。
你所在的软件公司与高校一致同意系统的构建采用面向对象方法。
作为开发负责人,请你结合本课程中的学习知识,提供参考的软件体系结构设计方案,描述开发这个系统的过程,并写出开发过程的每个步骤中你认为应该用到的主要技术。
在面向对象技术中,对已有的类得特征稍作改变就可生成其他的类,这种方式称为(C)
A.委托B.代C.继承D.封装
类库是一种预先定义的程序库,它以程序模块的形式,按照(B)把一组类的定义和实现组织在一起:
(C)对类库的建设提供了强有力的支持。
A.类的功能B.类的层次结构C.实例之间的调用关系D.类的类型
A.引用B.重置C.类属类D.封装
UML是一种面向对象的统一建模语言。
它包含10种图,其中,用例图展示了外部actor与系统所提供的用例之间的连接,UML中的外部actor是指(D),用例可以用(C)图来描述。
状态图指明了对象所有可能的状态以及状态之间的迁移。
如果一个并发的状态由n个并发的子状态图组成,那么,该并发状态在某个时刻的状态由(A)个子状态中各取一个状态组合而成。
协作图描述了协作的(A)之间的交互和链接,它画成(A)图的形式。
A.人员B.单位C.人员或单位D.人员或外部系统
A.类B.状态C.活动D.协作
A.每一B.任意一C.任意二D.任意m(m<=n)
A.对象B.类C.用例D.状态
A.对象B.类C.用例D.状态
在面向对象分析过程中,用概念模型来详细描述系统的问题域,用(B)来表示概念模型;用(A)来描述对象行为。
A.序列图B类图C协作图D用例图
A.序列图和协作图B用例图和活动图C类图和包图D用例图和构件图
在UML中,(D)把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包含的活动,它能够明确地表示哪些活动是由哪些对象完成的。
A组合活动B同步条C活动D泳道
在较高的抽象层次上,传统的程序流程图与UML中活动图最根本的区别在于(A)。
A程序流程图明确地指定了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序
B活动图不能提供循环控制结构,而程序流程图提供
C活动图不能表示并发活动,而程序流程图可以表示并发活动
D两者采用不同的图形符号系统
在关于用例的描述中,错误的是(A)
A用例将系统的功能范围分解成许多小的系统功能陈述
B一个用例代表了系统的一个单一的目标
C用例是一个行为上相关的步骤序列
D用例描述了系统与用户的交互
UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。
其中(B)是面向对象系统建模中最常见的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择(A);当需要说明体系结构的静态实施视图时,应该选择(D)。
A构件图B类图C对象图D部署图
A构件图B协作图C状态图D部署图
A协作图B对象图C活动图D部署图
面向对象系统中有两种基本的复用方式:
框架复用和类库复用。
下列关于框架和类库的描述不正确的是()。
A框架是一个“半成品”的应用程序
B类库只包含一系列可被应用程序调用的类
C框架会为一个特定的目的实现一个基本的、可执行的架构
D类库是框架的一种扩展形式
下列有关面向对象的叙述不正确的是(C)
A面向对象设计最根本的意图是适应需求变化
B应尽量针对接口编程,而不要针对实现编程
C尽量使用继承而不是聚合,因为继承使得类间的耦合性最小
D尽量使用已有的类库
当(D)时,用例是捕捉系统需求最好的选择。
A系统具有很少的用户B系统具有很少的接口C系统算法复杂,功能单一D系统有很多参与者
现有两个用例UC1和UC2,其中UC2是一个完整的用例,可被实例化,而UC1需要UC2中的事件流才可被实例化,且UC1指定了使用UC2的精确位置,则UC1和UC2间的关系是(A)。
AIncludeBExtendCGeneralizeDCall
下列关于面向对象的分析与设计的描述,正确的是(B)。
A面向对象设计描述软件要做什么
B面向对象分析不需要考虑技术和实现层面的细节
C面向对象分析的输入是面向对象设计的结果
D面向对象设计的结果是简单的分析模型
在UML的动态建模机制中,(C)描述了对象之间动态交互关系,还描述了交互对象之间的静态链接关系,即同时反映系统的动态和静态性。
A状态图B序列图C协作图D活动图
在UML的通用机制中,(A)用于把元素组织成组;(D)是系统中遵从一组接口规范且付诸实现的物理的、可替换的软件模块。
A包B类C接口D构件
A包B类C接口D构件
根据下图所示的UML类图可知,类Car和类Boat中的move()方法(B)。
A引用了类Transport的move()方法
B重置了类Transport的move()方法
C是类Transport的move()方法的聚集
D是类Transport的move()方法的泛化
在一个客户信息系统中存在两种类型的客户:
个人客户和集团客户。
对于个人客户,系统中保存了其客户标识和基本信息(包括姓名、住宅和Email);对于集团客户,系统中保存了其客户标识,以及与该集团客户相关的若干个联系人的信息(联系人的信息包括姓名、住宅电话、email、办公电话和职位)。
根据上述描述,得到了如下图所示的UML类图,其中类“客户”的属性有(A);类“人”的属性有(B)。
A客户标识
B姓名、住宅电话、email
C姓名、住宅电话、办公电话、email、职位
D客户标识、办公电话、职位
A客户标识
B姓名、住宅电话、email
C姓名、住宅电话、办公电话、email、职位
D客户标识、办公电话、职位