设计一个mysql工作流数据库

发布于 2024-10-31 11:27:18 字数 314 浏览 1 评论 0原文

我正在编写一个简单的问题跟踪系统。我需要知道如何设计一个允许动态工作流程的数据库。

员工将在这些系统中提出请求。此类请求从一个办公室转移到另一个办公室。例如,问题 x 工作流程可能如下:

  1. 员工发布了一个问题,我已为其定义了类别
  2. 该问题被路由到工作流程中定义的第一个部门
  3. 批准后,它被路由到工作流程中定义的第二个部门

我已经有问题、问题类别、部门的表格 所以我想知道如何实现一个与部门相关的工作流程表以及如何在批准后转发到下一个表。

抱歉问了这么长的问题。欢迎提出建议、指导方针、要求澄清。

I am writing a simple issue tracking system. I need to know how I can design a database allowing for dynamic workflows.

Employees will make requests in these system. Such requests move from office to office. For example an issue x workflow could be as follows:

  1. The employee posts an issue for which I have defined a category
  2. The issue is routed to the first department defined in the work flow
  3. After approval, it is routed to the second department defined in the workflow

I already have tables for issues, issue_category, departments
so I want to know how to implement an workflow table related to the departments and how to forward to the next table after approval.

Sorry for the long winded question. suggestions, guidelines, request for clarification welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

热血少△年 2024-11-07 11:27:18

不编写系统比编写系统花费的时间更少。

您研究过现成的工作流程系统吗?有很多 BPM 解决方案可以很好地完成您所描述的任务。

问题跟踪?您是否考虑过仅使用 JIRABugzilla 或类似的东西?

如果您的目的是学习如何编写工作流系统,那就去吧。但如果您打算将解决方案投入生产以供更广泛的受众使用,请注意其他可能性。

我会暂时忘记表格,只是以更抽象的方式思考问题。我在您的声明中看到了许多有意义的实体:

  1. 工作流
  2. 任务
  3. 员工
  4. 部门

我还想象了一些可能在您的解决方案中有用的其他项目:

  1. 每个员工接受并优先考虑传入任务的队列
  2. 允许计算机和人类消费者使用任务的机制插入系统
  3. 审计功能 跟踪任务如何流动以实现合规性和调试目的
  4. 警报机制 通知用户任务已完成
  5. 调度程序 允许定期添加任务

您有很多想法在你开始考虑表格之前就先做这件事。我建议先这样做。

这是一个很大的问题。如果您是为其他人做这件事,请确保所有各方都了解他们正在做什么。

Not writing a system takes less time that writing one.

Have you looked into off-the-shelf workflow systems? There are lots of BPM solutions out there that will do what you're describing very nicely.

Issue tracking? Have you thought about just using JIRA or Bugzilla or something like that?

If your purpose is to learn how to write a workflow system, go for it. But if you're intending to put a solution into production for a wider audience be aware of other possibilities.

I'd forget about tables for a while and just think in a more abstract way about the problem. I see a number of meaningful entities in your statement:

  1. workflow
  2. task
  3. employee
  4. department

I also imagine some other items that might be useful in your solution:

  1. queue for each employee to accept and prioritize incoming tasks
  2. a mechanism for allowing both computer and human consumers of tasks to plug into the system
  3. an auditing capability to track how tasks flow through for compliance and debugging purposes
  4. an alerting mechanism to notify users that a task has been completed
  5. a scheduler to allow tasks to be added on a regular basis

You have a lot of thinking to do before you even begin thinking about tables. I'd recommend doing that first.

This is a very big problem. If you're doing this for someone else, make sure that all parties understand what they're getting into.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文