10、ERP设计之系统基础管理(BS)- 平台化设计
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
10、ERP设计之系统基础管理(BS)- 平台化设计的更多相关文章
- ERP设计之系统基础管理(BS)-日志模块设计(转载)
原文地址:8.ERP设计之系统基础管理(BS)-日志模块设计作者:ShareERP 日志模块基本要素包括: 用户会话.登录.注销.模块加载/卸载.数据操作(增/删/改/审/弃/关等等).数据恢复.日志 ...
- 12、ERP设计之 系统基础管理(BS)- 模块与菜单的关联
ShareERP2013-10-03 模块:具有功能设计.权限绑定,链接用户菜单与系统的重要桥梁. 菜单:是用于显示与用户交互的重要入口,更是导航系统的舵手,所以它的设计直接影响到用户体验. 菜单可能 ...
- ERP或PLM系统-物料编码管理的技术实现
1 企业现状 企业日常经营过程中会产生大量的文档,如设计图纸.变更单.计算书.设计方案等,如果是制造企业还会产生大量的产品.组成产品的零部件等物料,这些数据在进入信息系统前都需要有一个唯一的标识,也就 ...
- ERP产品购进系统商品管理(三十三)
购进系统总体架构图: 总体业务: 流程图: 自定义函数: -- Description: 根据渠道编号查询渠道名称 -- ======================================= ...
- 扁平化设计的最新趋势 – 长阴影(Long Shadow)
随着互联网的发展,网页设计变得越来越复杂,如今设计的外观和感觉实现网站功能说使用的开发技术一样重要.互联网的功能远远不只是基本的信息共享,现在人们对网站的期望是远远大于几年前的. 如今,HTML5 & ...
- ERP的基础管理-物料编码
在企业ERP系统中,物料编码管理是所有数据的基础,可以这样说:"没有物料编码就没有ERP".实际上物料编码对于制造类企业供应链管理作用不可说不巨大,影响不可谓不深远,甚至我们在考虑 ...
- 我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- 我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.百度Ueditor编辑器
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- ERP的权限管理的操作与设计--开源软件诞生24
赤龙ERP用户与权限管理讲解--第24篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/re ...
随机推荐
- vc怎么去掉烦人的“驱动器未准备好”错误
在我们写程序的时候,如果访问一个软驱中没有软盘或者光驱中没有cd的时候,windows总是弹出一个恼人的错误框说“驱动器未准备好” 其实我们可以通过如下的步骤禁止这个错误框的弹出 一.用SetErro ...
- Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用
转载请注明出处http://blog.csdn.net/xiaanming/article/details/11380619 这一篇文章主要讲解的是百度地图的定位功能,然后还有MyLocationOv ...
- AngelHack China 2013 招组队成员
AngelHack China 2013 connect me
- quartz 2.1学习(一)
quartz是一种开源任务调度框架,提供了强大的任务调度机制,Quartz允许开发人员灵活地定义触发器的调度时间表,并可对触发器和任务进行关联映射.废话不多说了,介绍一下编程的基本步骤: 实现Job接 ...
- 使用datapump 导出导入同义词(export and import synonym using datapump)
对于同义词的备份我们有多种方式来实现,如直接通过脚本生成同义词的创建脚本,或者使用dbms_metadata.get_ddl来提取同义词的定义脚本.然而在使用传统的exp或是datapump expd ...
- Thinkphp入门三—框架模板、变量(47)
原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display() 调用当前操作名称的模板 display(‘名字’) 调用指定名字的模板文件 控制器调用模板四种方式 ...
- mysql 创建函数set global log_bin_trust_function_creators=TRUE;
<pre name="code" class="html">set global log_bin_trust_function_creators=T ...
- TsFltMgr.sys其原因是,该系统蓝屏QQ计算机管理器!
同事一WindowsXP系统,正常执行,关闭后,第二天无法启动.详细症状为: (1)安全模式以及带网络功能的安全模式都能够进入. (2)正常模式.还没出现WindowXP滚动栏就開始重新启动: (3) ...
- 【翻译】十大要避免的Ext JS开发方法
原文地址:http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/ 作者:Sean Lanktree Sean ...
- Lucene.Net 2.3.1开发介绍 —— 三、索引(六)
原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(六) 2.2 Field的Boost 如果说Document的Boost是一条线,那么Field的Boost则是一个点.怎么理解这个点呢 ...