软考系统架构设计师之软件维护篇
一、影响软件可维护性的因素
【可理解性】是指通过阅读源代码和相关文档,了解软件的功能和如何运行的容易程度。
【可修改性】是指修改软件的难易程度。
【可测试性】是指验证软件程序正确的难易程度。可测试性好的软件,通常意味着软件设计简单、复杂性低。因为软件的复杂性越大,测试的难度也就越大。
【可靠性】一个软件的可靠性越高,需要维护的概率就会越低。
【可移植性】是指将软件从一个环境移植到新的环境下正确运行的难易程度。
软件运行环境的变化是软件维护的一种常见情形,可移植性好的软件会降低维护的概率。
二、软件维护类型
★ 正确性维护【修BUG】:识别和纠正软件错误/缺陷,测试不可能发现所有错误。
★ 适应性维护【应变】:指使应用软件适应环境变化【外部环境、数据环境】而进行的修改。
★ 完善性维护【新需求】:扩充功能和改善性能而进行的修改。
★ 预防性维护【针对未来】:为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使用系统适应各类变化而不被淘汰。经典实例:【专用】改【通用】。
例子:
软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能以及一般性的改进要求和建议,需要进行(),它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为();为了改进软伴未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为()。
A.完善性维护 B,适应性维护 C,预防性维护 D.改正性维护
A.完善性维护 B,适应性维护 C,预防性维护 D.改正性维护
A.完善性维护 B,适应性维护 C,预防性维护 D.改正性维护
参考答案:A, D, C