On-Demand Cluster Analysis for Product Line Functional Requirements

We propose an on-demand clustering framework for analyzing the functional requirements in a product line. Our approach is novel in that the objects to be clustered capture the domain's action themes at a primitive level, and the essential attributes are uncovered via semantic analysis. We provide automatic support to complement domain analysis by quickly identifying important entities and functionalities. A second contribution is our recognition of stakeholders' different goals in cluster analysis, e.g., feature identification for users versus system decomposition for designers. We thus advance the literature by examining requirements clusters that overlap and those causing a minimal information loss, and by facilitating the discovery of product line variabilities. A proof-of-concept example is presented to show the applicability and usefulness of our approach.

[1]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[2]  Björn Regnell,et al.  A linguistic-engineering approach to large-scale requirements management , 2005, IEEE Software.

[3]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[4]  Gary J. Chastek,et al.  Exploring the Context of Product Line Adoption , 2003, PFE.

[5]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[6]  Periklis Andritsos,et al.  Information-theoretic software clustering , 2005, IEEE Transactions on Software Engineering.

[7]  Isabel John Integrating Legacy Documentation Assets into a Product Line , 2001, PFE.

[8]  Nan Niu,et al.  So, You Think You Know Others' Goals? A Repertory Grid Study , 2007, IEEE Software.

[9]  Stuart R. Faulk Product-line requirements specification (PRS): an approach and case study , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[10]  Thomas M. Cover,et al.  Elements of Information Theory , 2005 .

[11]  Geri Schneider,et al.  Applying Use Cases: A Practical Guide , 1998 .

[12]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[13]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[14]  Kyo Chul Kang,et al.  Feature Dependency Analysis for Product Line Component Design , 2004, ICSR.

[15]  John A. Hartigan,et al.  Clustering Algorithms , 1975 .

[16]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2003, Software and Systems Modeling.

[17]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[18]  Mehrdad Sabetzadeh,et al.  A manifesto for model merging , 2006, GaMMa '06.

[19]  Walter P. Bond,et al.  Toward software requirements modularization using hierarchical clustering techniques , 2005, ACM Southeast Regional Conference.

[20]  Ted Briscoe,et al.  High Precision Extraction of Grammatical Relations , 2001, COLING.

[21]  Keunhyuk Yeom,et al.  An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line , 2005, IEEE Transactions on Software Engineering.

[22]  Juha Kuusela,et al.  Requirements engineering for product families , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[23]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[24]  Rubén Prieto-Díaz,et al.  Domain analysis: an introduction , 1990, SOEN.

[25]  Jane Cleland-Huang,et al.  Clustering support for automated tracing , 2007, ASE '07.

[26]  Charles J. Fillmore,et al.  THE CASE FOR CASE. , 1967 .

[27]  R. Suganya,et al.  Data Mining Concepts and Techniques , 2010 .

[28]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[29]  Haiyan Zhao,et al.  An approach to constructing feature models based on requirements clustering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[30]  Leonid Kof,et al.  Scenarios: Identifying Missing Objects and Actions by Means of Computational Linguistics , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[31]  Klaus Pohl,et al.  Considering Variabilities during Component Selection in Product Family Development , 2001, PFE.

[32]  Yijun Yu,et al.  A Taxonomy of Asymmetric Requirements Aspects , 2007, EA@AOSD.

[33]  Ruzanna Chitchyan,et al.  Persistence as an aspect , 2003, AOSD '03.

[34]  Robert L. Glass A tongue-in-cheek look at fun and/or games , 1999 .

[35]  Yen-Liang Chen,et al.  An overlapping cluster algorithm to provide non-exhaustive clustering , 2006, Eur. J. Oper. Res..

[36]  Michael Jackson,et al.  Distributed Feature Composition: A Virtual Architecture for Telecommunications Services , 1998, IEEE Trans. Software Eng..

[37]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[38]  Nan Niu,et al.  Extracting and Modeling Product Line Functional Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[39]  Alan T. Yaung,et al.  Design and implementation of a requirements clustering analyzer for software system decomposition , 1992, SAC '92.

[40]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[41]  Zude Li,et al.  An Approach to Requirements Encapsulation with Clustering , 2007, WER.

[42]  Alexander L. Wolf,et al.  A conceptual basis for feature engineering , 1999, J. Syst. Softw..