270 likes | 393 Views
A Use Case Based Approach to Feature Models’ Construction. Bo Wang , Wei Zhang, Haiyan Zhao, Zhi Jin, Hong Mei Key Laboratory of High Confidence Software Technology Ministry of Education of China Institute of Software, School of EECS Peking University. Agenda. Background
E N D
A Use Case Based Approach toFeature Models’ Construction Bo Wang, Wei Zhang, Haiyan Zhao, Zhi Jin, Hong Mei Key Laboratory of High Confidence Software Technology Ministry of Education of China Institute of Software, School of EECS Peking University
Agenda • Background • Outline of our approach • Details of our approach • Two metamodels • A semi-automatic approach • Conclusion and Future Work
Background • The construction of feature models • requires analysts’ good knowledge and experience on the domain. • involves quantitative analysis of various documents. Use Cases Use Cases Analysts Feature Model Analyze Req Spe User’s Book
Agenda • Problems and Motivation • Outline of our approach • Details of our approach • Two metamodels • A semi-automatic approach • Conclusion and Future Work
Outline of Our Approach Input Step 2 Step 1 Step 3 Outputs AFM : Application Feature Model DFM : Domain Feature Model
Outline of Our Approach : An Example Web Store Domain Web Store Domain Construct AFMs System 1 : System 1 : AFM1 UC1 System 2 : AFM2 System 2 : UC2 … … System n : System n : AFMn UCn Adjust AFMs Web Store Domain Web Store Domain MergeAFMs System 1 : AAFM1 DFM System 2 : AAFM2 … System n : AAFMn UC1—UCn : Describe how to place an order in a web store. DFM : Represents partial characteristics of the domain which is related to placing an order
Agenda • Problems and Motivation • Outline of our approach • Details of our approach • Two metamodels • A semi-automatic approach • Conclusion and Future Work
The Metamodel of Feature Models • A Feature Model = Features + Relationships Refinements + Constraints
Step 1 : Construct AFMs Step 1 Input Output AFM : Application Feature Model DFM : Domain Feature Model
Step 1 : Construct AFMs • Identify • features • relationships between features from a use case by applying a set of heuristic rules. • Heuristic rules: • Two feature discovery rules • Six relationship discovery rules
Feature Discovery Rules • The operation on each object in an action is regarded as a feature. • The method of an operation is regarded as a feature.
Relationship Discovery Rules • Discover decomposition relationships by identifying features whose names reference the same object.
Relationship Discovery Rules • Discover decomposition relationships by identifying the “Is-a” relationship between objects.
Step 2 : Adjust AFMs Step 2 Input Output AFM : Application Feature Model DFM : Domain Feature Model
Step 2 : Adjust AFMs • Adjust the AFMs to eliminate improper features and relationships with the help a set of heuristic rules. • Three primitive adjusting operations: • Accept • Reject • Create • Heuristic rules: • Six adjusting suggestion rules • Four conflicts checking rules
Adjust AFMs B C B C A A A B A C B C • Help analyst adjust AFMs by applying six adjusting suggestion rules. AFM1 √ √C AFM2 √C √ AFMn √ √C AFMm √C √ Adjusted-AFMs
Adjust AFMs A A A A • Check the conflicts among AFMs by applying four conflicts checking rules. AFM1 √ AFM2 AFMn √ × AFMm √ Adjusted-AFMs
Adjust AFMs • The adjusted AFM is show as follows:
Step 3 : Merge Adjusted-AFMs Input Output Step 3 AFM : Application Feature Model DFM : Domain Feature Model
Merge Adjusted-AFMs • The commonality and variability between the applications are found in the process of merging. • The merging algorithm is based on our previous work Chen [RE 05].
Merge Adjusted-AFMs • The DFM is shown as follows:
Conclusion & Future Work • Contributions: • Two rules to identify features from use cases • Six rules to identify relationships from use cases • Ten rules to help adjust AFMs • A semi-automatic process • Future work: • Find more rules to identify features and relationships • Apply the approach to more domains