如何处理好定制开发和软件升级
发布日期:2013-8-21 信息来源:http://www.chysoft.net

管理软件的定制开发和软件升级是比较常见的软件服务模式,定制开发是指针对用户需求进行量身定制的开发,很多厂商选择在已有产品的基础上进行;而软件升级一般是指厂商通用产品的升级,是通用性的升级(本文中的软件升级是指产品的升级,非定制系统的升级改造)。我们知道一个软件产品的升级,不仅仅是软件产品功能的升级和完善,也包括系统错误和BUG的修复,系统性能的改善、安全性的提升等多个方面,是产品保持生命力和竞争力的基本措施,因此软件升级对于软件产品的重要性不言而喻。

虽然软件的定制开发不是每个用户都需要的,但是对于有着比较突出的个性化需求,市场上的标准产品不能满足用户的需要情况下被广泛采用,深入应用的软件系统基本上都包含了软件定制开发。但软件定制的风险也是非常高的,不仅仅是因为其开发周期长、成本高、容易失败,如果在定制开发中没有处理好和产品的关系,如:直接修改产品源码实现个性化功能,就会影响标准产品的升级。这点很多用户不容易理解,实际上这与软件厂商设计和开发能力有着紧密的关系,那么做过定制开发的系统是否会影响后续的软件升级呢?

很多的软件产品之重视功能的实现,但技术架构和设计设计都比较落后,定制开发需要通过修改产品源代码来实现,这是一种非常落后的模式。熟悉JAVA设计模式的技术人员一定知道,在面向对象开发中强调“对修改封闭,对扩展开放”是无数经验的提炼,我们可以从以下几个方面进行分析。
1、修改了核心和标准软件的源码,肯定会影响软件升级,也许产品功能需要升级一般只能是需要通过大量开发进行整合,这种代价比较高。
2、拥有良好技术架构的产品一般具有非常强的扩展能力,因此在其基础上进行定制开发对后续软件升级影响相对比较小。基于平台定制的功能开发,一般不会涉及到对产品核心源代码的修改,因而不会影响软件升级。先进的技术对后续系统的维护、升级都有着很大的优势,而且可以大大的降低软件服务的成本。
3、基于软件系统的接口进行的定制开发、功能扩展,不会修改软件产品的源码,因而不会影响软件升级。
4、软件升级可以分为整体升级和部分升级,这同样取决于产品的架构和设计。“按需升级”首先是可以降低软件升级的时间和成本,其次是对做过定制开发的系统影响非常小,达到最好的性价比。

在标准产品的基础上进行定制开发和功能扩展,是否影响软件产品的系统升级,应该依据实际情况而定,最直接的判断方法是看是否修改了软件产品的核心源代码。对于软件厂商来说,做到这点并非是一件容易的事情,首先软件产品要有非常好的技术架构和系统设计,软件的扩展性非常好;其次需要有良好的软件定制开发规范,避免在修改源码的基础上进行个性化开发。如果软件产品不能升级,对于一般用户来说是非常严重的,要么就牺牲软件升级,要么就需要花非常高的成本进行系统的整合,后续是无穷的系统补丁和软件整合的成本投入,这不是一般用户所能够承受的。

粤ICP备11095012号-1
Copyright 2005-2017 深圳市承元软件技术有限公司