主题:2009年上半年软考软件设计师上午试卷[3]
http://www.educity.cn 作者:软考办 来源:希赛教育
● 根据ISO/IEC 9126软件质量度量模型定义,一个软件的时间和资源质量子特性属于(31)质量特性。
(31)A. 功能性 B. 效率 C. 可靠性 D. 易使用性
[答案讨论]
● McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图 G 的环路复杂性的公式为:V(G)=m-n+2,其中 V(G)是有向图 G 中的环路个数,m是 G 中的有向弧数,n 是 G 中的节点数。下图所示程序图的程序复杂度是(32)。
(32)A. 2 B. 3 C. 4 D. 5
[答案讨论]
● 在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是(33)。
(33)A. 系统开发合同 B. 系统设计说明书
C. 系统开发计划 D. 系统测试报告
[答案讨论]
● 软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段复审期间,应该从 (34) 出发,评价软件的结构和过程。
(34)A. 指出可移植性问题以及可能影响软件维护的系统界面
B. 容易修改、模块化和功能独立的目的
C. 强调编码风格和内部说明文档
D. 可测试性
[答案讨论]
● 当用分支覆盖法对以下流程图进行测试时,至少需要设计 (35) 个测试用例。
(35) A. 4 B. 5 C. 6 D. 8
[答案讨论]
● 某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(36)维护。
(36)A. 正确性 B. 适应性 C. 完善性 D. 预防性
[答案讨论]
● 下面关于面向对象分析与面向对象设计的说法中,不正确的是(37)。
(37)A. 面向对象分析侧重于理解问题
B. 面向对象设计侧重于理解解决方案
C. 面向对象分析描述软件要做什么
D. 面向对象设计一般不关注技术和实现层面的细节
[答案讨论]
● 在面向对象分析与设计中,(38)是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;(39)是系统内对象和系统外参与者的联系媒介; (40) 主要是协调上述两种类对象之间的交互。
(38)A. 控制类 B. 边界类 C. 实体类 D. 软件类
(39)A. 控制类 B. 边界类 C. 实体类 D. 软件类
(40)A. 控制类 B. 边界类 C. 实体类 D. 软件类
[答案讨论]
● 若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其它部分的代码都不涉及类 B,那么类 A 与类 B 的关系应为 (41) ;若类 A 的某个属性是类 B的一个对象,并且类 A 对象消失时,类 B 对象也随之消失,则类 A 与类 B 的关系应为 (42)。
(41)A. 关联 B. 依赖 C. 聚合 D. 组合
(42)A. 关联 B. 依赖 C. 聚合 D. 组合
[答案讨论]
● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (45) 设计模式将该类的接口转换成我们希望的接口。
(43)A. 命令(Command) B. 适配器(Adapter)
C. 装饰(Decorate) D. 享元(Flyweight)
(44)A. 命令(Command) B. 适配器(Adapter)
C. 装饰(Decorate) D. 享元(Flyweight)
(45)A. 命令(Command) B. 适配器(Adapter)
C. 装饰(Decorate) D. 享元(Flyweight)
[答案讨论]
● 根据ISO/IEC 9126软件质量度量模型定义,一个软件的时间和资源质量子特性属于(31)质量特性。
(31)A. 功能性 B. 效率 C. 可靠性 D. 易使用性
[答案讨论]
● McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图 G 的环路复杂性的公式为:V(G)=m-n+2,其中 V(G)是有向图 G 中的环路个数,m是 G 中的有向弧数,n 是 G 中的节点数。下图所示程序图的程序复杂度是(32)。
(32)A. 2 B. 3 C. 4 D. 5
[答案讨论]
● 在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是(33)。
(33)A. 系统开发合同 B. 系统设计说明书
C. 系统开发计划 D. 系统测试报告
[答案讨论]
● 软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段复审期间,应该从 (34) 出发,评价软件的结构和过程。
(34)A. 指出可移植性问题以及可能影响软件维护的系统界面
B. 容易修改、模块化和功能独立的目的
C. 强调编码风格和内部说明文档
D. 可测试性
[答案讨论]
● 当用分支覆盖法对以下流程图进行测试时,至少需要设计 (35) 个测试用例。
(35) A. 4 B. 5 C. 6 D. 8
[答案讨论]
● 某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(36)维护。
(36)A. 正确性 B. 适应性 C. 完善性 D. 预防性
[答案讨论]
● 下面关于面向对象分析与面向对象设计的说法中,不正确的是(37)。
(37)A. 面向对象分析侧重于理解问题
B. 面向对象设计侧重于理解解决方案
C. 面向对象分析描述软件要做什么
D. 面向对象设计一般不关注技术和实现层面的细节
[答案讨论]
● 在面向对象分析与设计中,(38)是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;(39)是系统内对象和系统外参与者的联系媒介; (40) 主要是协调上述两种类对象之间的交互。
(38)A. 控制类 B. 边界类 C. 实体类 D. 软件类
(39)A. 控制类 B. 边界类 C. 实体类 D. 软件类
(40)A. 控制类 B. 边界类 C. 实体类 D. 软件类
[答案讨论]
● 若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其它部分的代码都不涉及类 B,那么类 A 与类 B 的关系应为 (41) ;若类 A 的某个属性是类 B的一个对象,并且类 A 对象消失时,类 B 对象也随之消失,则类 A 与类 B 的关系应为 (42)。
(41)A. 关联 B. 依赖 C. 聚合 D. 组合
(42)A. 关联 B. 依赖 C. 聚合 D. 组合
[答案讨论]
● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (45) 设计模式将该类的接口转换成我们希望的接口。
(43)A. 命令(Command) B. 适配器(Adapter)
C. 装饰(Decorate) D. 享元(Flyweight)
(44)A. 命令(Command) B. 适配器(Adapter)
C. 装饰(Decorate) D. 享元(Flyweight)
(45)A. 命令(Command) B. 适配器(Adapter)
C. 装饰(Decorate) D. 享元(Flyweight)
[答案讨论]