对于存在大量定制开发的OA系统用户,从节省成本、开发方便、自己掌控和信息更安全等方面考虑,希望拥有OA系统源码并自己开发,如:很多用户首先想到的是
OA厂商开放源代码,或招聘一个软件开发的员工找一套开源的OA系统源码,然后在此基础上按照自身要求进行各种开发,而且能最大限度地满足企业的个性化需求。实际上直接修改OA系统源码的定制开发,是典型的一种落后的开发模式,对于普通OA系统用户来说存在以下问题:
1、整体上技术和管理难度大
对进行OA系统开发的技术人员要求比较高,由于技术人员的长期拥有成本比较高,一般只有少数的用户单位有自己的IT部门(注:很多单位的IT只有运维人员,而非开发人员),并具备一定的开发能力。修改OA系统源码的定制开发对指定技术人员综合能力要求高,需要花费大量的时间熟悉OA系统的设计和代码,对软件开发人员的延续性依赖比较大。
OA系统一般包含PC的web端,移动端(分Android和iOS平台),有的还有客户端(如:承元OA的客户端),更需要持续的产品迭代和技术积累,如果需要解决不同使用终端的软件功能开发,意味着需要更多不同类型的开发人员,这样难度更大、代价更高。
2、OA系统用户自己开发代价更高
一般技术能力强的OA厂商,最多也只是部分开放源代码,很多开放源码的OA产品技术和架构本身就不是很好,加上开发人员熟悉掌握并非一件容易的事情,个性化需求的OA定制开发相比较软件厂商的服务,成本更高、效率更低、质量无法得到保障。
注:如果是独立系统的开发和OA系统关联不紧密,有部分的功能集成开发等,此时最终用户尝试可以选择自己研发(有技术开发能力),或选择第三方的管理软件进行集成开发。
3、很多OA定制开发难以持续下去
在OA系统源码的基础上进行定制开发,由于技术能力的不足,系统使用的功能需求无法很好解决,尤其是稳定性方面无法保障影响正常的使用,而开发人员的离职后续将会带来严重的问题,后续新的开发人员会重复以前开发人员的问题,最后导致系统紊乱直至无法修改和维护,这种项目很多到最后都会被搁置和放弃。
4、OA系统源码的修改,导致通用产品无法升级
如果是直接修改OA系统的代码,必然会导致无法接受OA厂商后续新版本的升级,这种损失非常大;如果选择覆盖升级,则原先修改OA系统源码的定制开发功能,需要重新基于新版本进行整合和开发,产生了额外的开发代价(一般选择不进行产品升级)。
5、开发成本更高、周期更长
由于人工成本比较高,没有OA行业的积累,开发周期上会更长,折算下来成本远远高于OA厂商的开发服务代价。此外,用户需求不断变化和基于应用深化的要求,自主开发需要开发成本和时间成本的持续投入,开发过程中遇到技术难度无法短时间解决,导致自主开发的周期难以确定,否则只能使用简单浅显的功能,无法实现OA系统的个性化深入应用。
6、导致OA已有功能的不稳定
如果直接修改OA系统源码,有可能会导致OA系统已有的功能出现错误,导致系统的不稳定。从事过面向对象开发的人都知道,面向对象设计中讲求的是“对修改封闭,对扩展开放”。
平台型OA系统定制开发的优势
1、无需源码基于平台接口的开发
平台型OA进行定制开发不需要开放OA系统源码,系统拥有了大量、丰富和成熟的开发接口(类似java的JDK,windows的API等),尤其是使用平台非代码模式的定制开发,大量的代替了繁琐的手动代码开发,降低了技术难度和开发BUG,大量的节省了时间和成本,提升了OA系统开发的质量,系统稳定性和安全性更加有保障。
2、开发、维护和服务的综合优势
由于统一了技术规范,降低了技术难度,在提升了OA软件服务效率和质量的同时,降低了软件服务的时间和成本,平台型OA拥有的维护和二次开发优势,更加有利于oa项目的实施、开发、管理、维护和软件升级,能够快速满足不同用户的个性化需求。
3、一般个性化需求通过后台维护解决
OA系统的维护包括开发维护及日常维护,开发维护一般由OA供应商提供,日常维护可以是由用户自己通过OA后台进行维护管理。
OA系统基础功能需要完善,避免了日常通用功能在源码上的开发,同时提供后台的维护管理功能,满足日常用户维护管理的要求,避免对OA软件厂商的过度依赖。因此,针对绝大多数不懂开发的用户单位,OA系统需要提供日常的系统维护功能,满足一般的日常维护与管理,如:用户、角色、权限的维护,数据字典的维护,系统参数的配置与优化,表单和流程的自定义等。
4、个性化开发和产品升级的冲突解决
平台型OA的定制开发不是直接修改OA系统源码,是基于平台的无代码开发和基于平台接口的开发,很好的解决了OA定制开发和标准产品升级之间的矛盾,让OA个性化定制开发的用户能够接受标准OA产品的最新升级。