ソフトウェア分析パターンとは
ソフトウェア分析パターンは、抽象的なプロセスまたはパターンを開発中のプログラムの動作と同一視することにより、コンピュータープログラムを設計する方法です。 概念は、通常は実世界で、あるコンテキストで効果的に機能するあるタイプのパターンを比較し、同じロジックとパターンの用語を設計中のプログラムに適用することです。 この方法でプログラムまたはモジュールの全体的な機能を評価することにより、目標はソフトウェア分析中に小さなパターンを見つけ、実際の実装の詳細を検討するための適切な設計パターンを見つけることです。 実装とコードの設計を支援するためによく使用される設計パターンとは異なり、ソフトウェア分析パターンは、プロジェクトについて考えるためのフレームワークを提供することを目的としているため、複雑さをよりよく視覚化できます。 パターンのいくつかの例が存在しますが、ソフトウェア分析パターンの使用または開発に関する正式な定義はありません。
ソフトウェア開発の初期段階では、ソフトウェア分析パターンは、プログラムの広い視野とその部分が互いにどのように関係しているかを構造化するのを支援することを目的としています。 ただし、このパターンは抽象分析を目的としており、個々のメソッド、変数、ファイル形式など、アプリケーションの詳細を把握するためのものではありません。 抽象化の理由の1つは、単一のソフトウェア分析パターンの概念をわずかに変更するだけで、実際にはまったく異なるタスクを実行する可能性のある他のソフトウェアに再利用できるためです。
ソフトウェア分析パターンを開発する場合、実際の例が最もよく使用されます。 1つの例は、単純なメッセージサーバーのソフトウェア分析パターンとして郵便局を使用することです。 この例では、文字はメッセージを表し、スタンプは何らかのタイプのサーバー検証を表す場合があります。 メールボックスはメッセージキューになり、ピックアップ時間とドロップオフ時間は送信プロセスと受信プロセスに関連付けられます。 このようにして、アプリケーションの複雑な構造を抽象化し、より具体的な方法で考えることができるため、パターンのソースの用語は、プログラムのクラスまたはコンポーネント自体の名前にしばしば変換できます。実装。
特に非常に大規模なプログラムの場合、ソフトウェア分析パターンを使用すると、問題が発生する可能性があります。 開発中にプログラムを過度に単純化することは可能です。そのため、一部のサブシステムは、実装中に、一度実現した分析パターンに厳密に収まらない場合があります。 あるいは、パターンが非常に構造化されているため、プログラム内のイベントがパターンに一致するようにモデル化され、明確になりますが、必ずしも非常に効率的ではない場合があります。