クラスとその関係を設計するとき、または単にペンと紙を設計するときに、どのソフトウェアを使用しますか?
12 に答える
私はペンと紙がとても便利だと思っており、コンピューターからできるだけ離れようとしています。Compy でそれを行う場合、私は常にソリューションのプログラミングを開始することにあまりにも誘惑されます。それは必然的に、実際にかなりの時間を費やしていれば、計画段階で見つけたであろうことを後で変更することにつながります.
紙とペン (またはお好みのコード以外の同等のもの) の段階では、長居して、恐ろしいYAGNI症候群の餌食になるのは簡単です。「セクシーな」機能を慎重に設計したものの、結局使用されなかった人はどれくらいいるでしょうか? (手を上げる。手)
小さな反復的なテスト主導のステップと頻繁なリファクタリング - コードが何を望んでいるのかをコードに伝えます。
私のプロジェクトのほとんどは、現在考えているような結末にはならないという唯一の確信を持って始まります。そのため、大規模な事前設計 (または必要に応じて大規模な事前設計) に多くの時間を費やすのは無駄です。最初にやりたいことから始めて、最終的な結果を確認することをお勧めします。
それは、デザインがどこで終わると考えるかによって異なります。数年前に、コーディングはデザインであるという考えを示した記事を読みました。または、ビッグ プロセスのファンにとっては、少なくともデザインのバックエンドです。それは私にとって真実であり、開発プロセスの段階を見る方法を永遠に変えました. もちろん、私はいまいましいことに狂ったようにググったところです。私はそれを見つけることができますか?私は一体何をすることができますか?おそらく私はその記事を夢見ていて、それはすべて私自身の考えです. ええ、それだけです。
私は通常、空のインターフェースから始めて、テストを書き始めます。次に、リファクタリング ツールを使用してメンバーを生成します。私にとって、単体テストは設計の一部です。
OmniGraffle (Mac OS X 用の Visio 風アプリ)、時々。それ以外の場合は、ペンと紙だけで十分です。
最初のドラフト用のペンと紙。それをデジタル化するための Umlet。それは非常に最小限ですが、私が必要とすることを行います
私はペンと紙を使います。
すべての計画目的において、これが最速の方法です。UML パッケージを使用すると、レイアウトと微調整に迷います。
しかし、それは私の負担です.. :-)
鉛筆と紙、またはホワイトボードを用意してください。ペンのように永続的なマーキングを行うと、かなり乱雑なデザインになります。
最初の 35 または 40 の下書き用のホワイトボード。その後、UML は便利ですが、特に必要というわけではありません。詳細をハッシュ化した後の最良のドキュメントは、クリーンなコードです。
ほとんどはペンと紙ですが、ときどき Visio で大まかな図を作成するだけです。
私が推測する派手なツールがあればいいのですが、それは学ぶべき別のことです.
初期設計を行うとき、私はホワイトボードと 1 ~ 3 人の他の開発者がアイデアをやり取りするのが好きです。これは通常、重大なエラーを検出したり、発生する可能性のあるトリッキーな状況を修正したりするのに十分であり、S/N 比を大幅に低下させることはありません。
ペンと紙、ホワイトボード、そして場合によってはCRC カードがあれば非常に便利です。ほとんどの場合、ホワイトボードと、クラスやモジュールの名前が書かれたステッカーやカードが、グループで計画や設計を行うときに最も効果的だと思います。一人で活動する場合は、ペンと紙で構いません。基本的な構造を設定したら、いつでもきれいな UML ダイアグラムを作成できます。
製図用のペンと紙および/またはホワイトボード、文書化目的のためのより包括的なツール。
私は主にクラス図を使用し、シーケンス図を使用したいくつかのスケッチを使用して、ほとんどの関係を正しくします。
ツールについて: 仕事ではEnterprise Architectを使用していますが、個人的にはVisual Paradigm for UMLの方が適していると思います。後者ははるかに柔軟で、素早い下書きも可能です。
VP には、しばらくの間Agilianというバージョン(私はまだ使用していません) もあります。これはさらに柔軟性があり、スケッチをすぐにドキュメントにすることができます... いつかこのツールが私の論文に取って代わるかもしれません。スケッチ(木を保存してください:P)。