建模c程序的约定

时间:2010-06-10 16:18:33

标签: architecture

我正在使用几乎完全以直接c(nginx)编写的源代码库。但是,它确实利用了丰富的高级编程技术,如编译时元编程和OOP - 包括运行时调度。

我想绘制ER图,UML类图和UML序列图。但是,要在两者之间建立干净的映射,必须应用一致的约定。因此,我正在跳过某人对某些材料的引用,这些材料建立或应用此类约定到类似的样式c代码。

修改

嗯,问题非常具体,因此我不希望很快就会得到有用的答案。

我已经开始阅读Diomides Spinelles撰写的“代码阅读 - 开源视角”一书的摘录。本书是为了教授阅读大型复杂系统代码的艺术,直接c似乎是本书所使用的主导语言。 UML是第一章中选择的建模语言。

我相信我应该能够遵循本书中建立的惯例。

1 个答案:

答案 0 :(得分:1)

经常使用C中的类代码函数或代码。根据这个“类模式”,对于过程语言,函数以“类”名称为前缀。人们也可以在构造函数,访问器和增变器函数中使用。将这些东西映射到UML类图是很简单的。同样,这种模式现在非常普遍,所以值得一试。

UML序列图不能直接应用于C函数,因为C ++中没有像this这样的接收器对象可以表示为带有垂直线的条形图。因此,可以使用普通的旧调用图而不是UML序列图。我想有一些方法可以用UML以某种方式表达调用图,但它可能不太方便。

在C代码中看到隐式定义的有限状态机(FSM)是很常见的。虽然它们不能直接用C表示,但在很多情况下,开发人员使用它们来构造它们的控制逻辑。 “FSM模式”的此类实例也可以从C源提取并绘制为UML状态图。

最后,但并非最不重要的是,文件分解的可视化表示可以提供非常丰富的信息。可以使用UML包图来实现此目的,其中包包括函数和静态数据。