2017年5月 软件设计师 上午题之十二
摘要:对于【软件设计师】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【2017年5月 软件设计师 上午题】部分真题的详解,一起来看看吧~1、模块A、B和 C有相同的程序块,块内的语句之间没有任何联系,现把改程序块取出来,形
1、模块A、B和 C有相同的程序块,块内的语句之间没有任何联系,现把改程序块取出来,形成新的模块D,则模块D的内聚类型为( 33 )内聚。以下关于该内聚类型的叙述中,不正确的是( 34 )。
A、 具有最低的内聚性
B、 不易修改和维护
C、 不易理解
D、 不影响模块间的耦合关系
答案:D
答题解析:
内聚按强度从低到高有以下几种类型:
(1)偶然内聚
如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。
(2)逻辑内聚
几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。
(3)时间内聚
如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。
(4)通信内聚
如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。
(5)顺序内聚
如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
(6)过程内聚
构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。
模块完成多个需要按一定的步骤一次完成的功能。(过程相关---控制耦合)。例如:在用程序流程图设计模块时,若将程序流程图中的一部分划出各自组成模块,便形成过程内聚。
(7)信息内聚
模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该模块执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。
(8)功能内聚
模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。
2、对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要( 35 )个测试用例。采用McCabe 度量法计算其环路复杂度为( 36 )。
A、 2和3
B、 2和4
C、 2和5
D、 2和6
答案:B
答题解析:
覆盖2条路径就能达到语句覆盖的要求,用2个测试用例即可。路径覆盖需要把程序中的所有路径覆盖遍,需要4个用例。
整个程序流程图转化为结点图之后,一共11个结点,13条边,根据环路复杂度公式有:13-11+2=4。
参考答案:(35)b
3、对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要( 35 )个测试用例。采用McCabe 度量法计算其环路复杂度为( 36 )。
A、 1 (问题36)
B、 2 (问题36)
C、 3 (问题36)
D、 4 (问题36)
答案:D
答题解析:
覆盖2条路径就能达到语句覆盖的要求,用2个测试用例即可。路径覆盖需要把程序中的所有路径覆盖遍,需要4个用例。
整个程序流程图转化为结点图之后,一共11个结点,13条边,根据环路复杂度公式有:13-11+2=4。
参考答案:(36)D
查看完整试题>>>
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>