このページでは

クラス図の作成

クラス図を含むUML形式のモデルを作成します。これらの図には、クラス、依存関係、継承、関連、集約、および構成が示され、システムをオブジェクト指向の観点から可視化します。

モデルエディタ内のクラス図

モデルエディタ内のクラス図。

クラス図を作成するには:

  1. クラス図にC++クラスを追加するには、Projects からファイルをエディタにドラッグし、「Add Class 」を選択します。
  2. 一般的な要素のプロパティに加え、以下のプロパティを指定できます。
    • Template で、使用するテンプレートを指定します。
    • Template display 」で、テンプレートの表示形式を選択します。
      • Smart クラスのプロパティに応じて、テンプレートを「Box 」または「Angle brackets 」として表示します。
      • Box クラスアイコンの右上隅に、点線の枠で囲まれた小さなボックス内にテンプレートを表示します。
      • Angle brackets C++の構文に従い、クラス名の後に山括弧で囲んだテンプレートを記述します。
    • Members では、「メンバーの指定」の説明に従って、クラスのメンバーを指定します。
    • Clean Up 」を選択すると、「Members 」の内容が、可視性(private、protected、public)に応じて、空白や改行などのルールに従ってフォーマットされます。
    • Show members 」を選択すると、メンバーが図に表示されます。

ダイアグラム内のクラスからソースコードに移動するには、エディタでそのクラスをダブルクリックするか、コンテキストメニューから [Show Definition ] を選択します。

関係の追加

クラス図内の要素間には、以下の種類の関係を持つことができます。

  • 集約
  • 関連
  • 構成
  • 依存
  • 継承

関連関係の両端は、以下の性質を持つことがあります:

  • カーディナリティ
  • ナビゲーション可能
  • 役割
  • 関係

自己関連の作成

自己関係を作成するには、新しい関連の作成を開始し、関連をドラッグしながらShiftキーを押して新しいサンプリングポイントを作成します。もう1つのサンプリングポイントを作成し、関連を同じクラスまでドラッグします。

ポイントの追加と削除

ポイントをさらに追加するには、Shiftキーを押しながら関係を選択します。

ポイントを削除するには、Ctrlキーを押しながらポイントを選択します。

メンバーの指定

クラスのメンバを指定するには、C++ 風の構文を使用して、各メンバを別々の行に入力します。たとえば、以下の行は、private、virtual、かつ定数であるメソッド `m ` を定義しています:

private:
virtual int m(string a) const;

メンバーをグループ化することもできます:

[Geometry]
QPointF position;
QSizeF size;

メンバーにステレオタイプを追加できます:

<<setter>> setPosition(const QPointF &pos);

パーサーにはいくつかの制限があります:

  • 複数行にわたる宣言は、行が入れ子になった中括弧で囲まれている場合にのみ機能します:
    void setSize(int width,
                 int height);
  • プリプロセッサマクロは展開されません。一部のQtキーワード(例:Q_SLOT )は認識されます。
  • 関数ポインタの宣言はメソッドとして解釈されます。
  • throw() また、noexpect() 指定子は無視されず、その宣言をメソッドとして扱います。

「UML スタイルのモデルの編集方法」も参照してください

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.