参考答案:
D
【解析】 可修改性 (modifiability) 是指能够快速地以较高的性能价格比对系 统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的 代价衡量可修改性。可修改性包含四个方面。 (1)可维护性 (maintainability)。这主要体现在问题的修复上:在错误发生后 “ 修复 ”软件系统。为可维护性做好准备的软件体系结构往往能做局部性的 修改并能使对其他构件的负面影响最小化。 (2)可扩展性 (extendibility) 。这一点关注的是使用新特性来扩展软件系统, 以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为了 实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结 构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件 集成到现有的体系结构中也是必要的。 (3)结构重组 (reassemble)。这一点处理的是重新组织软件系统的构件及构 件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。 为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况 下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构 件。 (4)可移植性 (portability) 。可移植性使软件系统适用于多种硬件平台、用户 界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件无 关的方式组织软件系统,其他软件系统和环境被提取出。可移植性是系统 能够在不同计算环境下运行的能力。这些环境可能是硬件、软件,也可能 是两者的结合。在关于某个特定计算环境的所有假设都集中在一个构件中时,系统是可移植的。如果移植到新的系统需要做些更改,则可移植性就 是一种特殊的可修改性。