Evaluating usefulness, ease of use and usability of an UML-based Software Product Line Tool

Software Product Line (SPL) is a software development approach that systematically applies reuse of artifacts in a specific domain. In the last years, the industry has increasingly required the support of tools for most SPL life cycle activities, targeting feature models and related diagrams, variability management and SPL specific products configuration. However, existing literature does not present any tools with native support to UML-based SPLs. In addition, relying on manipulating XMI files for general-purpose UML tools for such SPLs takes significant effort, and it is time-consuming and error-prone. In this scenario, we developed SMartyModeling, with support to UML stereotype-based variability management. To evolve our tool, we evaluated it throughout a survey answered by 37 participants. We adopted questions from the Technology Acceptance Model (TAM) and the System Usability Scale (SUS). We organized it into three sections of Likert-scaled questions for usefulness, ease of use, and usability. A last section consisted of open questions focused on positive and negative aspects and an overview of the evalaution. SMartyModeling was well evaluated in relation to usefulness, ease of use, and usability. We analyzed and interpreted the respondents quotes using correlation techniques and open and axial coding. The analysis of open questions allowed us a direct identification of points to improve the tool, its limitations and positive aspects.

[1]  Itana Maria de Souza Gimenes,et al.  Systematic Management of Variability in UML-based Software Product Lines , 2010, J. Univers. Comput. Sci..

[2]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[3]  Tanja Hueber,et al.  Designing Software Product Lines With Uml From Use Cases To Pattern Based Software Architectures , 2016 .

[4]  Renata Pontin de Mattos Fortes,et al.  A systematic review of domain analysis tools , 2010, Inf. Softw. Technol..

[5]  Rabih Bashroush,et al.  CASE Tool Support for Variability Management in Software Product Lines , 2017 .

[6]  J. B. Brooke,et al.  SUS: a retrospective , 2013 .

[7]  Bernd Brügge,et al.  Issue-based variability management , 2012, Inf. Softw. Technol..

[8]  Jean-Marc Jézéquel,et al.  Software Product Line Engineering with the UML: Deriving Products , 2006, Software Product Lines.

[9]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

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

[11]  Avelino Francisco Zorzo,et al.  Feasibility Analysis of SMartyModeling for Modeling UML-based Software Product Lines , 2020, ICEIS.

[12]  Eduardo Santana de Almeida,et al.  Software Reuse and Product Line Engineering , 2019, Handbook of Software Engineering.

[13]  Eduardo Figueiredo,et al.  A Systematic Literature Review of Software Product Line Management Tools , 2015, ICSR.

[14]  Danny Weyns,et al.  Variability in Software Systems—A Systematic Literature Review , 2014, IEEE Transactions on Software Engineering.

[15]  Tomi Männistö,et al.  Software product lines and variability modeling: A tertiary study , 2019, J. Syst. Softw..

[16]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[17]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

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

[19]  Ioannis Stamelos,et al.  Software Reuse for Dynamic Systems in the Cloud and Beyond , 2015, Lecture Notes in Computer Science.