【问题标题】:How to design a software workflow chart? [closed]如何设计软件工作流程图? [关闭]
【发布时间】:2018-04-13 22:37:45
【问题描述】:

我已经工作了一段时间,但由于我以前的习惯,我从来没有系统地工作过。

从未为我的软件创建过流程图,因为我没有为软件的工作方式创建工作流程图,而是直接开始工作,这反过来又导致了很多问题。


以下是我目前需要帮助的一个小情况:-

注意:我已经创建了一个软件,它执行以下操作并且我不需要任何代码,我只是想知道如何为这种情况创建了流程图

1) Party List :这是我想存储客户所有信息的地方。

2) 销售:在这里我会将我的产品卖给客户。

这里有 2 个案例,每当客户到达时,我们都可以选择

  • 要么保存在派对列表中,然后从销售表单的列表中选择它

  • 或手动输入然后保存

现在是检查部分:-

如果在选中复选框并且用户选择了派对时,Sales 中保存了条目,假设“Akhmed”已保存并且用户尝试删除Party List 表单中的“Akhmed”记录,则软件不应允许它作为“Akhmed”的条目这样做已存在于Sales中。


谁能告诉我如何为这种情况创建工作流程图?

编辑

这是我在阅读了一些文章后所做的示例工作流程,请指出可以对其进行的任何改进,或者它是完全错误的还是什么。

【问题讨论】:

  • 你能澄清一下“工作流程”的目的是什么吗?目标受众是谁?答案将影响所需的详细程度以及您是否正在寻找流程流、数据流、逻辑流或其他方式。 (例如参见conceptdraw.com/How-To-Guide/flowchart-types
  • @MattClarke 很抱歉回复晚了,我正在寻找一个流程图,其中包含有关软件应如何工作的所有细节,因此该软件是错误的。你知道如何制作这样的图表或任何其他可能帮助我实现这样的事情的信息

标签: algorithm logic workflow software-design


【解决方案1】:

首先,很好的问题。我希望所有软件工程师在开始编写代码之前先考虑一下。尤其是当它是关于比几行有趣的事情更严肃的事情时。

我认为您的软件流程可以表示为活动图。这张图表示一个活动图的例子:https://www.tutorialspoint.com/uml/images/uml_activity_diagram.jpg

基本上,活动图是连接它们的步骤和转换(箭头)的组合。步骤可以只是流程中发生的事情,也可以是逻辑运算符(决策),将流程执行分支到不同的方向。

如果您还需要强调谁需要执行该步骤,除了仅显示步骤是什么之外,您还可以在活动图中添加泳道(显示演员姓名的水平或垂直列)。这就是它变成流程图的地方。例如在这张图片上,你可以看到水平游泳飞机解释谁执行步骤http://static1.creately.com/blog/wp-content/uploads/2011/11/Support-Process-Flowchart-Template-1024x613.png

请注意,术语可能因人而异,但这些是我自己最常听到和使用的这两种图表的名称。

还有其他类型的图表,但我认为您的具体案例将包含在上面提到的图表中。虽然......用例图可能是您可能感兴趣的东西,但这并没有描述步骤。那只会提到演员以及他们可以对您的系统执行哪些操作。例如https://sourcemaking.com/files/sm/images/uml/img_32.jpg

您没有要求工具,但我通常更喜欢使用严谨的工具(而不是像 Visio 那样松散的工具),所以我建议使用 WhiteStarUML。它是免费的,而且做得很好。但正如我所说,它严格基于 UML,因此需要对 UML 有一定的了解。

最后,关于您所附的图片: 您展示的内容看起来像是一个带有一些非法组件的活动图(从 UML 规范的角度来看是非法的)。是好还是坏? - 要看。如果它应该是一个严格的 UML 图,那就不好了。如果它只是一个想法的草图 - 还不错。

您的图表提到了数据库符号(称为“DB”)和连接到它的箭头。这在活动图 UML 上是非法的。相反,您可以执行“数据保存到数据库”的步骤,然后删除“数据库”。此外,您只有一个步骤,上面写着“Party”和“Sales”——这不是合法的 UML。我认为您试图表达有 2 个流程。在这种情况下,只需使用 2 个不同的活动图而不是一个。

【讨论】:

  • 感谢朋友的回答,我想问一下我的草图(我的图表)中提到了什么样的非法组件,我正计划为自己制作一个新工具,因为我找不到像样的和优雅的图表工具。
  • 我刚刚添加了一个附加段落,其中包含有关您的活动/流程图中的哪些内容是完全非法的信息。至于工具——我提到了 WhiteStarUML——这是一个非常强大的 UML 工具。它可以创建基于UML规范的各种UML图。如果需要,它还可以将图表导出为图片。试试看,如果你能创造出更好的,请随时通知我。
【解决方案2】:

你的问题很广泛,但我会试一试。

我认为您想重新考虑您的方法。我建议阅读 UML 序列图。它们是一种图表,提供了一种表示如何在代码中发出请求的方法。一般而言,UML 也可用于制作类图和其他有用的流程图来表示代码。许多工具,例如visual-paradigm,允许您构建可以直接转换为代码的 UML 图(例如类图)。当您开始使用该程序时,这可能很有用。使用这些工具有一个学习曲线,因为不同种类的箭头意味着不同的东西,但它们可能非常强大。它们还可用于获取现有代码并将其转换为图表,这在尝试解释程序如何工作时非常有用。

这里有一些其他可能有用的链接:

lucidchart 有一个像您描述的那样的弹出窗口图示例。

draw.io 只允许您制作图表,而不是将它们转换为代码,但它是一个易于使用的工具,并且与 google drive 和 git hub 集成。

stackoverflow 也有一些关于 UML 的信息。

如果你正在寻找一个“专业的工作流程图”UML,如果是一个很好的方法,那么有很多方法可以布置它们并且它们可以非常专业,我在学校了解它们并在工作中使用它们帮助规划通过我们系统的数据流。那里有更多的 UML 工具,可能值得查看教程以找到最适合您的工具。

【讨论】:

    【解决方案3】:

    您似乎走在了正确的轨道上,我从未在我的流程图中添加过数据库,但您想要获得的详细程度取决于您。您似乎使用了正确的符号!

    这是我使用的一个很棒的免费网站。 https://www.draw.io/ 它是为制作流程图和其他东西而创建的。

    我个人会删除图表开头的 UI。在开始使用流程图时,请尽量避免过于技术性的示例,在 YouTube 或 Google 图片上查找一些简单但正确的示例。

    祝朋友好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      相关资源
      最近更新 更多