软件复用的粒度

http://www.sytm.net/ruanjiankaifa/20140215113129.html

可供复用的软件产品包含了10种,其中除源代码外,还包括体系结构、需求模型和规约、各种设计、用户界面、数据、测试用例、用户文档、技术文档、项目计划和成本估计等。按照可复用的粒度的大小,可以将这些软件制品从小到大分为以下几类。

1.源代码复用

源代码的复用是最常见的一种复用形式,指对构件库中用高级语言编写的源代码构件的复用。源代码构件本身就是为复用而开发的,存放在可供访问的构件库中。使用者通过对构件库的检索找到满足用户需求的构件,并设置参数值使之具有新的适应性,即可调用构件完成既定计算任务。不难看出,这类复用的特点是:一方面由于构件是经过充分测试的,因此具有较高的可靠性,而且使用者只需设置参数而无需介入构件内部,降低了复用的难度;但另一方面,正因为构件是为复用而开发的,因此,其通用性、抽象性成为具体使用时必须要面对的问题。

2.软件体系结构复用

软件体系结构复用是指对已有的软件体系结构的复用。这类复用既可以支持高层次的复用,也可以支持层次的复用。要求存放体系结构的库能提供有效的检索功能,使用者通过良好定义的接口进行集成。

这类复用的特点是:一方面,可复用较大粒度的软件制品,其修改具有局部性;另一方面,因为难以抽象出简明的描述,存放体系结构的库往往不易管理。

3.应用程序生成器

应用程序生成器用于对整个软件系统的复用,包括整个软件体系结构、相应的子系统和特定的数据结构和算法的复用。理论上来说,应用程序生成器可以用特定领域的需求规约作为输入,生成器根据输入的规约填充原来不具备的细节,并产生一个完整的可执行系统,但这种方法一般仅针对一些成熟的领域。

这类复用的特点是:一方面,自动化程度高,能获取某个特定领域的标准和以黑盒形式输出结果(应用程序);另一方面,特定的应用程序生成器不易构造。

4.特定领域的软件体系结构复用

这类复用是指对特定领域中存在的一个公共体系结构及其构件的复用。

这类复用的特点是:一方面,复用的程度高,对可复用构件的组合提供了一个通用框架;另一方面,前期投资很大。

------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
原文地址:https://www.cnblogs.com/feng9exe/p/5571171.html