5

プロジェクトが終わったときにアーキテクチャエラーが見えやすいのは相対性です。X はセキュリティ上の問題を引き起こし、Y は多くの余分な作業をもたらしました。これらはふりかえりでキャッチされますが、もっと早くキャッ​​チされるとよいでしょう。

コーディングを開始する前に、アーキテクチャのレビューを実施する予定です。

1 つの方法は、アーキテクトにプロジェクトを提示してもらい、設計の欠陥を見つけられるかどうかを確認することです。

おそらく「考えたことはありますか」または「どのように行うつもりですか」チェックリストを使用して、より構造化されたアプローチを持っている人はいますか。

私は次のようなことを考えていました:

  • 安全
  • ロギング
  • データアクセス
  • 展開
  • アップグレード中
4

5 に答える 5

2

明らかに、このテーマに関する書籍は数多く出回っています (例えば、建築家が知っておくべき 97 の事柄)。ここで公理の包括的なリストを見つけることができます。チェックリストのプロジェクトにとって意味のある公理を厳選することをお勧めします。

于 2010-02-03T09:25:43.310 に答える
2

変化は絶え間なく起こります。アーキテクチャが適応可能であることを確認してください。
ユーザー インターフェースは、ユーザー エクスペリエンスを向上させるものです。
アーキテクチャに関する知識をすべての人と完全に共有します。
実装する前に試してください。
デザインパターンを過度に使用しないでください。

于 2010-02-04T13:22:03.740 に答える
2

リストに追加する追加アイテム。順不同。

  • パフォーマンス - 遅延、帯域幅、スケーリング、または成果物に関連するその他の要因のいずれか
  • サポート性 - すでにログを記録していますが、他の診断測定 (Java-JMX、Windows-WMI/パフォーマンス カウンター、またはカスタムのもの) の配管についてはどうでしょうか。
  • 柔軟性 - 後でアーキテクチャを変更することの難しさ (これは通常、過度に行われ、必要以上の問題を引き起こすものの 1 つですが、設計を評価する際には議論が必要です)
  • スレッド モデル/ロック モデル - データがどのように保護されるかは明確ですか? リソースの競合はどのように処理されますか?
  • リソース要件 - さまざまな使用レベルでのメモリ消費。それはあなたの制約に適合しますか?
  • エラー処理 - 製品の何かが失敗した場合、アーキテクチャはクリーンな処理と問題の通知をサポートしていますか?
  • 理解できる - 過度に複雑なアーキテクチャは、実装中に忘れられる傾向があります。チームの大部分、特にリーダーがアーキテクチャを維持できない場合、それは哲学とルールであり、彼らの頭の中にアーキテクチャは関係ありません。
  • 一貫性。考えられるすべてのパターンを使用しようとしますか、それとも定期的に繰り返されるパターンに焦点を当てますか。問題ごとに適切なパターンを選択することは良いことではありませんが、多くのパターンを使用すると、理解に影響を与え、実装ミスにつながる可能性があります。アーキテクトは、すべてのプロジェクトで、知っていること (または最新のクールなこと) をすべて実証しようとする必要があります。
  • テスト可能 - 設計がテスト (システムおよび統合) の作業を助けるか、または損なうか。テストを自動化できますか?それとも、チームが製品を壊していないことを確認するために、多数のテスターに​​依存して継続的に回帰テストを繰り返す必要がありますか?
  • アーキテクチャは、解決しようとしている問題に実際に対処しており、問題の範囲内ですか? デュプレックスで十分な場合は、超高層ビルを作成しないでください。
于 2010-02-04T04:18:28.950 に答える
1

よく知られたパターンを使用し、場合によってはアーキテクチャ フレームワークを使用して、what-if を減らす必要があります。

プロジェクトが終了すると、アーキテクチャ エラーが比較的簡単に見つかりますが、それは私たちが行っていることの性質にあります。

アーキテクチャのレビューを継続的に行うことは良い習慣だと思います。それはあなたが「完了する」だけのステップではありません。

于 2010-02-03T09:11:47.863 に答える
1

重要なプロジェクトの場合、私たちが行うことの 1 つは、ソリューション オプションのドキュメントです。ブレーンストーミングを行い、既存の情報を収集し、中小企業と話し合い、必要な人と話し合い、長所、短所、大まかなコストと見積もりを含むさまざまなオプションの表を作成します. はい、この演習はオーバーヘッドですが、これを行うと、説明した問題の多くがわかります。

最後に、理由と、場合によってはソリューションを視覚化するための高レベルのアーキテクチャ図を使用して、管理者にソリューションを推奨します。

于 2010-02-03T09:16:47.763 に答える