散分:倾听你的建议:工作流数据库设计

sky9705 2004-12-31 08:44:09
企业工作流管理中数据库设计相关
我先举个例子:比如一个贸易公司的订单,在包装印刷方面
1.包装设计完成 2.印刷完成 3.送达工厂
这里可包括,细项有
包装设计可分如下:
1.下达包装设计任务 2.设计提交3.设计确认(驳回重来)
印刷可分
4.通知印刷开始,5.印刷样品确认(收到印刷样品及确认) 6.通知印刷厂7.印刷完成 8.收到成品
送达工厂:
9.送出印刷品 10.工厂收到。

我只是例举了其中的一个小小的例子,即使在其中的一个细项下面还有很多个子类工作,而且这样不能确定什么时候他们要加一项工作,这些工作有的有前后关系,有的没有。
我在数据库设计的时候头就晕了。。如何表达这种前后关系和子类关系,
1.按照关系型数据库结构设计的方法,可能要建立N多个表,
2.使用特殊编码格式,固定可扩展的字符编码集,比如每一个事件都有唯一代码,比如01代表一件事,继承关系的事件使用0101,0102,再小的使用010101这样来分,中间有插入子工作,在后面加01->01010101
不知道大家在做数据过程中如何表达这种关系,诚心请求你的答复,帮我灌水亦可。
分我不会吝惜,不够再加。
...全文
940 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nintha 2005-08-25
  • 打赏
  • 举报
回复
up
profession999 2005-08-23
  • 打赏
  • 举报
回复
eprint自定义打印是一个页面套打工具.它直接在IE浏览器中可视化的设计各种复杂的打印模版,
能够解决在IE浏览器中打印各种复杂的中国式报表及票据。详见: http://218.30.103.110:8080/eprint/index.htm


方成eform表单开发,纯BS结构.100%开放源码.可以在 http://218.30.103.110:8080/eform/index.html 在线试用.

gdman 2005-03-23
  • 打赏
  • 举报
回复
可以学习一下wfmc规范,就明白了。
你只需要做WorkFlow Engine和WorkFlow define就可以了,注意一下你的流程启动方式,最少要分为手动(用户自行启动流程)和自动(程序启动流程)就可以实现多流程处理。
foreversoft 2005-03-03
  • 打赏
  • 举报
回复
一张表内存放不断增长的业务状态标志
序号 业务状态描述
1 包装设计完成
2 印刷完成
3 ...
. ...
. ...
. ...

业务基本信息表内加一个流程状态字段
值为:01100010...

点到为止,还用具体说明吗? 接分!
thisisnet 2005-02-24
  • 打赏
  • 举报
回复
我当初是这么做的,简单说一下望大家批评指正~!
可以把具体业务中的每一步都作为一个节点。这个节点的结构如下

节点ID + 节点名称 + 父节点ID + 子节点ID + 驳回节点ID + 层数 + 排序ID + 类别ID

所有的节点会构成一个链式结构或树型结构。此时要注意业务的复杂性,因为有些业务模型需要从中间退出或开始的,具体的模型图,这里没法帖,你打开Google 搜索“范玉顺”看看就知道了。

这样,一个节点的内容基本固定了,需要在库里构建两张表
一个是工作流表(模版表)另一个就是工作流的实例表。
创建一个工作流就在模版表里插入记录。使用的时候,读出这个类别的所有记录,在实例表中形成一个工作流实例,这样做的目的就是在使用这个类别的流程的时候,还可以按照不同部门的情况进行相应的调整。

比如说一个,请假流程,开发部和业务部的流程可能有一点不同,这样,就可以在形成实例的时候,由使用者调整实例工作流,而保留了原先的模版。当然你也可以把每个流程作为一个新的来看,但是在使用中无法做到动态调整。

大熊猫侯佩 2005-02-23
  • 打赏
  • 举报
回复
那就灌水吧
yizhixiaozhu 2005-02-23
  • 打赏
  • 举报
回复
dd
zhuhao081 2005-02-21
  • 打赏
  • 举报
回复
工作流配置本身是一个比较烦杂的过程,如果你能实现一些基本的流程配置,再加上一些程序额外的修改,基本上能够说是一种工作流,这是一个初步的开发。
更进一步,要达到wfmc的要求,那请多多研读WFMC发布的文档
zhuhao081 2005-02-21
  • 打赏
  • 举报
回复
如果你仅仅是实现你上述的功能,你只要在你设计的表中,加入一个审批的字段,记录审批的信息,如审批状态、审批人,审批时间,审批内容,基本上可以达到要求,再在程序中加以修改你的审批状态。每一次审批,进行记录审批的信息,就可以了。
zhuhao081 2005-02-21
  • 打赏
  • 举报
回复
工作流设计,并非你上面所描述的情况。
你那只是一个子过程,
工作流可以实行配置,根据业务的要求,客户自己进行配置。
hlost 2005-01-26
  • 打赏
  • 举报
回复
设计的基本思路有问题
工作流设计的时候要抽象业务
dutousuan 2004-12-31
  • 打赏
  • 举报
回复
工作流应该是与业务基本无关的,你可以在上面创建任何工作流程,而创建的流程是一套流程的模板,真正的具体工作流程只是该模板的一个实例,这样建库才能跑的下去
一共两个压缩分卷,这是第二个分卷 第ⅰ部分 让领域模型发挥作用. 第1章 消化知识 5 1.1 有效建模的因素 9 1.2 知识消化 10 1.3 持续学习 11 1.4 知识丰富的设计 12 1.5 深层模型 15 第2章 交流及语言的使用 17 2.1 通用语言 17 2.2 利用对话改进模型 22 2.3 一个团队,一种语言 24 2.4 文档和图 25 2.4.1 书面的设计文档 27 2.4.2 执行的基础 29 2.5 说明性模型 29 第3章 将模型和实现绑定 32 3.1 模型驱动设计 33 3.2 建模范型和工具支持 36 3.3 突出主旨:为什么模型对用户很关键 41 3.4 实践型建模人员 43 .第ⅱ部分 模型驱动设计的构建块 第4章 分离领域 47 4.1 分层架构 47 4.1.1 层间的联系 51 4.1.2 架构框架 51 4.2 模型属于领域层 52 4.3 其他种类的隔离 55 第5章 软件中的模型描述 56 5.1 关联 57 5.2 实体(又称引用对象) 62 5.2.1 实体建模 65 5.2.2 设计标识操作 66 5.3 值对象 68 5.3.1 设计值对象 71 5.3.2 设计包含值对象的关联 73 5.4 服务 74 5.4.1 服务和分隔的领域层 75 5.4.2 粒度 77 5.4.3 访问服务 77 5.5 模块(包) 77 5.5.1 敏捷的模块 79 5.5.2 基础结构驱动打包的缺陷 80 5.6 建模范式 82 5.6.1 对象范式的优势 82 5.6.2 对象世界中的非对象 84 5.6.3 在混合范式中使用模型驱动设计 85 第6章 领域对象的生命周期 87 6.1 聚合 88 6.2 工厂 96 6.2.1 工厂及其应用场所的选择99 6.2.2 只需构造函数的情况 101 6.2.3 接口的设计 102 6.2.4 如何放置不变量的逻辑 103 6.2.5 实体工厂与值对象工厂 103 6.2.6 存储对象的重建 103 6.3 仓储 105 6.3.1 查询仓储 109 6.3.2 了解仓储实现的必要性 111 6.3.3 实现仓储 111 6.3.4 在框架内工作 113 6.3.5 与工厂的关系 113 6.4 为关系数据库设计对象 115 第7章 使用语言:扩展示例 117 7.1 货物运输系统概述 117 7.2 隔离领域:系统简介 119 7.3 区分实体和值对象 120 7.4 运输领域中的关联设计 121 7.5 聚合的边界 123 7.6 选择仓储 124 7.7 场景概述 125 7.7.1 应用特性示例:改变一件货物的目的地126 7.7.2 应用特性示例:重复业务126 7.8 对象的创建 126 7.8.1 cargo的工厂和构造函数 126 7.8.2 添加一个handling event127 7.9 停下来重构:cargo聚合的另一种设计 129 7.10 运输模型中的模块 131 7.11 引入新特性:配额检查 133 7.11.1 连接两个系统 134 7.11.2 改进模型:划分业务 135 7.11.3 性能调整 137 7.12 小结 137 第ⅲ部分 面向更深层解的重构 第8章 突破 143 8.1 关于突破的故事 144 8.1.1 中看不中用的模型 144 8.1.2 突破 146 8.1.3 更深层的模型 148 8.1.4 冷静的决定 149 8.1.5 成效 150 8.2 时机 150 8.3 着眼于根本 151 8.4 尾声:一连串的新理解 151 第9章 隐含概念转变为显式概念 153 9.1 概念挖掘 153 9.1.1 倾听表达用语 154 9.1.2 检查不协调之处 157 9.1.3 研究矛盾之处 162 9.1.4 查阅书籍 162 9.1.5 尝试,再尝试 164 9.2 如何建模不太明显的概念 164.. 9.2.1 显式的约束 165 9.2.2 作为领域对象的流程 167 9.2.3 规格 168 9.2.4 规格的应用和实现 171 第10章 柔性设计 184 10.1 释意接口 186 10.2 无副作用函数 190 10.3 断言 194 10.4 概念轮廓 197 10.5 孤立类 201 10.6 操作封闭 203 10.7 声明性设计 205 10.8 一个声明性风格的设计 207 10.9 攻击角度 215 10.9.1 切分子领域
一共两个压缩分卷,这是第一个分卷 第ⅰ部分 让领域模型发挥作用. 第1章 消化知识 5 1.1 有效建模的因素 9 1.2 知识消化 10 1.3 持续学习 11 1.4 知识丰富的设计 12 1.5 深层模型 15 第2章 交流及语言的使用 17 2.1 通用语言 17 2.2 利用对话改进模型 22 2.3 一个团队,一种语言 24 2.4 文档和图 25 2.4.1 书面的设计文档 27 2.4.2 执行的基础 29 2.5 说明性模型 29 第3章 将模型和实现绑定 32 3.1 模型驱动设计 33 3.2 建模范型和工具支持 36 3.3 突出主旨:为什么模型对用户很关键 41 3.4 实践型建模人员 43 .第ⅱ部分 模型驱动设计的构建块 第4章 分离领域 47 4.1 分层架构 47 4.1.1 层间的联系 51 4.1.2 架构框架 51 4.2 模型属于领域层 52 4.3 其他种类的隔离 55 第5章 软件中的模型描述 56 5.1 关联 57 5.2 实体(又称引用对象) 62 5.2.1 实体建模 65 5.2.2 设计标识操作 66 5.3 值对象 68 5.3.1 设计值对象 71 5.3.2 设计包含值对象的关联 73 5.4 服务 74 5.4.1 服务和分隔的领域层 75 5.4.2 粒度 77 5.4.3 访问服务 77 5.5 模块(包) 77 5.5.1 敏捷的模块 79 5.5.2 基础结构驱动打包的缺陷 80 5.6 建模范式 82 5.6.1 对象范式的优势 82 5.6.2 对象世界中的非对象 84 5.6.3 在混合范式中使用模型驱动设计 85 第6章 领域对象的生命周期 87 6.1 聚合 88 6.2 工厂 96 6.2.1 工厂及其应用场所的选择99 6.2.2 只需构造函数的情况 101 6.2.3 接口的设计 102 6.2.4 如何放置不变量的逻辑 103 6.2.5 实体工厂与值对象工厂 103 6.2.6 存储对象的重建 103 6.3 仓储 105 6.3.1 查询仓储 109 6.3.2 了解仓储实现的必要性 111 6.3.3 实现仓储 111 6.3.4 在框架内工作 113 6.3.5 与工厂的关系 113 6.4 为关系数据库设计对象 115 第7章 使用语言:扩展示例 117 7.1 货物运输系统概述 117 7.2 隔离领域:系统简介 119 7.3 区分实体和值对象 120 7.4 运输领域中的关联设计 121 7.5 聚合的边界 123 7.6 选择仓储 124 7.7 场景概述 125 7.7.1 应用特性示例:改变一件货物的目的地126 7.7.2 应用特性示例:重复业务126 7.8 对象的创建 126 7.8.1 cargo的工厂和构造函数 126 7.8.2 添加一个handling event127 7.9 停下来重构:cargo聚合的另一种设计 129 7.10 运输模型中的模块 131 7.11 引入新特性:配额检查 133 7.11.1 连接两个系统 134 7.11.2 改进模型:划分业务 135 7.11.3 性能调整 137 7.12 小结 137 第ⅲ部分 面向更深层解的重构 第8章 突破 143 8.1 关于突破的故事 144 8.1.1 中看不中用的模型 144 8.1.2 突破 146 8.1.3 更深层的模型 148 8.1.4 冷静的决定 149 8.1.5 成效 150 8.2 时机 150 8.3 着眼于根本 151 8.4 尾声:一连串的新理解 151 第9章 隐含概念转变为显式概念 153 9.1 概念挖掘 153 9.1.1 倾听表达用语 154 9.1.2 检查不协调之处 157 9.1.3 研究矛盾之处 162 9.1.4 查阅书籍 162 9.1.5 尝试,再尝试 164 9.2 如何建模不太明显的概念 164.. 9.2.1 显式的约束 165 9.2.2 作为领域对象的流程 167 9.2.3 规格 168 9.2.4 规格的应用和实现 171 第10章 柔性设计 184 10.1 释意接口 186 10.2 无副作用函数 190 10.3 断言 194 10.4 概念轮廓 197 10.5 孤立类 201 10.6 操作封闭 203 10.7 声明性设计 205 10.8 一个声明性风格的设计 207 10.9 攻击角度 215 10.9.1 切分子领域

241

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧