Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3571473.3571488acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbqsConference Proceedingsconference-collections
research-article

Teaching software processes from different application domains

Published: 27 January 2023 Publication History

Abstract

In a current application development scenario in different environments, technologies and contexts, such as IoT, Blockchain, Machine Learning and Cloud Computing, there is a need for particular solutions for domain-specific software development processes. The proper definition of software processes requires understanding the involved teams and organization’s particularities and specialized technical knowledge in Software Engineering. Although it is an essential part of Software Engineering, many university curricula do not dedicate as much effort to teach software processes, focusing more on the basic principles of Software Engineering, such as requirements, architecture and programming languages. Another important aspect of software processes is modeling. The modeling of a software process provides a basis for managing, automating and supporting the software process improvement. In this context, teaching software process modeling becomes challenging, mainly due to the great emphasis on theory and few practices. This work presents an experience report teaching the definition and modeling of software processes in different domains. We applied in the discipline of software processes a practice for defining and modeling processes in various application domains, such as: IoT, cloud, mobile, critical systems, self-adaptive systems and games. The processes were modeled in the Eclipse Process Framework (EPF) Composer tool based on references from the literature for each domain. In the end, we evaluated the process modeling practice with the students. We concluded that the modeling tool and the maturity in the domain are essential for the good performance of the process.

References

[1]
A. A. Abdelaziz, Y. El-Tahir, and R. Osman. 2015. Adaptive Software Development for developing safety critical software. In 2015 International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering (ICCNEEE). 41–46.
[2]
Saiqa Aleem, Luiz Fernando Capretz, and Faheem Ahmed. 2016. Game development software engineering process life cycle: a systematic review. Journal of Software Engineering Research and Development 4, 1(2016), 6.
[3]
Jesper Andersson, Luciano Baresi, Nelly Bencomo, Rogério de Lemos, Alessandra Gorla, Paola Inverardi, and Thomas Vogel. 2013. Software Engineering Processes for Self-Adaptive Systems. Springer Berlin Heidelberg, Berlin, Heidelberg, 51–75. https://doi.org/10.1007/978-3-642-35813-5_3
[4]
Alejandro Calderón, Manuel Trinidad, Mercedes Ruiz, and Rory V O’Connor. 2018. Teaching software processes and standards: a review of serious games approaches. In International Conference on Software Process Improvement and Capability Determination. Springer, 154–166.
[5]
Alejandro Calderón, Manuel Trinidad, Mercedes Ruiz, and Rory V O’Connor. 2019. An Experience of Use a Serious Game for Teaching Software Process Improvement. In European Conference on Software Process Improvement. Springer, 249–259.
[6]
Alejandro Calderón, Mercedes Ruiz, and Rory V. O’Connor. 2018. A multivocal literature review on serious games for software process standards education. Computer Standards & Interfaces 57 (2018), 36 – 48.
[7]
Gabriella Carrozza, Roberto Pietrantuono, and Stefano Russo. 2018. A software quality framework for large-scale mission-critical systems engineering. Information and Software Technology 102 (2018), 100–116.
[8]
R. O. Chaves, C. G. von Wangenheim, J. C. C. Furtado, S. R. B. Oliveira, A. Santos, and E. L. Favero. 2015. Experimental Evaluation of a Serious Game for Teaching Software Process Modeling. IEEE Transactions on Education 58, 4 (Nov 2015), 289–296. https://doi.org/10.1109/TE.2015.2411573
[9]
Betty HC Cheng, Pete Sawyer, Nelly Bencomo, and Jon Whittle. 2009. A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In International Conference on Model Driven Engineering Languages and Systems. Springer, 468–483.
[10]
Jürgen Cito, Philipp Leitner, Thomas Fritz, and Harald C Gall. 2015. The making of cloud applications: An empirical study on software development for the cloud. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 393–403.
[11]
Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.
[12]
Emanuel Coutinho, Carla Ilane Moreira Bezerra, Leonardo Oliveira Moreira, and Igor Rodrigues. [n.d.]. A Tool for Software Ecosystem Models: An Analysis on their Implications in Education. In 34th Brazilian Symposium on Software Engineering (SBES ’20) (Natal, Brazil) (SBES 2020). ACM, New York, NY, USA. https://doi.org/10.1145/3422392.3422486
[13]
Emanuel Ferreira Coutinho, Davi Viana, and Rodrigo Pereira dos Santos. 2017. An Exploratory Study on the Need for Modeling Software Ecosystems: The Case of SOLAR SECO. In 9th International Workshop on Modelling in Software Engineering (MISE) (Buenos Aires, Argentina) (MISE ’17). IEEE Press, Piscataway, NJ, USA, 47–53. https://doi.org/10.1109/MiSE.2017.3
[14]
Rogério De Lemos, Holger Giese, Hausi A Müller, Mary Shaw, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Gabriel Tamura, Norha M Villegas, Thomas Vogel, 2013. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II. Springer, 1–32.
[15]
Jose; Augusto De Sena Quaresma and Sandro Ronaldo Bezerra Oliveira. 2021. Teaching and learning strategies for software process subject. In 2021 IEEE Frontiers in Education Conference (FIE). 1–7. https://doi.org/10.1109/FIE49875.2021.9637428
[16]
E. Fernandes, J. Oliveira, and E. Figueiredo. 2016. Investigating how features of online learning support software process education. In 2016 IEEE Frontiers in Education Conference (FIE). 1–8. https://doi.org/10.1109/FIE.2016.7757681
[17]
Thaís Ferreira, Davi Viana, Juliana Fernandes, and Rodrigo Santos. 2018. Identifying Emerging Topics and Difficulties in Software Engineering Education in Brazil. In Proceedings of the XXXII Brazilian Symposium on Software Engineering (Sao Carlos, Brazil) (SBES ’18).
[18]
A Fontão, R Santos, A Dias-Neto, 2016. MSECO-DEV: Application development process in mobile software ecosystems. In Proceedings of the international conference on software engineering and knowledge engineering (SEKE2016). 317–322.
[19]
Erik M Fredericks, Byron DeVries, and Betty HC Cheng. 2014. Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. 17–26.
[20]
Laura García-Borgoñon, Miguel A Barcelona, Julián Alberto García-García, M Alba, and María José Escalona. 2014. Software process modeling languages: A systematic literature review. Information and Software Technology 56, 2 (2014), 103–116.
[21]
Görkem Giray. 2021. A software engineering perspective on engineering machine learning systems: State of the art and challenges. Journal of Systems and Software 180 (2021), 111031. https://doi.org/10.1016/j.jss.2021.111031
[22]
Ronald Jabangwe, Henry Edison, and Anh Nguyen Duc. 2018. Software engineering process models for mobile app development: A systematic literature review. Journal of Systems and Software 145 (2018), 98–111.
[23]
Jørn Johansen, Ricardo Colomo-Palacios, and Rory V O’Connor. 2016. Towards a manifesto for software process education, training and professionalism. In International Conference on Software Process Improvement and Capability Determination. Springer, 98–105.
[24]
André Koscianski and Michel dos Santos Soares. 2007. Qualidade de Software-2ª Edição: Aprenda as metodologias e técnicas mais modernas para o desenvolvimento de software. Novatec Editora.
[25]
Nane Kratzke and Peter-Christian Quint. 2017. Understanding cloud-native applications after 10 years of cloud computing-a systematic mapping study. Journal of Systems and Software 126 (2017), 1–16.
[26]
Marco Kuhrmann, Daniel Méndez Fernández, and Jürgen Münch. 2013. Teaching Software Process Modeling. In Proceedings of the 2013 International Conference on Software Engineering (San Francisco, CA, USA) (ICSE ’13). IEEE Press, 1138–1147.
[27]
Xabier Larrucea, Annie Combelles, John Favaro, and Kunal Taneja. 2017. Software engineering for the internet of things. IEEE Software 34, 1 (2017), 24–28.
[28]
Hanyan Liu, Samuel Eksmo, Johan Risberg, and Regina Hebig. 2020. Emerging and Changing Tasks in the Development Process for Machine Learning Systems. Association for Computing Machinery, New York, NY, USA, 125–134. https://doi.org/10.1145/3379177.3388905
[29]
Hanyan Liu, Samuel Eksmo, Johan Risberg, and Regina Hebig. 2020. Emerging and Changing Tasks in the Development Process for Machine Learning Systems. In Proceedings of the International Conference on Software and System Processes (Seoul, Republic of Korea) (ICSSP ’20). Association for Computing Machinery, New York, NY, USA, 125–134. https://doi.org/10.1145/3379177.3388905
[30]
Victor Moura and Gleison Santos. 2018. ProcSoft: A Board Game to Teach Software Processes Based on ISO/IEC 29110 Standard. In Proceedings of the 17th Brazilian Symposium on Software Quality (Curitiba, Brazil) (SBQS). Association for Computing Machinery, New York, NY, USA, 363–372.
[31]
OMG. 2008. Software & Systems Process Engineering Meta-Model Specification - Version 2.0. Technical Report. Object Management Group (OMG). https://www.omg.org/spec/SPEM/2.0/PDF.
[32]
Ann Osborne O’Hagan, Gerry Coleman, and Rory V. O’Connor. 2014. Software Development Processes for Games: A Systematic Literature Review. In Systems, Software and Services Process Improvement, Béatrix Barafort, Rory V. O’Connor, Alexander Poth, and Richard Messnarz (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 182–193.
[33]
Pankesh Patel and Damien Cassou. 2015. Enabling high-level application development for the Internet of Things. Journal of Systems and Software 103 (2015), 62–84.
[34]
Ian Sommerville. 2011. Engenharia de software. Pearson Brasil.
[35]
S. Tiwari and S. Singh Rathore. 2019. Teaching Software Process Models to Software Engineering Students: An Exploratory Study. In 2019 26th Asia-Pacific Software Engineering Conference (APSEC). 308–315. https://doi.org/10.1109/APSEC48747.2019.00049
[36]
Murat Yilmaz, Serdar Tasel, Eray Tuzun, Ulas Gulec, Rory V. O’Connor, and Paul M. Clarke. 2019. Applying Blockchain to Improve the Integrity of the Software Development Process. In Systems, Software and Services Process Improvement, Alastair Walker, Rory V. O’Connor, and Richard Messnarz (Eds.). Springer International Publishing, Cham, 260–271.
[37]
M. Younas, D. N. A. Jawawi, A. K. Mahmood, M. N. Ahmad, M. U. Sarwar, and M. Y. Idris. 2020. Agile Software Development Using Cloud Computing: A Case Study. IEEE Access 8(2020), 4475–4484. https://doi.org/10.1109/ACCESS.2019.2962257

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBQS '22: Proceedings of the XXI Brazilian Symposium on Software Quality
November 2022
352 pages
ISBN:9781450399999
DOI:10.1145/3571473
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 January 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. education.
  2. software process
  3. systems domain

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SBQS '22
SBQS '22: XXI Brazilian Symposium on Software Quality
November 7 - 10, 2022
Curitiba, Brazil

Acceptance Rates

Overall Acceptance Rate 35 of 99 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 72
    Total Downloads
  • Downloads (Last 12 months)27
  • Downloads (Last 6 weeks)3
Reflects downloads up to 27 Nov 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media