アナリシスパターン: 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): パターンが用いられた実例

関連項目

編集

参考文献

編集
  1. ^ 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. http://purao.ist.psu.edu/journal-papers/ISR-Purao-Storey-Han-2003.pdf 2007年1月31日閲覧。. 
  2. ^ 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." 
  3. ^ Fowler, Martin. “Accounting Patterns” (PDF). Analysis Pattern. 2007年1月31日閲覧。
  4. ^ Hahsler, Michael; Geyer-Schulz, Andreas (2001年11月). “Software Engineering with Analysis Patterns”. 2007年2月1日閲覧。
  5. ^ 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 
  6. ^ Alexander, Christopher (1979). The Timeless Way of Building, volume 1 of Center for Environmental Structure Series. New York: Oxford University Press. ISBN 0195024028 

参考書籍

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

Model View Controller

(1996). Pattern-Oriented Software Architecture. John Wiley and Sons. ISBN 0-471-95869-7  ^ Model View Controller As An Aggregate Design Pattern イベント駆動型プログラミング

JBIG2

辞書」に格納される。テキスト画像データには、パターンマッチング・置換法(PM&S: pattern matching and substitution)とソフトパターンマッチング法(SPM: soft pattern matching)という2つの符号化方法がある。これらの方法については、以下のサブセクションで説明する。

ソフトウェアアーキテクチャ

ソフトウェアアーキテクチャ(英: Software Architecture)は、ソフトウェアコンポーネント、それらの外部特性、またそれらの相互関係から構成される。また、この用語はシステムのソフトウェアアーキテクチャの文書化を意味することもある。ソフトウェアアーキテクチャの文書は開発依頼主とのコミュ

アジャイルソフトウェア開発

ソフトウェア工学におけるアジャイルソフトウェア開発 (アジャイルソフトウェアかいはつ、英: agile software development) は、人間・迅速さ・顧客・適応性に価値を置くソフトウェア開発である。典型的なアジャイルソフトウェア開発では、チーム主導で設計・実装・デプロイを短期間に繰り

ソフトウェアフレームワーク

Javaなどではインタフェースの場合もあり、その場合は「インタフェースを実装した」となる ^ Buschmann, F (1996), Pattern-Oriented Software Architecture Volume 1: A System of Patterns. Chichester, Wiley

ランダムフォレスト

Complexity Analysis of Comparative Advantages of Decision Forest Constructors". Pattern Analysis and Applications 5, p. 102-112 (Comparison of bagging and random

IEEE Computer Society

Computer IEEE Software IEEE Micro 論文誌 IEEE Transactions on Software Engineering IEEE Transactions on Computers IEEE Transactions on Pattern Analysis and

アンチパターン

ソフトウェア開発におけるアンチパターン (英: anti-pattern) とは、広く行われているものの、望ましくない結果を招く開発上の方法や実践を記述する形式である。通常、当該手法の一般的な形態、発生原因、現れる兆候、悪影響、および対処法を整理して示す。 デザインパターンを補完する概念であり、開