2017-04-02 49 views
2

組件可以有一個提供的接口,可以顯示球標記或實現與<<interface>>的依賴關係。但是如果組件提供了靜態方法呢?組件提供的靜態方法如何在UML組件圖中顯示?

假定組件MyComponent通過公共靜態mehtod操作提供其功能,以下是否是正確的UML表示?

+---------------------+     +---------------------------+ 
| <<component>> | <<realize>> |   AClass   | 
|  MyComponent  |----------------->|---------------------------| 
|      |     |+operation() <<static>> | 
+---------------------+     +---------------------------+ 

還是應該AClass甚至如果它不是作爲編程語言的接口實現的<<interface>>刻板印象被標記?畢竟,有些語言沒有界面構造。

回答

0

不是每個構造都受UML規則的支配。所以你有相當的自由度。特別是在對靜態編程語言進行建模時(比如你在擁有大量C編程的嵌入式系統中),你需要設置自己的規則來表達事物。所以基本上沒有什麼是錯誤的,你展示它的方式。您應該簡單地在您打算使用此構造的域的建模規則中描述此構造。可能我會刻板AClass作爲<<interface>>,因爲你有一些公開的方法暴露的事實比它實現爲靜態的事實更重要。

0

組件元素被定義爲UML上層結構中的專用類元素。您可以將其用作標準類元素。您可以定義所有標準功能(操作,屬性,接待)並與關聯連接。如果您正在使用提供的uml工具將組件顯示爲刻板印刷類(<>),那麼您將在其中看到所有已定義的功能。