软件工程第七章
- 格式:ppt
- 大小:115.00 KB
- 文档页数:34


第七章
7.1什么是对象?什么是类?它们之间是什么关系?
答:一、对象是指一组属性以及这组属性上的专用操作的封装体。
二、类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。
三、类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。
7.2什么是继承?
答:继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。
7.3什么是多态性?什么是动态绑定?
答:一、多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。
二、动态绑定是指在程序运行时才将消息所请求的操作与实现该操作的方法连接起来。
7.4简述面向对象的分析过程。
答:1、 获取客户对系统的需求
需求获取必须让客户与开发者充分地交流,这里介绍一种采用用况来收集客户需求的技术。分析员首先标识使用该系统的不同的执行者(actor),这些执行者代表使用该系统的不同的角色。每个执行者可以叙述他如何使用系统,或者说他需要系统提供什么功能。执行者提出的每一个使用场景(或功能)都是系统的一个用况的实例,一个用况描述了系统的一种用法(或一个功能),所有执行者提出的所有用况构成系统的完整的需求。
2、 标识类和对象
类和对象来自问题领域。
可以先标识候选类,然后进行筛选
3、定义类的结构和层次
类的结构主要有两种:一般—特殊(generalization—specialization)结构和整体—部分(whole—part)结构。
一般—特殊结构是一种分类结构,反映了类间的一般与特殊的关系。一般类与特殊类之间是一种“is a”的关系,如:汽车是一种交通工具。同样,特殊类还可以分为更特殊的类,这样可形成类的层次结构。
整体—部分结构反映了类间的整体与部分关系。值得注意的是,整体—部分关系是对对象而言的,而不是对类的。整体—部分关系是一种“has a ”的关系,如“汽车”有“发动机”。同样,整体—部分结构也具有层次结构。
1
一、选择题
1、汽车有一个发动机,汽车和发动机之间的关系是(B)关系。
A、一般具体 B、整体部分 C、分类关系 D、is a
2、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是(D)关系。
A、组装 B、整体部分 C、has a D、一般具体
3、面向对象程序设计语言不同于其他语言的最主要特点是(C)。
A、模块 B、抽象性 C、继承性 D、共享性
4、软件部件的内部实现与外部可访问性分离,这是指软件的(A)。
A、封装性 B、抽象性 C、继承性 D、共享性
5、面向对象分析阶段建立的三个模型中,核心模型是(C)模型。
A、功能 B、动态 C、对象 D、分析
6、对象模型的描述工具是(C)。
A、状态图 B、数据流图 C、对象图 D、结构图
7、动态模型的描述工具是(A)。
A、状态图 B、结构图 C、对象图 D、流程图
8、在只有单重继承的类层次结构中,类层次结构是(A)层次结构。
A、树型 B、网状型 C、星型 D、环型
9、(C)模型表示了对象的互相行为。
A、功能 B、动态 C、对象 D、分析
10、在确定类时,所有(A)是候选的类。
A、名词 B、形容词 C、动词 D、代词
11、面向对象分析的原则不包括(C)。 2
A、抽象 B、封装 C、依赖 D、继承
12、常用动词和动词词组来表示(C)。
A、对象 B、类 C、关联 D、属性
13、在确定属性时,所有(B)是候选的属性。
A、名词 B、修饰性名词词组 C、动词 D、词组
14、在面向对象方法中,信息隐藏是通过对象的(A)来实现的。
A、封装性 B、分类性 C、继承性 D、共享性
15、面向对象设计的准则不包括(D)。
A、模块化 B、抽象 C、信息隐藏 D、强耦合
二、 简答题
1、面向对象分析通常要建立哪三种模型?它们分别描述系统的哪些方面?
第七章 习题答案2.研究下面给出的伪码程序,要求:
⑴ 画出它的程序流程图 。
⑵ 它是结构化的还是非结构化的?说明你的理由。 ⑶ 若是非结构化的,则
(a)把它改造成仅用三种控制结构的结构化程序 ;
(b) 写出这个结构化程序的伪码;(c)用盒图表示这个结构化程序。 ⑷ 找出并改正程序中的逻辑错误 。COMMENT: PROGRAM SEARCHES FOR FIRST N REFERENCES
TO A TOPIC IN AN INFORMATION RETRIEVAL
SYSTEM WITH T TOTAL ENTRIES
INPUT N
INPUT KEYWORD(S) FOR TOPIC
I=0
MATCH=0
DO WHILE I≤T I=I+1
IF WORD=KEYWORD
THEN MATCH=MATCH+1
STORE IN BUFFER
END IF MATCH=N
THEN GOTO OUTPUT
END
END
IF N=0
THEN PRINT ”NO MATCH” OUTPUT: ELSE CALL SUBROUTINE TO PRINT BUFFER
INFORMATION
END
解:⑴ 程序流程图(如图2.1所示)
⑵ 此程序是非结构化的,它有一个GOTO语句,并且是从一个循环体内转到循环体外的一个条件语句内部。
⑶ 修改后的伪码如下:
YES
YES开 始
输入N输入关键字WORD
I=0MATCH=0
循环N+1次I=I+1I控制搜索总次数的计数器MATCH控制搜索成功次数的计数器
遇到的字= KYEWORD?
MATCH=MATCH+1保存MATCH到缓
MATCH=N?NO
N=0
调子程序打印缓冲器信息打印“没有匹配”
结束NOYES
图2.1INPUT N,T 输入 N
INPUT KEYWORD(S) FOR TOPIC 输入有关话题的关键字
OPEN FILE 打开文件I=0
第七章
7.1什么是对象?什么是类?它们之间是什么关系?
答:一、对象是指一组属性以及这组属性上的专用操作的封装体。
二、类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个
类的一个实例(instance。
三、类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。
7.2什么是继承?
答:继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。7.3什么是多态性?什么是动态绑定?
答:一、多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。
二、动态绑定是指在程序运行时才将消息所请求的操作与实现该操作的方法连接起
来。
7.4简述面向对象的分析过程。
答:1、获取客户对系统的需求
需求获取必须让客户与开发者充分地交流,这里介绍一种采用用况来收集客户需求 的技术。分析员首先标识使用该系统的不同的执行者(actor,这些执行者代表使用该系统的不同的角色。每个执行者可以叙述他如何使用系统,或者说他需要系统提
供什么功能。执行者提出的每一个使用场景(或功能都是系统的一个用况的实例,一个用况描述了系统的一种用法(或一个功能,所有执行者提出的所有用况构成系统的完整的需求。
2、标识类和对象
类和对象来自问题领域。
可以先标识候选类,然后进行筛选
3、定义类的结构和层次
类的结构主要有两种:一般—特殊(generalization—specialization结构和整体—部分(whole—part结构。
一般—特殊结构是一种分类结构,反映了类间的一般与特殊的关系。一般类与特殊
类之间是一种“is a”的关系,如:汽车是一种交通工具。同样,特殊类还可以分为更
特殊的类,这样可形成类的层次结构。
整体—部分结构反映了类间的整体与部分关系。值得注意的是,整体—部分关系是对对象而言的,而不是对类的。整体—部分关系是一种“has a ”的关系,如“汽车”有“发动机”。同样,整体—部分结构也具有层次结构。