アナリシスパターン

From Wikipedia, the free encyclopedia

アナリシスパターン: Analysis patternあるいはSoftware analysis patterns)とは、モデリングの過程でしばしば遭遇する状況を抽象化して捉えたソフトウェア工学における概念モデルである。

アナリシスパターンは"関連を持った一群のステレオタイプ的な属性(データの定義)を持った汎用のオブジェクト(メタクラス)、振る舞い(メソッドのシグネチャ)、ドメインに中立的な方法で定義された期待される相互作用" であると Purao、Storey、Han は述べている[1]

マーティン・ファウラーは、パターンを「ある実際上の文脈で有用な考え方であり、おそらく他の文脈でも有用なもの」[2]と定義している。また、アナリシスパターンについて説明し、これが「実際のソフトウェア上の実装形態ではなく、ビジネスプロセスの概念的な構造である」と述べている。

Figure 1: Event analysis pattern

ファウラーは、このパターンを「ドメインに影響を及ぼす興味深い部分を記憶する」ものだと記述している。 [3]

アナリシスパターンの記述

ファウラーは、著書『アナリシスパターン』[2]で、アナリシスパターンを記述する公式な方法について述べていないが、一貫した統一的な書式を行うための提案がなされている。こうした提案の多くは、エーリヒ・ガンマ、フランク・ブッシュマン、クリストファー・アレグザンダーの(アーキテクチャやコンピュータ科学における)パターンについての成果に基づくものである。例えば、Hahslerの提案[4]では、以下のような構造をしている。

  • 名称(Pattern Name): パターンの名称は、何を抽象化しようとしているのかを反映しており、また分析の過程で参照できるよう、簡潔なものでなければならない
  • 目標(Intent): パターンが達成しようとするゴールであり、解こうとしている問題を記述したもの
  • 動機(Motivation): "問題を記述したシナリオと、現実のシナリオでアナリシスパターンがどのように解決に寄与するか"[5]
  • 力学(Forces and context): "アナリシスパターンによって解決すべき力学についての議論"[6]
  • 解決策(Solution): ""「動機」で述べたシナリオにおける解決策の記述と、アナリシスパターンによって得られる強制力のバランス。関連するアナリシスパターンの構造上、振る舞い上の側面を含む"
  • 結果(Consequence): 目標がアナリシスパターンによってどのように解決されるのか、また結果に制約があれば記載する
  • 設計(Design): 設計の実装形態についての提案
  • 実例(Known Uses): パターンが用いられた実例

関連項目

参考文献

参考書籍

外部リンク

Related Articles

Wikiwand AI