1

クラスには2つのプライベートデータ構造と5つの関数がありますが、クラス内の関数とデータ構造の関係をどのように表すことができますか。例:これらの関数のうち2つは最初のデータ構造を使用し、他の3つの関数は2番目のデータ構造を使用します。

また、クラス内の関数間の関係をどのように表すことができますか。例:5つの関数のうち2つはパブリックで、3つはプライベートであり、クラス内の1つのパブリック関数は他の3つのプライベート関数を呼び出します。

これがクラス図に関係しない場合、UMLでこれを表すための最良の解決策は何ですか。

4

2 に答える 2

1

関数とフィールドの相互作用は、クラス図には表示されません。

したがって、シーケンス図を使用する必要があります。ただし、通常、オブジェクト内のフィールドの相互作用は表示されません。オブジェクト間の関数呼び出しのレベルで相互作用を表示します。

于 2012-07-24T14:04:59.227 に答える
1

2つのこと。まず、UML がクラス内の関係と構造を表すための表記法を提供しないのには十分な理由があります。クラスは、データと機能のまとまりのある抽象化であると想定されています。したがって、クラス内に重要な構造がある場合は、2 つ (またはそれ以上) のまとまりのある抽象化されたクラスに分割する必要があるかどうかを検討する必要があります。

わかった。それが背景です。あなたの説明から、どうですか:

  • データ構造ごとに 1 つのクラスを描画し、構造メンバーごとに 1 つの属性を使用します。
  • データ構造を操作する関数ごとに、各クラスにメソッドを追加します
  • それらの関係をキャプチャするクラス間の関連付けを追加します
  • 上記のすべてのビットをパッケージに配置して、モジュールを表します

最後のポイントは、これらすべてと同様に、ツールを使用して必要なものを説明することです。モデリング言語のルールに過度に制約されないでください。重要なことは、図があなたと共同作業者に効果的に伝わることです。「言語弁護士」を満足させることは、あまり考慮されるべきではありません。

h番目。

于 2012-07-27T11:52:40.530 に答える