3、从供选择的答案中选出与下面有关面向对象开发过程的叙述最适合的答案,将其编号填入相应的括号内。
?在面向对象软件开发过程中特别重视复用。软件构件应独立于当初开发它们的应用而存在。在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。因此,应使得类成为一个( A )的单元。这样就有一个( B )生存期问题。( B )生存期有自己的步骤,与任一特定应用的开发( C )。按照这些步骤,可以完整地描述一个基本( D )。而不仅仅考虑当前正在开发的系统。系统开发的各个阶段都可能会标识新的类。随着各个新类的标识,( B )生存期引导开发工作逐个阶段循序渐进。 ?在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的三个可能途径是:( E )复用既存类;对既存类进行( F )以得到满足要求的类;重新开始进行开发。 供选择的答案:
A. ① 可复用 ② 可测试 ③ 可适用 ④ 可靠 B. ① 应用 ② 寿命 ③ 类 ④ 软件 C. ① 相关 ② 密切相关 ③ 负相关 ④ 无关 D. ① 概念 ② 实体 ③ 事件 ④ 事情 E, F. ① 修改 ② 更新 ③ 照原样 ④ 演化
4、从供选择的答案中选出与下面有关类设计的叙述最适合的答案,将其编号填入相应的括号内。
?类常常被看做是一个抽象数据类型的实现,更合适的是把类看做是某种( A )的一个模型。事实上,类是单个的( B )语义单元。类的用户能够操纵的操作叫做类的( C )。类定义的其余部分给出数据定义和辅助功能定义,包括类的实现。
类的实现常常包括了其它类的实例,这些实例( D )被其它对象存取,包括同一个类的其它实例。类的实现可能还包括某些私有方法,实现它们的类可以使用,而其它任何对象都不能使用。
?类,就它是一个数据值的聚合的意义上来看,与Pascal中的记录或C中的结构类似,但又有差别。类扩展了通常的记录语义,可提供各种级别的( E )。类不同于记录,因为它们包括了操作的定义,这些操作与类中声明的数据值有相同的地位。 供选择的答案:
A. ① 功能 ② 概念 ③ 结构 ④ 数据
B. ① 语法 ② 词法 ③ 语义 ④ 上下文环境
C. ① 界面 ② 操作 ③ 行为 ④ 活动
D. ① 可自由地 ② 可有控制地 ③ 可通过继承 ④ 应受保护不 E. ① 可移植性 ② 可重复性 ③ 可访问性 ④ 继承性
5、从供选择的答案中选出与下面有关需求定义的叙述最适合的答案,将其编号填入相应的括号内。
有一种非形式的技术,对于捕获信息有时很有用,它就是CRC卡片。CRC是( A )、( B )和( C )的缩写。它可以用来组织在每一个子系统中的类。以CRC卡片为辅助工具的设计有以下几个步骤:识别( A )和( B ),分配( B ),找寻( C ), 细化。CRC的作者强调模拟在执行每个基本功能时系统内部出现的( D ),以此推动细化工作的进行。在这个过程中,CRC卡片是十分重要的一个工具。 用CRC卡片来进行设计,既不是传统的“自上而下”,也不是“自下而上”,而是从已知到
未知的逐步( E )的过程。
供选择的答案:
A~C. ① 控制 ② 协作者 ③ 可靠性 ④ 类
???⑤ 计算 ⑥ 职责 ⑦ 比较 ⑧ 上下文环境 D. ? ① 场景 ② 算法 ③ 进程 ④ 变换 E. ? ① 演化 ② 进展 ③ 展开 ④ 认识
6、从供选择的答案中选出与下面有关论域分析的叙述最适合的答案,将其编号填入相应的括号内。
?论域分析的( A )和对应用分析和高层设计的( B )就构成问题论域的模型。已有许多建立这种模型的技术,一种特别适用的技术就是语义数据模型。
?语义数据模型来源于Codd的( C )数据模型和实体—联系模型,并对这类模型进行了扩充和一般化。语义数据模型可以表达问题论域的内涵,还可以表示复杂对象和对象之间的联系。语义数据模型与( C )数据模型本来都是在( D )设计时使用的,但它们的范围已经扩展到系统的开发。作为( D )结构标准的ANSI/SPARC建议提出了三层模型:外部模型、概念模型和( E )模型。这三层可以被映象到面向对象设计的三个层次上去。外部模型与概念模型层相当于高层设计阶段。 供选择的答案:
A, B. ① 控制 ② 输出 ③ 输入 ④ 处理 ???⑤ 计算 ⑥ 解释 ⑦ 比较 ⑧ 创建 C. ? ① 变换 ② 关系 ③ 抽象 ④ 事务 D.??① 网络 ② 程序 ③ 算法 ④ 数据库 E.??① 低层 ② 底层 ③ 内部 ④ 存储
7、从供选择的答案中选出与下面的叙述最适合的答案,将其编号填入相应的括号内。
?从分析到设计的过程流如图所示。一旦已经开发完成一个合理完整的( A )模型后,就要着手( B )的设计。这需要描述( B )的特征,以准确表达待实现的用户需求,以及实现需求所必须的支持环境。一旦定义了各个( B ),就开始( C )设计,这时,可利用CRC卡片,将属性转换为( D ),将关系转换为( E )。 供选择的答案:
A~C. ① 分析 ② 系统设计 ③ 模块设计 ④ 子系统设计 ???⑤ 对象设计 ⑥ 数据设计 ⑦ 操作设计 ⑧ 行为设计 D~E. ① 对象 ② 数据结构 ③ 算法 ④ 消息传递 ???⑤ 控制 ⑥ 并发处理 ⑦ 进程 ⑧ 过程
8、从供选择的答案中选出与下面有关面向对象分析的叙述最适合的答案,将其编号填入相应的括号内。
?由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。第一个模型是( A ),它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。第二个模型是( B ),它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。( B )包括两种图, 即( C )和( D )。( C )描述每一类对象的行为,( D )描述发生于系统执行过程中的某一特定场景。第三个模型是( E ),它着重于描述系统内部数据的传送与处理,它由多个数据流图组成。 供选择的答案:
A,B,E: ① 数据模型 ② 功能模型 ③ 行为模型 ④ 信息模型 ????⑤ 原型 ⑥ 动态模型 ⑦ 对象模型 ⑧ 逻辑模型
????⑨ 控制模型 ⑩ 仿真模型
C,D:? ① 对象图 ② 概念模型图 ③ 状态迁移图 ④ 数据流程图
????⑤ 时序图 ⑥ 事件追踪图 ⑦ 控制流程图 ⑧ 逻辑模拟图 ⑨ 仿真图 ⑩ 行为图
9、从供选择的答案中选出与下面有关面向对象设计的叙述最适合的答案,将其编号填入相应的括号内。
?在面向对象软件设计过程中,应按如下要求进行类的设计:只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的( A )原则。当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的( B )原则。由同属一个类的操作负担存取或加工类的数据,这是软件设计的( C )原则。两个类之间的交互应当仅涉及参数表,这是软件设计的( D )原则。每个派生类应该当做基类的特殊化来开发,而基类所具有的公共界面成为派生类的共有界面的一个子集,这是软件设计的( E )原则。 供选择的答案:
A:① 过程抽象 ② 功能抽象 ③ 信息隐蔽 ④ 共享性 ? ⑤ 连通性
B:① 标准调用 ② 最小界面 ③ 高耦合 ④ 高效率 ? ⑤ 可读性
C:① 数据抽象 ② 低内聚 ③ 高内聚 ④ 低复杂度 ? ⑤ 低强度
D:① 显式信息传递 ② 高内聚 ③ 低内聚 ④ 相互操作性 ? ⑤ 连接性
E:① 动态联编 ② 异质表 ③ 信息隐蔽 ④ 多态性 ? ⑤ 继承性
10、从供选择的答案中选出与下面有关面向对象程序设计的叙述最适合的答案,将其编号填入相应的括号内。
?面向对象的程序设计语言具有数据抽象、信息隐蔽、( A )等特征。作为运算单位的对象应具有下列特性:( B )、( C )、( D )。( E )是面向对象的语言。 供选择的答案:
A:① 对象调用 ② 对象变换 ③ 非过程性 ? ④ 信息继承 ⑤ 并发性
B~D:① 对象把数据和处理数据的操作结合为一体 ???② ???③ ???④ ???⑤
在程序运行时对象都处于活动状态 对象在计算中可向其他对象发送消息
接受消息的对象必须给消息发送者以回答
对象的内部状态只根据外部送来的消息才操作
E:① C++,SMALLTALK,object C ② C,Ada,Modula2 ? ③ PASCAL,C++,APL ④ Ada,object C,C
四、问答题
1、什么叫面向对象?面向对象方法的特点是什么?为什么要用面向对象方法开发软件? 2、什么是“对象”?识别对象时将潜在对象分成7类,试给出这7类对象的名称,并举例说明。
3、什么是“类”? “类”与传统的数据类型有什么关系?有什么区别? 4、基于复用的面向对象开发过程分为哪几个阶段?每一个阶段需要做哪些事情? 5、按照类生存期,类的开发有哪几种方式?每一种方式需要做哪些事情?
6、面向对象开发方法与面向数据流的结构化开发方法有什么不同?使用面向对象开发方法的优点在什么地方?
7、基于复用的面向对象的需求分析过程主要分为两个阶段:论域分析和应用分析。试讨论它们各自承担什么任务?如何衔接?
8、建立分析和设计模型的一种重要方法是UML。试问UML是一种什么样的建模方法?它如何表示一个系统?
9、使用面向对象设计方法进行高层设计,以建立系统的体系结构。这样的结构有哪几种主要的组成部分?每一部分所承担的职责是什么?
10、在类的设计中需要遵循的方针是什么?三个主要的设计准则:抽象、信息隐蔽和模块化如何才能作到?
11、在类的通过复用的设计中,主要的继承关系有哪几种?试举例说明。
五、应用题
1、建立窗口系统的对象模型,问题陈述如下:
“窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。”
2、在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种交互的行为。