开源OA系统启动:基础数据,工做流设计

原文:http://www.cnblogs.com/kwklover/archive/2007/01/13/bpoweroa_03_baseandworkflowdesign.html
自从开源OA系统启动:系统概览放 出来后。园友们反馈了一些不错的建议。主要集中在工做流部分。原本是先不考虑工做流部分。这些天的交流和思考。决定把工做流部分做为系统基础结构贯穿整个 系统。因此先考虑了这个部分的设计,由于这部分的设计是否合理关系到整个系统是否能够继续和是否有实际价值的问题。本身不敢专断专行。特放出来。让你们拍 拍砖。期待各位园友一如即往提供专业意见!

原本打算用尝试用MindManager画个思惟导向图的,不过down了N久都没down下来,也就作罢了。
1,基础部分数据库设计。
  OA基础部分数据库设计.gif
下面说一下"页面(功能项)表"的设计,由于其余的比较简单。经过关系图已经能够完整表达个人设计意图:
我这样设计是但愿系统具备必定的自定义组装能力,因此把设计的权限控制粒度细到页面级的添,删,改,查的和局部的用户级,抽出页面(功能项)表解释下,
   1),启用审批流程:页面(基本等同于一个具体功能项,或者表明某项业务需求,下同),这个功能项是否须要进入审批流程;若是设置“是”则须要自定义相应的工做流程(下面会讲到);
   2),启用填加控制:这个设置决定在配置用户权限的时候的细化程度。若是为“启用”,则在配置用户权限的时候,能够控制改功能项那些用户能够填加,那些不 能够。反之。则全部用户都可以。固然该用户必须具备功能项级的权限。其余的。启用修改,版本控制,浏览,删除等相似;
   3),仅本身:这个选项对启用填加,修改,浏览,删除控制均有影响。若是为“是”,则在配置用户权限的时候,能够附加选项“仅本身”,若是配置用户权限的时候“仅本身”为“是”,那么该用户只能修改,编辑,删除,浏览本身填加的数据,反之。则无限制。

页面(功能项)表为用户权限配置的时候提供可选参数,为系统配置提供服务。而权限表是具体的用户权限设置。为控制用户权限服务;

2,工做流数据库设计:
也就是说,系统自身实现简单实用的工做流引擎而非采用好比wwf等的workflow enginee:
OA工做流数据库设计.gif
工 做流部分基于功能项和节点的组合。若是功能项(页面)被配置为启用审批流程。那么须要设置相应的自定义流程。多个“节点”构成一个完整的流程。节点的先后 顺序结构在数据库设计中以“树结构”来体现。每一个“节点”可配置多个相关人员。经过“是否需全体经过”来控制该流程节点等待全部人员都审批经过才进入下一 节点。仍是只须要其中审批经过就进入下一节点。

考虑到系统的定位。没有采用基于“岗位流转”的工做流设计,而采用了基于“人员流转”的工做流设计。
html

相关文章
相关标签/搜索