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 ...
随机推荐
- IOS开发之UIView的基本使用
一.视图 1. iphone手机上的窗口就是UIWindow类的一个实例(1个手机应用只有一个UIWindow). 2.UIView类用于实现视图. UIView提供了方法来添加和删除子视图.一个视图 ...
- 技术回归01-Windows内存分配工具
很久没有写技术方面的东西了,这半年主要是在学习别人的东西,对自己提高比较大,算是一次技术回笼吧,这次学习之旅目的是结束技术方面的专注,开始向应用方面找突破口,也就是完成技术积累或者为技术的积累做坚实的 ...
- 在Centos 5.4上安装Mysql5.5.10 (整理以前的工作文档)
1. 安装环境 1.1. 目的 安装Mysql5.5.10服务,提供公司XXXX测试环境.正式环境也采用该版本的mysql 1.2. 硬件环境 PC机:IntelE5300 内存4G 硬盘5 ...
- MFC为应用程序添加托盘(右键托盘,弹出菜单)
源代码:http://download.csdn.net/detail/nuptboyzhb/4137784 1. 导入一个托盘图标的资源(.ico)格式:资源ID为IDI_ICON1 2 ...
- POJ 2594 Treasure Exploration(最小路径覆盖变形)
POJ 2594 Treasure Exploration 题目链接 题意:有向无环图,求最少多少条路径能够覆盖整个图,点能够反复走 思路:和普通的最小路径覆盖不同的是,点能够反复走,那么事实上仅仅要 ...
- Keepalived安装工具
装keepalived前,要先检查主机上是否已经安装, ps -ef | grep keepalive 不检查的话.easy把前人装的东西覆盖掉,那么曾经弄的配置文件都没了比較麻烦. 下面都为root ...
- Git 图解剖析(转)
git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的bl ...
- Main Memory Object-Relational Database Management System
Main Memory Object-Relational Database Management System FastDBMain Memory Relational Database Manag ...
- Delphi透明组件开发(去掉自己的csOpaque,去掉父控件的WS_CLIPCHILDREN,增加WS_EX_TRANSPARENT,截获WM_ERASEBKGND,然后在WM_DRAWITEM里画) good
透明的控件, 一般继承自TGraphicControl的(就是那些没有handle属性, 不能有focus的控件, 如image)都有Transparent属性. 对TWinControl类的控件, ...
- QT插件开发方式(没看懂)
创建一个QT的库项目,删除自动生成的.h和.cpp文件,添加一个接口定义.h文件和一个接口实现类(一个.h一个.cpp).代码如下: 1.接口文件源码 #ifndef PLUGININTERFACE_ ...