5

ボールとソケットの表記は合法的なUML2.0ですが、EAにそれを図に描画させる方法が見つかりません。ソケットとボールの間の依存関係を許可することを拒否します。下の図のように、それを実現する方法はありますか(小さなmsペイントマジック):

ここに画像の説明を入力してください

また、副次的な質問ですが、要素の反対側にボールまたはソケットを表示させることはできますか?

4

3 に答える 3

5

EA でボールとソケットを表示するには、2 つの異なる方法があります。

使用したものを使用して、Consumer クラスと Producer クラスから IProducer インターフェイス (それぞれ依存関係と実現) へのコネクタを描画しました。次に、クラスの Dependent インターフェイスと Realized インターフェイスの表示をオンに切り替えました。

このようにすると、ボールとソケットが固定されます。それらを選択することはできません (代わりにクラスが選択されます)、それらを親クラスに対して移動することはできず、コネクタのエンドポイントにすることもできません。

もう 1 つの方法は、Expose Interface を使用することです。

この方法では、クラスからインターフェイスへのコネクタを描画しません。代わりに、Expose Interface を使用して、各クラスに分類子としてインターフェイスを持つ埋め込み要素を作成します。

これらの公開されたインターフェイスは、それ自体が要素であり、希望どおりに動作します。それぞれのクラスの周囲にそれらを移動したり、それらの間にコネクタを描画したりできます。

この例では、IProducer インターフェイス要素へのコネクタがないことに注意してください。公開インターフェイスの使用例

インターフェイスを公開するには、2 つの方法があります。ダイアグラム ツールボックスで [インターフェイスの公開] を選択できますが、これはコンポーネント ツールボックスでのみ使用でき、クラス ツールボックスでは使用できないことに注意してください。それが、この例の Producer で行ったことです。

もう 1 つの方法は、クラスを右クリックして [新しい要素] -> [ポート] を選択することです。これにより、任意の名前を付けることができるポートが作成されます。次に、ポートを右クリックし、[New Element] -> [Provided / Required Interface] を選択します。

どちらの方法でも、[公開されたインターフェイス] ダイアログが表示されます。このダイアログでは、省略記号ボタン (...) を使用して公開するインターフェイス要素を選択し、プロジェクト ツリーでインターフェイスを参照できます。

ポートを使用するのは少し面倒に思えるかもしれませんが、厳密に言えば、より正確な UML です。また、1 つのポートが複数のインターフェース (提供されているものと必須のものの両方) を公開できることにも注意してください。これにより、ある種の論理ユニットを形成するインターフェースをグループ化できます。1 つのサービスを形成する複数のインターフェイスがあり、それらが連携する場合がありますが、そのクラスは複数のサービスを提供し、必要とします。

これは (私にとって) 個々のクラスではなくコンポーネントについて話している場合に、より理にかなっています。私は通常、クラスをモデル化するときに実現/依存関係を使用し、コンポーネントをモデル化するときにポートと公開されたインターフェイスを使用します。

于 2013-02-11T22:05:24.460 に答える
2

EA では、ボールとソケットの接続をポート間で (のみ) 描画できます。「アッセンブリ」コネクタタイプをご使用ください。

于 2013-10-24T15:13:02.637 に答える
1

ボールとソケットが UML 2.0 の正当な表記であることは正しいですが、それらは UML 要素ではなく、要素の関係を表しています。したがって、使用するツールに応じて、それらの間に依存関係を作成できる (またはできない) と思います。UML 仕様によると、少なくとも 2 つの NamedElement の間に UML 依存関係を作成する必要があります。

于 2013-02-08T08:47:27.033 に答える