Explicate Problem for Customization Analysis

Get Started. It's Free
or sign up with your email address
Rocket clouds
Explicate Problem for Customization Analysis by Mind Map: Explicate Problem for Customization Analysis

1. Context

1.1. Customization analysis

1.1.1. Supporting Evidences?

1.1.1.1. "At business unit B, all required changes during product derivation are handled through product-specific adaptation. Periodically, the functionality that is deemed useful for the product family is incorporated in the family assets."

1.1.1.2. there is the final responsibility of the architect: letting some code units grow, while pruning others. This gardening is a true architectural modification effort: the code view of the system is sometimes drastically modified [11]. You must carry out such an effort with the support of the best domain experts of the system. Domain experts are required because only they understand the subtle differences between code unit versions and the needs of the users as they evolved historically, so are best equipped to prune and consolidate.

1.1.1.3. "A script was created to target this type of branching code, by identifying the conditionals and counting the lines of associated branched or featured code. The script was supplemented by manual inspection to prevent false positives. We calculated the specificity metric as a percentage of branched and featured code of the total number of lines of procedural code."

2. Set Problem Statement

2.1. Analyzing how products customize core assets a is time-consuming and error-prone process.

3. Assess Problem as Difficulties

3.1. Ascertain Consequences

3.1.1. The SPL release does not fulfill product needs

3.1.1.1. ...leads to...

3.1.1.1.1. Reuse decay

3.1.1.1.2. productivity drop & higher time-to market

3.2. Ascertain Causes

3.2.1. Large number of files to be reviewed

3.2.1.1. "... following steps are necessary for finding out if something has changed in the instances of S. 1. Open the version graph of S 2. Identify the product branches (there may be many other temporary branches next to the product branches) 3. For each product branch look for new S versions since the last synchronization between family and Application Engineering 4. For each new version of S query the configuration management system for the changes made in that version 5. Filter out product-specific changes and identify changes that may affect S."

3.2.2. Low abstraction level at which analysis is conducted

3.2.2.1. "A script was created to target this type of branching code, by identifying the conditionals and counting the lines of associated branched or featured code. The script was supplemented by manual inspection to prevent false positives. We calculated the specificity metric as a percentage of branched and featured code of the total number of lines of procedural code."

3.2.3. Lack of dedicated visualizations