面向对象方法题库1-0-5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象方法题库1-

0-5

问题:

[单选]当()时,用例是捕获系统需求最好的选择。

A.系统具有很少的用户

B.系统具有很少的接口

C.系统算法复杂,功能单一

D.系统有很多参与者

用例描述的是系统的执行者(参与者)与系统的交互,同时也是开发人员与用户进行交流的工具,可用来很好地定义系统的边界。所以,当执行者较多的时候,用例是捕获系统需求最好的选择。

问题:

[单选]对OO系统的技术度量的识别特征,Berard定义了导致特殊度量的特征。其中()抑制程序构件的操作细节,只有对访问构件必需的信息被提供给其他希望访问的构件。

A.局部化

B.封装

C.信息隐藏

D.继承

面向对象的软件和用传统方法开发的软件有本质的不同,为此,对OO系统的技术度量必须调整以适应那些区别OO和传统软件的特征。Berard定义了5个导致特殊度量的特征,分别是局部化、封装、信息隐蔽、继承和对象抽象技术。

(1)局部化。局部化是软件的一个特征,它指明信息在程序中被集中的方式,例如,针对功能分解的传统方法围绕功能局部化信息,它们典型地以过程模块来实现。数据驱动方法围绕特定的数据结构局部化信息。在OO语境中,信息是通过封装数据和处理在类或对象的边界内而集中的。因为传统软件强调函数为局部化机制,软件度量着重于函数的内部结构或复杂性(例如,模块长度、内聚性或环路复杂性等)或函数间相互连接的方式(例如,模块耦合)。因为类是OO系统的基本单位,所以,局部化是基于对象的,因此,度量应该应用于作为一个完全实体的类(对象)。此外,在操作(函数、方法)和类间的关系不必要是一对一的。因此,反应类协作方式的度量必须能够适应一对多和多对一的关系。

(2)封装。Berard定义封装为“一组项的包装(或捆绑在一起),(对传统软件的)低层封装例子包括记录和数组,而子程序(例如,过程、函数、子例程和段落)是封装的中层机制”。对OO系统,封装包含了类的责任,包括其属性(和针对聚合对象的其他类)和操作,以及由特定的属性值定义的类的状态。封装通过将测度的焦点从单个模块改变到数据(属性)和处理模块(操作)包而影响度量。此外,封装鼓励在高抽象层的测度。将此层次的抽象同传统的度量相比较,传统的着重于布尔条件的计数或代码行数。

(3)信息隐蔽。信息隐蔽隐瞒(或隐藏)程序构件的操作细节,只将对访问该构件必须的信息提供给那些希望访问它的其他构件。良好设计的OO系统应该鼓励信息隐蔽,因此,指明隐蔽所达到程度的度量应该提供了对OO设计质量的一个指标。

(4)继承。继承是使得某对象的责任能够传播到其他对象的机制,继承出现在类层次的所有层面上,通常,传统的软件不支持该特征。因为继承是很多OO系统的关键特征,所以很多OO度量是关注于它的。

(5)抽象。抽象是使得设计者能够关注程序构件(数据或过程)的本质性细节而不须考虑低层细节的机制。如Berard所说:“抽象是一个相对概念,当我们移向更高的抽象级别时,我们忽略了越来越多的细节;当我们移向抽象的低层时,我们引入了更多的细节,即我们提供了概念或项的更特定的视图”。因为类是一种抽象,它可以在很多不同的细节级别上并以一系列不同的方式(例如,作为一个操作列表、作为一个状态序列、作为一系列协作)来观察,所以OO度量用类的测度(例如,每个应用的每个类的实例数、每个应用的参数化类数以及参数化类和非参数化类的比率)来表示抽象。

问题:

[单选]博学公司欲开发一个在线交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的()进行交互过程建模。

A.类图

B.序列图

C.部署图

D.对象图

显然,为了能够精确地表达用户与系统的复杂交互过程,应该使用交互图。在UML中,交互图包括顺序图、交互概览图、通信图和定时图。顺序图也称为序列图,强调消息的时间次序;通信图强调消息流经的数据结构;定时图强调消息跨越不同对象或角色的实际时间;交互概览图是活动图和顺序图的一个综合体。

(羽毛球教学 /)

问题:

[单选]UML是面向对象开发方法的标准化建模语言。采用UML对系统建模时,用()模型描述系统的功能,等价于传统的系统功能说明。

A.分析

B.设计

C.用例

D.实现

显然,采用UML对系统建模时,使用用例模型来描述系统的功能。

问题:

[单选,共用题干题]在计算机系统中,某一功能的处理时间为整个系统运行时间的50%,若使该功能的处理速度加快10倍,根据Amdahl定律,这样做可以使整个系统的性能提高(1)倍。若要使整个系统的性能提高1.5倍,则该功能的处理速度应加快(2)倍。空白(1)处应选择()

A.A.1.6

B.1.7

C.1.8

D.1.9

Amdahl定律表明:利用这一公式,代入fe=0.5,re=10,可以得到系统的加速比为1.8左右。当加速比要求为1.5时,利用上述公式,可以算出该功能部件的加速比为3倍。

问题:

[单选]以下关于改进信息系统性能的叙述中,正确的是()

A.将CPU时钟周期加快一倍,能使系统吞吐率增加一倍

B.一般情况下,增加磁盘容量可以明显缩短作业的平均CPU处理时间

C.如果事务处理平均响应时间很长,首先应注意提高外围设备的性能

D.利用性能测试工具,可以找出程序中最花费运行时间的20%代码,再对这些代码进行优化

系统吞吐率不单是取决于CPU的速度,还与内外存交换速度、磁盘存取速度等计算机的基本性能有关,也与应用程序的性能有关。因此,A是错误的。增加磁盘容量与CPU处理时间没有直接的关系,所以,B也是错误的。如果事务处理平均响应时间很长,就需要我们去分析其中的原因,然后根据原因采取相应的措施。如果是因为外围设备导致系统瓶颈,才去提高外围设备的性能。因此,C是错误的。根据20-80法则,一个程序中20%的代码使用了该程序所占资源的80%;一个程序中20%的代码占用了总运行时间的80%;一个程序中20%的代码使用了该程序所占内存的80%。从这个规律出发,我们在做程序优化的时候,就有了针对性。比如想提高代码的运行速度,根据这个规律可以知道其中20%的代码占用了80%的运行时间,因此我们只要找到这20%的代码,并进行相应的优化,那么我们程序的运行速度就可以有较大的提高。要想找出那20%的代码,我们可以使用性能测试工具,检查程序中各个模块所分配内存的使用情况,以及每个函数所运行的时间等。

相关文档
最新文档