|
职称论文发表 | 职称论文发表 专业提供:发表论文、论文发表、毕业论文、职称论... | |
住在汉口网 | 住在汉口网是一个专业提供汉口房产信息、车辆服务、生活服务、招... | |
职称论文网 | 职称论文网提供:发表论文、论文发表、毕业论文、职称论等服务。 | |
|
目前,软件供应商开发的ERP产品,有很多都属于通用软件产品,是针对一个或多个行业、多个用户而设计开发的软件系统。软件功能比较标准,流程设置相对规范化。事实上,在ERP产品开发的时候,通用性是首要考虑的问题之一。这些通用型软件通过参数可调的形式可以部分满足不同用户的需求,但很多情况下这种“轻度”灵活会失效。对ERP软件进行二次开发是非常必要的。
一、ERP二次开发容易带来的问题
不必要或不合理的二次开发不但不会给企业带来效率的提高,相反往往会带来大量的问题和弊端。
1、用户的二次开发需求常常是让生产管理理论上(通常状况下)合理的逻辑屈服于企业固有的、习惯的工作方法。
曾经就遇到过这样的需求:用户要求打印产成品的采购物料需求列表,其要求是由人输入产成品,要求系统列出此产成品多层物料单中所有采购物料的清单及其数量。用户提出这个要求的日的是据此进行物料采购。而用户之所以提出这样的要求是因为没有充分理解ERP软件的实质。整个ERP软件所要解决的一个中心问题就是在何时购买或者制造何种物料,购买或者制造多少。为了解决这个问题,ERP系统包括了相当复杂的逻辑,要综合考虑需求、库存和在途定单,并把这些信息在时间轴上展开、进行大量的计算,才能最终提出建议的物料采购或者生产计划。如果使用用户提出的报表进行手工计算来确定采购计划,实施ERP系统自然失去了对生产的指导意义。对于这样的二次开发需求,就不能盲目满足用户提出的要求,而应该通过反复深入的培训和讲解使用户充分理解ERP系统中包含的管理思想、适应ERP系统的方法和逻辑,合理使用好软件原有的功能,使ERP软件真正发挥其应有的作用。也只有这样才能使用户通过实施ERP软件系统达到管理水平的提高。
2、二次开发需求延长实施过程所要的时间,使实施人员失去兴趣和信心
二次开发从其本质上讲是程序开发工作,必然要符合程序开发的固有规律,也必然需要相当的开发时间和开发周期。而客观上,二次开发需求的提出又常常是在实施过程中间,可以用来进行二次开发的时间实际上是很短的。如果二次开发时间过长就会拖延整个项目的进程。对于像ERP实施这样原本就费时费力的大工程,项目进程的延迟常常会使企业参与实施的人员对项目失去兴趣,如果用户提出的二次开发需求再经常变动,那么将更加动摇实施人员和顾问的信心,甚至可能导致项目的彻底失败。这就不仅要求顾问企业要有高素质的软件开发队伍,以最快的速度协助用户满足其二次开发需求,也要求在不影响系统正常实施的前提下尽量减少二次开发的需求,以大局为重,保证项目实施工作按时、顺利完成。
3、二次开发要求往往降低系统稳定性
成熟软件一般都有数年或者数十年的历史,并且有一大批维护人员不断进行纠错、维护,还有大批的用户在使用,这些用户在使用过程中发现的问题、错误,会在标准系统的升级版和补丁包中加以体现。所有这些都可以节省大量的测试时间,获得更稳定的软件系统。而软件进行二次开发,则提出需求的用户就是开发的系统的唯一使用者,这样的软件的稳定性必定无法与成熟软件本身相比。
4、二次开发要求往往增加系统升级的难度
一般知名的软件都在不断的推出新的版本。而对于老版本的用户或者可以通过支付软件年费的办法获得免费升级、或者可以以优惠的价格获得软件升级。但是,软件升级时肯定不会考虑到每个用户特有的用户化和二次开发部分,所以用户以前进行的二次开发工作大部分要重新修改或者开发。这样就增加了系统升级的费用。甚至有些二次开发程度很高的软件几乎就无法再升级了。
5、二次开发要求增加ERP项目的成本
因为软件的规模效应,产品软件的价格相对于其功能是相当低的。而二次程序开发由于用户只有一个,所以用户就至少要承当完成这些程序开发的全部成本,所以过多的二次开发就会大大增加ERP项目的成本。
二、ERP系统合理二次化的对策
1、优先选择适用度高且容易进行二次开发的成熟套装软件
实施ERP这种管理模型必须依托于一套具体的ERP软件。像大多数其他软件一样,ERP软件可以自行开发或者购买现成的成熟套装软件。自行开发ERP软件耗时长(一般至少要2-3年)而且不像成熟套装软件可以事先了解它是否成功,所以具有一定的失败的风险。另外,自行开发软件往往特别着眼于当前的业务环境和需求,其管理思想的体现只能取决于当前的管理人员和软件开发人员。因而往往起点较低,可能经不起时间的考验。一旦业务发展突破原有框架,软件很可能不再适用。
鉴于自行开发软件可能出现以上问题,选择成熟套装软件实现ERP系统的企业比例日益增加(据国外统计,20世纪80年代这个比例超过了80 )。这些软件基本上都是按照Oliver Wight公司发布的“MRPII标准系统”的要求开发的,而且功能上多有扩充,都能体现MRPII/ERP的管理思想。
2、只重系统功能而忽视系统架构
很多客户在选型的时候误以为只要有系统功能,就能真正满足业务,其实不然,一旦业务有了新的需求,很难从系统上根本解决问题。过去企业只需要关心财务信息化——能定期出财务报表即可,随着业务的发展,企业信息化的初衷发生了质的飞跃,正在由财务一体化向“企业ERP数字神经”的管理思路转变,企业上ERP的目的变成了管理企业所有的资源,比如制造企业将重心放在了对制造业务的管理,同时向进销存延展,财务只是最后业务数据的归集而已。但是如果反过来管理,由财务开始,然后再去管理制造业务,则不论从数据的准确性还是业务合理性来看都是不科学的。所以一套好的ERP系统首先应该架构好。
在具体的实施中,很多项目实施不成功主要是因为产品架构不合理,对于这种情况,无论怎么做二次开发也是无济于事。
3、区分上线前及上线后的二次开发,分别处理
在实际进行二次开发工作时,首要之事就是区分哪些二次开发是属于上线前一定要完成的,哪些二次开发是属于上线完成后才慢慢来进行的。前者指的是那些“不改的话根本无法上线”的二次开发,后者指的是那些属于重要性不高,不会影响上线的二次开发。如果不能对二次开发进行有效的区分,会模糊上线实施的管理重点,进而影响上线的进度甚至质量。
针对“上线前”的二次开发,应该反复确认其必要性,确定为“上线前”的二次开发,应尽量选择更动较少的方式进行二次开发;对上线后的二次开发,建议采取“先僵化再优化”的管理手段,不要真的在完成上线后就立即进行修改,应该等待上线满二至三个月后再一次讨论确定其必要性,此时因为用户己经正式使用系统一段时间,再进行讨论时不会再以自己的想象或个人片段的印象为根据,而是以客观的事实及系统的真正功能为判断的基础,在这种状况下进行系统的优化才真正能达到该有的效果,否则,在用户未真正掌握系统功能前就进行修改,经常发生一改再改的情况,不但浪费资源,对ERP的实施也会造成负面影响。
4、尽量利用原有的“闲置”字段,避免更动数据库结构
新增或修改原有的报表或查询程序,不会影响系统的原有数据库结构,因此不会造成日后系统升级的困扰。但是,如果二次开发牵涉到新增字段或档案,就可能影响到原有数据库结构,此时,最好的方式就是尽量利用系统原有的“闲置”字段,不要轻易新增字段或文件档案。如果有更动较大的二次开发,其规格应请软件原开发厂商确认,以避免二次开发与产品发展方向重叠或冲突,以降低日后版本升级的困扰。
5、建立二次开发的规范
二次开发是一项庞杂的系统工程,决不是简单系统代码的增增减减,应该按照IS09000和知识管理(KM)来进行,开发人员Check Out(登记出)源代码时,其他人员不能再修改该支程序,被修改的程序应该及时Check In(登记入)到系统中进行编译。二次开发的文档应该由专人保管,而代码注释也必须清晰易懂,还必须有专人负责检查代码质量。新扩充的字段命名、新建程序的命名都应该由专人分配,首先不能和现有系统冲突,同时还应预留一定的空间。对于公用元件一般不建议修改,因为公用元件被很多程序调用。在程序的编写上应采用继承的方式,在保证不破坏原有功能的基础上做个性化的功能完善。如要修改处理业务逻辑,则分两种情况: 一是修改原有程序中的处理逻辑,将局部的继承去掉,重写新逻辑。二是在原有功能基础上新增,保留继承关系,在新的子文件中只完成新功能的实现即可,当版本升级时,二次开发的程序惟一要做的就是继承新版本的Source(源代码)作重新编译。
三、总结
ERP是一种大型系统软件,具有其复杂性和可升级性的特点。进行二次开发过程中要增加或修改软件的功能,就必然要修改原有程序、甚至修改原始数据库结构,这些不仅要支付额外的费用而且会影响以后的软件升级工作。如果不升级,新版本的长处无法应用;如果升级则面临着重新进行二次开发的可能。因为ERP软件供应商在进行新版本的ERP系统开发时,可能根本不会考虑某个特定的用户在旧版本上所作的二次开发。同时,要进行系统二次开发工作,也要先选择合理的开发工具。选择合理的开发工具常常会收到事半功倍的效果,否则就常常会费时、费力而又达不到应有的效果 职称论文发表网http://www.issncn.com
职称论文发表网http://www.issncn.com
|
|
|
|