Documentation 如何在软件产品中表示工作流

Documentation 如何在软件产品中表示工作流,documentation,uml,Documentation,Uml,我的任务是调查我们公司软件中的一个文件加载过程,我必须表示主要的类和方法,以及在这方面做了哪些工作,最后用一些图表写一份报告 通过编写文本文档或使用UML来描述此工作流的最佳方式是什么?如果是UML,我应该使用哪种图表?任何文档的最佳格式不仅取决于它所承载的信息,还取决于预期的受众。如果你的听众由软件工程师组成,我会说UML是一个很好的选择:它是标准化的,这意味着你不必编写自己的符号或解释它,如果你保持图表的合理简单,那么你的听众将能够读到它们,即使他们不是UML专家 您没有说明文档的用途,但我

我的任务是调查我们公司软件中的一个文件加载过程,我必须表示主要的类和方法,以及在这方面做了哪些工作,最后用一些图表写一份报告


通过编写文本文档或使用UML来描述此工作流的最佳方式是什么?如果是UML,我应该使用哪种图表?

任何文档的最佳格式不仅取决于它所承载的信息,还取决于预期的受众。如果你的听众由软件工程师组成,我会说UML是一个很好的选择:它是标准化的,这意味着你不必编写自己的符号或解释它,如果你保持图表的合理简单,那么你的听众将能够读到它们,即使他们不是UML专家

您没有说明文档的用途,但我至少会在您的报告中建议以下部分:

源代码视图:类图,可能还有一些包图,具体取决于实现语言以及包的数量和类型。(如果包提供了功能性抽象,就像他们在爪哇可以做的那样,考虑描述它们,否则它就不是非常重要的。) 运行时视图:描述至少关键功能的控制流的序列图

你也可以考虑添加一个或多个:

总体设计:描述软件主要部分的组件图:例如,由用户代码调用的DLL和API(我假设我们讨论的是某种库例程)。这不应该涉及特定的方法调用或实现类,而应该从较高的层次描述软件

概念视图:这应该描述关键概念,通常使用非常简单的类图。文件可能是这样的,并且您应该考虑包括描述文件的不同状态的状态图(打开、关闭、EOF…)。 和往常一样,当使用UML来记录(而不是例如生成代码)时,在每个图中都要有大量的注释,并且要少用元素(类等)。对于要粘贴到文本文档中的图,我尽量不在每个图中放置超过六个元素。

使用UML活动图(http://www.agilemodeling.com/style/activityDiagram.htm)用于高水平的流程

然后,使用UML序列图(http://www.agilemodeling.com/artifacts/sequenceDiagram.htm)对于复杂到足以保证进一步细节的部分