我想用UML建模我的應用程序(用Python編寫)的函數調用,我有兩個問題。如何在UML中爲遞歸調用建模
首先是我試圖繪製順序圖,但它是用於建模對象的方法調用,而我的應用程序是以程序方式編寫的,即我實際擁有的唯一對象是來自庫的類型實例(例如,html5lib )。
第二個問題是有一些遞歸調用,我需要在UML圖和序列圖上建模,似乎是這個不好的解決方案。
那我應該使用哪個UML圖呢?以及如何建模遞歸調用,如下面的函數?
def node_preprocessing(node):
global tags_remove, tags_special
if node.nodeType==3: # Text node
return preprocessing(node.wholeText)
if node.nodeType==1 and node.tagName not in tags_remove: # Tag node
if node.tagName in tags_special:
return tags_special[node.tagName](node)
return convert_tag(node) % u"".join(map(node_preprocessing, node.childNodes))
return u""
在另一方面,我不想準確顯示一切什麼在這個函數中發生。只有它所調用的(本身,預處理(文本),convert_tag(節點))以及按照什麼順序。
ps。 tags_special是一個字典的lambda函數。我不需要他們的模擬電話。