2012-09-28 55 views
9

當我第一次創建一個小型C#項目的uml類圖時,我遇到了一些屬性問題。最後我剛剛在<<property>>開始處添加了屬性作爲變量。現在我想知道如何用抽象方法解決這個問題?我應該只加<<abstract>>這個方法好嗎?林做這樣的事情:UML類圖:這是怎麼寫的抽象方法和屬性?

----------------------------------- 
|   <<abstract>>   | 
|    MyClass    | 
----------------------------------- 
|<<property>> + a : int   | 
|<<property>> + b : string  | 
----------------------------------- 
|<<abstract>> # Job() : void  | 
|<<abstract>> # Job2() : string | 
|- SomeNonAbstractMethod() : void | 
----------------------------------- 

這樣好嗎?有什麼建議麼?

回答

6

每個「屬性」實際上都是UML2中的一個屬性。抽象方法以斜體文本顯示(UML有一個布爾值)。

您使用的符號稱爲Keyword(簡單方法)或Stereotype(更復雜)。如果您想將某個屬性標記爲某種「特殊」,那麼使用像您這樣的關鍵字就可以。

0

由於在UML中沒有任何屬性,我認爲這是一個可能的解決方案,強調屬性應該作爲屬性來實現。但是,您應該在使用圖表的文檔中記錄此非標準關鍵字的使用情況。

另一個解決方案是創建一個約定,所有公共屬性必須作爲屬性實現(除非發生某些例外......)。

如果我沒記錯的話,抽象方法是用斜體文字顯示的。雖然我不喜歡這種方法,因爲它可能比圖中更容易監督。它也可能取決於您的UML編輯器提供的可能性,我通常更喜歡使編輯器的方法與使用相同編輯器繪製的其他圖表保持一致。

相關問題