すべての利点/欠点をいただければ幸いです。
アジャイルの原則、パターン、およびc#での実践 クラス図によると、システムの静的ビューに焦点を合わせるという欠点があります。プロジェクトの設計者と新規参入者の両方が、動作に焦点を当てた図(例:状態図やシーケンス図)からさらに詳しく学ぶでしょう。
また、思考プロセスまたはディスカッションを支援するために図をすばやく書き留めてから廃棄する必要があるとマーティンは書いています。彼は興味深い点を持っています、重要な図は何度も何度も議論に現れます。ダイアグラムを繰り返し再描画するのが退屈になった場合にのみ、ドキュメントに追加して最新の状態に保つのに十分かつ重要です。
編集:documentation-valueは、使用可能なツールによっても示されます。システム構造のクラス図の生成は広くサポートされています。システムが何をするのか、それがユーザーや他のシステムとどのように相互作用するのかを説明することはできません。
利点:ユースケースを調べて設計をテストする良い方法。チームで話したり、開発したりするときに使用すると便利です。デザインが完成したら、コーディングをスタブ化して、テストと開発を複数の人で行うことができます。ホワイトボードに簡単なものを書くのは簡単です。
短所:それらは通常、最新の状態に保たれているドキュメントではないため、長期的なドキュメントとしてはうまく機能しません
短所:コンピューターで図を作成すると時間がかかります。これはダイアグラムの障害ではなく、ダイアグラム作成アプリケーションの障害です。私は図を描いてうれしいですが、設計上の決定について話し合いながらホワイトボードに図を描きます。次に、コードを記述します。ダイアグラムの必要性は終わりです。誰かが実際に図を見たい場合は、コードから図を抽出できます。
Javaインターフェイス階層のルートにフィードして、Niceダイアグラムを出力させることができる優れたツールを見つけたいと思います。オブジェクトモデルの視覚的表現は非常に便利です。数年前にいくつかのツールを使用して複雑な階層(約100インターフェース)でこれを試しましたが、それらはすべて惨めに失敗しました。