Odyssey-ProcessCase: A Case-Based Software Process Line Approach

Software processes have been the focus of discussion in the literature, but defining a software process that meets project-specific needs remains a challenge. The Software Process Line (SPrL) technique offers a systematic to identify processes' similarities and variability to support software process reuse. Based on a literature review analysis, a concentration of SPrL approaches that use mapping/rules techniques to support project-specific software process definition was observed. However, the knowledge acquisition process required by this kind of technique is not trivial, due to the unavailability of experts and overhead in domain engineering. This paper presents an incremental learning approach for SPrL, called Odyssey-ProcessCase, focused on the decision-making support to solve SPrL variability during the project-specific software process definition. The approach applies techniques such as Case-Based Reasoning (CBR) and Rule-Based System to offer complementary mechanisms to support the decision-making task aiming at the software process definition from reusable artifacts of SPrL.

[1]  Julio Ariel Hurtado Alegria,et al.  An MDE approach to software process tailoring , 2011, ICSSP '11.

[2]  Ana Regina Cavalcanti da Rocha,et al.  Software Process Definition: a Reuse-based Approach , 2011, J. Univers. Comput. Sci..

[3]  Agnar Aamodt,et al.  Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches , 1994, AI Commun..

[4]  Andrej Werner,et al.  A Process Family Approach for the reuse of development processes , 2007 .

[5]  Cláudia Werner,et al.  Software Process Definition using Process Lines: A Systematic Literature Review , 2018, 2018 XLIV Latin American Computer Conference (CLEI).

[6]  Scott Henninger,et al.  A Case-Based Approach to Tailoring Software Processes , 2001, ICCBR.

[7]  Linda M. Northrop SEI's Software Product Line Tenets , 2002, IEEE Softw..

[8]  Raquel M. Pillat,et al.  BPMNt: A BPMN extension for specifying software process tailoring , 2015, Inf. Softw. Technol..

[9]  Philippe Kruchten,et al.  Contextualizing agile software development , 2013, J. Softw. Evol. Process..

[10]  Cláudia Maria Lima Werner,et al.  COMPOOTIM: An Approach to Software Processes Composition and Optimization , 2012, CIbSE.

[11]  Jürgen Münch,et al.  Acquisition of a Project-Specific Process , 2005, PROFES.

[12]  Cláudia Maria Lima Werner,et al.  Feature Modeling for Context-Aware Software Product Lines , 2008, SEKE.

[13]  Lisandra M. Fontoura,et al.  Activity-Based Software Process Lines Tailoring , 2014, Int. J. Softw. Eng. Knowl. Eng..

[14]  Doo-Hwan Bae,et al.  Tailoring a large-sized software process using process slicing and case-based reasoning technique , 2013, IET Softw..

[15]  Julio Ariel Hurtado Alegria,et al.  MDE software process lines in small companies , 2013, J. Syst. Softw..

[16]  Cláudia Maria Lima Werner,et al.  OdysseyProcessReuse - A Component-based Software Process Line Approach , 2018, ICEIS.

[17]  David B. Paradice,et al.  Organizational Knowledge Management , 1989 .

[18]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[19]  Zhiming Zhang,et al.  Similarity Measures for Retrieval in Case-Based Reasoning Systems , 1998, Appl. Artif. Intell..

[20]  Alfonso Fuggetta,et al.  Software process: a roadmap , 2000, ICSE '00.

[21]  Olivier Barais,et al.  Leveraging CVL to Manage Variability in Software Process Lines , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[22]  Forrest Shull,et al.  Packaging Researcher Experience to Assist Replication of Experiments , 1996 .

[23]  Uirá Kulesza,et al.  A Model-driven Approach to Managing and Customizing Software Process Variabilities , 2010, ICEIS.

[24]  Barry W. Boehm,et al.  Using Risk to Balance Agile and Plan-Driven Methods , 2003, Computer.

[25]  Fred D. Davis A technology acceptance model for empirically testing new end-user information systems : theory and results , 1985 .

[26]  Mariela Inés Cortés,et al.  Organizational Knowledge Management through Software Process Reuse and Case-based Reasoning , 2010, ICEIS.

[27]  Jürgen Münch,et al.  Scoping software process lines , 2009 .

[28]  Ana Regina Cavalcanti da Rocha,et al.  Supporting the Definition of Software Processes at Consulting Organizations via Software Process Lines , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[29]  Mohammad Chuttur,et al.  Overview of the Technology Acceptance Model: Origins, Developments and Future Directions , 2009 .

[30]  Frederick Hayes-Roth,et al.  Rule-based systems , 1985, CACM.

[31]  Andreia Malucelli,et al.  A software process line for service-oriented applications , 2015, SAC.

[32]  Rodrigo Quites Reis,et al.  Automated support for software process reuse: requirements and early experiences with the APSEE model , 2001, Proceedings Seventh International Workshop on Groupware. CRIWG 2001.

[33]  Raman Ramsin,et al.  Development of Situational Requirements Engineering Processes: A Process Factory Approach , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[34]  Félix García,et al.  Requirements and constructors for tailoring software processes: a systematic literature review , 2012, Software Quality Journal.

[35]  H. Dieter Rombach Integrated Software Process and Product Lines , 2013, Perspectives on the Future of Software Engineering.

[36]  Fritz H. Grupe,et al.  The application of case-based reasoning to the software development process , 1998, Inf. Softw. Technol..

[37]  Padraig Cunningham,et al.  Déjà Vu: A Hierarchical Case-Based Reasoning System for Software Design , 1992, ECAI.

[38]  Hironori Washizaki Building Software Process Line Architectures from Bottom Up , 2006, PROFES.

[39]  Gregory D. Abowd,et al.  A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications , 2001, Hum. Comput. Interact..

[40]  Susan Craw,et al.  Case-Based Reasoning , 2010, Encyclopedia of Machine Learning.

[41]  Jürgen Münch,et al.  Scoping Software Process Models - Initial Concepts and Experience from Defining Space Standards , 2008, ICSP.

[42]  Ivica Crnkovic,et al.  Reuse, validation and verification of system development processes , 1999, Proceedings. Tenth International Workshop on Database and Expert Systems Applications. DEXA 99.

[43]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.