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

时间:2011-08-09 08:38:09

标签: documentation uml

我有一项任务是调查我们公司软件中的一个文件加载过程,我必须代表主要类和方法以及在那里完成了哪些工作,最后用某种图表编写一份报告

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

2 个答案:

答案 0 :(得分:2)

使用UML活动图(http://www.agilemodeling.com/style/activityDiagram.htm)进行高级别的流程。

然后,使用UML序列图(http://www.agilemodeling.com/artifacts/sequenceDiagram.htm)获取足够复杂的部分以保证更多细节。

答案 1 :(得分:1)

任何文档的最佳格式不仅取决于它所携带的信息,还取决于目标受众。如果您的观众由软件工程师组成,我会说UML是一个不错的选择:它是标准化的,这意味着您不必编写自己的符号或解释它,如果您保持图表相当简单,则几率很高即使他们不是全面的UML专家,您的观众也能够阅读它们。

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

源视图:类图,可能还有一些包图,具体取决于实现语言以及包的数量和类型。 (如果包提供功能抽象,就像他们可以用Java做的那样,考虑描述它们;否则它不是非常重要。)

运行时视图:描述至少关键功能的控制流程的序列图。

您还可以考虑添加以下一项或多项:

总体设计:描述软件主要部分的组件图:例如,DLL和用户代码调用的API(我假设我们正在谈论某种类型的库例程)。这不应该与特定的方法调用或实现类有关,而是在高级别描述软件。

概念视图:这应该描述关键概念,通常使用非常简单的类图。文件可能是这样的,你应该考虑包括描述文件不同状态的状态图(open,closed,eof ......)。

与使用UML进行文档处理(而不是例如生成代码)一样,每个图表中都有大量的注释,而元素(类等)则是稀疏的。对于用于粘贴到文本文档中的图表,我尽量不在每个图表中放置超过六个元素。