第10章 面向对象的分析.docx

上传人:b****6 文档编号:3311635 上传时间:2022-11-21 格式:DOCX 页数:15 大小:21.94KB
下载 相关 举报
第10章 面向对象的分析.docx_第1页
第1页 / 共15页
第10章 面向对象的分析.docx_第2页
第2页 / 共15页
第10章 面向对象的分析.docx_第3页
第3页 / 共15页
第10章 面向对象的分析.docx_第4页
第4页 / 共15页
第10章 面向对象的分析.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

第10章 面向对象的分析.docx

《第10章 面向对象的分析.docx》由会员分享,可在线阅读,更多相关《第10章 面向对象的分析.docx(15页珍藏版)》请在冰豆网上搜索。

第10章 面向对象的分析.docx

第10章面向对象的分析

第10章面向对象的分析

一、填空题(30小题)

1、()最直接地体现系统责任并实现用户需求的成分。

答案:

对象的服务

2、如果在一个服务中包括了多项可独立定义的功能,则它(),应尝试把它分解为多个服务。

答案:

低内聚的

3、主动对象是至少有一个服务不需要接收消息就能()的对象。

答案:

主动执行

4、对象的服务可分为()。

答案:

外部服务和内部服务

5、对象具有封装性,实现了()的组合。

答案:

数据和操作

6、将语言规则应用到软件系统分析的处理称为()。

答案:

基于语言的信息分析(Linguistic_basedInformationAnalysis,LIA)。

7、适当是指()。

答案:

一个合格的程序员看了之后能够正确地理解其要求

8、分析员通过()来发现和定义对象的每个服务。

答案:

分析对象的行为

9、类属性的定义是()。

答案:

是描述类的所有对象的共同特征的一个数据项,对于任何对象实例,它的属性值都是相同的

10、对象具有很强的()能力和()功能。

答案:

表达、描述

11、()是对整个对象的状态/行为关系的图示。

答案:

状态转换图

12、()以帮助分析对象的行为。

答案:

构画出一个状态转换图

13、系统的需求包括4个不同的层次:

()、()、()和()。

答案:

业务需求、用户需求、功能需求、非功能性需求

14、服务流程图:

()。

答案:

对于功能比较复杂的服务,要给出一个服务流程图,表明该服务是怎样执行的

15、状态转换图是()的重要工具。

答案:

启发分析员认识对象服务

16、对于每个整体一部分分关系,()中要增加一个属性来表明它的部分对象。

答案:

整体对象

17、若类A继承类B,类B继承类C,则()。

答案:

A也继承了C的全部属性与服务

18、如果A是B的一部分,B是C的一部分,则()。

答案:

A也是C的一部分

19、特殊类之所以称为“特殊”,是因为()。

答案:

它具有独特的属性与服务

20、()应该被划分出去作为部分对象。

答案:

引起整体对象的属性与服务

21、如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,()。

答案:

则A叫做B的特殊类,B叫做A的一般类

22、一般一特殊结构是由()所组成的结构。

答案:

一组具有一般一特殊关系(继承关系)的类

23、组合关系具有的最重要的性质是()。

答案:

传递性

24、()是问题域的事物之间客观存在的一种关系。

答案:

一般一特殊结构

25、如果对象a是对象b的一个组成部分,则()。

答案:

b为a的整体对象,a为b的部分对象

26、当组合关系有多个层次时,可以用()来表示它。

答案:

一棵简单的聚集树

27、所谓多重性是指()。

答案:

位于连接符一端的一个对象实例要求另一端多少个对象实例与自己进行整体-部分分组合

28、一般类与特殊类之间的关系叫做()。

答案:

一般一特殊关系

29、整体一部分分关系反映了对象之间的构成关系,它也称为()。

答案:

聚集关系

30、如果类A的全部对象都是类B的对象,而且类B中存在不属于类A的对象,()。

答案:

则A是B的特殊类,B是A的一般类

二、单项选择题(50小题)

1、明显的信息冗余,可以在()消除。

A、OOA阶段

B、OOD阶段

C、OOK阶段

D、OOE阶段

答案:

A

2、把每个对象的属性和服务都填写到相应的类符号中,就构成了类图的()。

A、特性层

B、状态层

C、特征层

D、属性层

答案:

C

3、一个面向对象的系统的体系结构通过它的()的关系确定。

A、类与对象

B、成分对象和对象

C、过程与对象

D、类与界面

答案:

B

4、在一般一特殊结构中,和()的定位原则一样。

A、属性

B、方法

C、对象

D、类

答案:

A

5、SUMMONSEVENT类的这个服务通过检测召唤请求(召唤按钮被按下)来确定是否有ElevatorSummons事件发生,属于主动服务。

具体过程如下()。

A、生成一个SummonsEvent实例

B、SummonsEvent的这个实例发送一个单向的消息给由Summonsfloor所标识的SummonsPanel实例

C、接收来自于DestinationPanel的响应,并决定是否需要给Elevator发送一个响应

D、结束这个SummonsEvent实例

答案:

D

6、所谓高内聚是指()。

A、一个服务只完成一项明确定义的、完整而单一的功能,没有出现在一项服务内完成多个功能的现象

B、一个服务只完成一项简单的功能

C、多个服务只完成一项明确定义的、完整而单一的功能

D、出现在一项服务内完成多个功能的现象

答案:

A

7、对象标识是分配给每个对象的永久性标识(又称作“柄”),它符合下述条件()。

A、在一定的范围或领域(例如一个应用系统)中是唯一的

B、与对象实例的特征、状态及分类(可能是动态的)无关

C、在对象存在期间保持一致

D、在对象存在之后保持一致

答案:

D

8、面向对象技术中,对象是类的实例。

对象有三种成分:

()、属性和方法。

A、标识

B、规则

C、封装

D、消息

答案:

A

9、第一个体现结构化编程思想的程序设计语言是()。

A、FORTRAN语言

B、Pascal语言

C、C语言

D、PL/1语言

答案:

B

10、()是启发分析员认识对象服务的重要工具。

A、顺序图

B、对象图

C、活动图

D、状态转换图

答案:

D

11、()对象的服务和OOA的其他活动一样,应研究问题域和系统责任以明确各个对象应该设立哪些服务以及如何定义这些服务。

A、分析

B、发现和定义

C、总结

D、查找

答案:

B

12、属性的表示法,是在()的中部填写每一个属性的名字。

A、对象

B、实例

C、类

D、方法

答案:

C

13、对于一个给定的问题域,一个合适的对象集合能够()。

A、保证可复用性

B、提高可扩充性

C、提高软件产品的质量和生产率.

D、减少研发成本

答案:

ABC

14、一个类的所有对象具有相同的属性,不包括()。

A、个数

B、名称

C、数据类型

D、定义

答案:

D

15、同一类中有相同的数据结构,这是()级别的共享。

A、不同应用

B、同一应用

C、不同类

D、同一类

答案:

D

16、如果在一个服务中包括了()可独立定义的功能,则它是低内聚的,应尝试把它分解为多个服务。

A、一项

B、二项

C、三项

D、多项

答案:

D

17、以下()活动不能推迟到OOD阶段做。

A、对象标识问题

B、规范化问题.

C、性能问题

D、定义属性

答案:

D

18、找出对象生命历程中所经历的(或者说是可能呈现的)每一种(),画出状态转换图。

A、行为

B、定义

C、状态

D、方法

答案:

C

19、()只供对象内部的其他服务使用,不对外提供。

A、外部服务

B、内部服务

C、内嵌服务

D、上层服务

答案:

B

20、()对整个对象的状态/行为关系的图示,它附属于该对象的类描述模板。

A、状态转换图

B、顺序图

C、活动图

D、对象图

答案:

A

21、()标注的主动对象和主动服务不一定是最终的定局。

A、OOA

B、OOD

C、OOK

D、OOF

答案:

A

22、汽车有一个发动机,汽车与发动机之间的关系是()关系。

A、一般与具体

B、整体与部分

C、分类

D、isa

答案:

B

23、在Elevator指示就绪状态之前先检测Elevator的超重状态。

具体的过程如下()。

A、将属性ELEVATOR(elevator_id).current_state的值置为NOT_READY

B、接收来自于DestinationPanel的响应,并决定是否需要给Elevator发送一个响应

C、反复执行以下操作直到应答为OK:

发送一个双向的消息给OVERWEIGHTSENSOR

D、将属性ELEVATOR(elevatorid).currentstate的值置为READY

答案:

A

24、描述类中某个对象的行为,反映了状态与事件关系的是()。

A、对象图

B、状态图

C、流程图

D、结构图

答案:

B

25、对行为规则比较复杂的对象都不需要做以下工作()。

A、找出对象的各种状态

B、分析在不同的状态下,对象的行为规则有何不同?

在发现它们没有区别时,可以将一些状态合并

C、分析从一种状态可以转换到哪几种其他状态以及该对象的什么行为会引起这种转换

D、找出类的各种状态

答案:

D

26、()叫作“执行路线追踪”。

A、发现了某种需要就追踪到下一个对象

B、以穷举式的搜索一直进行到全部服务都被模拟过

C、看看是否定义了所需要的服务

D、在对已发现的服务进行具体的定义和详细说明时进行较为合适

答案:

B

27、面向对象开发产生的分析文档应当()考虑问题,在分析阶段识别的概念是高层的概念。

A、与问题直接相关

B、与问题不相关

C、在更小的问题范围内

B、在更大的问题范围内

答案:

D

28、面向对象程序设计的基本机制有()。

A、继承

B、消息

C、方法

D、结构

答案:

ABC

29、()考虑每个服务是被其他哪些对象的哪些服务请求的,按消息传递的相反方向跟踪上去。

A、考虑问题域

B、考虑与系统边界以外的活动者直接进行交互的对象

C、考虑系统功能的构成层次中完成最外层功能的对象服务是甭应定义为主动服务

D、最后一个策略是进行服务执行路线的逆向追踪

答案:

D

30、()的描述范围是一个对象,所以它位于类描述模板的对象级。

A、类图

B、状态转换图

C、实例图

D、服务流程图

答案:

B

31、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是()关系。

A、组装

B、整体成员

C、has-a

D、一般具体

答案:

B

32、如果对象a是对象b的一个组成部分,那么()。

A、b的类定义引用a的类定义

B、a的类定义引用b的类定义

C、b的类定义调用a的类定义

D、a的类定义调用b的类定义

答案:

B

33、在有多重继承的类层次结构中,它的类层次结构是()层次结构。

A、树型

B、网状

C、环型.

D、星型

答案:

B

34、分析该消息的发送者与接收者在执行时是否属于同一个控制线程。

可从几个不同的角度去判断()。

A、按问题域的情况和系统责任的要求应该顺序地执行还是并发地执行

B、从发送者的执行到接收者的执行是否引起了控制线程的切换

C、接收者是否只有通过当前这种消息的触发才能执行

D、看是不是每个类的每个服务都曾经到达并模拟执行过

答案:

D

35、如果缺少这样的主动对象,则考虑是把某个被动对象改为主动对象还是增加一个主动对象,然后分三种情况定义对象之间的消息()。

A、本地机上同一个控制线程内部的消息

B、本地机上不同控制线程之间的消息

C、异地机上不同控制线程之间的消息

D、异地机上同一个控制线程内部的消息

答案:

D

36、取消那些不合适的结构或对它进行调整一与修改,通过以下几个问题进行审查()。

A、是否符合分类学的常识

B、系统责任是否需要这样的分类

C、问题域是否需要这样的分类

D、是否构成了继承关系

答案:

B

37、在语义上,一个消息应包括下述信息()。

A、发送者,这是通过消息发送点的位置隐含表明的

B、接收者,是由消息名表达的

C、其他需传送的信息,通过入口参数和返回参数表示

D、消息名,即接收消息的服务名

答案:

D

38、不需在具有这种实例连接关系的对象类之间统一地给出这种关系的定义是()。

A、表示法

B、实现方式

C、实例连接与整体一部分分结构的异同

D、状态法

答案:

C

39、如果A是B的一部分,B是C的一部分,则()。

A、A也是C的一部分

B、C也是A的一部分

C、A不是C的一部分

D、C不是A的一部分

答案:

B

40、一般一特殊关系()。

A、到达事件是电梯事件的特殊类

B、目的地事件是电梯事件的特殊类

C、召唤事件是电梯事件的特殊类

D、发送事件是电梯事件的特殊类

答案:

C

41、在OOA模型中建立实例连接包括下述分析活动()。

A、认识对象之间的静态联系

B、认识实例连接的属性与操作

C、分析实例连接的多重性

D、异常情况处理

答案:

D

42、对象类与外部的关系,有以下几种()。

A、继承关系

B、整体一部分分关系

C、对象之间的静态联系

D、对象之间的动态联系

答案:

B

43、不能通过以下几个问题进行审查()。

A、是否符合分类学的常识

B、系统责任是否需要这样的分类

C、问题域是否需要这样的分类

D、是否构成了继承关系

答案:

A

44、实例连接又称为“链”,它表达了对象之间的()。

A、静态关系

B、动态关系

C、连接关系

D、无关系

答案:

A

45、系统中的一般类应符合下述()条件之一才有存在的价值,如果不符合其中的任何条件,则应考虑简化。

A、需要用它创建对象实例

B、它有两个或两个以上的特殊类

C、它的存在有助于软件复用

D、特殊类没有自己的特殊的属性与服务

答案:

A

46、可以从以下几方面考虑其是否需要进行审查与筛选()。

A、是不是系统责任的需要

B、是否属于问题域

C、是否有明显的整体一部分分关系

D、部分对象是否有一个以上的属性

答案:

B

47、多继承()。

A、实现多态性的方法之一

B、重命名

C、更改其名字

D、解决多继承带来的命名冲突问题的方法之一

答案:

A

48、对象之间的静态联系用()表示。

A、一般一特殊结构一

B、整体一部分分结构

C、实例连接

D、消息连接

答案:

C

49、接收者对消息的不同响应方式()。

A、在消息产生之前,处理这个消息的进程或线程并不存在;仅当发送者发送这个消息时才立刻创建一个进程或线程来响应这个消息,完成它所要求的服务

B、处理消息的进程或线程已经存在,并且与发送者同步地接收消息,接到消息时立即处理

C、某些消息所指出的接收者可能并不关心这种消息,它可能不作任何响应

D、接收者异地接收和处理消息,即在消息发出之后的某个时刻才接收和处理该消息

答案:

A

50、作为一种既适应顺序系统,又适应并发系统的OOA方法,应该识别和表示的主要问题包括()。

A、对象之间是否存在某种消息

B、这种消息是同一个控制线程内部的还是不同控制线程之间的

C、每一种消息的发出者和接受者

D、消息是同步的还是异步的

答案:

C

三、简答题(5小题)

1、简述动态模型的特征,说明事件、事件跟踪图、状态、状态图的含义。

答案:

动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了对象的具体行为。

该模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。

使用状态图作为描述工具。

事件是指时刻发生的某件事情。

它是某事情发生的信号,它没有持续时间,它是种相对性的快速事件。

事件跟踪图侧重于表达说明发生域系统执行过程中的一个特定“场景”(即脚本)是完成系统某个功能的事件序列。

现实世界中,各对象之间相互触发,一个触发行为就是一个事件。

对事件的响应取决于接受该触发的对象的状态,响应包括状态的改变或形成个新的触发。

事件可以看作是信息从一个对象到另一个对象的单向传送,发送事件的对象可能期望对方的答复,但这种答复也是一个受第二个对象控制下的一个独立事件,第二个对象可以发送也可不发送这个答复事件。

各事件将信息从一个对象传到另一个对象中去,因此要确定各事件的发送对象和接收对象。

事件跟踪图用来表示事件、事件的接收对象和发送对象。

与各种有关事件的序列关系及由此表现出来的对象之间的交互作用可通过事件跟踪图来表达。

对象在某个特定阶段所处的情形就是状态,它是对象行为的属性值的一种抽象。

对象的属性值按照影响对象显著行为的性质将其归并到一个状态中去。

状态指明了对象对输入事件的响应。

事件和状态是双生的,即一事件分开两种状态,一个状态分开两个事件。

状态图反映了状态与事件的关系。

当接收一事件时,下一状态就取决于当前状态和所接收的事件,由该事件引起的状态变化称为“转换”。

状态图确定了由事件序列引起的状态序列。

状态图描述了类中某个对象的行为,由于类的所有实例有相同的行为,所以这些实例共享同一状态图,正如它们共享相同的类性质一样。

但由于各对象有自己的属性值,因此各对象也有自己的状态,按自己的步调前进。

2、试说明主动服务与被动服务的区别。

答案:

关于服务的概念,有必要进一步区别的是主动服务和被动服务。

主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,例如用于定义进程或线程的程序单位。

被动服务是只有接收到消息才执行的服务,它在编程实现中是一个被动的程序成分,例如函数、过程、例程等。

被动对象的服务都是被动服务,主动对象应该至少有一个主动服务。

在定义服务的过程中,对于主动对象应指出它的主动服务。

3、对于在上一阶段初步发现的属性,要进行审查和筛选,为此对每个属性提出几个问题?

答案:

(1)这个属性是否体现了以系统责任为目标的抽象。

(2)这个属性是不是描述这个对象本身的特征。

(3)该属性是否破坏了对象特征的“原子性”。

(4)该属性是否可以通过继承得到。

(5)该属性是否可以从其他属性直接导出。

4、列举出在哪几种情况下运用整体一部分分结构而实现或支持复用。

答案:

一种情况是在两个或更多的对象类中都有一组属性和服务描述这些对象的一个相同的组成部分。

把它们分离出来作为部分对象,建立整体一部分分结构,这些属性和服务就被多个类复用,从而简化了它们的描述。

另一种情况是系统中己经定义了某类对象,在定义其他对象时,发现其中一组属性和服务与这个已定义的对象是相同的,那就不必再重复地定义这些属性与服务,只需建立它与前一类对象之间的整体一部分分结构。

还可以考虑通过整体一部分分结构提取可复用构件,以支持本领域范围的复用问题。

如果一个对象类中有一组属性和服务描述了该对象的一个独立部分,即使从本系统中看也并不需要这样一个部分对象,只要它是一种在本领域经常使用的对象,就可把它从整体中分离出来作为部分对象,使它的类定义成为一个应用范围较广的可复用构件。

5、什么叫整体一部分分关系?

答案:

如果对象a是对象b的一个组成部分,则b为a的整体对象,a为b的部分对象。

并把b和a之间的关系称作“整体一部分分关系”(又可称为“has-a”关系)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1