<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Software_analysis_pattern</id>
	<title>Software analysis pattern - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Software_analysis_pattern"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Software_analysis_pattern&amp;action=history"/>
	<updated>2026-05-01T17:15:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Software_analysis_pattern&amp;diff=4148055&amp;oldid=prev</id>
		<title>imported&gt;RedWolf: citations</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Software_analysis_pattern&amp;diff=4148055&amp;oldid=prev"/>
		<updated>2023-08-26T20:03:47Z</updated>

		<summary type="html">&lt;p&gt;citations&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Software analysis patterns&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;analysis patterns&amp;#039;&amp;#039;&amp;#039; in [[software engineering]] are [[Conceptual schema|conceptual models]], which capture an abstraction of a situation that can often be encountered in [[Software architecture|modelling]]. An analysis pattern can be represented as &amp;quot;a group of related, generic objects ([[Meta class|meta-classes]]) with stereotypical attributes (data definitions), behaviors (method signatures), and expected interactions defined in a domain-neutral manner.&amp;quot;&amp;lt;ref name=&amp;quot;psh-analysispattern&amp;quot;&amp;gt;{{cite journal | last = Purao | first = Sandeep | author2 = Storey, Veda C. | author3 = Han, Taedong | title = Improving Analysis Pattern Reuse | journal = Information Systems Research |volume=14 |issue=3 | pages = 169–290 | date = September 2003 | url = http://purao.ist.psu.edu/journal-papers/ISR-Purao-Storey-Han-2003.pdf | accessdate = 2007-01-31 | issn = 1526-5536 | url-status = dead | archiveurl = https://web.archive.org/web/20060908080817/http://purao.ist.psu.edu/journal-papers/ISR-Purao-Storey-Han-2003.pdf | archivedate = 2006-09-08 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Martin Fowler defines a pattern as an &amp;quot;idea that has been useful in one practical context and will probably be useful in others&amp;quot;.&amp;lt;ref name=&amp;quot;fowler-analysispattern&amp;quot;&amp;gt;{{cite book | last = Fowler | first = Martin | authorlink = Martin Fowler (software engineer) | title = Analysis Patterns: Reusable Object Models | publisher = [[Addison-Wesley]] | date = 1996-11-27 | isbn = 0-201-89542-0 | quote = A &amp;#039;&amp;#039;&amp;#039;pattern&amp;#039;&amp;#039;&amp;#039; is an idea that has been useful in one practical context and will probably be useful in others.}}&amp;lt;/ref&amp;gt; He further on explains the analysis pattern, which is a pattern &amp;quot;that reflects conceptual structures of [[business processes]] rather than actual software implementations&amp;quot;. An example:&lt;br /&gt;
&lt;br /&gt;
[[File:Event-analysis-pattern.svg|thumb|480px|centre|Figure 1: Event analysis pattern]]&lt;br /&gt;
&lt;br /&gt;
Martin Fowler describes this pattern as one that &amp;quot;captures the memory of something interesting which affects the domain&amp;quot;.&amp;lt;ref name=&amp;quot;fowler-event&amp;quot;&amp;gt;{{cite web | last = Fowler | first = Martin | authorlink = Martin Fowler (software engineer) | title = Accounting Patterns | work = Analysis Pattern | url = http://www.martinfowler.com/apsupp/accounting.pdf | accessdate = 2007-01-31 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Describing an analysis pattern ==&lt;br /&gt;
While doing Analysis we are trying to understand the problem. Fowler does not detail in his book&amp;lt;ref name=&amp;quot;fowler-analysispattern&amp;quot;/&amp;gt; a formal way to write or to describe analysis patterns. Suggestions have been raised since to have a consistent and uniform format for describing them. Most of them are based on the work from [[Erich Gamma]], Frank Buschmann and [[Christopher Alexander]] on patterns (in architecture or computer science). One of them, proposed by Hahsler,&amp;lt;ref name=&amp;quot;hahsler&amp;quot;&amp;gt;{{cite web| last = Hahsler| first = Michael |author2=Geyer-Schulz, Andreas  | title = Software Engineering with Analysis Patterns |date=November 2001 | url = https://citeseerx.ist.psu.edu/pdf/a5fa8fb5aa76f2f83918419fd3c3a16da296401d | access-date = August 26, 2023 | citeseerx = 10.1.1.70.8415 }}&amp;lt;/ref&amp;gt; has the following structure:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Pattern name&amp;#039;&amp;#039;&amp;#039;: a pattern name should really reflect the meaning of what it is abstracting. It should be simple so that one can refer to it during analysis.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Intent&amp;#039;&amp;#039;&amp;#039;: the intent aims to describe the goal the pattern is trying to achieve. It should also describe the problem it tries to solve.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motivation&amp;#039;&amp;#039;&amp;#039;: &amp;quot;A scenario that illustrates the problem and how the analysis pattern contributes to the solution in the concrete scenario&amp;quot;&amp;lt;ref name=&amp;quot;Gamma95&amp;quot;&amp;gt;{{cite book | first = Erich | last = Gamma | authorlink = Erich Gamma |author2=Richard Helm |author2-link=Richard Helm |author3=Ralph Johnson |author3-link=Ralph Johnson (computer scientist) |author4=John Vlissides |author4-link=John Vlissides | year = 1995 | title = Design Patterns: Elements of Reusable Object-Oriented Software | others = hardcover, 395 pages | publisher = Addison-Wesley | isbn = 0-201-63361-2 | title-link = Design Patterns }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Forces and context&amp;#039;&amp;#039;&amp;#039;: &amp;quot;Discussion of forces and tensions which should be resolved by the analysis pattern&amp;quot;&amp;lt;ref name=&amp;quot;Alexander79&amp;quot;&amp;gt;{{cite book | first = Christopher | last = Alexander | authorlink = Christopher Alexander | year = 1979 | title = The Timeless Way of Building, volume 1 of Center for Environmental Structure Series | location = New York | publisher = Oxford University Press | isbn = 0-19-502402-8 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Solution&amp;#039;&amp;#039;&amp;#039;: &amp;quot;Description of solution and of the balance of forces achieved by the analysis pattern in the scenario in the motivation section. Includes all relevant structural and behavioural aspects of the analysis pattern.&amp;quot;&amp;lt;ref name=&amp;quot;hahsler&amp;quot;/&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Consequences&amp;#039;&amp;#039;&amp;#039;: this should emphasise how the goal is achieved by the analysis pattern with its limitation.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Design&amp;#039;&amp;#039;&amp;#039;: Suggestions of design implementations of this pattern.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Known uses&amp;#039;&amp;#039;&amp;#039;: Real-world examples of this pattern usage.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Design pattern (computer science)]]&lt;br /&gt;
* [[Object-oriented analysis and design]]&lt;br /&gt;
* [[Problem Frames Approach|Problem frames approach]] is another approach to software requirements analysis.&lt;br /&gt;
* [[Role Class Model|Role class model]] an example of analysis pattern applied to the role concept.&lt;br /&gt;
* [[Requirements analysis]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
* {{cite conference&lt;br /&gt;
  | author1=Haitham, Hamza  |author2=Fayad, Mohamed E. |name-list-style=amp&lt;br /&gt;
  | title = A Pattern Language for Building Stable Analysis Patterns&lt;br /&gt;
  | conference = [[Pattern Languages of Programs|9th Conference on Pattern Languages of Programs]]&lt;br /&gt;
  | publisher = Computer Science and Engineering Dept., University of Nebraska-Lincoln&lt;br /&gt;
  | year = 2002&lt;br /&gt;
  | url = http://hillside.net/plop/plop2002/final/PLoP02-A%20Pattern%20Language%20for%20Building%20Stable%20Analysis%20Pattern.fnl.pdf&lt;br /&gt;
  | accessdate = 2007-01-31 }} This paper on pattern language for analysis pattern was presented at PLoP 2002.&lt;br /&gt;
* {{cite book&lt;br /&gt;
  | first = Frank&lt;br /&gt;
  | last = Buschmann&lt;br /&gt;
  |author2=Regine Meunier |author3=Hans Rohnert |author4=Peter Sommerlad |author5=Michael Stal&lt;br /&gt;
   | year = 1996&lt;br /&gt;
  | title = Pattern-oriented Software Architecture, Volume 1: A System of Patterns&lt;br /&gt;
  | publisher = John Wiley &amp;amp; Sons&lt;br /&gt;
  | isbn = 0-471-95869-7}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software analysis patterns]]&lt;br /&gt;
[[Category:Software architecture]]&lt;br /&gt;
[[Category:Unified Modeling Language]]&lt;/div&gt;</summary>
		<author><name>imported&gt;RedWolf</name></author>
	</entry>
</feed>