论文部分内容阅读
[摘要]基于构件的软件开发是软件工程化的必然趋势。首先对构件技术简要介绍,然后对ERP系统进行分析,提炼系统功能的共性,研究将构件技术引入ERP系统的设计和实现,给出基于构件技术的ERP系统应用服务器端的设计。最后对工作进行总结,并指出今后的研究重点。
[关键词]ERP 构件 构件组装
中图分类号:TP315文献标识码:A 文章编号:1671-7597(2008)0810044-01
一、引言
ERP (Enterprise Resource Planning)作为对企业物流、资金流、信息流进行一体化管理的软件系统,代表着当前集成化企业管理软件的最高水平,也成为现代企业争相采用的信息管理系统。但是,如何有效的解决ERP系统开发过程中开发量大、周期长、变化多等问题是ERP系统开发共同面临的问题。
构件技术具有严格的封装特性,外部环境不需要知道具体的实现过程,通过构件的配置、互连和动态组合可实现软件的工程化开发,在ERP系统开发中引入构件技术为解决以上问题提供一个新的思路,文章对此进行探讨分析,并给出基于B/S结构的ERP系统三层设计。
二、构件技术在ERP系统中的应用分析
(一)基于构件的开发 CBD (Component-Based Development)
构件是具有标准接口,实现特定功能的软件模块,将功能的实现通过封装隐藏起来,它可以是被封装的对象类、类树、软件框架、软件构架、文档、分析件、设计模式等。构件仅用接口提供服务,是一种低耦合,高内聚的软件方法。CBD是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过动态组合,高效率、高质量地构造应用软件系统的过程。
CBD任务包括创建、检索、评价、适配、组装、测试和验证、配置和部署、维护和演进,以及遗产系统的再造工程等主要活动。CBD的实现依赖于构件框架的支撑,通过一定的环境条件和交互规则,构件框架允许一组构件独立地与外部构件或其他框架交互、协作,于是构件通过不断的迭代和合成,构成一个结构复杂的应用系统。在开发过程中重点需要解决的问题包括:(1)构件的精确描述、理解及组装问题;(2)功能模块经过分析,进行拆分,挖掘提取构件;(3)研究构件组装机制,包括源代码级的组装和基于构件对象互操作性的运行级组装。
由于以分布式对象为基础的软件技术日趋成熟,CBD已经成为最具潜力的软件工程发展方向之一。支持CBD的技术体系有Microsoft的COM+、Sun公司的JavaBean和IBM的CORBA。COM+是由Microsoft公司推出的构件接口标准,COM+技术主要针对PC市场上不依赖于语言的软件构件技术;Sun公司的JavaBean则是针对解决平台依赖性和语言依赖性这两个问题而提出来的软件构件技术标准;CORBA是为解决分布式问题而提出的分布式对象计算模型,是面向对象技术与分布式计算的结合。
(二)ERP系统功能分析
虽然各个企业生产规模、产品类型不尽相同,但ERP系统基本功能都相同,如图一所示:都具有决策支持、采购管理、生产管理、质量控制、销售管理、库存管理、财务管理、人力资源这几大功能。
1.决策支持。从ERP系统和其他系统的数据库提取综合信息,为决策者迅速而准确地提供决策需要的数据、信息和背景材料,帮助决策者明确目标,建立和修改模型,提供备选方案。
2.采购管理。协助采购人员完成定制采购计划、采购收货到材料入库的全部过程。整个采购业务处理包括订单、到货、入库、收到发票、采购结算、采购付款。
3.生产管理。协助生产管理人员监督和控制生产活动,正确安排生产计划,控制车间物料的耗用,确保生产任务能够按照要求及时完成,同时帮助企业提高设备利用率、劳动生产率和产品质量。
4.质量控制。将质量指标监控、样品登记管理、理化分析、试验资源管理、供应商审计等工作电子化,从而保证产品质量的可靠、稳定和整个质量形成过程的可追溯性,最大限度保证分析结果的准确可靠。
5.销售管理。负责整个销售业务处理,包括销售价格的制定、订单、发票、收款,并提供业务、款项执行情况监控、多角度的货、票、款统计分析,如:销售统计表、发货单开票收款勾对表、销售发货执行汇总表等。
6.库存管理。整个库存业务处理包括了调拨、盘点、货位、批次、保质期、限额领料、产成品入库、材料出库管理。良好的库存管理一方面保证生产所需原材料的及时供应,生产半成品的合理周转,另一方面保证产品销售的及时供给。
7.财务管理。强调面向业务流程的财务信息的收集、分析和控制。除强大的财务报表管理外,还包括多种管理性报表和查询功能,并提供了易于最终用户使用的财务建模和分析模块。
8.人力资源。根据企业生产需求,编制企业组织结构和人员结构规划方案,为企业成本分析提供依据,为管理者最终决策提供辅助支持。务包内容括招聘管理、工资核算、工时管理、差旅核算等。
(三)构件技术在ERP系统中的应用
ERP系统本身具有庞大、复杂的特性,我们可以在ERP系统开发中引入构件技术,将以上分析的业务处理需求的共性提炼出来,分解成功能模块,并采用标准化的接口设计,形成事务处理、数据交换的构件库。在开发新的ERP系统时,则不用重新开始编程这样基础、重复而又繁琐的工作,只需通过基本配置、构建应用框架体系,从构件库中调用相关的构件,动态组合系统。我们可以对现有构件直接使用或者作适应性修改,得到可复用的构件;也可从市场上购买现成的商业构件,即COTS构件;或者开发新的符合要求的构件。那么整个ERP系统的开发过程是:(1)抽象ERP业务对象(2)提取及构造可复用的ERP构件(3)保存、维护、升级、调用ERP构件(4)组装ERP系统并实现互操作(5)动态调用构件,动态完善ERP功能及流程。业务对象的提取关系到所开发构件对ERP系统的适用性,因此需要系统分析员与企业资深管理人员的有效沟通,以对功能需求精确定义。对于整个系统的组装分为两个层次:代码级组装和系统级组装。我们可以采用面向对象技术实现代码级组装,采用一种较高层次的抽象来实现系统级组装。代码级组装是针对企业个性需求,构件不完全适用于当前系统时才使用的;系统级的组装可以通过消息连接、过程调用、事件触发机制来完成。
ERP系统开发一般基于B/S结构的三层设计,即客户端,应用服务器,数据库端。构件的组装集成主要集中在应用服务器端。目前常见的服务器端应用设计都基于中间件完成,中间件又以复杂性著称,它不仅涉及到应用逻辑、并发性和伸缩性问题,也涉及到如何把不兼容的系统组合在一起的问题。如果服务器端设计采用构件技术,就可以解决中间件开发过于复杂的问题,使开发人员不用处理同步、可伸缩性、事务集成、分布式对象框架等一些分布式应用系统中存在的复杂而又细节化的问题,而是将精力集中于整个ERP系统的动态集成和企业个性需求的开发上。当客户端发送数据请求时,不是直接和数据库进行数据交换,而是由应用服务器端的业务构件进行事务处理,应用构件才和数据库交互数据。
基于以上分析,我们可将整个ERP系统设计分成三层:基础层、中间层和顶层。基础层为基本数据类构件和系统支撑构件;中间层为各种通用构件和ERP系统构件库;顶层为调用的针对各种领域的专用构件或子系统构件。基础层包括: tuxedo支持中间件,xcom 通讯构件,在windows环境中,还包括封装的DLL文件,顶层和中间层是ERP系统架构的重点。
三、结束语
传统的ERP系统开发每次都从头做起,从底层软件开始,严重影响了系统的开发速度。在系统开发过程中采用构件技术,不仅可以保证产品的质量,而且可以大大缩短开发周期,节约开发成本和实施成本。如果构件技术能在ERP中广泛应用,将会使ERP系统做的更灵活、更经济、更易于普及。后续的研究工作重点内容包括:(1)如何更有效地提炼ERP应用模型中具有共性可通用的部分,抽象并做成ERP构件。解决这一问题,不仅需要软件技术,更需要ERP应用领域丰富的相关知识;(2)构件接口规约和技术规范的建立。
参考文献:
[1]张世琨,张文娟等,基于软件体系结构的可复用构件制作和组装[J].软件学报,2001,12(9):1352-1359.
[2]潘星,李超,刘鲁.基于Web服务的开放式ERP系统设计与开发[J].计算机工程,2006,32(6):56-58
[3]徐大华,戴芳.基于构件的工作流系统设计[J].交通与计算机,2005,23(4):72-74.
[4]步春媛,徐大华.基于ERP的企业管理信息系统设计[J].计算机工程与设计,2007,28(18):4485-4490.
[5]胡彬.ERP项目管理与实施[M].北京:电子工业出版社2004.
[关键词]ERP 构件 构件组装
中图分类号:TP315文献标识码:A 文章编号:1671-7597(2008)0810044-01
一、引言
ERP (Enterprise Resource Planning)作为对企业物流、资金流、信息流进行一体化管理的软件系统,代表着当前集成化企业管理软件的最高水平,也成为现代企业争相采用的信息管理系统。但是,如何有效的解决ERP系统开发过程中开发量大、周期长、变化多等问题是ERP系统开发共同面临的问题。
构件技术具有严格的封装特性,外部环境不需要知道具体的实现过程,通过构件的配置、互连和动态组合可实现软件的工程化开发,在ERP系统开发中引入构件技术为解决以上问题提供一个新的思路,文章对此进行探讨分析,并给出基于B/S结构的ERP系统三层设计。
二、构件技术在ERP系统中的应用分析
(一)基于构件的开发 CBD (Component-Based Development)
构件是具有标准接口,实现特定功能的软件模块,将功能的实现通过封装隐藏起来,它可以是被封装的对象类、类树、软件框架、软件构架、文档、分析件、设计模式等。构件仅用接口提供服务,是一种低耦合,高内聚的软件方法。CBD是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过动态组合,高效率、高质量地构造应用软件系统的过程。
CBD任务包括创建、检索、评价、适配、组装、测试和验证、配置和部署、维护和演进,以及遗产系统的再造工程等主要活动。CBD的实现依赖于构件框架的支撑,通过一定的环境条件和交互规则,构件框架允许一组构件独立地与外部构件或其他框架交互、协作,于是构件通过不断的迭代和合成,构成一个结构复杂的应用系统。在开发过程中重点需要解决的问题包括:(1)构件的精确描述、理解及组装问题;(2)功能模块经过分析,进行拆分,挖掘提取构件;(3)研究构件组装机制,包括源代码级的组装和基于构件对象互操作性的运行级组装。
由于以分布式对象为基础的软件技术日趋成熟,CBD已经成为最具潜力的软件工程发展方向之一。支持CBD的技术体系有Microsoft的COM+、Sun公司的JavaBean和IBM的CORBA。COM+是由Microsoft公司推出的构件接口标准,COM+技术主要针对PC市场上不依赖于语言的软件构件技术;Sun公司的JavaBean则是针对解决平台依赖性和语言依赖性这两个问题而提出来的软件构件技术标准;CORBA是为解决分布式问题而提出的分布式对象计算模型,是面向对象技术与分布式计算的结合。
(二)ERP系统功能分析
虽然各个企业生产规模、产品类型不尽相同,但ERP系统基本功能都相同,如图一所示:都具有决策支持、采购管理、生产管理、质量控制、销售管理、库存管理、财务管理、人力资源这几大功能。
1.决策支持。从ERP系统和其他系统的数据库提取综合信息,为决策者迅速而准确地提供决策需要的数据、信息和背景材料,帮助决策者明确目标,建立和修改模型,提供备选方案。
2.采购管理。协助采购人员完成定制采购计划、采购收货到材料入库的全部过程。整个采购业务处理包括订单、到货、入库、收到发票、采购结算、采购付款。
3.生产管理。协助生产管理人员监督和控制生产活动,正确安排生产计划,控制车间物料的耗用,确保生产任务能够按照要求及时完成,同时帮助企业提高设备利用率、劳动生产率和产品质量。
4.质量控制。将质量指标监控、样品登记管理、理化分析、试验资源管理、供应商审计等工作电子化,从而保证产品质量的可靠、稳定和整个质量形成过程的可追溯性,最大限度保证分析结果的准确可靠。
5.销售管理。负责整个销售业务处理,包括销售价格的制定、订单、发票、收款,并提供业务、款项执行情况监控、多角度的货、票、款统计分析,如:销售统计表、发货单开票收款勾对表、销售发货执行汇总表等。
6.库存管理。整个库存业务处理包括了调拨、盘点、货位、批次、保质期、限额领料、产成品入库、材料出库管理。良好的库存管理一方面保证生产所需原材料的及时供应,生产半成品的合理周转,另一方面保证产品销售的及时供给。
7.财务管理。强调面向业务流程的财务信息的收集、分析和控制。除强大的财务报表管理外,还包括多种管理性报表和查询功能,并提供了易于最终用户使用的财务建模和分析模块。
8.人力资源。根据企业生产需求,编制企业组织结构和人员结构规划方案,为企业成本分析提供依据,为管理者最终决策提供辅助支持。务包内容括招聘管理、工资核算、工时管理、差旅核算等。
(三)构件技术在ERP系统中的应用
ERP系统本身具有庞大、复杂的特性,我们可以在ERP系统开发中引入构件技术,将以上分析的业务处理需求的共性提炼出来,分解成功能模块,并采用标准化的接口设计,形成事务处理、数据交换的构件库。在开发新的ERP系统时,则不用重新开始编程这样基础、重复而又繁琐的工作,只需通过基本配置、构建应用框架体系,从构件库中调用相关的构件,动态组合系统。我们可以对现有构件直接使用或者作适应性修改,得到可复用的构件;也可从市场上购买现成的商业构件,即COTS构件;或者开发新的符合要求的构件。那么整个ERP系统的开发过程是:(1)抽象ERP业务对象(2)提取及构造可复用的ERP构件(3)保存、维护、升级、调用ERP构件(4)组装ERP系统并实现互操作(5)动态调用构件,动态完善ERP功能及流程。业务对象的提取关系到所开发构件对ERP系统的适用性,因此需要系统分析员与企业资深管理人员的有效沟通,以对功能需求精确定义。对于整个系统的组装分为两个层次:代码级组装和系统级组装。我们可以采用面向对象技术实现代码级组装,采用一种较高层次的抽象来实现系统级组装。代码级组装是针对企业个性需求,构件不完全适用于当前系统时才使用的;系统级的组装可以通过消息连接、过程调用、事件触发机制来完成。
ERP系统开发一般基于B/S结构的三层设计,即客户端,应用服务器,数据库端。构件的组装集成主要集中在应用服务器端。目前常见的服务器端应用设计都基于中间件完成,中间件又以复杂性著称,它不仅涉及到应用逻辑、并发性和伸缩性问题,也涉及到如何把不兼容的系统组合在一起的问题。如果服务器端设计采用构件技术,就可以解决中间件开发过于复杂的问题,使开发人员不用处理同步、可伸缩性、事务集成、分布式对象框架等一些分布式应用系统中存在的复杂而又细节化的问题,而是将精力集中于整个ERP系统的动态集成和企业个性需求的开发上。当客户端发送数据请求时,不是直接和数据库进行数据交换,而是由应用服务器端的业务构件进行事务处理,应用构件才和数据库交互数据。
基于以上分析,我们可将整个ERP系统设计分成三层:基础层、中间层和顶层。基础层为基本数据类构件和系统支撑构件;中间层为各种通用构件和ERP系统构件库;顶层为调用的针对各种领域的专用构件或子系统构件。基础层包括: tuxedo支持中间件,xcom 通讯构件,在windows环境中,还包括封装的DLL文件,顶层和中间层是ERP系统架构的重点。
三、结束语
传统的ERP系统开发每次都从头做起,从底层软件开始,严重影响了系统的开发速度。在系统开发过程中采用构件技术,不仅可以保证产品的质量,而且可以大大缩短开发周期,节约开发成本和实施成本。如果构件技术能在ERP中广泛应用,将会使ERP系统做的更灵活、更经济、更易于普及。后续的研究工作重点内容包括:(1)如何更有效地提炼ERP应用模型中具有共性可通用的部分,抽象并做成ERP构件。解决这一问题,不仅需要软件技术,更需要ERP应用领域丰富的相关知识;(2)构件接口规约和技术规范的建立。
参考文献:
[1]张世琨,张文娟等,基于软件体系结构的可复用构件制作和组装[J].软件学报,2001,12(9):1352-1359.
[2]潘星,李超,刘鲁.基于Web服务的开放式ERP系统设计与开发[J].计算机工程,2006,32(6):56-58
[3]徐大华,戴芳.基于构件的工作流系统设计[J].交通与计算机,2005,23(4):72-74.
[4]步春媛,徐大华.基于ERP的企业管理信息系统设计[J].计算机工程与设计,2007,28(18):4485-4490.
[5]胡彬.ERP项目管理与实施[M].北京:电子工业出版社2004.