HOWTO · Java

Java での UML 変換

この記事では、Java で UML を変換する方法を紹介します。

このページの内容

Unified Modeling Language は UML の頭字語であり、ソフトウェアシステムの表現と文書化のための標準言語です。モデルは、開発者の間でより良い理解をもたらします。これらの図は、ソフトウェアシステムの視覚化、ニーズの表現、および構成の指定に役立ちます。

この図は、ビジネスアナリスト、設計者、テスター、品質アナリスト、顧客、テクニカルライターに役立ちます。

UML は、このカテゴリのさまざまなタイプの図の高レベルの用語です。UML ダイアグラムを解釈する際には、さまざまなマッピングに注意する必要があります。UML 図とそれらの変換を詳しく見てみましょう。

大学の UML 表現

上の図には、さまざまなエンティティが関係しています。したがって、変換の最初のステップは、以下のエンティティからクラスを作成することです。これらのエンティティは黄色で表示されます。クラスには、図に示されている属性が含まれています。また、特定のフィールドのデータ型が前面に表示されます。

  1. クラスを作成するには、エディターに移動して Intellij IDE と言います。
  2. University、College、Students、Department という名前の新しいクラスを作成します。
  3. private String university Id タイプの形式でデータタイプを使用してフィールドに入力します。
  4. 新しく作成したフィールドを選択して画面を右クリックするか、Alt+Insertキーを押します。
  5. generate ポップアップが画面に点滅します。
  6. GetterSetter まで下にスクロールします
  7. 下部にある [OK]をクリックします。
  8. 同様に、他のクラスにも進みます。

このプロセスでは、getter メソッドと setter メソッドとともに、すべてのクラスとフィールドが生成されます。次に、テーブル間の関係を確認します。

クラスの一端について|パイプ記号が表示されます。線のもう一方の端には、線の上にシンボルが表示され、クロウフットシンボルと呼ばれることが多い 3 フィートのシステムのようにサインが表示されます。この関係は、1 対多タイプの関係を表しています。1 対多の関係は、1つのエンティティに複数のエンティティが存在する可能性があることを示します。私たちの場合、大学は 1つしかなく、多くの大学がそこに在籍しています。

このリレーションは、University クラスが College オブジェクトの n 番号を保持するようにすることで Java クラスを表します。そして、この College クラスとは反対に、単一の University オブジェクト参照のみを保持します。したがって、クラスは以下のクラスのようになります。

public class University {
  private String universityId;
  private String universityName;
  private String address;
  private List<College> colleges;
}

public class College {
  private String collegeId;
  private String collegeName;
  private University university;
}

列挙型を使用して、エンティティを他のエンティティに関連付けることができます。定義された値のセットから値を選択する機能を提供します。選択肢のセットが最小限である場合は、列挙型が適切な選択肢です。

以下のクラス図で、関係の集約タイプと構成タイプを確認します。

構成と集約

ブラックダークダイアモンドのシンボルは、構成する関係のタイプを表します。簡単に言うと、構成は 2つのエンティティに対する依存関係です。つまり、一方のエンティティが存在しない場合、もう一方のエンティティも存在しません。したがって、ケースは上に示されています。car エンティティは Wheels クラスで構成されています。したがって、Wheels インスタンスがない場合、Car は車とは見なされません。つまり、それは強い関係、したがって構成関係を表しています。

以下のクラスで構成動作を実現することは一例です。

class Wheel {
  private String manufacturer;
}

final class Car {
  private final Wheel Wheel; // Composition

  Car(Wheel wheel) {
    this.wheel = wheel;
  }

  public void move() {
    System.out.println("Car works");
  }
}
}

Car クラスの Wheel インスタンスを持つ final 指定子は、Composition 関係を定義します。したがって、car インスタンスが呼び出されたときに開始する必要があります。ホイールはコンストラクターでインスタンス化されます。

もう 1つの関係は集約であり、黒い空のひし形の形で示されます。2つのエンティティは強く関連しておらず、独立して存在しているため、構成関係の反対です。どちらか一方が存在しない場合は、もう一方も生き残ることができます。上記のように、Car および Brand エンティティを使用します。車に Brand Name インスタンスがない場合でも、車のクラスは存在します。