企业ERP客户化开发解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企业ERP客户化开发解决方案
目录
1项目需求理解 (3)
1.1.项目背景 (3)
1.2.项目目标及项目范围 (4)
2技术解决方案 (5)
2.1.ERP客户化开发解决方案 (5)
2.1.1技术开发管理 (5)
2.1.2环境策略 (6)
2.1.3技术开发流程 (8)
2.1.4可复用的客户化成果 (11)
2.1.5技术方面的知识转移 (11)
2.1.6客户化开发工具 (14)
2.1.7功能扩展开发清单 (18)
1项目需求理解
1.1.项目背景
公司是一家集专业产品、研发、生产、销售于一体的高新技术企业,作为首批国家高新技术企业, 公司专业从事宽带接入终端、无线通信设备、光通信设备等产品的研发、生产、销售和服务。
公司是全球诸多著名运营商及系统设备提供商的主要合作伙伴。
公司产品在全球范围内广泛使用,服务于通信、家庭、金融和教育等领域。
成立以来,公司坚持自主研发的道路,坚持以先进的技术创造产品价值的产品研发策略,每年的研发投入占当年销售收入的3.5%以上,持续、不断的研发高投入,为共进公司保持技术优势提供了物质保证。
到目前为止,公司已经形成在通讯终端产品方面完整的研发体系和生产线,产品涉及7个大类100多个品种,奠定了共进公司在通讯终端产品领域的行业领导地位。
截至目前为止,公司信息系统基本覆盖公司供应链、生产制造、财务管理业务领域;2015年以前财务系统使用金蝶K/3进行管理,未在U9系统中实现财务业务管控。
2015年1月份全面上线U9系统应收、应付、成本、固定资产、总账业务模块,初步实现财务业务一体化系统应用;但财务在安财系统中进行预算、费用统计,未与现有系统有效集成;同时实现COMEX、PLM、ERP、MES、IMS等多个主干系统平台的关键应用集成;并引入MES系统实现对产品级在线管理及防呆控制,在线物料使用“盘古IMS”管理贴片物料,其他物料正在客制化开发在线物料管理功能;PLM系统使用的是PDM产品数据管理功能。
目前公司业务量以每年增长30%-40%的速度快速发展,业务形式也发展成拥有两个研发基地和几个销售基地的集团型企业,公司主营业务规模的迅猛发展对其自身的信息化建设水平提出了更高的要求,目前的信息化水平已远远不能满足业务规模日益增长的需要。
针对公司在信息化系统建设方面存在的不足,本次ERP系统建设的关键点在于以下三方面:⚫横向流程的贯通:在产品研发线、采购业务线、销售业务线、生产业务线、日常运营业务线,需要横向打通部门间协作,提高整体业务运作效率。
⚫纵向业务的整合:在财务管理、预算管理、资金管理、主数据管理等方面,需要实现纵向整合,满足多业务线的管控要求。
⚫多信息系统集成:需要实现ERP系统、PLM系统、费用控制系统、SRM、MES、IMS、BI等系统集成,重点关注用户操作体验,提升最终用户系统应用满意度。
1.2.项目目标及项目范围
公司ERP和PLM系统管理信息系统面向公司及所属单位经营管理,总体目标是通过信息化软件平台及管理设计思想为公司的整体战略提供信息化支撑。
通过在全公司进行统一的系统建设,形成一体化运作的管理平台,使ERP系统管理方式与实际业务运作流程紧密贴合,提高企业管理工作标准化、规范化、精细化、高效化,确保IT应用系统真正为企业经营决策服务。
信息系统建设应该满足以下四个原则:
⚫统一性
保证总部和下属工厂、部门之间的互联与互通,同时节约总体投资成本;
⚫安全性
保证系统、数据的安全性,系统应有先进的传输加密措施和机制,并采用分级授权管理模式,同时保证系统持续、稳定的运行;
⚫高效性
保证系统的性能能够满足各类业务与应用的需要,整个系统的方案设计、功能融合并体现领先的信息技术和先进的管理思想;整个系统应便于管理,提供多层次、多维度的管理手段;
⚫扩展性
保证系统为满足业务发展的需要所应具备的扩展能力。
本次项目以支撑产品研发、财务、供应商及采购、物资、销售、计划生产、质检为核心,实现在企业内部形成数据高度共享的管控信息平台,并与外部相关方紧密集成和高度协同,逐步实现公司的信息化建设目标。
为此,本次项目将实现以下管理目标:
⚫构建具有行业特色的业务系统,实现业务财务一体化。
针对电子行业特色业务提供专业的解决方案,建立自动化、集成性、流程化的信息系统,简化操作提高效率。
使前台业务操作可直接生成后台财务数据,将重复的数据录入转换为数据复核,减少冗余数据录入工作,降低人为差错,实现物流、信息流、资金流的统一管理,同时为在业务环节增加财务管控提供了可能性。
⚫数据信息标准化,集中维护,提高数据利用效率。
基于管控需求,逐步规范统一的数据和信息标准,并且在系统中予以落实;统一信息管理标准,提高整个集团信息化管理水平,加强整个集团的战略管控能力,包括运营分析、战略决策等能力。
⚫建设统一的、全面的营销体系,助力业务发展。
建立全面的客户关系管理,利用相互融合的流程来为客户服务,提高客户满意度。
在建立完备的客户信息及灵活的价格管理体系的基础上,实现从销售协议达成、合同管理、制造完工、产品出库到结算的全过程管理、跟踪及分析。
有效地掌控市场形势及客户需求,通过建立可靠的销售预测及销售计划以最大程度的实现产销平衡。
建立多种销售模式以满足实际业务需求,扩大集中销售范围,缩短业务流程,达到物流、信息流、资金流的统一。
⚫实施战略性采购和供应商资源共享,强化战略联盟。
以节约总体成本为出发点,通过仓储/配送/供应商关系管理优化供应链服务水平,实现物资流、资金流和信息流的统一,实现对供应链管理的集约化运营,并强化与供应商的战略合作伙伴关系。
建立完整流程的集团采购模式,实现自动化和流程化管理,建立全新的一体化供应链管理平台
⚫建立高效的、适合实际业务的自动化与集成化的生产系统,提高产品质量和生产效率。
建立多级计划调度体系,实现生产计划管理、调度管理、车间管理、质量管理、库存管理多部门的协同工作,建立高效的外协管理平台,提高生产效率。
建立电子行业企业生产模式,提高生产制造业务的精细化和规范化;引入专业的质量管理体系,疏理现有质量管理制度和流程,采集和分析生产过程中的各种质量数据,实现对质量风险的实时监控。
2技术解决方案
2.1.ERP客户化开发解决方案
2.1.1技术开发管理
在系统实施过程中,我们会根据财务集中管控,财务业务一体化的要求,对标准功能无法实现的客户实际业务需求进行客户化开发。
根据客户化开发的性质可以区分为以下三类:•变更:直接修改Oracle EBS的标准代码或设置及业务数据;
•扩展:在不修改Oracle EBS标准代码的前提下,新增界面、报表和接口等程序;
•配置扩展:通过弹性域、预警和其他Oracle EBS提供的可配置功能满足业务需求;
变更应尽量避免,一旦做了变更的开发,那么Oracle将不再对所有该变更相关的系统功能提供技术支持,并且变更很可能会引起数据正确性问题和系统性能问题,任何变更的开发都需要经过慎重考虑和严格的测试。
扩展开发对于Oracle EBS是相对安全的满足业务需求的技术手段,为了尽量保证扩展程序设计思路的一致性和开发资源的合理使用,应尽量避免频繁的需求变更。
配置扩展是最为安全的开发方式,所有配置扩展的开发都会在系统补丁和升级时被保留,因此应尽量使用Oracle EBS的配置功能来满足业务需求。
无论哪种开发都会增加系统维护的工作量,直接或间接地对系统性能产生影响,某些不恰当的开发还会影响系统的升级,所以对开发内容需要进行严格的控制,任何客户化开发需求均需要有书面文档记录,并经过双方项目经理批准后才能进行开发,同时遵循以下开发的基本原则:•需要满足的是关键业务需求,并且在系统中和系统外没有可接受的变通解决方案•尽量避免变更类型的开发,尽量避免对标准代码和数据的修改,尽量使用Oracle 支持的技术实现手段
•对所有开发已经事先评估了开发后后续维护的成本,避免无谓和重复的开发,避免频繁的需求变更
2.1.2环境策略
在ERP实施的过程中,我们要使用多套应用环境来满足开发、测试、培训、质量保证,生产,练习等不同的需要。
以下是项目实施过程中环境演进的路线图,供参考。
其中纵轴是本项目所需要的所有环境,横轴前半部分对应项目的实施阶段,横轴后半部分对应数据控制(从数据安全性角度,是否需要控制访问)和环境所需要的设置工作(包括预设值、继承、手工设置、覆盖、调整等)。
中间黄色横条代表环境的生存周期,其中的*代表在此阶段需要开启此环境,没有*则表示只在存储介质上存在,不需要开启。
红色箭头代表环境间的操作,其中红色代表克隆或覆盖,蓝色代表继承。
下面我们按项目阶段进行介绍:
•项目启动阶段:在此阶段我们需要安装Demo环境供顾问测试标准功能,并且此环境会一直存在供参考,在项目实施后考虑性能因素,会进行关闭,在需要时才启动。
•解决方案定义阶段:在此阶段我们需要首先安装一个空环境,此环境将作为后来大部分环境的源头。
空环境安装好后,需要从此环境克隆出来一个测试环境,这个环境将给功能顾问进行系统设置的测试,并在系统完成基本设置后克隆出开发环境和补丁环境。
测试环境在进入CRP阶段后,会被用于CRP1。
•解决方案开发阶段:在进入CRP2阶段后,我们会从空环境克隆出CRP2环境,覆盖CRP1环境,并在CRP2上应用需要的补丁、进行设置、加入客户化开发。
对于补丁环境,我们在此阶段也要进行覆盖,得到最新版本,方便测试。
•实施阶段:此阶段我们要从空环境克隆出来一个新的UAT环境,在此环境上应用需要的补丁、进行设置、加入客户化开发,供用户做接受度测试,此环境还将被用于培训环境和性能测试。
•上线阶段:此阶段我们要从空环境克隆出来一个质量保证环境,此环境未来将被用于正式环境。
质量保证环境要经历三个阶段:应用补丁,加入设置和客户化,导入静态数据。
在每个阶段结束后都要进行备份。
其中在完成第二阶段设置和客户化之后要克隆出一个生产验证环境,用于验证设置和客户化的正确性。
在确保正确后,应对质量保证环境再进行备份,此备份将单独保存,称为生产设置备份,用于未来阶段的测试和开发环境的来源。
在完成所有三个阶段后质量保证环境将被用于正式环境,同时克隆出支持环境,覆盖生产环境验证环境,用于未来的技术支持,在支持阶段此环境将被正式环境不定期覆盖。
为保证企业数据的安全性,质量保证环境、生产环境、生产环境验证环境和支持环境将被控制访问。
功能顾问需要对四个环境进行手工设置:测试、CRP2、UAT、质量保证环境。
根据项目实施的具体安排,我们可能会只使用上面的一部分环境。
2.1.3技术开发流程
Oracle ERP客户化开发方法论如下:
户化的开发都必须遵守下面的具体开发流程。
每一个客户化都有完整的生命周期,在项目的实施过程中,我们采用EXCEL模板方式的客户化清单来评估开发的工作量,管理和控制开发的进度,根据项目实施的具体要求来调整客户化的优先级等。
模板示例如下:
在公司ERP系统的开发工作中,客户化开发将根据需要进行四个层面的测试。
•单元测试
尽管不要单独交付,开发者还是需要对每个客户化开发做单元测试。
开发者将负责定义单元测试的Check List。
单元测试将验证程序的功能符合功能需求文档,以及适当的异常操作。
单元测试重点在从各个方面测试一块代码。
开发者应该将重点放在错误处理。
比如,当测试定制表单时,开发者应该放些特殊字符到所有字段尽可能让表单去处理。
单元测试一般由开发者自己执行。
•集成测试
将客户化开发放到业务流程中,进行端到端的测试,确保整个流程产生的结果是正确的。
集成测试一般由功能顾问、关键用户和开发人员共同执行。
•用户接受度测试
用户接受测试执行一个“生命中的普通一天”的测试场景。
例如,用户执行每天,每星期,每月的普通工作流程。
用户接受测试将验证客户化功能符合功能需求文档。
用户接收测试通过后,客户化开发才可以部署到生产环境。
•技术层面测试
技术层面的测试包括:压力测试和补丁程序测试。
这些测试一般不针对某个具体的客户化程序。
2.1.4可复用的客户化成果
由于在实施ORACLE ERP的过程中积累了很多经验,我们的客户化成果知识库中包括了期初数据导入工具,客户化开发解决方案以及报表,可以供公司重用,加速客户化开发。
2.1.5技术方面的知识转移
为了保证技术知识的快速转移,我们提供全面的开发人员技能培训,针对公司技术人员基础比较好的特点,可以适当减少简单的数据库知识和操作系统知识的培训,增加专业性更强的各种开发工具培训,如下图所示:
具体培训内容如下:
•简单的数据库知识
➢了解数据库的技术架构,了解数据库进程作用
➢学习编写SQL语句
➢学习如何简单优化SQL语句
➢……
•简单的操作系统知识
➢会简单的系统操作如;cd,ls,cp等命令,会起停系统
➢会对源程序进行编译
➢……
•ERP各种开发工具
➢FORM,REPORT
➢XML PUBLISHER
➢Java, OAF以及Jdeveloper等
➢PL/SQL
➢…..
•ERP系统管理知识
➢如何管理用户、管理职责
➢如何管理功能、管理请求;
➢如何检查系统基本信息,如表单对应的后台源程序等…
➢……
•ERP系统各模块的数据结构
➢各模块本身的数据结构
➢各模块间数据关联关系
➢……
•ERP各模块的功能
➢总帐:如何录入凭证;如何查找余额…
➢应收应付:如何创建发票,如何进行收款、付款等…
➢库存、采购、销售、人力、项目、制造等模块的基本功能操作
➢……
•ERP系统架构
➢系统整体架构
➢系统运行原理
➢了解系统包含的组件及技术路线
➢……
采用的培训方式见下表:
2.1.6客户化开发工具
在ERP系统的实施过程中,由于本土化、个性化,以及集成上的需要,必然存在对标准产品的客户化开发。
在此我们对Oracle EBS客户化工具、技术, 客户化,集成技术以及我们将来可能面对的部分接口做一下说明:
客户化开发工具-ORACLE DEVELOPER SUITE
Oracle Developer Suite提供了很多功能,用以构建各种互联网应用程序和由商务智能功能增强的Web服务。
Oracle Developer Suite可满足所有事务处理应用程序开发和商务智能的需要。
如何使用Oracle Developer Suite和使用哪些工具,这取决于终端用户的需要、开发人员的技能和技术背景等。
该套件中所包括的各个具体组件列于图2,并将在下面各节具体介绍。
图2
图: Oracle Developer Suite 的各个组件应用程序开发:Oracle JDeveloper 是一种结合了Java、XML和SQL技术的,用于开发高质量的J2EE应用程序和Web服务的集成开发环境(Integrated Development Environment,IDE)。
Oracle JDeveloper 支持完整的开发生命周期,包括:建模、编码、调试、性能剖视、优化和部署。
Oracle JDeveloper还可以作为单独的产品,用于满足Java开发人员的需要。
Oracle JDeveloper 是Oracle应用服务器Java版的一个组成部分。
Oracle Forms Developer是一种说明性的快速应用程序开发(Rapid Application Development,RAD)工具,PL/SQL开发人员在无需用Java编码的情况下,可以使用它构建高度交互式的基于Java的Web客户端程序。
Oracle Designer是一种用于构建完整的应用程序和数据库的建模和生成工具。
它还能够逆向设计现有的Oracle和非Oracle数据库,来创建Oracle数据库模型。
Oracle软件配置管理器(Oracle SCM)是一种用于存储所有与应用程序开发过程相关的文件和对象,并进行版本控制的软件配置管理资源。
Oracle SCM与Oracle Developer Suite中的所有开发工具集成在一起。
商务智能:
Oracle Developer Suite包括各种通过商务智能功能增强事务处理应用程序的性能,以便更深入地理解有关数据的商务智能工具。
Oracle Warehouse Builder(OWB)是一种企业数据集成工具,它提供一种经济有效、可伸缩和易于使用的数据提取、转换和加载工具,使数据库管理员和开发人员能更快、更高效地设计和构建商务智能应用程序。
Oracle Reports Developer 是一种说明性的企业报表编制工具,可用于通过使用能够以任何形式安全地发布到任何目的地的数据源来创建精确的报表。
Oracle Discoverer提供一种直观的特定查询、报表编制和分析工具,用以满足终端用户简化信息访问的需要。
Oracle Business Intelligence Beans (Oracle BI Beans)提供一套基于标准的可重复使用的JavaBean组件,用于快速用Java实现高级分析型应用程序。
Oracle Workflow builder 提供了一个察看,修改,建立工作流的图形化工具(不是developer suite 的组件).
Oracle XML Publisher 是Oracle提供的报表开发工具,将数据逻辑,版式和页面翻译分离开来,技术人员专注数据逻辑的实现,业务人员可使用OFFICE工具进行版式的设计更加贴近用户的需求。
同时提供多种输出方式EXCEL,PDF,WORD,HTML等,适应不同用户的需要。
Oracle Developer Suite的主要优势
Oracle Developer Suite具有以下主要优势,以支持更好、更快、更经济高效地开发互联网应用程序和Web服务:
完整性
集成化
基于标准
Oracle Developer Suite提供一整套功能,可以满足多种要求。
它基于最新的行业标准,是一套集成化的、可协同工作并与Oracle数据库和Oracle应用服务器高度集成的组件。
完整性
Oracle Developer Suite以单一套件的形式提供一套最完整的工具。
其所提供的工具能够支持任何语言(Java、XML和SQL),以及从建模、说明性方法到3GL编码的任何开发风格。
本产品覆盖开发生命周期的所有阶段:建模、设计、编码、编译、调试、源控制、部署、调优和监控。
Oracle Developer Suite还可以用在任何操作系统平台上,包括 Windows、Unix或者Linux。
使用这个套件构建的应用程序能够运行在任何类型的设备上,如台式机、浏览器、移动电话或者掌上设备。
集成化
Oracle Developer Suite提供了三种类型的集成:Oracle Developer Suite提供的各种工具之间的集成、与Oracle应用服务器的集成,以及与Oracle数据库的集成。
Oracle Developer Suite中有大量的集成。
Oracle Designer能够生成包括Oracle Forms在内的完整的应用程序。
现有的Forms能够被逆向设计成Designer环境。
Oracle Designer生成Business Components for Java,以便用于Oracle JDeveloper项目。
Oracle JDeveloper已集成了对Oracle BI Beans的支持,以便在J2EE应用程序中实现强大的商务分析功能。
除了与Oracle Designer和Oracle Forms Developer的集成以外,Oracle SCM还与Oracle JDeveloper集成,从而使开发人员能够只需一次点击即可实现对源的控制操作,如版本控制和依赖性管理等。
这种集成使开发团队能够很容易做到组织有序,并能够甚至在最分散的开发项目中密切合作。
尽管Oracle Developer Suite对其他遵循JDBC和ODBC的数据库是开放的,但是,它是完全重新开发的,以便与Oracle数据库协同工作并充分利用Oracle数据库的独特功能。
可以使用Oracle开发人员早已熟悉的诸如SQL、PL/SQL、Java和XML等语言和工具来构建数据库驱动的网站和商务应用程序。
Oracle Developer Suite已经过测试并通过了Oracle数据库各个版本的验证,并且由一个单一的支持机构进行支持。
作为应用程序部署平台,Oracle Developer Suite还提供与Oracle应用服务器的在线集成。
通过一次点击部署的方法,Oracle使得在其平台上构建高性能应用程序的工作变得简单易行。
此外,使用Oracle JDeveloper构建的应用程序能够轻松地部署在任何其他符合J2EE规范的应用服务器上。
这是Oracle对开放性作出贡献的集成优势的真实写照。
基于标准
Oracle Developer Suite是根据Oracle对开放式体系结构的承诺以及通过支持标准和趋势推动互联网发展的承诺而开发的。
Java的可移植性和通用性是Oracle Developer Suite的核心。
此外,经过认证Oracle JDeveloper 符合最新的J2EE规范。
Oracle Developer Suite支持的标准包括
J2EE、XML、SQL和Web服务标准(即:SOAP、UDDI、WSDL和JAXR),以及其他诸如UML、XMI和WebDAV等重要的行业标准。
2.1.7功能扩展开发清单
详细的功能开发清单在业务蓝图阶段与业务部门共同讨论确定。