软件工程第三章习题及参考答案 联系客服

发布时间 : 星期日 文章软件工程第三章习题及参考答案更新完毕开始阅读04ae274a102de2bd97058844

成软件结构中“输入信息处理控制模块”控制下的一个低层模块;然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接受“输出信息处理控制模块”控制的一个低层模块;最后把变换中心内的每个处理映射成受“变换中心控制模块”控制的一个低层模块。

对于工资支付系统来说,第二级分解的结果如图3.16所示。

最后一个设计步骤是,对工资支付系统的初步设计结果进行优化。结合工资支付系统的功能研究图3.16所示的系统初步结构可以看出,“接收工资数据”这个控制模块是多余的:“取数据”模块本身就具有根据需要读取相应数据的功能,没必要在它上面再加一个控制模块。此外,完成具体输出功能的模块只有一个,无须再额外设置一个输出信息处理控制模块,因此应该去掉“印出计算结果”模块。优化后的工资支付系统结构如图3.17所示。

5.答:计算环形复杂度的方法主要有下述3种。

(1)环形复杂度等于流图中的区域数

图3.3所示流图共有5个区域,因此它的环形复杂度等于5。图3.18用罗马数字标注出该流图中的区域,其中区域Ⅰ为图的外部区域。

(2)环形复杂度等于流图中边的条数减去结点数之后再加2

图3.3所示流图共有11条边,8个结点,所以它的环形复杂度为 (3)环形复杂度等于程序中的判断数加1

流图中有2条输出弧的结点(例如,图3.3中的结点c和f)对应于程序中的1个判断,有n(n>2)条输出弧的结点(例如,图3.3中的结点a有3条输出弧)对应于程序中的n-1个判断。因此,图3.3所示流图的环形复杂度为

2×1+1×(3-1)+1=5

6. 答:分析图3.4可以看出,该处理过程由顺序执行的3个程序块组成:首先执行处理a,然后执行一个DO-UNTIL型循环,最后执行处理j。

DO-UNTIL型循环的循环体是处理b和一个IF-THEN-ELSE型分支结构,循环结束条件为x8。其中,IF-THEN-ELSE型分支结构的分支条件是x1,THEN部分是处理f和另一个分支条件为 x6的 IF-THEN-ELSE型分支结构;ELSE部分是一个 CASE型多分支结构。??

这样一层一层地分析下去,可以画出图3.19所示的与图3.4等价的盒图。

7. 答: