1

その間、私のプロジェクトはますます大きくなりました。今では、自分のコードに夢中になり、頭の中でコンセプトに固定されていたものを変更することさえあります。コード行が増えると生産性が低下するため、これは恐ろしいことです。生産性が一定に保たれるようにしたいだけです。今度は、申請書を紙に書いて、もう一度紛失した場合に概要を取り戻し、何かに固執できるようにしたいと考えています。しかし、私は正しくモデル化する方法を知りません。状態チャートで完全にモデル化しようとしましたが、たとえば、コードが行ごとに状態を持たないことを実行するだけの場合、それは適用できません。この場合、フローチャートで問題ありません。しかし、全体的に意味があるように、どのように混ぜるかはわかりません。

紙に書き始めるにはどうすればよいですか?より大きなアプリケーションをモデル化するための一般的な方法は何ですか? どのダイアグラムをいつ使用しますか?

4

4 に答える 4

2

プログラムの流れを理解するには、アクティビティ図を使用できます。オブジェクト間の相互作用を理解するには、シーケンス図を使用できます。モジュールを理解するには、クラス ダイアグラムを使用して、関連するクラスをパッケージ内に含めることができます。次に、モジュール間の高レベルの依存関係を描画できます。これにより、プロジェクトに関する高レベルの情報と少し詳細なレベルの情報が得られます。

于 2012-12-05T15:19:35.893 に答える
0

「しかし、アプリケーションが全体的にどのように機能するかを誰かにどのように説明しますか?」というコメントへの回答として:大きなアプリケーションの場合、それはできません。MsWordは全体的にどのように機能しますか?

アプリケーションのパーツがどのように機能するかを示すために、ユースケースを使用します。そこから、必要に応じてクラス図(構造)、シーケンス図(プログラムフロー)、および状態図(状態)を使用して、ユースケースごとの設計を示します。コードはこれらの図を反映する必要があります

于 2012-12-05T15:50:51.850 に答える
0

モデル駆動型開発により、ソフトウェアの品質保証を実現できます。まず第一に、どんなに費用や時間がかかっても、特にプロジェクトの規模が大きくなった場合は、すべてのプロジェクトに対して行う必要があります。モデルなしで最初に開発された私たち自身のプロジェクトにも同じ問題があります。だから我慢してください。

実装するシステムを実現するための最初のステップは、システムが何をすべきか、何を観察できるか、ユーザーや他のシステムとどのように相互作用するかを記述することです。ユースケース図は、これらの質問に答える方法です。

次に、必要なクラスの数を考えることができます。あなたの場合、すでにいくつかの部分をコーディングしているので、主な機能を多くの小さなクラスに分離し、それらの間の関係を確立する方法を考えています。そこにはクラス図が必要です。

これら 2 つは、少なくとも全体的な構造の概要を把握するために必要な最も一般的な表記法です。

現在多くのクラスがある場合、システムはどのように動作しますか? データとワークフローの順序またはシーケンスはどのようになっていますか? あなたの最も重要なシナリオでは、タスクを完了するためにどのような種類の呼び出しをどの順序で実行する必要がありますか? そのため、シーケンス図またはコラボレーション図が必要です。

これらから始めて、その後さらに多くのモデルを続けると思います。

于 2013-04-24T07:33:31.797 に答える