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

クラス図

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

クラス図とは?

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

編集とプレビュー

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

エディタ
100%

一般的なユースケース

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

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

オブジェクト指向設計

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

コードドキュメント

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

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

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

主な機能

クラス構造定義

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

関係タイプ

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

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

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

多重度と制約

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

ベストプラクティス

コアクラスから始める

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

適切な可視性を使用

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

関連する関係を表示

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

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

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