情報科学 · 大学

UMLクラス図ジェネレーター

無料オンライン「UMLクラス図」ジェネレーター:約90秒でラベル付きの図が完成。AIがまず必須ラベルを設計してから教科書スタイルで描画し、生成後もすべてのラベルを編集可能——論文・課題・スライドにそのまま使えます。

この図に含まれるラベル

  • 製品
  • 電子製品
  • 部品
  • 属性
  • 操作
  • 一般化
  • 関連
  • 集約
  • コンポジション
  • 可視性記号 + - #
  • 多重度 1、0..*

この図を生成 →

✓ 正確なラベル ✓ 生成後に文字修正 ✓ 論文・ポスター・スライド用PNG

ラベル付き · 編集可能UMLクラス図OUTPUT · 16:9 · PNG
実際の出力 · 未編集

この図が示すもの

この図は、オブジェクト指向設計におけるクラスの静的構造を表す。各クラスは長方形を三段に分け、上段にクラス名、中段に属性、下段に操作を記載し、可視性や型、引数、戻り値も示す。

クラス間は線と端点の記号で結ぶ。継承は空心三角形を上位クラスへ向け、関連は実線で参照関係を表す。集約の空心菱形と合成の実心菱形は全体側に置き、所有関係の強さを区別する。

正しい図に必要な要素

  • クラス名:最上段に概念を端的に表す名詞を記し、抽象クラスの場合は斜体または制約表記で区別する。
  • 属性:中段に「可視性 属性名: 型」の順で記し、必要に応じて初期値や多重度を加える。
  • 操作:下段に「可視性 操作名(引数名: 型): 戻り値型」の形式で、クラスが担う振る舞いを示す。
  • 可視性:公開は「+」、非公開は「-」、保護は「#」を各属性・操作の先頭に付け、アクセス範囲を明確にする。
  • 継承:実線の先に空心三角形を置き、三角形をスーパークラスへ向けて一般化関係を表す。
  • 関連:クラス間を実線で結び、必要に応じて関連名、役割名、方向、多重度を端点付近に記載する。
  • 集約と合成:菱形は全体側に置き、独立して存在できる部分には空心菱形、全体と寿命を共有する部分には実心菱形を使う。
  • 多重度:端点に「1」「0..1」「*」「1..*」などを記し、一方のインスタンスに対応する相手の個数を示す。

よくある間違い

  • 継承の空心三角形をサブクラス側へ向けてしまう。矢印の先は一般化されたスーパークラスである。
  • 集約・合成の菱形を部分側に置いてしまう。菱形はコンテナや所有者となる全体側に配置する。
  • 集約と合成を単なる強弱だけで選ぶ。部分が全体から独立して存在できるか、寿命を共有するかで判断する。
  • 属性と操作を混同し、括弧のない操作名や動詞だけの属性を書く。操作には原則として括弧と引数、必要なら戻り値型を示す。
  • 可視性記号を継承可否の意味として読む。「+」「-」「#」はアクセス範囲を表し、継承関係そのものは線と空心三角形で示す。

授業での使い方

オブジェクト指向分析から設計へ移る段階で提示し、学生に各欄の意味と線の向きを説明させる。続いて具体的な業務例を文章からクラス図へ変換させ、多重度、可視性、継承と合成の選択理由を問う。試験では記法の識別だけでなく、要件に適した関係を判断できるかを評価する。

この図についてのFAQ

属性と関連はどのように使い分けますか。

値として保持する単純な情報は属性で表し、別クラスのインスタンスとの構造的な結び付きは関連で表す。相手側の役割や個数が設計上重要なら、属性だけで済ませず関連と多重度を記載する。

集約と合成の違いは何ですか。

集約では部分が全体から独立して存在でき、複数の全体に共有される場合もある。合成では部分が特定の全体に強く所有され、通常は全体の消滅とともに部分も消滅する。

継承と関連はどの基準で選びますか。

「AはBの一種である」という置換可能な関係なら継承を検討する。「AがBを持つ・利用する」という関係なら関連を用いる。単なるコード再利用を目的に継承を選ぶのは避ける。

この図を生成 →

関連ジェネレーター

すべてのジェネレーター