Analysis Model In Software Engineering

Posted on

Software analysis patterns or analysis patterns in software engineering 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.' [1]

MODEL BASED SOFTWARE ENGINEERING Model based Software Engineering is the idea of achieving code reuse and perform maintenance and product development through the use of software modeling technology and by splitting the production of software into two parallel engineering processes namely domain engineering and application. Analysis model operates as a link between the 'system description' and the 'design model'. In the analysis model, information, functions and the behaviour of the system is defined and these are translated into the architecture, interface and component level design in the 'design modeling'. Elements of the analysis model. About the Modeling & Analysis in Software Engineering Group Computer Science is a fascinating field. In a relatively short amount of time, computers have impacted almost every aspect of society and enabled applications and uses thought impossible just a few years ago.

Overview[edit]

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'. An example:

Model
Figure 1: Event analysis pattern

Martin Fowler describes this pattern as one that 'captures the memory of something interesting which affects the domain'.[3]

Describing an analysis pattern[edit]

Analysis Model In Software Engineering

While doing Analysis we are trying to understand the problem. 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 Erich Gamma, Frank Buschmann and Christopher Alexander on patterns (in architecture or computer science). One of them, proposed by Hahsler,[4] 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'[5]
  • Forces and context: 'Discussion of forces and tensions which should be resolved by the analysis pattern'[6]
  • 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.'[4]
  • 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.

There are two main tasks where analysis pattern is used in software development process.They are as follows:

  • Analysis pattern suggest design patterns and reliable solutions for common problems and it facilitates the transformation of the analysis model into a design model.
  • Analysis patterns develop the abstract analysis models as early as possible.These models capture the main requirements of the concrete problem by providing reusable analysis models with examples as well as a description of advantages and limitations.

The World of Patterns[edit]

Patterns for software development are a 'hot topic' from the object oriented community. Patterns are used to create a useful body of literature within a software community. This resolves recurring problems encountered throughout all of software development. Christopher Alexander developed a theory and collection of patterns in architecture.

See also[edit]

Engineering
  • Problem frames approach is another approach to software requirements analysis.
  • Role class model an example of analysis pattern applied to the role concept.

References[edit]

Types Of Software Engineering Models

  1. ^Purao, Sandeep; Storey, Veda C.; Han, Taedong (September 2003). 'Improving Analysis Pattern Reuse'(PDF). Information Systems Research, Vol. 14, No. 3: 169–290. ISSN1526-5536. Archived from the original(PDF) on 2006-09-08. Retrieved 2007-01-31.
  2. ^ abFowler, Martin (1996-11-27). Analysis Patterns: Reusable Object Models. Addison-Wesley. ISBN0-201-89542-0. 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. Retrieved 2007-01-31.
  4. ^ abHahsler, Michael; Geyer-Schulz, Andreas (November 2001). 'Software Engineering with Analysis Patterns'. Retrieved 2012-12-01.
  5. ^Gamma, Erich; Richard Helm; Ralph Johnson; John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software. hardcover, 395 pages. Addison-Wesley. ISBN0-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. ISBN0-19-502402-8.

Further reading[edit]

  • Haitham, Hamza & Fayad, Mohamed E. (2002). 'A Pattern Language for Building Stable Analysis Patterns'(PDF). Computer Science and Engineering Dept., University of Nebraska-Lincoln. Retrieved 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; Michael Stal (1996). Pattern-oriented Software Architecture, Volume 1: A System of Patterns. John Wiley & Sons. ISBN0-471-95869-7.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Software_analysis_pattern&oldid=875746439'