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)- 平台化设计的更多相关文章

  1. ERP设计之系统基础管理(BS)-日志模块设计(转载)

    原文地址:8.ERP设计之系统基础管理(BS)-日志模块设计作者:ShareERP 日志模块基本要素包括: 用户会话.登录.注销.模块加载/卸载.数据操作(增/删/改/审/弃/关等等).数据恢复.日志 ...

  2. 12、ERP设计之 系统基础管理(BS)- 模块与菜单的关联

    ShareERP2013-10-03 模块:具有功能设计.权限绑定,链接用户菜单与系统的重要桥梁. 菜单:是用于显示与用户交互的重要入口,更是导航系统的舵手,所以它的设计直接影响到用户体验. 菜单可能 ...

  3. ERP或PLM系统-物料编码管理的技术实现

    1 企业现状 企业日常经营过程中会产生大量的文档,如设计图纸.变更单.计算书.设计方案等,如果是制造企业还会产生大量的产品.组成产品的零部件等物料,这些数据在进入信息系统前都需要有一个唯一的标识,也就 ...

  4. ERP产品购进系统商品管理(三十三)

    购进系统总体架构图: 总体业务: 流程图: 自定义函数: -- Description: 根据渠道编号查询渠道名称 -- ======================================= ...

  5. 扁平化设计的最新趋势 – 长阴影(Long Shadow)

    随着互联网的发展,网页设计变得越来越复杂,如今设计的外观和感觉实现网站功能说使用的开发技术一样重要.互联网的功能远远不只是基本的信息共享,现在人们对网站的期望是远远大于几年前的. 如今,HTML5 & ...

  6. ERP的基础管理-物料编码

    在企业ERP系统中,物料编码管理是所有数据的基础,可以这样说:"没有物料编码就没有ERP".实际上物料编码对于制造类企业供应链管理作用不可说不巨大,影响不可谓不深远,甚至我们在考虑 ...

  7. 我是如何一步步编码完成万仓网ERP系统的(五)产品库设计 1.产品类别

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  8. 我是如何一步步编码完成万仓网ERP系统的(六)产品库设计 2.百度Ueditor编辑器

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  9. ERP的权限管理的操作与设计--开源软件诞生24

    赤龙ERP用户与权限管理讲解--第24篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/re ...

随机推荐

  1. Moss、SharePoint数据库迁移问题(转)

    当项目快做完时,大家都要考虑将程序及数据迁移到正式环境部署.但是,如果用SharePoint开发,它会产生很多数据库,到底哪些需要迁移,哪些不需要迁移了?? 请看: 1.配置完成SharePoint后 ...

  2. Qt 中文乱码解决大全

    源地址:http://blog.csdn.net/xcy2011sky/article/details/7168376 解决中文乱码,最好知道乱码是什么格式比如说:utf-8. 解决方案: 1.让整个 ...

  3. LINUX 命令行编辑

    向          <-前               后 -> 删除 ctrl + d      删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h      删除光标 ...

  4. Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO

    距离上次发布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了,最近利用空闲时间,把今日头条客户端完善了下.完善的功能一个一个全部实现后,就放整个源码.开发的进度就是按 ...

  5. 关于如何解决谷歌Chrome浏览器空白页的问题

    谷歌Chrome浏览器突然不打开任何网页,无论是任何站点(如http://www.baidu.com), 还是Chrome浏览器的设置页面(chrome://settings/), 扩展页面 ( ch ...

  6. 如何在Linux上检查SSH的版本(转)

    SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00). 事实上,SSH1和SSH2是两个完全不同互不兼容的协议.SSH2明显地 ...

  7. 使用 boost 进行 CRC32 校验

    使用 boost 进行 CRC32 校验 - firebird321的专栏 - 博客频道 - CSDN.NET 使用 boost 进行 CRC32 校验 分类: 文件操作 2008-06-06 18: ...

  8. Flash Builder 条件编译的实现

    最近项目需要开发多个版本,  而Flash又没有像C++ 那样的 #ifdef,  来让一套代码支持多个版本的编译发布; 经过研究, 终于知道Flash Builder如何支持条件编译: 1. 在项目 ...

  9. 百度地图js版定位控件

    一 概述 百度地图在最新版已加入浏览器定位控件,个人认为应该是既高德地图更新了一个浏览器也能定位功能后,百度不甘落后自己简简单单,草草写了个这个功能的定位控件 GeolocationControl 这 ...

  10. android onKeydown

    package wyf.ytl; import android.app.Activity; import android.content.Context; import android.os.Bund ...