UML和文档化长方法 我使用UML来记录一个老的C++程序的部分。这只是代码的一部分,但记录它让我发疯,因为即使这个过程也相当大。到目前为止,我已经为相关代码和一些必要的活动和序列使用了类图

UML和文档化长方法 我使用UML来记录一个老的C++程序的部分。这只是代码的一部分,但记录它让我发疯,因为即使这个过程也相当大。到目前为止,我已经为相关代码和一些必要的活动和序列使用了类图,uml,Uml,我的问题是,我觉得到目前为止我所做的对整个文档来说是好的,但是我想深入了解一些方法的肮脏细节,其中一个方法有202行,我应该使用什么?活动图或序列 我正在使用Visio编写UML文档 谢谢。经验法则可能是,如果似乎有多个代理在彼此之间传递流,请使用顺序;否则,活动将停止。在单个函数中,活动可能是最好的,但不一定 试着想象它最终会是什么样子,设身处地地为无知的读者着想,想想哪一个能更好地讲述这个故事 拆分函数是一种选择吗 问题是:您想描述这几个方法正在执行的过程还是对象之间的交互?该过程可以分解为

我的问题是,我觉得到目前为止我所做的对整个文档来说是好的,但是我想深入了解一些方法的肮脏细节,其中一个方法有202行,我应该使用什么?活动图或序列

我正在使用Visio编写UML文档


谢谢。

经验法则可能是,如果似乎有多个代理在彼此之间传递流,请使用顺序;否则,活动将停止。在单个函数中,活动可能是最好的,但不一定

试着想象它最终会是什么样子,设身处地地为无知的读者着想,想想哪一个能更好地讲述这个故事


拆分函数是一种选择吗

问题是:您想描述这几个方法正在执行的过程还是对象之间的交互?该过程可以分解为执行的活动、它们的组成和数据流。交互由对象之间发送的消息组成。

简言之,答案是:

如果要记录某个系统对象的方法所使用的算法:使用活动图

长答覆:

根据我的经验,UML文档是最糟糕的

人们通常使用Uml工具,自动将代码反向工程到Uml类图,有时序列图和自动生成的图通常有很多细节,有时是无意义的

作为建议,请正确注释代码并使用Doxygen等工具。它们更适合于代码文档

但您可以将UML用于软件架构师文档。克雷格·拉曼(Craig Larman)在他关于记录建筑的书中有很好的章节和例子

动机:为什么要制造悲伤? 当有人加入开发团队时,如果项目教练能说“欢迎来到NextGen项目”,这是很有用的!请访问项目网站,阅读十页的SAD,以便了解大创意的介绍。后来,在随后的版本中,当新用户使用该系统时,SAD可以作为学习辅助工具来加速他们的理解

因此,它应该用 这个受众和心中的目标:什么 我需要在UML中说和画吗 这将很快帮助某人 了解本文的主要思想 系统[应用Craig Larman第三版的UML和模式][第39章.文档化架构:UML和N+1视图模型]


是的,我可以破坏功能,这是不可取的,但我可以。代码是相当脆弱和难以阅读的,但我最终还是要把它拆开。考虑使用工具来帮助。请看和,这两个帖子都有点旧。在过去的5年里,我一直是一个Java爱好者,其中一个真正的乐趣是IDE中提供了出色的重构支持。如果我能弄明白的话,我需要记录它是如何工作的。首先弄明白,然后记录下很难弄明白的东西:。我考虑过Doxygen,但正如你所说的那样,自动生成有时看起来像是胡说八道,而且在代码的其他部分尝试过。我可能会同意你的建议,把它分解,然后尝试一个序列图。@Dixon Steel如果你想给出算法的细节,活动可能是更好的选择。序列图更适合对象交互