{"title":"Teaching software processes from different application domains","authors":"C. Bezerra, E. Coutinho","doi":"10.1145/3571473.3571488","DOIUrl":null,"url":null,"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.","PeriodicalId":440784,"journal":{"name":"Proceedings of the XXI Brazilian Symposium on Software Quality","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the XXI Brazilian Symposium on Software Quality","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3571473.3571488","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
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.
在不同环境、技术和背景(如物联网、区块链、机器学习和云计算)的当前应用程序开发场景中,需要针对特定领域的软件开发过程提供特定的解决方案。软件过程的正确定义需要理解所涉及的团队和组织的特性以及软件工程中的专业技术知识。虽然它是软件工程的重要组成部分,但许多大学课程并没有投入那么多的精力来教授软件过程,而是更多地关注于软件工程的基本原则,例如需求、体系结构和编程语言。软件过程的另一个重要方面是建模。软件过程的建模为管理、自动化和支持软件过程改进提供了基础。在这种背景下,教学软件过程建模变得具有挑战性,主要是由于理论的重视和实践的少。这项工作提出了一个经验报告,教授不同领域的软件过程的定义和建模。我们在软件过程学科中应用了在各种应用领域定义和建模过程的实践,例如:物联网,云,移动,关键系统,自适应系统和游戏。在Eclipse Process Framework (EPF) Composer工具中,根据每个领域的文献参考对流程进行建模。最后,我们对学生的过程建模实践进行了评价。我们得出结论,建模工具和领域中的成熟度对于过程的良好性能是必不可少的。