我已经工作了一段时间,但由于我早先的习惯,我从未系统地工作过。
我从未为我的软件创建工作流程图,因为软件将如何工作,而不是我直接开始工作,这反过来导致了许多问题。
以下是我目前需要帮助的一个小情况: -
注意:我已经创建了一个软件,它执行以下操作并且我不需要任何代码,我只想知道如何为这种情况创建工作流程图。
1)派对列表:这是我想存储客户所有信息的地方。
2)销售:在这里,我将向客户出售我的产品。
这里有 2个案例,每当客户到达时,我们都可以选择
现在检查部分: -
如果勾选了复选框并且用户选择了某个聚会时,如果某个条目已保存在销售中,请说" Akhmed "已保存并且用户尝试删除" Akhmed "的记录从派对列表表单中,软件不应该允许它进入" Akhmed "已存在于销售中。
有人能告诉我如何为这种情况创建工作流程图吗?
以下是我阅读一些文章后所做的示例工作流程,请指出可以对其进行的任何改进,或者是完全错误还是其他任何内容。
答案 0 :(得分:4)
首先,很好的问题。我希望所有软件工程师在开始编写代码之前先考虑一下。特别是当它比任何一条线条更重要的时候都是为了好玩。
我认为您的软件流程可以表示为活动图表。活动图的一个例子表示在这张图片上:https://www.tutorialspoint.com/uml/images/uml_activity_diagram.jpg
基本上,活动图是连接它们的步骤和过渡(箭头)的组合。步骤可以是流程中发生的事情,也可以是将流程执行分支到不同方向的逻辑运算符(决策)。
如果您还需要强调谁需要执行该步骤,除了显示步骤之外,您还可以将泳道(显示演员姓名的水平或垂直列)添加到活动图中。这就是它变成流程图的地方。例如在此图像上,您可以看到水平swimplanes,解释执行步骤的人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上是非法的。相反,您可以使用“将数据保存到数据库”的步骤,并删除“DB”。此外,您只需一步即可显示“Party”和“Sales” - 这不是合法的UML。我想你试图表达有2个流量。在这种情况下,只有2个不同的活动图而不是一个。
答案 1 :(得分:3)
你的问题很广泛,但我会试一试。
我想你想重新考虑你的方法。我建议阅读UML序列图。它们是一种图表,提供了一种表示在代码中如何生成请求的方法。通常,UML也可用于制作类图和其他有用的流程图来表示代码。许多工具(例如visual-paradigm)允许您构建可以直接转换为代码的UML图(例如类图)。这可以在您开始使用该程序时很有用。使用这些工具有一个学习曲线,因为不同类型的箭头意味着不同的东西,但它们可以非常强大。它们也可用于获取现有代码并将其转换为图表,这在尝试解释程序的工作原理时非常有用。
这里有一些其他可能有用的链接:
lucidchart有一个弹出窗口图的示例,就像您描述的那样。
draw.io只允许你制作图表,而不是将它们转换为代码,但它是一个易于使用的工具,并与google驱动器和git hub集成。
stackoverflow也有关于UML的一些信息。
如果您正在寻找专业的工作流程图" UML如果是一个很好的方法,有很多方法可以布局,而且它们可以非常专业,我在学校学到了它们,并在工作中使用它们来帮助计划通过我们的系统的数据流。还有更多的UML工具,可能值得研究一下教程,找到最适合你的工具。
答案 2 :(得分:1)
你似乎走在正确的轨道上,我从来没有在我的流程图中添加数据库,但是你需要详细的数据取决于你。你似乎正在使用正确的符号!
这是我使用的一个很棒的免费网站。 https://www.draw.io/它是为制作流程图和其他内容而创建的。
我个人会删除图表开头的UI。在开始使用流程图时,请尝试远离过于技术性的示例,点击YouTube或Google图片以获取一些简单但正确的示例。
祝你好运的朋友!