duminică, 29 decembrie 2013

commonality/variability analysis


    Recently I've read some articles about the commonality/variability analysis. I'll try to give some notions then a little example.

    Coplien’s work on commonality/variability analysis tells us how to find variations in the problem domain and identify what is common across the domain. Identify where things vary (commonality analysis) and then identify how they vary (variability analysis).
 
    Variability analysis reveals how family members vary. Variability only makes sense within a given commonality.
    Commonality analysis seeks structure that is unlikely to change over time, while variability analysis captures structure that is likely to change. Variability analysis makes sense only in terms of the context defined by the associated commonality analysis. From an architectural perspective, commonality analysis gives the architecture its longevity; variability analysis drives its fitness for use.
    In other words, if variations are the specific concrete cases in the domain, commonality defines the concepts in the domain that tie them together. The common concepts will be represented by abstract classes. The variations found by variability analysis will be implemented by the concrete classes (that is, classes derived from the abstract class with specific implementations).

    I'll present an example in the next post.

Niciun comentariu:

Trimiteți un comentariu