论文部分内容阅读
由决定做二次开发之后于各行各业的千差万别,任何一个ERP系统都不可能“放之四海而皆准”,即使是行业版的ERP系统也避免不了因各个企业的不同业务特点而出现无法满足企业要求的状况。所以,二次开发成为ERP实施的一个有效手段。
说它有效,是因为二次开发能够解决企业非标准化但却确实存在的一些业务流程问题,同时可以增加人机操作界面的友好度。
但是,不论是软件供应商还是企业,一般都不希望做二次开发。原因很简单,从软件供应商的角度来讲:(1)二次开发要承担一定的风险,对某一局部的更改往往因为没有考虑对全局的影响而造成整个实施失败。(2)二次开发要投入相当的人力物力。软件供应商的技术重点一般都放在ERP系统研发和优化上,为企业特殊需要而配备定制开发和维护人员无疑会增加公司的运营成本。(3)二次开发的测试和试运行时间有限,出现BUG的机率较多,会影响软件整体质量。(4)二次开发费用的回款受企业认可度的影响。从客户角度来讲,客户当然希望购买一个不用二次开发就能完全符合企业需要的产品,二次开发是不得以而为之的办法,既增加实施费用,又增加了以后维护的风险。
然而,在ERP系统的实施中,完全有可能遇到企业流程的特殊性问题。解决的方法有两个:一个是让企业流程适应软件,接受软件供应商提供的变通处理或改变业务流程,化特殊为标准;二是软件供应商提供二次开发,让软件适应业务。在决定进行二次开发之后,企业如何预先评估软件供应商是否有能力提供二次开发解决方案呢?
首先,企业应该考虑软件供应商的二次开发实力。这种实力表现在两个方面,一是实施顾问或系统分析人员的实力。软件供应商的实施服务体系决定了客户的二次开发是由实施顾问主导还是由专门的系统分析人员主导,也就是说,谁来做二次开发的系统规划和可行性分析,这是策划者的实力。二是软件研发人员的实力。软件设计的功能能否得以实现以及实现的结果如何是客户能够直接感受到的,是二次开发实力的最终体现,这是执行者的实力。
其次,企业应该考虑软件的整体架构。软件的整体架构决定了软件的可扩展性,一个ERP软件能不能为客户提供完善的二次开发服务,是由它的整体架构预先决定的。具体表现在:二次开发的程序能否与整体系统做无缝挂接,二次开发的功能能不能很好地在软件后续的升级版本中正常运用。应该说成功的ERP系统除了内涵先进的管理理念、高效的职能划分、合理的业务流程外,还应保留最大限度的灵活性和可扩展性。
最后,就是二次开发的实现模式。软件供应商是否有标准化的二次开发的实现方法,直接关系到软件的版本升级和维护。对于这种模式,大概可以从以下几个方面考虑。
二次开发的层面
首先要考虑软件供应商的二次开发是基于哪一层面的,是在原Source上直接做修改,还是采用继承的方式。如果是在基础层上直接修改,就会对版本升级有很大的影响,往往是要么使用改进的功能,要么仍然用定制的功能,鱼和熊掌不可兼得。
数据结构的修改
通常来讲,能够实现完善的二次开发功能的软件,其数据结构的规划一定存在某种规则。标准版本用到的数据库、表和字段的命名方式会和二次开发用到的区分开来,互相之间留有余地,以保证不发生冲突。同时,数据类型的定义要做到完全统一,以保证数据的一致性。如果没有一个明确的规则,必将导致二次开发和标准版本之间互相冲突,这也可能是导致二次开发功能不能升级的主要原因。
二次开发的文档
二次开发要有健全的文档,文档不全或质量不高经常会引发的问题是:前面做好的二次开发,后面接手的人无从了解前面改了哪些,为什么要改,所以无法在原来的基础上继续做二次开发或功能改进。
分析了二次开发的优缺点和软件供应商二次开发的能力表现后,对二次开发的基本做法阐述几点个人意见。
1二次开发功能的实现,应该在不修改父类的原则下,增强子类功能,灵活运用继承与重载,以保证后续的版本升级。
2。对某一程序标准功能的修改,最好保存为另外一个与标准程序并列的程序,不要将标准程序完全丢弃,以免升级后的标准程序具备同样或更完善功能时不能得到运用。
3.尽量将二次开发处理的数据与标准数据分开,两部分数据的交互采取数据导入、导出处理,以保证当二次开发设计出现漏洞时,不至于直接影响标准数据。
4.在和其他系统接口的处理方式上,要充分利用中间表来处理,切忌利用其他系统直接对ERP数据做处理。同时,保留操作日志,以免使数据错误无从查起。
只要充分了解二次开发的优势和劣势,选择正确的开发模式和实现方法,二次开发一定会提高ERP软件实施的成功率和完美率。
说它有效,是因为二次开发能够解决企业非标准化但却确实存在的一些业务流程问题,同时可以增加人机操作界面的友好度。
但是,不论是软件供应商还是企业,一般都不希望做二次开发。原因很简单,从软件供应商的角度来讲:(1)二次开发要承担一定的风险,对某一局部的更改往往因为没有考虑对全局的影响而造成整个实施失败。(2)二次开发要投入相当的人力物力。软件供应商的技术重点一般都放在ERP系统研发和优化上,为企业特殊需要而配备定制开发和维护人员无疑会增加公司的运营成本。(3)二次开发的测试和试运行时间有限,出现BUG的机率较多,会影响软件整体质量。(4)二次开发费用的回款受企业认可度的影响。从客户角度来讲,客户当然希望购买一个不用二次开发就能完全符合企业需要的产品,二次开发是不得以而为之的办法,既增加实施费用,又增加了以后维护的风险。
然而,在ERP系统的实施中,完全有可能遇到企业流程的特殊性问题。解决的方法有两个:一个是让企业流程适应软件,接受软件供应商提供的变通处理或改变业务流程,化特殊为标准;二是软件供应商提供二次开发,让软件适应业务。在决定进行二次开发之后,企业如何预先评估软件供应商是否有能力提供二次开发解决方案呢?
首先,企业应该考虑软件供应商的二次开发实力。这种实力表现在两个方面,一是实施顾问或系统分析人员的实力。软件供应商的实施服务体系决定了客户的二次开发是由实施顾问主导还是由专门的系统分析人员主导,也就是说,谁来做二次开发的系统规划和可行性分析,这是策划者的实力。二是软件研发人员的实力。软件设计的功能能否得以实现以及实现的结果如何是客户能够直接感受到的,是二次开发实力的最终体现,这是执行者的实力。
其次,企业应该考虑软件的整体架构。软件的整体架构决定了软件的可扩展性,一个ERP软件能不能为客户提供完善的二次开发服务,是由它的整体架构预先决定的。具体表现在:二次开发的程序能否与整体系统做无缝挂接,二次开发的功能能不能很好地在软件后续的升级版本中正常运用。应该说成功的ERP系统除了内涵先进的管理理念、高效的职能划分、合理的业务流程外,还应保留最大限度的灵活性和可扩展性。
最后,就是二次开发的实现模式。软件供应商是否有标准化的二次开发的实现方法,直接关系到软件的版本升级和维护。对于这种模式,大概可以从以下几个方面考虑。
二次开发的层面
首先要考虑软件供应商的二次开发是基于哪一层面的,是在原Source上直接做修改,还是采用继承的方式。如果是在基础层上直接修改,就会对版本升级有很大的影响,往往是要么使用改进的功能,要么仍然用定制的功能,鱼和熊掌不可兼得。
数据结构的修改
通常来讲,能够实现完善的二次开发功能的软件,其数据结构的规划一定存在某种规则。标准版本用到的数据库、表和字段的命名方式会和二次开发用到的区分开来,互相之间留有余地,以保证不发生冲突。同时,数据类型的定义要做到完全统一,以保证数据的一致性。如果没有一个明确的规则,必将导致二次开发和标准版本之间互相冲突,这也可能是导致二次开发功能不能升级的主要原因。
二次开发的文档
二次开发要有健全的文档,文档不全或质量不高经常会引发的问题是:前面做好的二次开发,后面接手的人无从了解前面改了哪些,为什么要改,所以无法在原来的基础上继续做二次开发或功能改进。
分析了二次开发的优缺点和软件供应商二次开发的能力表现后,对二次开发的基本做法阐述几点个人意见。
1二次开发功能的实现,应该在不修改父类的原则下,增强子类功能,灵活运用继承与重载,以保证后续的版本升级。
2。对某一程序标准功能的修改,最好保存为另外一个与标准程序并列的程序,不要将标准程序完全丢弃,以免升级后的标准程序具备同样或更完善功能时不能得到运用。
3.尽量将二次开发处理的数据与标准数据分开,两部分数据的交互采取数据导入、导出处理,以保证当二次开发设计出现漏洞时,不至于直接影响标准数据。
4.在和其他系统接口的处理方式上,要充分利用中间表来处理,切忌利用其他系统直接对ERP数据做处理。同时,保留操作日志,以免使数据错误无从查起。
只要充分了解二次开发的优势和劣势,选择正确的开发模式和实现方法,二次开发一定会提高ERP软件实施的成功率和完美率。