二次开发_企业ERP系统二次开发问题的探讨分析

新朋友点上方蓝字“ERP之家”快速关注

0f29c529cbbf44c64a73db479f08e4ac.png

导读:根据笔者多年在企业中实施及推进ERP,概的实战经验,阐述了ERP系统二次开发的必然性和二次发开的成因及存在的风险,提出如何合理地规避二次开发所带来的风险,值得为实施ERP系统项目的企业借鉴和参考。

  随着信息技术的进步和激烈市场竞争的多元化,企业采用引进ERP这种具有最先进的管理思想和方法的信息系统,以提高企业的整体效率和市场竞争能力。尽管国内外一些著名公司基于自身的信息技术并根据企业整合的方法论开发出完整且复杂的ERP系统,但由于各企业的都有自己独特的管理理念与企业文化特点,必然会存在一些无法满足企业本身需求或与企业产生不适合的情况,虽然系统通过参数可调的形式可以部分满足不同用户的需求,但很多情况下还是达不到要求,就需要改动原有程序、甚至修改原始数据库结构的二次开发来完成。

  笔者作为企业的IT主管,历经了Oracle ERP系统实施、二次开发的全过程,在多年实践的基础上,积累了丰富的经验并在这方面做了一定的研究。该文从二次开发的产生原因、可能带来的风险及如何规避风险等方面进行阐述。

ERP系统二次开发的产生原因

1.用户不愿意改变现有的操作习惯

  对于任何一套ERP软件产品为了具有较强的通用性,软件功能是标准的,流程设置是规范化的。但企业实施ERP时,除了在业务流程等方面具有个性化需求外,还存在着一些不涉及业务流程的、由企业的特殊性而产生的操作习惯需求,而提出了大量的二次开发。

2.企业不合理的管理制度造成的特殊流程需求

  主要表现在企业想把现有的手工流程、手工作业一成不变的搬到ERP中去,而不分析ERP现有的流程与本企业原有的流程的优劣性,固执的坚持采用目前的管理手段、管理习惯,要进行必须二次开发来满足其需求。

3.ERP软件确实无法满足的需求

  ERP系统是一个套装软件,属于行业通用的,而每个企业是有其自身的特点,确实存在着一些个性的业务流程需求,要进行二次开发,既要吸纳软件中的先进管理思想,也要保持企业的特色。

4.接口需求

  企业的信息化建设涉及多套系统,如笔者企业软件系统包括Pro/E、CAD、PDM、CAPP等,而各系统的数据之间存在信息共享,产生系统接口需求,二次开发也成为必然的。

5.新的需求产生

  随着项目的实施,企业人员对信息系统有了更深的了解,应用不断深入,对信息系统产品就会提出更多的要求,来提升企业管理水平。

ERP系统二次开发的可能带来的风险

1.ERP系统二次开发会增加系统升级的难度

  ERP供应商会阶段性的对系统新功能扩充,推出新的版本。系统的升级只针对标准版的,不会考虑到用户化和二次开发部分,所以系统二次开发工作大部分要重新修改或者开发,有些甚至无法再升级了,这是二次开发的最致命的弊端。

2.ERP系统二次开发会降低系统稳定性

  成熟ERP软件是由优秀的团队经过数年或者数十年的开发研制并在大批用户的验证下成长的,具有较高的稳定性。而二次开发只对单一用户的需求,对某局部的更改往往因为没有考虑对全局的影响而殃及整个系统的稳定性,并且二次开发的测试和试运行时间有限,出现BUG的机率较多,系统复杂度以及耦合度增大,降低系统的稳定性。

3.二次开发有时会偏离企业实施ERP系统获得管理水平的提升、优化企业流程的最初目标

  二次开发需求往往会使ERP系统合理的逻辑屈服于企业固有的、习惯的工作方法,也会因提高不同部门员工使用系统的效率,而影响流程的稳定性。

4.二次开发要求会增加ERP项目的成本

  因为软件的规模效应,产品软件的价格相对于其功能是相当低的。而二次开发只针对唯一用户,所以这些程序开发的全部成本由其承担,即使用企业自行二次开发,也要投入人力、物力,势必增加ERP项目的成本。

ERP二次开发的风险控制

  尽管各企业ERP二次开发是不尽相同的,但必须把握好二次开发的原则:实施ERP二次开发项目的目的是提升企业的管理水平,优化企业的流程。因提升个别工作效率而会影响业务流程的稳定性,坚决不做;因工作效率提升,并未对业务流程以及管理水平有帮忙的开发,尽量少做。基于此原则,针对二次开发风险的控制做如下总结。

1.对整个企业的业务进行IT规划,二次开发要求的合理性分析,要有所取舍

  对于机械制造企业,会涉及到CAD、PDM、CAPP、ERP、MES系统,并存在接口集成等,因此要根据企业的实际,从业务流程的整体角度去考虑,而不是从某个功能点或某个业务部门去考虑。企业不应过多的强调自身的特点,必定ERP中的管理流程是从许多企业中提炼出来的,具有一定的先进性和合理性。而有些特殊之处是由于企业流程自身的不合理产生的,应通过ERP的实施,对企业的业务流程进行优化或重组,而不是一味修改软件以适应不合理的流程。

2.尽量利用原有的“闲置”字段,避免改动数据库结构

  对于那些会牵涉到新增字段或档案,而影响到原有数据库结构的开发,尽量利用系统原有的“闲置”字段,不要轻易新增字段或文件档案。如确实需要的要与原开发商进行确认,以避免二次开发与产品发展方向重叠或冲突,以降低日后版本升级的困扰。

3.不要随意修改核心代码,新功能自成模块

  要严格遵守不修改核心代码这一原则。如果必须开发,则应尽量使得二次开发的功能模块独立于原来的ERP系统。这样当ERP系统版本更新时,二次开发出来的模块无需修改或者只需较少的修改就可以应用于高版本的ERP系统。

4.建立二次开发的规范

  ERP是一项庞杂的系统工程,ERP二次开发要建立一套完整的开发流程、开发标准。新扩充的字段、新建程序的命名制定统一规范,并且要预留扩充空间。公用组件不建议修改,程序的编写应采用继承的方式。

5.加强IT队伍建设,避免开发人员流失

  培养一支既懂管理科学又懂信息技术的复合型、专业化人才队伍是企业信息化建设韵重中之重。留住IT人才也是规避企业ERP二次开发风险的策略。

结语

  企业ERP系统二次开发具有十分重要的意义,该文旨在从中总结出一些普遍性的经验和教训。对提高ERP实施的成功率和实施效益具有参考价值,从而使得ERP能够真正的发挥作用,提高企业的核心竞争力,推动企业的发展。

附录:

关于ERP“二次开发”,怎样才不被坑!

来源:erplabs

  ERP厂商经常会有这样的抱怨:起初的几个月进行项目分析和讨论,用户也认可了,ERP系统做出后,结果这时候客户要进行“二次开发”…然后事情就变得复杂跟原先预期距离拉远,最后导致“变质”...

  对于企业的信息化系统来说,其实软件方面来说真需要二次开发才会合适。那么如何挖掘出这部分软件的潜力让企业拿到实惠在开发中?

企业应选择通用还是实际?

  试问有哪个企业愿巨额投入开发?例如处理文档、表格、财务等方面,很多成型软件在这个市场中,因此在选择上,优先注重的会是适合通用系统。

  许多的信息化软件只为满足国家层面的要求,针对企业实际来说,通用方面功能满足了,其实还会需要ERP系统提供企业内部的管理信息。按照行业、模块开发的ERP系统,最初会按照一定参数来设定,但根据企业的发展规模、周期等因素差异导致除通用功能外还会有二次要求,因此还需适当调整。

企业本身特点该不该强调?

  企业在做二次开发的时候,其实软件中管理流程已经是经过千锤百炼的提炼,所以没有必要太多的强调自身特点。而许多企业刻意去强调的是源于本身的不合理的业务流程或者优化和重组。这不应该去建立在对软件的修改开发上。不能让软件去适应流程。

  不要修改核心的代码是软件自身体系的基本原则。企业的需求不能被满足,就要从ERP中导出数据再导入系统。尽量以小的改动去满足需求也是为之后的升级做打算。二次开发应该在技术人员指导下进行,因为可以充分的利用现有的数据库条件以及将数据的价值最大化。

  扩大数据使用范围是指将ERP系统中的数据有计划地通过公司自行开发的系统提供给其他不使用ERP系统的人员,扩大共享范围。 从工程角度来说,这是一个复杂的大型工程,开发者应该保持绝对的原则并且对项目要保证可控性。因此,二次开发中,修改不宜多。

技术人员需要多专业?

  从事二次开发的人员既要熟悉软件的功能和相应数据库中表的结构,又要充分理解用户的特殊业务流程,这需要一定的时间和工作的,甚至可能会使项目延期;再者,改动软件后还可能出现系统的不稳定,影响版本升级。

  如果必须进行二次开发,则应尽量使得二次开发做出的功能模块独立于原来的ERP系统。这样,当ERP系统版本更新时,二次开发出来的模块无需修改或者只需较少的修改就可以应用于高版本的ERP系统。

结语

  对ERP项目进行二次开发应被视为“一把手工程”,需要企业领导给予足够重视,并且也需要软件提供商以及相关的企业内部人员给予足够的重视。只有这3方面的力量都重视了,管控严了,项目才能按期并保质保量地交付。

免责声明:

ERP之家鼓励原创行为,本文因转载众多无法找到原作者。

如有异议或知晓原作者,请联系或告知本编!

e-works国际考察火速报名【2019年12.8-15】第六届日本智能工厂考察48000c4a5a287da71d56cc78d955109f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络通信中常用的检错码,4月全国高等教育自学考试计算机网络与通信试题及答案解析...

《4月全国高等教育自学考试计算机网络与通信试题及答案解析》由会员分享,可在线阅读,更多相关《4月全国高等教育自学考试计算机网络与通信试题及答案解析(4页珍藏版)》请在人人文库网上搜索。1、精品自学考试资料推荐全国 2018 年 4 月高等教育自学考试计…

西门子逻辑运算指令_西门子S7-200 SMART逻辑运算指令应用实例

本篇我们通过一个实例来讲解一下西门子S7-200 SMART逻辑运算指令在程序中的使用。要求将VW2和VW4中的数据进行逻辑与后,送到VW6。首先我们双击电脑桌面上的STEP7-Micro/WIN SMART图标,打开编程软件,从指令树的位逻辑中选择一个常开触点拖放到…

计算机教案画圆形和方形,画方形和圆形的教案

教学目标1. 通过对长方体、正方体、圆柱底面的观察,及摸一摸、画一画等体验活动,直观认识长方形、正方形和圆,知道这些常见图形的名称,能识别这些图形,初步了解这些图形在日常生活中的应用。2. 在现实有趣的学习情境中…

计算机仿真随机数生成,伪随机数生成器研究

摘要:本文主要考虑了基于计算复杂性定义的伪随机数生成器.介绍了单向函数与伪随机数生成器之间的关系以及几种常见的基于离散对数问题,DDH问题的伪随机数生成器.在分析了它们的安全性和效率的同时也提出了改进方法. 针对基于离散对数问题的IRG生成器,本文指出它在每…

强行终止python_中国的真实离婚率:一点也不高,反而低的惊人 | 用python计算离婚率...

3600字。现在的网络上,似乎普遍有一种共识,那就是中国的离婚率高的吓人。 各种耸人听闻的标题,比如什么“北上广深等一线城市离婚率高达40%”、“天津的离婚率高达70%”……搞得人心惶惶。有网友对此提出质疑,说,我怎么…

小学计算机课评课用语,信息技术评课心得

本轮全员性听课小学组共有4位教师上课,分别是王强执教的《键盘的认识》;付小俊执教的《小海龟画小旗》;章力执教的《excel公式的认识》;武曲执教的《画画我的四叶草》。1、第一节课,《键盘的认识》,因为小学…

单片机拼字程序怎么做_餐饮怎么用微信小程序?餐饮行业怎么做小程序

随着移动互联网的发展,互联网餐饮这种新型餐饮模式已经发展到了很成熟的地步。很多餐厅都会觉得,自己的活动很有吸引力,但是推广力度不够,不能迅速营造人气,提升收益。对于餐饮人来说,微信是主要的传播渠道…

计算机基础ABCDEF,计算机应用基础_在线作业ABCDEF.docx

--WORD格式---可编辑----ABCDEF1 / 49A1.多媒体计算机的声卡可以处理的主要信息类型是______。动画音频视频音频与视频本题分值:5.0用户得分:5.0用户解答:音频知识点:2."32 位微机 "是指它所用的CPU是 ______。只能处理…

python基本符合_python 3-3(2019-11-06 ) Python基础 (三)

-- coding: utf-8 --Time : 2019/11/6 9:06Author : Nix ChenFile : demo9_20191106.pySoftware: PyCharm列表列表是Python中内置有序可变序列,所有元素放在[],每个元素使用逗号可开创建列表list1 [鲁班, 安琪拉, 狄仁杰, [科比, 乔丹, 詹姆斯], 111, 99.9]# 列表的访问# 列表…

事业单位综合应用能力计算机,最新事业单位统考-综合应用能力C类梳理精华.pdf...

精品好文档,推荐学习交流精品好文档,推荐学习交流综合应用能力C类综合应用能力C类目录目录2第一章 概述 2第一章 概述2一、试卷结构 2一、试卷结构2二、题型分布与具体分值 2二、题型分布与具体分值3.第二章 科技文献阅读题 3.第二章 科技文献阅读题…

elementui中同时上传多个文件_element ui 上传文件,批量一次上传多个文件,为什么是发送了多次请求,我想一次请求,然后发送多个文件怎么实现呢?...

想要的效果是 用户一次选择的文件一个接口上传完毕,但是element ui 里面是上传了多次一次一个文件的形式上传的为4参数的接口调用了 多次执行的上传,我想上传一次 多个文件的 怎么实现呢?因为element ui 里面的列表和我们的需求不一致 我重写…

测试金士顿固态硬盘软件,金士顿固态硬盘优化工具(Kingston Toolbox)

金士顿固态硬盘优化工具KingstonToolbox是金士顿官方出品的SSD优化工具,通过软件能够对金士顿的固态硬盘进行优化设置,同时软件还支持对硬盘进行固件升级,有需要的可以下载使用。金士顿固态硬盘优化工具(Kingston Toolbox)是金士顿官方出品的…

rapidjson 嵌套json_[整理][RapidJson用法2]C++之RapidJson创建嵌套数组json | 勤奋的小青蛙...

上篇博文里我通过RapidJson解析了嵌套的json文本,那么本文章是RapidJson创建嵌套数组Json文本。代码:#include "rapidjson/document.h"#include "rapidjson/writer.h"#include "rapidjson/stringbuffer.h"#include using …

绝地求生测试服画面优化软件,绝地求生正式服设置详解 教你调校最完美的画质...

在绝地求生新版本正式上线之后,蓝洞对于绝地求生的两张地图都做了比较大的优化,令低配玩家的游戏帧数都有了比较大的提升,而此前普遍反映的掉帧问题也得到了不小的改善。不过,由于游戏自身的原因(场景较大,玩家较多&am…

python自动备份数据库_Python Mysql自动备份脚本

测试系统环境 Windows 2003 python 2.5.1 mysql 5.0.1应该只适用于Win,因为调用了CMD。增量备份,因为自用,数据库不大。回头有了需求加上自检测,5天前的自动删除。#!/usr/bin/env python#encodingutf-8#Mysql auto backup#Aut…

小学计算机画线反思,小学《我们身边的线条》教学反思

小学《我们身边的线条》教学反思《我们身边的线条》教学反思线条课从第一册开始,一直贯穿整个小学美术课程,由简到繁,由易到难。《我们身边的线条》一课,就是要引导学生发现生活中到处都有的线条。线条是绘画造型的基本元素&#…

.net 实时通信_【WebSocket】实时多人答题对战游戏

本文公众号来源:后端技术漫谈 作者:蛮三刀把刀前言前两章教程,我们使用WebSocket的基础特性打造了一个小小聊天室,并在第二章对其进行了集群化改造。系列教程回顾:手把手搭建WebSocket多人在线聊天室【多人聊天室】Web…

磊科路由虚拟服务器设置,磊科路由器虚拟转发服务设置的方法

磊科路由器虚拟转发服务设置的方法磊科路由的虚拟 MAC 地址的分配功能实现了不同主机将流量发送给备份组中不同的路由器,但为了使备份组中的路由器能够转发主机发送的流量,还需要在路由器上创建虚拟转发器,每个虚拟转发器都对应备份组的一个虚…

css动画执行保持forwards,css3动画如何在动作结束时保持该状态不变

animation-fill-mode : none | forwards | backwards | both;none:不改变默认行为。forwards :当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。backwards:在 animation-delay 所指定的一段时间内,在动画显…

anylogic中如何构建复杂网络_如何对复杂网络建模所需要的数据进行预处理

上一篇文章介绍了如何构建Space L实体网络的模型,这一篇是对上一篇文章的一个补充优化。以下部分摘自上一篇文章:邢八宝:如何建立复杂网络实体网络的Space L模型?​zhuanlan.zhihu.com地铁网络,一般都有三四百个节点&a…