Analysis patterns. Solution models for subject domain problems.

What is an analysis pattern? What advantages does it offer and what analysis templates are there?

Analysis patterns for requirements analysis by Balzert

What is an analysis pattern?

A pattern is a solution template that has proven useful for solving a concrete problem. In software development, this concept is known as a design pattern. It provides code solutions. Analysis patterns are patterns that are also used in software development. They describe solutions for problems in specialist domains. These solutions are class diagram models (a UML diagram type) instead of code. What does this mean, exactly?

Say, for instance, that a library has multiple instances of a particular book. These instances all have the same author and title. This means that the properties are available multiple times because there are multiple editions available. Applied to modelling with class diagrams, this means that if you work with a class like Book, you have the problem of having to save the same properties multiple times, redundantly. With the analysis pattern Instance type, from Heide Balzert, this problem can be solved: You add another class (book type) that contains unchanging properties like Title and Author as attributes. This analysis pattern can be used as a template in other subject areas where this problem occurs.

Analysis patterns can be used in the analysis phase – so for creating professional models or to reflect the structures of business processes. The patterns describe how a subject domain treats a problem, but does not provide technical implementation. It serves as a basis for requirements elicitation and provides the interaction and the responsibilities between the classes.

Analysis patterns are very important for the work of analysts and designers who conduct object-orientated business process modelling with UML.