【正确答案】因修改软件而造成的错误或其他不希望出现的情况称为“维护的副作用”。维护的副作用有编码副作用、数据副作用、文档副作用三种。
(1)编码副作用。在使用程序设计语言修改源代码时可能引入如下错误。这些错误要到运行时才能被发现。例如:
①删除或修改一个子程序、一个标号、一个标识符。
②改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符。
③修改文件的打开和关闭。
④改进程序的执行效率。
⑤把设计上的改变翻译成代码的改变。
⑥为边界条件的逻辑测试作出改变。
以上这些变动都容易引入错误。
(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:
①重新定义局部或全局的常量,重新定义记录和文件格式。
②增加或减少一个数组或高层数据结构的大小。
③修改全局或公共数据。
④重新初始化控制标识或指针。
⑤重新排列输入输出或子程序的参数。
以上这些情况都容易导致设计与数据不相容的错误。数据副作用可以通过详细的设计文档加以控制,在此文档中描述了一种交叉作用,把数据元素、记录、文件和其他结构联系起来。
(3)文档副作用。所有的维护活动都必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、默认条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。
例如:
①修改交互输入的顺序和格式,没有正确地记入文档中。
②过时的文档内容、索引和文本可能造成冲突等。
因此,必须在软件交付之前对整个软件配置进行评审,以减少文档副作用。
【答案解析】