2012-09-28 69 views
9

小さなC#プロジェクトのumlクラス図を初めて作成したとき、私はそのプロパティにいくつか問題がありました。最後に、プロパティを最初に<<property>>という変数として追加しました。今、私はどのように抽象メソッドでこれを解決するのだろうか?私はちょうど良い方法に<<abstract>>を追加する必要がありますか?このようなことをしているIm:UMLクラス図:抽象メソッドとプロパティを記述する方法は?

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

これは問題ありませんか?助言がありますか?

答えて

6

すべての「属性」は、実際はUML2のプロパティです。抽象メソッドは斜体で表示されます(UMLにはブール値があります)。

使用している表記法は、キーワード(簡単な方法)またはステレオタイプ(より複雑なもの)と呼ばれます。あなたがしたようにキーワードを使ってうまくいく、ある種の「特別な」ものとしてプロパティをマークしたい場合。

0

UMLにプロパティがないので、属性がプロパティとして実装されることを強調する可能性のある解決策だと思います。ただし、この非標準キーワードの使用方法は、図を使用する文書内で文書化する必要があります。

もう1つの解決策は、いくつかの例外が発生しない限り、すべてのパブリック属性をプロパティとして実装する必要があるという慣習を作成することです。

正しく覚えていれば、抽象的な方法はイタリック体で表示されます。私はこのアプローチが嫌いです。なぜなら、それはあなたのダイアグラムよりも簡単に見過ごされるかもしれないからです。 UMLエディタが提供する可能性にもよりますが、エディタのメソッドを同じエディタで描画された他のダイアグラムと矛盾しないように調整することを好みます。

関連する問題