10、ERP设计之系统基础管理(BS)- 平台化设计

自古美人都是妖i 提交于 2020-02-12 04:56:39

 

ShareERP 2013-09-03

      ERP业务平台化是每个软件提供商必须要进行的趋势,传统定制化路线已死,不能走定制化的老路了。以往最大问的题是不能累积和沉淀技术及提升项目业务管理能力,其次是管理与成本很高。关于平台化设计的文章很多,不在一一列举,具体来分析一下实现平台化的技术,因为介绍实际的软件架构技术的文章实在太少。

 

ERP平台化设计基本要素:

1、 业务模块设计(基础平台,以运行业务);

业务模块是业务流程运行的基础,系统在设计前期应先规划业务模块架构体系,就笔者的所设计的系统为例:

  • 基本抽象业务单据模块[客户端单据管理],是所有业务模块的基础,提供业务处理的基本功能。
  •  编辑业务单据模块[编辑单据管理],继承[客户端单据管理],提供增强编辑业务处理功能。
  • 查询统计业务单据模块[查询单据管理],继承[客户端单据管理],提供账表查询、统计分析、图表分析等业务处理功能。
  • 如下图1[业务单据框架继承图],在[编辑单据管理]、[查询单据管理]模块下有多个子继承关系的单据管理模块,就是对不同的业务类型抽象出来的业务单据管理模块。

图1:  业务单据框架继承图

 



2、 业务流程设计(流程为导向驱动业务);

      业务流程:由业务事项产生的源头值到事项结束的过程中所产生的一系列活动业务的组合统称为业务流程。业务流程可界定、可规划事务的逻辑顺序,以流程导向驱动业务节点上的具体事项活动。由此,单据模块离不开业务流程的指引。首先,我们在做流程设计时,要抽象出几大基础业务流程:如销售管理,采购管理,生产制造管理,财务成本管理等,有了这些基础业务流程为主线再展开子流程的分析与规划。

业务流程存储表结构,主从架构,主表为流程基本信息(名称、描述、父节点标识),从表为流程业务节点信息(节点名称、描述、子流程标识、显示位置等信息);如果为了编程方便,还可以设计成一张表,不过增加了数据的冗余。

流程驱动:光有流程图,它还只是一张图,能明示方向但不做事,以流程驱动业务节点事项,才是我们要的关键。在架构上我们可以定义工作流引擎,以业务规则来约束工作流以达到流程驱动。关于工作流引擎在以后的章节会详细论述。

 

3、 业务单据模板设计(业务节点上的实体单据);

      在前面章节介绍过【数据库表设计2】,里面有讲到过,表结构的设计相关因素。那么具体业务单据,基本功能应该都要在单据模块设计中体现出来,统一的单据功能如:审核批流、权限控制、业务规则、打印控制、查询控制、日志记录、关联引用控制、自定义扩展等。实现以上单据管理功能,我们要定义具体的单据模板管理表结构,这个表结构有点复杂,以下为说明示例。

     单据模板信息表:VM_Template业务单据的基本信息(单据标识、业务控制、规则、显示等)

     单据项目表:VM_TemplateItems业务单据的业务数据主从表信息(项目表标识、主/外键标识、业务规则等)

     单据项目字段表:VM_VoucherItems业务单据主从表字段栏目信息(字段信息、UI显示描述、逻辑表达式、格式、录入方式、数据参照引用等)

        

4、 业务单据UI管理设计(单据界面UI管理)

      UI管理,可以单独抽象成一个接口,统一处理如UI事件、动态数据源绑定、数据参照、脚本执行等UI相关功能。因为不同业务类型的单据UI以不同的界面显示,并且还有用户级UI界面控制,UI显示相关数据定义可以放在用户[单据项目字段]表中,用以区分不同用户的UI管理需求。用户UI管理需要注意用户不能看到的字段,要在数据权限管理中控制字段的权限。

 

总结:在程序开发编码创建单据时,可根据单据定义的数据生成各种类型的业务单据,从而达到业务平台化的目的。

 

下篇:系统基础管理(BS)-单据模板设计 待续……

来源:分享ERP  http://www.shareerp.com联系QQ: 908916944

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!