4

私がしなければならないソフトウェア設計プロジェクトでは、フレームワークとしてEclipseプラットフォームを選択しました。つまり、実装する拡張ポイントがたくさんあります。

ただし、UMLクラス図でこれらの拡張ポイントを指定するのに問題があります。では、クラスがクラス図の拡張ポイントに属しているという事実をどのようにモデル化するのでしょうか。

それとも、クラス図はとにかくこれを行うのに間違った場所ですか?もしそうなら、私が実装する拡張ポイントを指定するのに最適な場所はどこですか?

参考までに、私はPapyrusを使用してUMLモデリングを行っています。私はすでにアプリケーションの実用的なプロトタイプを持っているので、それは図を作成することだけです。

乾杯

4

4 に答える 4

2

Eclipse プラグインといえば、クラス図よりもコンポーネント図を選びます。次に、拡張ポイントをポートとしてモデル化し、それらのコントラクトをインターフェイス (ロリポップ) としてモデル化できます。

特別なステレオタイプ (またはキーワード) を持つインターフェイスとして拡張ポイントを指定するクラス図がある場合も問題ありません。

拡張ポイントを実装するクラスに関しては、コンポーネントへの依存関係を使用するか、(2 番目のソリューションでは) インターフェイスの実現を使用できます。

于 2011-12-07T12:50:43.313 に答える
1

Eclipse 拡張ポイントはインターフェースのようなものです。実装する必要がある一連のプロパティーを宣言します。

たとえば、org.eclipse.ui.editors拡張ポイントは、この拡張ポイントを実装するために提供する必要があることを宣言します。

  1. ID
  2. 名前
  3. アイコン
  4. クラス
  5. ファイル拡張子
  6. 貢献者

拡張ポイントはインターフェイスでもオブジェクトでもないため、UML でこれを正確に表現する方法はありませんが、モデルにステレオタイプを追加することでモデル化できます<<extension_point>>(ステレオタイプについて詳しくはこちらを参照してください)。クラスを作成します。ダイアグラム (例: ) には、これらの属性がすべて含まれており、必要な型があります (この例では、型org.eclipse.ui.editorsを除いてすべての属性が文字列です)。classorg.eclipse.ui.IEditorPart

この後、たとえば別のステレオタイプを作成し、<<extension_point_implementation>>このステレオタイプを持つ新しいクラスを作成できます。このクラスをクラスからの実現リンクに接続し、<<extension_point>>すべての属性の値を実装するものに設定します。

セマンティクスが追加された新しいドメインを定義しているため、これは「純粋な」UMLではないことに注意してください。ただし、これは、必要なものをモデル化するための優れた理解しやすい方法だと思います。

于 2011-12-07T10:08:12.647 に答える
0

ある意味では、拡張ポイントに対する拡張は、クラスに対するインスタンスのようなものです。拡張ポイントは拡張の可能な属性を定義し、各拡張には拡張ポイントに準拠する具体的な属性が含まれます。

于 2011-12-06T16:49:21.870 に答える
0

Java コードを逆にして、メモを追加するだけです。それは仕事をするでしょう。

于 2011-12-06T21:51:32.527 に答える