事业单位考试计算机基础知识:软件复用技术与软件维护
一、软件复用技术软件复用是将已有的软件及其有效成分用于构造新的软件或系统。它不仅是对软件程序的复用,还包括对软件生产过程中其它劳动成果的复用,如项目计划书、可行性报告、需求分析、概要设计、详细设计、编码(源程序)、测试用例、文档与使用手册等。软件复用包括软件产品复用和软件过程复用两部分的内容。
软件复用不同于软件移植。软件移植是指对软件进行修改和扩充,使之在保留原有功能、适应原有平台的基础上,可以运行于新的软硬件平台。而复用则指在多个系统中,尤其是在新系统中使用已有的软件成分。
从对复用产品的了解程度和复用方式看,也可分为白盒复用与黑盒复用。黑盒复用指对已有产品或构件不需作任何修改,直接进行复用,这是理想的复用方式。它主要基于二进制代码的复用,包括可执行程序的复用和基于库(包括动态链接库和静态库)的复用。白盒复用指根据用户需求对已有产品进行适应性修改后才可使用。白盒复用一般为源代码一级的复用,以及相应的测试用例、文档等的复用。
无论白盒复用还是黑盒复用,都需要花费一定的代价熟悉和掌握被复用的软件系统。作为经济上的考虑,要求复用的代价必须小于重新开发的代价,否则就不应该考虑。
二、软件维护
许多软件的维护十分困难,原因在于这些软件的文档和源程序难于理解,又难于修改。从原则上讲,软件开发工作就严格按照软件工程的要求,遵循特定的软件标准或规范进行。但实际上往往由于种种原因并不能真正做到。例如,文档不全、质量差、开发过程中不注意采用结构化方法,忽视程序设计风格等等。因此,造成软件维护工作量加大,成本上升,修改出错率升高。此外,许多维护要求并不是因为程序中出错而提出的,而是为适应环境变化或需要变化而提出的。由于维护工作面广,维护难度大,一不小心就会在修改中给软件带来新的问题或引入新的差错。所以,为了使软件能够易于维护,必须考虑使软件具有可维护性。
软件开发时就要考虑到维护问题:
(1)在需求分析阶段:明确维护范围及责任,审查系统要求;研究运行/维护的支持;明确性能要求及变更;明确扩充或收缩;检验关键资源的可扩充性。
(2)在设计阶段:考虑系统的扩展、压缩和变更及设计通用性等。
(3)在编程阶段:查找源程序错误,度量源程序可理解性等。
(4)在测试阶段:维护人员参与集成测试,统计分析错误等。
页:
[1]