我建议将您的工作流程划分为模块,并表示每个模块的活动状态。
A 模块是您主要工作流程的子集。例如,它可以按任务,人员,角色,部门等进行划分。这将大大简化工作流程的表示。让我们说在许多关键时刻有人负责数据输入。我们可以将他的所有任务分组到一个模块(或子工作流程)中,其中包含相同的活动,输入,输出和条件。模块可以是相互依赖的和相关的。
A 状态是我们位于模块中的位置。在简单的工作流程中,只有一个活动任务。在现实生活中,我们是多线程的!所以也许在一个模块中,很多状态可能同时处于活动状态。该状态还包括有效的输入,输出和存储位。
输入是执行评估布尔条件的活动所需的东西。这可能是一个文件,一个数据,一个信号...
的输出东西从任务产生:信息,文档,信号...
足够的定义是什么?
然后,只需将您的工作流程转换为LADDER LOGIC,并且您拥有自己的国家!
See Ladder Logic definition on Wikipedia
你只显示活动状态:
- 活动任务(或多个)用于模块所需
- 输入/输入确认
- 所需输出/输出实现
- 条件继续
似乎是抽象的?
这是一个小例子...
珍妮特在系统中输入数据。她管理图表的绿色任务。我们只关注她的工作,而不是其他任务。她知道如何在工作流程中完成16项任务。我们正在等待她继续执行以下操作,并且她的Intranet控制面板显示:
优先级1:您必须根据销售报告发送采购订单,为下个月订购足够的铅笔。
- 任务:发送采购订单
- 输入:PO,供应商,项目,数量
- 条件完成:订单发送,并从供应商收到订单确认市场部门
- 输出预测报告
优先级2:您必须进入金融体系由生产
012拒绝橡皮擦的数量
- 任务:数据录入
- 输入:从生产
- 输出拒绝计数:不合格品数
- 条件完成日期:输入和确认
数据我们做了很多故障排除上的自动化生产系统具有数十万个阶梯步骤(工作流程太复杂,无法用整体表示)。当系统被阻止时,我们查看每个模块并确定缺少激活任务完成的输入。
祝你好运!
当你说“托管”你是什么意思。是否期望这些用户将被要求修改工作流或仅监视/报告工作流组件? – Kane 2010-07-15 14:42:16
这只是监视状态并重新启动失败的步骤。当步骤失败时,用户会修复此应用以外的问题,然后他们会回到这里并重新运行失败的步骤。 – Plutor 2010-07-15 14:44:14