五、答案:正确的叙述有:(3)、(5)、(7)、(8)、(10) 说明:(3)尽可能在软件生产过程中保证各阶段文档的正确性,对于保证软件的可靠性、功能性等有相当 大的作用,这样可减少用户提出维护请求的可能,即使要更新,工作的难度和工作量也会降低。(5)选择 时间效率和空间效率尽可能高的算法,可以让编程者把注意力集中在提供程序的正确性、可理解性、可修 改性、可测试性、可使用性等方面,从而提高可维护性,不必为追求效率而把程序编写得让人看不懂。(7) 如果程序结构设计得较好,层次结构合理,在维护时理解程序和修改程序容易,不易出错。(δ)使用维护 工具或支撑环境可以大大降低维护的工作量。(10)用高级语言编写程序,易读易懂,可以提高可维护性 不正确的叙述,如(1)在需求分析时主要考虑软件要“做什么?”这一阶段对可维护性可以提出要求, 要达到什么指标,而如何实现可维护性,是在设计和实现阶段考虑的问题。(2)在程序中加入注释,这是 提高程序可读性,从而提高可维护性的重要手段,不能因为测试通过就删去它们。(9)在软件概要设计时, 对产生的程序模块结构的评价方法就是看模块之间的耦合(联系)是否松散。如果联系密切,这样的结构 各部分牵连太多,是不好的。(4)因此在编程时尽可能用参数表,而不应当用全局变量来传送信息。(6)尽 可能利用硬件的特点,这样的程序可移植性很差,自然维护起来就相当困难了。(11)增加维护人员会降低 维护的生产率,有可能对维护进度带来不利的影响。 六、答案:(1)结构化的程序流程图: xn]=1;=1;nag=0; k=1; X[k]=0;k++ ag=1;j=1 (2)N-S图: S=Bn: k=l: k=1; k]=0;k++; x[n]=1;=l;fag=0 i<imax & flag =0 s=S+xkk: nag=1;j=1; s-AlilIkI XIk: k++: j|>(s+1) S=s+Xk S=s-Anlkk Xk: k++ Ⅸ-s>(s+1)eps 1++ (3) McCabe环路复杂性度量V(G)=判定语句个数+1=84 五、答案:正确的叙述有:(3)、(5)、(7)、(8)、(10) 说明:(3) 尽可能在软件生产过程中保证各阶段文档的正确性,对于保证软件的可靠性、功能性等有相当 大的作用,这样可减少用户提出维护请求的可能,即使要更新,工作的难度和工作量也会降低。(5) 选择 时间效率和空间效率尽可能高的算法,可以让编程者把注意力集中在提供程序的正确性、可理解性、可修 改性、可测试性、可使用性等方面,从而提高可维护性,不必为追求效率而把程序编写得让人看不懂。(7) 如果程序结构设计得较好,层次结构合理,在维护时理解程序和修改程序容易,不易出错。(8) 使用维护 工具或支撑环境可以大大降低维护的工作量。(10) 用高级语言编写程序,易读易懂,可以提高可维护性。 不正确的叙述,如(1) 在需求分析时主要考虑软件要“做什么?”这一阶段对可维护性可以提出要求, 要达到什么指标,而如何实现可维护性,是在设计和实现阶段考虑的问题。(2) 在程序中加入注释,这是 提高程序可读性,从而提高可维护性的重要手段,不能因为测试通过就删去它们。(9) 在软件概要设计时, 对产生的程序模块结构的评价方法就是看模块之间的耦合(联系)是否松散。如果联系密切,这样的结构 各部分牵连太多,是不好的。(4) 因此在编程时尽可能用参数表,而不应当用全局变量来传送信息。(6) 尽 可能利用硬件的特点,这样的程序可移植性很差,自然维护起来就相当困难了。(11) 增加维护人员会降低 维护的生产率,有可能对维护进度带来不利的影响。 六、答案:(1) 结构化的程序流程图: (2) N-S 图: (3) McCabe 环路复杂性度量 V(G) = 判定语句个数+1 = 8 Start k = 1; k≤n x[n]=1; i=1; flag = 0; i<imax && flag==0 flag = 1; j = 1; j≤n s = B[j]; k = 1; k≤n j==k s = s + X[k]; X[k] = 0; k++; s = s - A[j][k]*X[k]; k ++; T T T T T F F F F F i ++; End |X[j]-s| > (|s|+1)*eps T F flag = 0; X[j] = s; j ++; k = 1; k≤n X[k] = 0; k++; x[n]=1; i=1; flag = 0; i < imax && flag == 0 flag = 1; j = 1; j≤n s = B[j]; k = 1; k≤n j==k F T s = s + X[k]; s = s - A[j][k]*X[k]; k ++; F |X[j]-s| > (|s|+1)*eps T flag = 0; X[j] = s; j ++; i ++;