软件复用的好处
1、 开发成本的降低。如果在一个项目中,能够直接用到以前项目中的代码,控件,模块,作为一个软件企业,显然的可以把开发成本降低。
2、 开发层次的提升。大家知道,罗马不是一天建成的,同样的,在软件开发上,也不会一蹴而就的写出高质量的代码。当我们有意识的进行
复用时,我们会在每次重复使用某段代码或者控件的过程中,发现其不足的地方,从而加以改进,这样就会逐渐的提升我们的开发层次,提升
整个公司开发的层次,使得公司的软件与其他公司有着根本的不同。
3、 产品化的必然阶段。在我们公司目前没有明确的开发产品的现阶段,那么对软件复用的使用,就是我们产品化的一个途径,我们在不断的
复用的过程中,不断的强化我们的代码的功能,直至有了一定固定功能,运行稳定,扩展性好的软件,这样一个产品就可以自然而然的产生了
软件复用的层次
我将软件复用的层次分为代码级,控件级,模块级,构架级,这四个级别在概念上依次上升。
代码级:代码级这个层级就是指在源代码中可以重复使用的一些算法,函数,对象。
控件级:我们目前使用的主力开发工具为Borland Delphi,Microsoft .Net VS2003。这两种开发工具的核心思想之一就是快速开发,运用大量
的已有控件。控件是封装了源代码,并提供可视化的编辑,对于开发生产力的提高有着革命性的提升。
模块级:在我们开发的项目或者产品中,会发现大量重复的功能模块,比如用户管理,权利管理,新闻发布等等,如果我们在这些模块设计的
时候,注重一下扩展性,那么可以应用到有其类似功能的项目中。在这个级别需要一定的项目的积累,否则在模块功能上以及实用性上会遭遇
风险。
构架级:构架级在设计概念上最为高级的一种。它相当于一个平台或者思想,在这个平台上,可以开发出根据此平台思想稳定而又高效的软件
产品。打个比方,数据库中的设计范式可以看成是一个小的构架,你按照范式来设计数据库,一般来说设计质量是有保重的。再举个例子,Win
dows中的消息机制也算是一个构架,就是说在Windows中所有运行的程序都遵循它的这个机制,并且在这个机制的保证下,运行的顺畅良好,Li
nux中的IP Chains也是一个非常优秀的网络防火墙构架,这这个构架中其他人可以方便进行外挂程序的嵌入。我拿我们将要开发的公司内部的
物资管理系统来举个例子,在这个系统中,有一个很重要的功能,那就是审批,如何把审批这个功能做好,有良好的扩展性,并且可以沿用到
其他的也有审批功能的项目中,就是一个我们需要思考的问题(此处仅拿此举例,考虑到实际情况并不一定要做到这么高级)。
如何做到软件复用
如何能做到软件的复用,首先在我们的头脑中要有这样的一个思想,在平时的工作中,能够随时的想到这些问题。在制度上,第一,我们可以
建立一个公司内部软件复用的树状图,如下图所示。这样在开发时,可以做到时时检视。
第二,加强项目设计方案的讨论,审核机制,通过讨论审核,群策群力,不断的对整个公司的软件开发体系进行培育。
软件复用的难点
在我们实现软件复用的过程中,一定也会遇到很多困难,比如:
1、 客户对我们已形成的功能,界面不满意,仍要定制开发。对于此类问题,从一个方面我们平时要注意功能的设计使得能够灵活的进行功能
的扩展,界面的更改,另一方面也要认识到,即使我们不做复用的工作,客户仍会有要求,而我们也必须开发。
2、 对软件功能进行复用是一项艰巨的任务,必将耗费人力,所以在平时的开发过程中,对哪些功能进行复用,复用到什么程度,要把握好一
个度。
3、 对软件功能复用,需要拥有良好的设计能力,过人的眼光。这对我们自身的要求也必然提高,也就需要从事软件开发的同事提升不断的自
己。
4、 在构架的复用上,就需要我们的项目或者产品有一定的延续性,如果今天做工业控制,明天做流程管理,就很难,也没有必要做构架级的
设计,所以对负责市场的同事们是个要求。