中規模の Web アプリケーションの設計を開始しています。私は通常、トップダウンで設計するのが好きです。つまり、最高レベルから始めて、下に向かって設計します。次のレイヤーを計画しています。
- プレゼンテーション (PHP/Ajax)
- ビジネスの論理
- データアクセス
- データベース
ここで、各レイヤーの主要なオブジェクトとレイヤー間の相互作用のスケッチを開始したいと思います。Visio のようなグラフィックス/ダイアグラム ツールを使用するよりも、この目的に特化したツールはありますか?
中規模の Web アプリケーションの設計を開始しています。私は通常、トップダウンで設計するのが好きです。つまり、最高レベルから始めて、下に向かって設計します。次のレイヤーを計画しています。
ここで、各レイヤーの主要なオブジェクトとレイヤー間の相互作用のスケッチを開始したいと思います。Visio のようなグラフィックス/ダイアグラム ツールを使用するよりも、この目的に特化したツールはありますか?
これは、UML が意図するものです。UML ダイアグラム エディタはたくさんあります。ただし、どちらか一方を推奨することをためらっています。その度合いはソース コード エディターよりも (おそらく) 小さいですが、ユーザーは依然として、どれが良いか悪いか、または無関心であるかについて強い意見を形成する傾向があるため、(私には) どれを推奨しようとしてもあまり役に立たないように思えます。
私からのアドバイスは、UML にあまりこだわらないことです。UML を使用すると、多くの詳細を比較的微妙な方法で指定できます (たとえば、矢じりが中空か塗りつぶされているかなど)。主要なクラスとそれらが高レベルでどのように相互作用するかを図解することは非常に便利ですが、行き過ぎて過度の詳細を含めようとするのは簡単です。これは非常に時間の無駄になる可能性があります。さらに悪いことに、設計が本当に正しいことを確認するのに十分な作業を行う前に、プロセスの早い段階で特定の設計方法に思考を固定する傾向があります。