Applying Feature-Oriented Software Development in SaaS Systems: Real Experience, Measurements, and Findings

  • Oscar Pedreira Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain
  • Fernando Silva-Coira Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain
  • Ángeles Saavedra Places Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain
  • Miguel R. Luaces Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain
  • Leticia González Folgueira Enxenio S.L., A Coruña, Spain
Keywords: feature oriented software development, feature oriented domain analysis, variability management, software as a service, feature model metrics

Abstract

Distributing software as a service (SaaS) has become a major trend for web-based systems. However, this software distribution model poses many challenges. One of them is feature variability, that is, some features of the system may be required by some users, but not by all of them. In addition, variability is more complex than just including or excluding a feature, since different types of relationships may exist between features. The implementation of this variability, and the parametrization and configuration of the system can be complex in this context, so the development process of a SaaS system must adequately address variability management. In this paper we present an experience applying feature oriented software development (FOSD) in the context of SaaS web-based systems development. We present a real experience in the development of a web-based system for managing home care services for dependent people. The article describes the problem of variability management in this domain, and the feature model of the system. Finally, we present an empirical evaluation of the feature model of the system based on data obtained from its real deployment after two years of use. The empirical evaluation was based on state-of-the-art measures for variability management, and revealed relevant insights for software development in this context.

Downloads

Download data is not yet available.

Author Biographies

Oscar Pedreira, Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain

Oscar Pedreira has M.Sc. and Ph.D. degrees in Computer Science from University of A Coruña, Spain. He is an Associate Professor since 2008 at the same institution. He is a researcher of the Database Laboratory. His research interests include topics in databases (algorithms for similarity search, data structures and algorithms for graph databases, geographic information systems), and in software engineering (process improvement, testing, MDE, and SPL). He has co-authored many articles published in journals and conferences relevant for the research areas mentioned. He has continuously participated in research projects and technology and knowledge transfer projects with different companies.

Fernando Silva-Coira, Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain

Fernando Silva-Coira is an Assistant Professor at the Database Lab (LBD) of the Universidade da Coruña (UDC). He received this Ph.D. in Computer Science from the Universidade da Coruña in 2017 for his thesis entitled “Compact Data Structures for Large and Complex Datasets”. His research interests are the design of algorithms and imple-mentation of compact data structures, especially for the representation of geographic data.

Ángeles Saavedra Places, Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain

Ángeles Saavedra Places is currently an Associate Professor at the Computer Science Department of the University of A Coruña. She received her PhD in Computer Science in 2003 from the same university. Her research interests are in the areas of Digital Humanities, Web Information Systems, Geographic Information Systems and Software Engineering. For further details about her CV see: http://lbd.udc.es/ShowResearcherinformation.do?id=5

Miguel R. Luaces, Universidade da Coruña, Centro de Investigación CITIC, Facultade de Informática, A Coruña, Spain

Miguel R. Luaces received his M.S. degree in Computer Science from the University of A Coruña (Spain) in 1998 and an European Ph.D in Computer Science from the University of A Coruña (Spain) in 2004. He undertook research in the area of spatial, temporal and spatio-temporal databases at the FernUniversität Hagen (Germany) under the ChoroChronos project funded by the European Union. Today, he is an Assistant Professor at the University of A Coruña, and he is currently a member of the Databases Laboratory of the University of A Coruña where he has been involved successfully in a number of research and development projects. His research interests include Geographic Information Systems, Spatial and Spatio-temporal Databases, Software Engineering, and Web-based Information Systems.

Leticia González Folgueira, Enxenio S.L., A Coruña, Spain

Leticia González Folgueira holds a M.Sc. degree in Computer Science from University of A Coruña since 2008. She has more than 10 years of experience in software development, and she is currently a technical project manager in Enxenio S.L., where she has specialized in SaaS solutions in the social sector. From this experience, her Ph.D. thesis focuses in this domain, addressing the variability and personalization capabilities these applications must provide, as well as the integration of DevOps strategies in SaaS products.

References

Ramon Abilio, Gustavo Vale, Eduardo Figueiredo, and Heitor Costa. Metrics for feature-oriented programming. In Proceedings of the 7th International Workshop on Emerging Trends in Software Metrics, WETSoM ’16, pages 36–42, New York, NY, USA, 2016. ACM.

Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. Feature-oriented software product lines: Concepts and implementation. Springer, 2013.

Sven Apel and Christian Kästner. An overview of feature-oriented software development. Journal of Object Technology, 8(4):1–36, 2009.

Ebrahim Bagheri and Dragan Gasevic. Assessing the maintainability of software product line feature models using structural metrics. Software Quality Journal, 19:579–612, 09 2011.

David Benavides, Sergio Segura, and Antonio Ruiz-Corts. Automated analysis of feature models 20 years later: A literature review. Information Systems, 35(6):615–636, 2010.

T. Berger, S. She, R. Lotufo, A. Wasowski, and K. Czarnecki. A study of variability models and languages in the systems software domain. IEEE Transactions on Software Engineering, 39(12):1611–1640, Dec 2013.

Thorsten Berger and Jianmei Guo. Towards system analysis with variability model metrics. In Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems, VaMoS ’14, pages 23:1–23:8, New York, NY, USA, 2013. ACM.

Carla I. M. Bezerra, Rossana M. C. Andrade, José M. S. Monteiro, and Davi Cedraz. Aggregating measures using fuzzy logic for evaluating feature models. In Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems, VAMOS 2018, pages 35–42, New York, NY, USA, 2018. ACM.

Carla I. M. Bezerra, Rossana M. C. Andrade, and José Maria S. Monteiro. Measures for quality evaluation of feature models. In Ina Schaefer and Ioannis Stamelos, editors, Software Reuse for Dynamic Systems in the Cloud and Beyond, pages 282–297, Cham, 2014. Springer International Publishing.

Paul Clements and Linda Northrop. Software product lines. Addison-Wesley, 2015.

Krystof Czarnecki and Ulrich Eisenecker. Generative programming: methods, tools, and applications. Addison-Wesley, 2000.

Krzysztof Czarnecki, Simon Helsen, and Ulrich Eise` necker. Formalizing cardinality based feature models and their specialization. Software process: improvement and practice, 10(1):7–29, 2005.

Sascha El-Sharkawy, Nozomi Yamagishi-Eichler, and Klaus Schmid. Metrics for analyzing variability and its implementation in software product lines: A systematic literature review. Information and Software Technology, 106:1–30, 2019.

Matthias Galster, Uwe Zdun, Danny Weyns, Rick Rabiser, Bo Zhang, Michael Goedicke, and Gilles Perrouin. Variability and complexity in software design: Towards a research agenda. SIGSOFT Softw. Eng. Notes, 41(6):27–30, Jan. 2017.

Kyo C. Kang, Sajoong Kim, Jaejoon Lee, Kijoo Kim, Euiseob Shin, and Moonhang Huh. Form: A feature-oriented reuse method with domain-;specific reference architectures. Annals of Software Engineering, 5(1):143, Jan. 1998.

C. Lizhen, W. Haiyang, J. Lin, and H. Pu. Customization modeling based on metagraph for multi-tenant applications. In 5th International Conference on Pervasive Computing and Applications, pages 255–260, Dec. 2010.

Stefan Mann and Georg Rock. Control variant-rich models by variability measures. In Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’11, pages 29–38, New York, NY, USA, 2011. ACM.

Ralph Mietzner, Andreas Metzger, Frank Leymann, and Klaus Pohl. Variability modeling to support customization and deployment of multi-tenant-aware software as a service applications. In Proceedings of the 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems, PESOS ’09, pages 18–25, Washington, DC, USA, 2009. IEEE Computer Society.

H. Moens, E. Truyen, S. Walraven, W. Joosen, B. Dhoedt, and F. De Turck. Developing and managing customizable software as a service using feature model conversion. In 2012 IEEE Network Operations and Management Symposium, pages 1295–1302, April 2012.

Sonia Montagud, Silvia Abrahão, and Emilio Insfran. A systematic review of quality attributes and measures for software product lines. Software Quality Journal, 20(3):425–486, 2012.

Leonardo Passos, Marko Novakovic, Yingfei Xiong, Thorsten Berger, Krzysztof Czarnecki, and Andrzej Wasowski. A study of non-boolean constraints in variability models of an embedded operating system. In Proceedings of the 15th International Software Product Line Conference, Volume 2, page 2. ACM, 2011.

Klaus Pohl and Günter Böckle. Software product line engineering: Foundations, principles and techniques. Springer.

Salvador Trujillo, Don Batory, and Oscar Diaz. Feature oriented model driven development: A case study for portlets. In Proceedings of the 29th International Conference on Software Engineering, ICSE ’07, pages 44–53, Washington, DC, USA, 2007. IEEE Computer Society.

M. Turner, D. Budgen, and P. Brereton. Turning software into a service. Computer, 36(10):38–44, Oct. 2003.

Eray Tn, Bedir Tekinerdogan, Mert Emin Kalender, and Semih Bilgen. Empirical evaluation of a decision support model for adopting software product line engineering. Information and Software Technology, 60:77–101, 2015.

Dave Zubrow and Gary Chastek. Measures for software product lines. Technical note, Software Engineering Institute (SEI) – Carnegie Mellon University.

Section
Articles