2016-09-22 75 views
2

我需要使用UML或SysML符号创建一个图表。我有模块,它由函数组成。某些功能仅在模块“内部”使用,其他功能则由其他模块使用。我应该用什么图来表示模块中函数之间的交互?

实施例:

MODULE 1有两个功能:func1func2func2使用func1

int func1 (int p1, int p2) 
{ 
    d=func1(); 
    return noerr; 
} 

int func2 (int p3, int p4) 
{ 
    if (p4>0 || func1(p1,p2)) 
    { 
     // warning 
    } 
    else 
    { 
     return noerr; 
    } 
} 

MODULE 2有一个函数,func3。它采用func1MODULE 1

int func3 (int p5, int p6) 
{ 
    if (p5<0 || func1(p1,p2)) 
    { 
     // warning 
    } 
    else 
    { 
     return noerr; 
    } 
} 

我需要显示图形func1func2间内MODULE 1和互动MODULE 1MODULE 2之间,使用func1互动。我会感谢任何帮助和样品。

+0

func1会永久循环:-) –

回答

3

在UML中,我会认为模块类和功能作为这些类的操作,如下面的类图

classd

在函数级别和相互作用的依赖关系之间的模块可以使用序列图被描述为如下:

seq1

seq2

+0

非常感谢!我也想过。但问题是这些图只显示“控制”流程的交互作用,并不代表“数据”流程。是否可以使用此视图显示数据流而不创建其他诊断? – Omnimbuss

+0

您可以在括号中插入参数名称和值,您可以显示回复消息(从被调用者到调用者的虚线箭头),并将这些数据作为文本返回到这些箭头附近。请参阅http://www.ibm.com/developerworks/rational/library/3101.html#N100A4 –

+0

的图2取决于您定义的“数据”。这些消息带有参数(上面只是空括号)。这些参数很可能被视为数据。 (呵呵。交叉发帖;-) –

相关问题