当前位置:高级系统架构师题库>系统开发基础知识题库

问题:

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

A . 局部化
B . 封装
C . 信息隐藏
D . 继承

需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立() 数据流图和数据字典。 程序流程图。 体系结构模型。 软件必须满足的约束条件。 系统输入设计中应尽可能考虑人的因素,以下关于输入设计的一般原理中,错误的是() 只让用户输入变化的数据。 使用创新的模式吸引用户的眼球。 表格中各个数据项应有提示信息。 尽可能使用选择而不是键盘输入的方式获取数据。 关于UML中的状态图和活动图的叙述中,()是错误的。 状态图和活动图都是对系统的动态方面进行建模的图。 活动图是状态图的一种特殊情况,其中所有或大多数状态是活动状态。 状态图显示从状态到状态的控制流,活动图显示的是从活动到活动的控制流。 在对一个对象的生存期建模时,只能使用状态图。 在一个典型的基于MVC(Model-View-Controller)的J2EE应用中,分发客户请求、有效组织其他构件为客户端提供服务的控制器由()实现。 Entity Bean。 Session Bean。 Servlet。 JSP。 以下关于软件构件及其接口的叙述,错误的是() 构件是软件系统中相对独立且具有一定意义的构成成分。 构件在容器中进行管理并获取其属性或者服务。 构件不允许外部对所支持的接口进行动态发现或调用。 构件可以基于对象实现,也可以不基于对象实现。 对OO系统的技术度量的识别特征,Berard定义了导致特殊度量的特征。其中()抑制程序构件的操作细节,只有对访问构件必需的信息被提供给其他希望访问的构件。
参考答案:

  参考解析

面向对象的软件和用传统方法开发的软件有本质性不同,为此,对OO系统的技术度量必须调整以适应那些区别OO和传统软件的特征。Berard定义了5个导致特殊度量的特征,分别是局部化、封装、信息隐蔽、继承和对象抽象技术。①局部化。局部化是软件的一个特征,它指明信息在程序中被集中的方式,例如,针对功能分解的传统方法围绕功能局部化信息,它们典型地以过程模块来实现。数据驱动方法围绕特定的数据结构局部化信息。在OO语境中,信息是通过封装数据和处理在类或对象的边界内而集中的。因为传统软件强调函数为局部化机制,软件度量着重于函数的内部结构或复杂性(如模块长度、内聚性或环路复杂性等)或函数间相互连接的方式(如模块耦合)。因为类是OO系统的基本单位,所以,局部化是基于对象的,因此,度量应该应用于作为一个完全实体的类(对象)。此外,在操作(函数、方法)和类间的关系没必要是一对一的。因此,反应类协作方式的度量必须能够适应一对多和多对一的关系。②封装。Berard定义封装为"一组项的包装(或捆绑在一起),(对传统软件的)低层封装例子包括记录和数组,而子程序(例如,过程、函数、子例程和段落)是封装的中层机制。"对OO系统,封装包含了类的责任,包括其属性(和针对聚合对象的其他类)和操作,以及由特定的属性值定义的类的状态。封装通过将测度的焦点从单个模块改变到数据(属性)和处理模块(操作)包而影响度量。此外,封装鼓励在高抽象层的测度。将此层次的抽象同传统的度量相比较,传统的着重于布尔条件的计数或代码行数。③信息隐蔽。信息隐蔽隐瞒(或隐藏)程序构件的操作细节,只将对访问该构件必需的信息提供给那些希望访问它的其他构件。良好设计的OO系统应该鼓励信息隐蔽,因此,指明隐蔽所达到程度的度量应该提供了对OO设计质量的一个指标。④继承。继承是使得某对象的责任能够传播到其他对象的机制,继承出现在类层次的所有层面上,通常,传统的软件不支持该特征。因为继承是很多OO系统的关键特征,所以很多OO度量是关注于它的。⑤抽象。抽象是使得设计者能够关注程序构件(数据或过程)的本质性细节而不需考虑低层细节的机制。如Berard所说,抽象是一个相对概念,当我们移向更高的抽象级别时,我们忽略了越来越多的细节,即我们提供了对概念或项的更一般化的视图;当我们移向抽象的低层时,我们引入了更多的细节,即我们提供了概念或项的更特定的视图。因为类是一种抽象,它可以在很多不同的细节级别上并以一系列不同的方式(例如,作为一个操作列表、作为一个状态序列、作为一系列协作)来观察,所以OO度量用类的测度(例如,每个应用的每个类的实例数、每个应用的参数化类数,以及参数化类和非参数化类的比率)来表示抽象。

在线 客服