2011-07-07 20 views
1

オブジェクトと対話するいくつかの静的メソッド(クラスの一部ではない)をモデル化する標準的な方法はありますか?私はAndroid上でC++コードをサポートするためにJNI(Java Native Interface)を使用するプロジェクトに取り組んでいます。UML:静的関数を含む

私は単に関数のコレクションを別のクラスとして扱うことを計画していましたが、より良いアプローチが必要だと感じました。 JNIを完全に無視し、それらが表すJavaクラスだけを含める必要がありますか?

答えて

1

場合によっては、モジュールまたは名前空間を「オブジェクト」とみなすことができます。

オブジェクト以外の関数をオブジェクトとして使用してライブラリをカプセル化し、ステレオタイプを追加することができます。

 
+-----------------------------------------------------------+ 
|..........................<<library>>......................| 
|.............................Strings.......................| 
+-----------------------------------------------------------+ 
|..+...String:..Date2Str(Date Value)........................| 
|..+...String:..Mid(String Source, int Index, int Count)....| 
|..+...String:..Reverse(String Source)......................| 
+-----------------------------------------------------------+ 

乾杯。

1

基本的に、UMLはOOパラダイムを採用しています。したがって、ファーストクラスの機能は提供しません。したがって、関数をモデル化する唯一の方法は、メソッド(クラスベースまたはインスタンスベース)を使用することです。

唯一の他の選択肢は、関数を正式化すること、すなわちそれぞれのクラスをクリアすることである。しかし、私はそれが本当にあなたが何をしているかは分かりません。

私は単に私が提案してきたと思いますおそらく何だ別の クラス

としての機能の コレクションを処理する上で計画していました。

私は完全にJNIを無視し ちょうどそれらが表す Javaクラスを含めるべきか?

モデルに表示しようとしている内容によって異なります。観客がJNIを通して呼び出される機能を理解することは重要ですか?逆に、「ドメインモデル」(すなわち、概念的実体を示し、それらがどのように関連し、実装言語の選択肢を抽象化するか)を目的としていますか?

hth。

0

UMLは、オブジェクト指向システムのモデリング言語です。したがって、スタンドアロンの静的関数のための構成はありません。

静的メソッドのFacadeクラスを作成し、そのFacadeクラスとJavaクラスの相互作用を表示できます。

しかし、いずれにせよ最初のあなたは尋ねる必要があります。

私は私のUMLダイアグラム上のものを示すことによって取得する利点はどのような?

「あなたの利益のために」UMLが役立たない場合は、他のツールを使用してください。あなたの目的が他の人にあなたの内部構造を示すことであっても、あなたのインフラストラクチャーを計画的に編集して、それをビデオとして記録して視聴者に提供してください。

関連する問題