簡體   English   中英

UML 序列圖和組件關系

[英]UML Sequence Diagrams and component relationships

這是在與同事的討論中提出的,作為思考的食物 - 在 UML序列圖中處理組件和子組件之間關系的技術上合適的方法是什么。

所以這里有一個問題——在 UML 最佳實踐中,序列圖是否應該與圖中描述的對象的關系有任何聯系? 我的直覺是不會 - 繪制一個將每個組件分開的序列圖,然后使用 class 圖或部署圖來顯示其他類型的關系。

如果你說“是”。 請用一些很好的例子來說明你如何以及為什么會做不同的事情。

如果“否”,您能否為我指出一些可靠的在線參考資料以證明其合理性? 我嘗試了 UML 規范,然后......哦。 ......不是我想要的,除非我試圖讓自己失去知覺。

具體來說,這里是我的示例 - 我想要 model 應用程序服務器如何調用安全插件然后調用已使用 JSP 和 ZD52387880E1EA228817A72D375911 部署的基本應用程序的序列圖。 應用程序服務器當然“包含”插件和應用程序,但這對於序列圖是否重要?

在這種情況下,您是否只是將這三件事作為 3 條泳道將應用服務器作為操作的大腦,或者您是否會做一些不同的事情來表明插件和應用程序都不會以獨立的方式做很多事情?

出色地,

兩者都是有效的......

這取決於您將使用序列圖的目的。

> We draw a diagram since we have a purpose.... So Ask yourself which
> one help me more about solving my problem at hand? Which one is
> helpfull for my purpose?

在此處輸入圖像描述

在此處輸入圖像描述

這是在提煉我對規范的了解、閱讀的內容和經驗。

不,序列圖是顯示行為,組件關系是結構的一部分。 UML規范和書籍都是這樣分解的,結構圖和行為圖; Wiki 提供了這方面的圖像。 兩者都使用了一些 model 元素,例如 class 等,但關系和組合實際上不是這個意義上的。 此外,行為圖旨在顯示執行路徑,通常不是“完整的”。 從這個意義上說,結構圖和組件關系更加具體和明確。 您始終可以使用顏色代碼、使用全名或原型來豐富視圖,但就 model 而言,標准圖表符號沒有。

在序列中包含元素的“內在生命”可能有充分的理由。 有時您確實希望提供盡可能完整和詳細的信息,例如,如果您要提交設計以供安全審查 - 那么抽象是不行的; 您需要准確顯示實際發生的情況。

換句話說,與其說是 UML 最佳實踐的問題,不如說是您需要向哪些特定受眾傳達什么確切信息。

Sparx Systems 的Enterprise Architect 允許您在序列中包含嵌入式元素(例如端口或提供的接口),但老實說,我不知道這是否符合UML。 無論如何,這里有一個例子。 微不足道,但你明白了:

在此處輸入圖像描述在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM