It has been observed that the software engineer 'reuses' certain functions, classes, and/ or behavior across all the projects, which mayor may not form a part of the specific application domain. For example, features and functions described by a user interface are almost common, regardless of the application domain chosen. Analysis patterns refer to classes, functions, and other features that can be reused when developing applications within a specific application domain. The objectives of analysis patterns are listed below.
- To quicken the requirements analysis phase by providing reusable analysis models with the description of both advantages and limitations.
- To suggest several design patterns and feasible solutions to common problems in order to help the software designer translate an analysis model into a design model.
Analysis patterns have a unique pattern name, which allows the development team to refer to them with their pattern names. These patterns are stored in a repository so that the software engineer can refer to these patterns and reuse them while developing new software.
Information is stored in the analysis pattern, which can be viewed in the form of a template. The analysis pattern template, which is comprises the following sections.
- Pattern name: Consists of important information (in the form of descriptor) about the analysis pattern. This descriptor is used within the analysis model when reference is made to a pattern.
- Intent: Describes the problem that is addressed in an analysis pattern, which facilitates the software engineer to use analysis patterns in the specified application domain.
- Motivation: Represents how an analysis pattern can be used to address a particular problem in the application domain with the help of a scenario.
- External issues and contexts: Lists the external issues that affect the manner in which an analysis pattern works. The external issues include business related subjects, external technical constraints, and so on. In addition, external issues and contexts specify the external issues that are to be resolved by an analysis pattern.
- Solution: Describes the procedure by which an analysis pattern is implemented in the analysis model.
- Consequences: Describes the implementation effects of an analysis pattern into the application domain. It also provides a description of limitations that arises during its implementation.
- Design: Describes the procedure of achieving analysis patterns by using the known design patterns.
- Known uses: Provides information about the uses of an analysis pattern within the system.
- Related patterns: Lists the analysis patterns that are related to the 'chosen' pattern.