软件可复用性与可维护性
1.软件可复用性
复用又叫重用,是重复使用的意思。一般软件的复用率并不高。复用的好处可以得到 较高的生产效率以及随之而来的成本降低、较高的软件质量(错误可以更快的被纠正)以及 恰当的使用复用可以改善系统的可维护性。复用不仅仅是代码的复用,虽然代码复用确实是复用的一个初等形式,代码的剪贴复用、算法的复用、数据结构的复用都是传统的复用种类,它们都各有优点,也各有缺陷。一般地在软件设计过程中支持可维护性针对三个目标
1.可扩展性:新的性能可以很容易地加入到系统中去。
2.灵活性:允许代码修改平稳的发生,而不会波及到其它模块。
3.可插入性:可以很容易将一个类抽出去,同时将另一个有同样接口的类加进来。
软件的可复用性是我们一直追求的目标,真正做到软件复用,能大幅度降低我们的工作量,提高工作效率。
2.软件可维护性
可以把软件的可维护性定性地定义为:维护人员理解、改正、改动或改进这个软件的难易程度。
决定软件可维护性的因素
维护就是在软件交付使用后进行的修改,修改之前必须理解待修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。如果是改正性维护,还必须预先进行调试以确定错误的具体位置。因此,决定软件可维护性的因素主要有下述5个。
1.可理解性
软件可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度,模块化(模块结构良好,高内聚,松耦合)、详细的设计文档、结构化设计、程序内部的文档和良好的高级程序设计语言等,都对提高软件的可理解性有重要贡献
2,可测试性
诊断和测试的容易程度取决于软件容易理解的程度。良好的文档对诊新和测试是至关重要的,此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。
对于程序模块来说,可以用程序复杂度来度量它的可测试性,模块的环形复杂度越大,可执行的路径就越多,因此,全面测试它的难度就高。
3.可修改性
软件容易修改的程度和设计原理和启发规划直接有关。耦合、内聚、信息稳藏,局部化、控制域与作用域的关系等,都影响软件的可修改性
4.可移植性
软件可移植性指的是,把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度,把与硬件,操作系以及其他外部设备有关的程序代码集中放到特定的程序模块中,可以把因环境变化而必须修改的程序局限在少数程序模块中,从而降低修改的难度
5.可重用性
所谓重用( reuse)是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件来开发软件,可以从下述两个方面提高款件的可维护性:
(1)通常,可重用的软件构件在开发时都经过很严格的测试,可靠性比较高,且在每次重用过程中都会发现并清除一些错误,随着时间推移,这样的构件将变成实质上无误的,因此,软件中使用的可重用构件越多,软件的可靠性越高,改正性维护需求就越少
(2)很容易修改可重用的软件构件使之再次应用在新环境中,因此,软件中使用的可重用构件越多,适应性和完善性维护也就越容易。

软件维护是系统应用的重要环节, 其具体含义是软件在投入使用后为保持其正常运行、修复软件故障或提升其功能丰富性而对系统代码 ,文档进行修改的过程。在软件系统的设计开发中,软件维护是其中一个重要环节,贯穿于 系统开发到应用的完整周期,可维护性不是开发完才去考虑的,而应该是在项目开发的一开始就加以考虑。每个人的贡献都应该计算在内。而软件的维护费用一般是开发费用的两倍以上,部分长期运转、功能复杂的软件系 统在维护环节的总费用甚至会占到系统开发使用总费用的九成多。所以提高软件的可维护性能够节省一大笔软件开发中的费用、
浙公网安备 33010602011771号