すべてのダイアグラムに戻る

クラス図

クラス、属性、関係でオブジェクト指向システムをモデル化。ソフトウェアアーキテクチャ設計に不可欠です。

クラス図とは?

クラス図は、オブジェクト指向システムの静的構造をモデル化するUML構造図です。クラス、その属性、メソッド、およびそれらの間の関係(継承、関連、コンポジション、集約)を示します。クラス図はソフトウェアアーキテクチャの設計図として機能し、開発者がコードを書く前にシステム設計を視覚化するのに役立ちます。

編集とプレビュー

Mermaid構文でクラス図を作成し、変更を即座に確認。

エディタ
100%

Example

Class diagram example

A compact UML class diagram showing a diagram model connected to export methods.

Mermaid class diagram example showing Diagram and Exporter classes with methods
Mermaid class diagram example showing Diagram and Exporter classes with methods

Mermaid code

classDiagram
    class Diagram {
      +String code
      +String type
      +render()
    }
    class Exporter {
      +toPNG()
      +toSVG()
      +toPDF()
    }
    Diagram --> Exporter : uses

一般的なユースケース

ソフトウェアアーキテクチャ計画

実装前にアプリケーションの構造を設計。クラス、その責任、およびそれらがどのように相互作用するかを定義し、保守性と拡張性のあるシステムを構築。

オブジェクト指向設計

継承階層、インターフェース、抽象クラスをモデル化。ポリモーフィズム、カプセル化、Factory、Singleton、Observerなどのデザインパターンを視覚化。

コードドキュメント

既存のコード構造のビジュアルドキュメントを生成。新しいチームメンバーが複雑なクラス階層と依存関係をすばやく理解するのに役立つ。

データベーススキーマ計画

オブジェクトモデルをデータベーステーブルにマッピング。ORMモデルやデータベーススキーマを実装する前に、エンティティ、関係、カーディナリティを特定。

主な機能

クラス構造定義

クラス名、可視性修飾子(public、private、protected)付きの属性、戻り値型とパラメータ付きのメソッドを定義。

関係タイプ

継承(汎化)、関連、集約、コンポジション、依存関係を適切なUML表記でモデル化。

インターフェースと抽象クラス

標準的なUML規約とステレオタイプを使用して、具体クラス、抽象クラス、インターフェースを区別。

多重度と制約

関係のカーディナリティ(1..1、1..*、0..*)を指定し、ビジネスルールと設計決定を明確にする制約やノートを追加。

ベストプラクティス

コアクラスから始める

最も重要なドメインエンティティから始め、徐々にサポートクラスを追加。一度にすべてをモデル化しようとしない。

適切な可視性を使用

属性とメソッドに適切な可視性をマーク:+はpublic、-はprivate、#はprotected。これによりカプセル化の決定が文書化される。

関連する関係を表示

意味のある関係のみを含める。すべてのクラスの相互作用を表示する必要はない—アーキテクチャ的な重要性に焦点を当てる。

ダイアグラムを焦点を絞る

1つの大きなダイアグラムではなく、異なるサブシステム用に複数の小さなダイアグラムを作成。それぞれが明確なストーリーを伝えるべき。

他のダイアグラムタイプを探す

フローチャート

ノードと方向矢印でプロセス、ワークフロー、アルゴリズムを視覚化。ビジネスプロセスやデシジョンツリーに最適です。

シーケンス図

異なるアクターやシステム間の時系列でのインタラクションを文書化。APIドキュメントやシステム設計に最適です。

ステート図

システムやアプリケーションの状態遷移を表現。ライフサイクル状態やワークフローのモデリングに最適です。

ガントチャート

タスクと依存関係でプロジェクトのタイムラインを計画・追跡。プロジェクト管理やスケジューリングに最適です。

ER図

エンティティと関係でデータベーススキーマを設計。データベースモデリングやドキュメント作成に最適です。

ユーザージャーニー

タッチポイント全体のユーザー体験とインタラクションをマッピング。UXデザインやカスタマージャーニーマッピングに最適です。

Gitグラフ

Gitのブランチ戦略やコミット履歴を視覚化。バージョン管理ワークフローの説明に役立ちます。

マインドマップ

アイデアの整理、ブレインストーミング、階層的なビジュアル構造の作成に。計画立案やナレッジマネジメントに最適です。

円グラフ

円形チャートでデータの比率分布を表示。パーセンテージやマーケットシェアの分析に最適です。

タイムライン

時間軸に沿ってイベントやマイルストーンを視覚化。プロジェクト履歴やロードマップの表示に最適です。

カンバンボード

ワークフローの段階ごとにタスクを列に整理。アジャイルプロジェクト管理やタスク追跡に最適です。

象限チャート

2軸グリッド上に項目をプロットして比較・優先順位付け。機能の優先順位付けや戦略分析に最適です。

サンキーダイアグラム

ノード間のフロー量を比例矢印で視覚化。エネルギーフロー、予算配分、コンバージョンファネルに最適です。

XYチャート

カスタマイズ可能な軸を持つ棒グラフと折れ線グラフを作成。データ視覚化やトレンド分析に最適です。

ブロックダイアグラム

行と列に配置されたブロックで構造化レイアウトを構築。システムアーキテクチャやコンポーネント概要に最適です。

アーキテクチャ図

サービスアイコンと接続を使用してクラウドやシステムアーキテクチャを設計。インフラストラクチャドキュメントに最適です。

パケットダイアグラム

ネットワークプロトコルのパケット構造とビットレベルのフィールドレイアウトを視覚化。ネットワークプロトコルドキュメントに最適です。