3

我们有一个令人惊讶的复杂工作流程,需要由具有内部 web 应用程序的准技术员工监控。大约有 30 个步骤,其中一些是手动的(编辑),一些是半自动的停止点(例如“文件已收到”或某些模板的客户批准),还有一些是完全自动化的(文件转换、搜索索引、 ETC)。所有这些步骤的流程图都很大而且很复杂,三个人可能同时处理三个完全不同的步骤。

您将如何尽可能有效地向您的用户展示如此大量的信息?仅显示整个图表似乎是蛮力解决方案。但它很大,随着我们做更多的事情,它可能会变得更大。更不用说用 HTML 编码整个图表所需的复杂性了。

替代文字

4

7 回答 7

5

我假设您不想仅仅为了娱乐或嘲笑而展示这些,而是​​一路帮助用户,尽可能自动化,记录流程等。如果您清楚地定义应用程序的目标或目的,这可能会有所帮助.

除了“调试业务规则”或者客户可能希望看到它之外,我看不到展示整个工作流程的意义。

如果您的目标是帮助用户完成他们的工作,我会介绍“项目”(或任何更适合的术语)所处的状态,以及可能过渡到其他状态的状态。

状态可能是多个主要是自变量,例如,一个可能描述内容的进度 - 例如“不完整”/“完成”/“由第二名员工审核”/“由第二名员工签署”,其他可能包含制定的时间表同时,例如“测试打印日期 = 未计划”、“打印日期 = 未计划”、“最终交付 = 明天,最好是昨天”。

转换可能是“发送给客户进行审核”、“标记为内容完整”、“内容已修改”等。

这是你的想法吗?

于 2010-08-28T06:30:18.310 回答
3

我建议将您的工作流程划分为模块并代表每个模块的活动状态

模块是主要工作流程的子集。例如,它可以按任务、人员、角色、部门等进行划分。这将大大简化工作流的表示。假设有人在许多关键时刻负责数据输入。我们可以将他的所有任务分组到一个包含相同活动、输入、输出和条件的模块(或子工作流程)中。模块可以是相互依赖和相关的。

状态是我们在模块中所处的位置。在简单的工作流程中,只有一个活动任务。在现实生活中,我们是多线程的!因此,也许在一个模块中,许多状态可以同时处于活动状态。该状态还包括活动输入、输出和内存位。

输入是执行用于评估布尔条件的活动所需的东西它可能是一份文件、一段数据、一个信号……

输出是任务产生的结果:信息、文档、信号……

定义够了吗?

然后只需将您的工作流程转换为LADDER LOGIC,您就有了自己的状态!
参见维基百科上的梯形逻辑定义

您只显示活动状态:

  • 模块的活动任务
  • 需要输入/确认输入
  • 需要的输出/实现的输出
  • 继续的条件

看起来很抽象?

这是一个小例子......

Janet 在系统中输入数据。她管理图表的绿色任务。我们只关注她的工作,而不是其他任务。她知道如何完成工作流程中的 16 项任务。我们正在等待她继续执行以下操作,她的 Intranet 仪表板显示:

优先级 1:您必须发送采购订单以根据销售报告为下个月订购足够的铅笔。

  • 任务:发送采购订单
  • 输入:营销部门的预测报告
  • 输出:采购订单、供应商、项目、数量
  • 完成条件:已发送订单并收到供应商的订单确认

优先级2:您必须将生产拒绝的橡皮擦数量输入金融系统

  • 任务:数据输入
  • 输入:拒绝生产计数
  • 输出:拒绝数量
  • 完成条件:数据输入并确认

我们对具有数十万阶梯步骤的自动化生产系统进行了大量故障排除(工作流程太复杂而无法整体表示)。当系统被阻塞时,我们查看每个模块并确定激活任务完成缺少哪些输入。

祝你好运!

于 2010-09-03T01:55:41.520 回答
1

这听起来像是BPEL适合的那种应用程序。

当然,您现在不想重新设计您的系统。但是有许多 BPEL 实现,其中一些包括图形编辑工具。其中之一可能会对您当前的情况有所帮助,因为它们擅长处理范围和隐藏细节。因此,我认为您可能会从将工作流绘制为 BPEL 图表中受益,即使您不使用该语言做任何其他事情。

Wikipedia 页面列出了几个可用的实现。此外,Oracle 的 JDeveloper IDE 包括一个 BPEL Diagrammer 作为其 SOA 套件的一部分;不幸的是,它不再是标准安装的一部分,但它仍然可用。 了解更多

于 2010-07-15T15:40:58.080 回答
1

尝试分层进行。您已经完成了最详细的层,现在添加隐藏细节的附加文档,并分组到更高级别的业务流程中。用户应该能够安全地忽略其中一些细节,但了解他们的部分如何融入整体对他们来说是件好事。

您可能需要多个更高级别的文档。

于 2010-09-01T16:52:15.027 回答
1

您可以使用Prezi以清晰的方式将此信息呈现给用户。

  • 将工作流程拆分并呈现为多个阶段,以便最终用户能够轻松识别他当前所处的阶段。
  • 显示与输入数量一样多的相数。工作流程从 6 个不同的输入开始,因此在屏幕上显示六个不同的按钮,使用户能够选择他想要的输入。
  • 选择按钮放大描述后续步骤的工作流程。这也将帮助用户验证他到目前为止所做的操作以达到当前状态。

这也将帮助用户验证他到目前为止所做的操作以达到当前状态。但是随着用户完成的步骤数量的增加,这种呈现方式对于用户来说可能会变得很麻烦。假设用户几乎已经完成了工作流程。为了检查下一步,他应该完成所有可能让用户感到沮丧的步骤。

为避免这种情况,您可以按时间顺序将完整的工作流程分成 3-5 个阶段。阶段应按逻辑划分。最终目标是不要让完整的工作流程让用户不知所措。如果按照您展示的方式呈现,我个人会尽量避免涉及此工作流程的任务。没有冒犯的意思。我打赌你也有同感。

如果您可以在用数字替换州名后重新发布图片,可以为您提供更好的图片。

于 2010-09-03T05:45:50.903 回答
0

如何展示一个工作流场景的示例,即展示一个可能通过工作流的转换?您可以针对特定的用户配置文件进行调整并突出显示相关状态,使其他状态变暗。这使他们可以通过查看现实生活中的示例来清楚地了解过渡。

于 2010-09-03T12:51:45.323 回答
0

我建议将整个流程记录在某个地方,但就分发给用户的内容而言,关注面向任务的流程怎么样?没有一个用户会对我想象的整个过程负责。
例如,假设我有 2 个角色,A 和 B,以及 6 个任务,1 到 6,按顺序执行。每个任务可能有多个步骤,但都是独立的(例如下载文件、查看、运行流程、再次查看、上传)。A 执行偶数任务,B 执行奇数任务。
A 需要了解包含任务 2、4 和 6 的详细步骤,但不需要了解 1、3 和 5 中发生的情况。因此,为 A 提供他负责的任务的详细流程集,以及将每个任务视为黑匣子的图表。如果无法以这种方式将流程模块化,您可能需要查看流程本身以了解它为何如此复杂。

于 2010-09-01T15:57:59.510 回答