アナリシスパターン
アナリシスパターン(英: Analysis patternあるいはSoftware analysis patterns)とは、モデリングの過程でしばしば遭遇する状況を抽象化して捉えたソフトウェア工学における概念モデルである。
アナリシスパターンは"関連を持った一群のステレオタイプ的な属性(データの定義)を持った汎用のオブジェクト(メタクラス)、振る舞い(メソッドのシグネチャ)、ドメインに中立的な方法で定義された期待される相互作用" であると Purao、Storey、Han は述べている[1]。
概要
編集マーティン・ファウラーは、パターンを「ある実際上の文脈で有用な考え方であり、おそらく他の文脈でも有用なもの」[2]と定義している。また、アナリシスパターンについて説明し、これが「実際のソフトウェア上の実装形態ではなく、ビジネスプロセスの概念的な構造である」と述べている。
ファウラーは、このパターンを「ドメインに影響を及ぼす興味深い部分を記憶する」ものだと記述している。 [3]
アナリシスパターンの記述
編集ファウラーは、著書『アナリシスパターン』[2]で、アナリシスパターンを記述する公式な方法について述べていないが、一貫した統一的な書式を行うための提案がなされている。こうした提案の多くは、エーリヒ・ガンマ、フランク・ブッシュマン、クリストファー・アレグザンダーの(アーキテクチャやコンピュータ科学における)パターンについての成果に基づくものである。例えば、Hahslerの提案[4]では、以下のような構造をしている。
- 名称(Pattern Name): パターンの名称は、何を抽象化しようとしているのかを反映しており、また分析の過程で参照できるよう、簡潔なものでなければならない
- 目標(Intent): パターンが達成しようとするゴールであり、解こうとしている問題を記述したもの
- 動機(Motivation): "問題を記述したシナリオと、現実のシナリオでアナリシスパターンがどのように解決に寄与するか"[5]
- 力学(Forces and context): "アナリシスパターンによって解決すべき力学についての議論"[6]
- 解決策(Solution): ""「動機」で述べたシナリオにおける解決策の記述と、アナリシスパターンによって得られる強制力のバランス。関連するアナリシスパターンの構造上、振る舞い上の側面を含む"
- 結果(Consequence): 目標がアナリシスパターンによってどのように解決されるのか、また結果に制約があれば記載する
- 設計(Design): 設計の実装形態についての提案
- 実例(Known Uses): パターンが用いられた実例
関連項目
編集- デザインパターン (ソフトウェア)
- オブジェクト指向分析設計
- Problem frames approach 本方法とは別のソフトウェアの要求分析手法
- Role class model ロールの概念に適用したアナリシスパターンの実例
- 要求分析
参考文献
編集- ^ Purao, Sandeep; Storey, Veda C., and Han, Taedong (September 2003) (PDF). Improving Analysis Pattern Reuse. Information Systems Research, Vol. 14, No. 3. pp. pp. 169?290. ISSN 1526-5536 2007年1月31日閲覧。.
- ^ a b Fowler, Martin (1996-11-27). Analysis Patterns: Reusable Object Models. Addison-Wesley. ISBN 0201895420. "A pattern is an idea that has been useful in one practical context and will probably be useful in others."
- ^ Fowler, Martin. “Accounting Patterns” (PDF). Analysis Pattern. 2007年1月31日閲覧。
- ^ Hahsler, Michael; Geyer-Schulz, Andreas (2001年11月). “Software Engineering with Analysis Patterns”. 2007年2月1日閲覧。
- ^ Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software. hardcover, 395 pages. Addison-Wesley. ISBN 0-201-63361-2
- ^ Alexander, Christopher (1979). The Timeless Way of Building, volume 1 of Center for Environmental Structure Series. New York: Oxford University Press. ISBN 0195024028
参考書籍
編集- Haitham, Hamza and Fayad, Mohamed E. (2002) (PDF). A Pattern Language for Building Stable Analysis Patterns. Computer Science and Engineering Dept., University of Nebraska-Lincoln 2007年1月31日閲覧。. アナリシスパターンのためのパターン言語についてのこの論文は PLoP 2002 (Pattern Languages Of Programs 年次カンファレンス)で示された
- Buschmann, Frank; Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal (1996). Pattern-oriented Software Architecture, Volume 1: A System of Patterns. John Wiley & Sons. ISBN 0-471-95869-7