Software analysis pattern
From Wikipedia, the free encyclopedia
Please help improve this article or section by expanding it. Further information might be found on the talk page or at requests for expansion. (January 2007) |
This article or section is in need of attention from an expert on the subject. WikiProject Computer science or the Computer science Portal may be able to help recruit one. |
Software analysis patterns or simply analysis patterns are conceptual models, which capture an abstraction of a situation that can often be encountered in modelling. An analysis pattern can be represented as "a group of related, generic objects (meta-classes) with stereotypical attributes (data definitions), behaviors (method signatures), and expected interactions defined in a domain-neutral manner" say Purao, Storey and Han[1].
Martin Fowler defines a pattern as an "idea that has been useful in one practical context and will probably be useful in others"[2]. He further on explains the analysis pattern, which is a pattern "that reflects conceptual structures of business processes rather than actual software implementations".
Contents |
[edit] History
Section to be completed
[edit] Usage and rationale
Section to be completed
[edit] Describing an Analysis Pattern
Fowler does not detail in his book[2] 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 Gamma, Buschmann and Alexander on patterns (in architecture or computer science). One of them, proposed by Hahsler[3], has the following structure:
- Pattern name: 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.
- Intent: the intent aims to describe the goal the pattern is trying to achieve. It should also describe the problem it tries to solve.
- Motivation: "A scenario that illustrates the problem and how the analysis pattern contributes to the solution in the concrete scenario"[4]
- Forces and context: "Discussion of forces and tensions which should be resolved by the analysis pattern"[5]
- Solution: "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."[3]
- Consequences: this should emphasise how the goal is achieved by the analysis pattern with its limitation.
- Design: Suggestions of design implementations of this pattern.
- Known uses: Real world examples of this pattern usage.
- See also: Describing a design pattern
[edit] Criticism
Section to be completed
[edit] Examples
[edit] Event
Martin Fowler describes this pattern as one that "captures the memory of something interesting which affects the domain"[6].
[edit] See also
- Object-oriented analysis and design
- Problem frames approach is another approach to software requirements analysis.
- Role class model an example of analysis pattern applied to the role concept.
- Requirements analysis
[edit] References
- ^ Purao, Sandeep; Storey, Veda C., and Han, Taedong (September 2003). "Improving Analysis Pattern Reuse" (PDF): pp. 169–290. Information Systems Research, Vol. 14, No. 3. ISSN: 1526-5536.
- ^ 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.”
- ^ a b Hahsler, Michael; Geyer-Schulz, Andreas (November 2001). Software Engineering with Analysis Patterns. Retrieved on 2007-02-01.
- ^ 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.
- ^ Fowler, Martin. Accounting Patterns (PDF). Analysis Pattern. Retrieved on 2007-01-31.
[edit] Further reading
- Haitham, Hamza and Fayad, Mohamed E. (2002). "A Pattern Language for Building Stable Analysis Patterns" (PDF). . Computer Science and Engineering Dept., University of Nebraska-Lincoln Retrieved on 2007-01-31. This paper on pattern language for analysis pattern was presented at the PLoP 2002 (Pattern Languages Of Programs annual conference)
- 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.