什么是管理软件的二次开发?
管理软件的二次开发就是在现有软件产品的基础上,针对客户的个性化需求进行的开发,一般是由软件产品的开发厂商进行,或由厂商提供二次开发接口和源码由第三方来进行。不同于完全的定制开发,二次开发不是从头开发,是在已有软件的基础上进行的。评估一个软件产品是否合格,二次开发接口的成熟、完善、是否容易是一个重要的标志。
一、为什么会存在管理软件的二次开发?
现有的产品功能不能满足客户的需求,或需要和其他软件进行对接、实现数据的交换和传输等。二次开发一般会根据现有产品技术和设计情况,需要提供相关的接口或源码,同时需要了解个性化的功能和需求,综合进行设计和开发。
二次开发的工作量是由现有产品的功能与客户个性化需求的差异程度,接口的难易程度、系统的设计(如:模块之间耦合程度低)、产品的扩展性(是否适合于二次开发)等综合因素决定的。
二、管理软件二次开发的优势
1、相对于完全的定制开发,二次开发的工作量小、时间短、风险低。
2、二次开发是在已有产品的基础上进行的,原有产品功能和业务的积累能够很好的被继承。
3、解决了单纯的产品化个性化需求不能满足的问题。
三、管理软件二次开发存在的问题
二次开发存在问题总体上讲是和现有系统息息相关的,特别是软件系统的架构和设计、二次开发接口的难易程度。
1、二次开发最好是基于系统提供的接口进行开发,如果是直接针对源码修改开发,特别是在核心源码的基础上进行处理,不仅会导致已有功能出现新的错误和不稳定,厂商标准产品升级后不能直接进行覆盖升级需要重新整合,这种情况是灾难性的,很多用户不清楚问题的严重性,这也是很多软件厂商不愿意提供二次开发的原因之一。
2、现有产品需提供成熟和完善的系列接口,这是考察一个软件产品是否成熟和规范的重要指标之一,否则二次开发只能由原厂商进行,如果厂商的服务和支持不及时、不能提供良好的服务,后续的服务和开发无法进行。
不能进行二次开发导致现有系统不能深入的使用或只能替换,现有的投资和时间投入都付之东流。
3、不是所有的产品都能进行二次开发,没有成熟和规范的接口,系统设计和编码非常差的系统,二次开发的时间和成本要远远高于系统的替换和完全定制开发,这点也是至关重要、容易被忽略。