Published November 7, 2022 | Version v1
Publication Open

Teaching software processes from different application domains

  • 1. Universidade Federal do Ceará

Description

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.

⚠️ This is an automatic machine translation with an accuracy of 90-95%

Translated Description (Arabic)

في سيناريو تطوير التطبيقات الحالي في بيئات وتقنيات وسياقات مختلفة، مثل إنترنت الأشياء والبلوك تشين والتعلم الآلي والحوسبة السحابية، هناك حاجة إلى حلول خاصة لعمليات تطوير البرمجيات الخاصة بالمجال. يتطلب التعريف الصحيح لعمليات البرمجيات فهم الفرق المعنية وخصوصيات المنظمة والمعرفة التقنية المتخصصة في هندسة البرمجيات. على الرغم من أنها جزء أساسي من هندسة البرمجيات، إلا أن العديد من المناهج الجامعية لا تكرس الكثير من الجهد لتدريس عمليات البرمجيات، مع التركيز أكثر على المبادئ الأساسية لهندسة البرمجيات، مثل المتطلبات والهندسة المعمارية ولغات البرمجة. جانب آخر مهم من عمليات البرمجيات هو النمذجة. توفر نمذجة عملية البرنامج أساسًا لإدارة وأتمتة ودعم تحسين عملية البرنامج. في هذا السياق، تصبح نمذجة عملية برامج التدريس صعبة، ويرجع ذلك أساسًا إلى التركيز الكبير على النظرية وقلة الممارسات. يقدم هذا العمل تقرير خبرة يعلم تعريف ونمذجة عمليات البرمجيات في مجالات مختلفة. طبقنا في مجال عمليات البرمجيات ممارسة لتحديد ونمذجة العمليات في مختلف مجالات التطبيقات، مثل: إنترنت الأشياء، والسحابة، والهاتف المحمول، والأنظمة الحرجة، والأنظمة والألعاب ذاتية التكيف. تمت نمذجة العمليات في أداة مؤلف إطار عملية الكسوف (EPF) بناءً على مراجع من الأدبيات لكل مجال. في النهاية، قمنا بتقييم ممارسة نمذجة العملية مع الطلاب. خلصنا إلى أن أداة النمذجة والنضج في المجال ضروريان للأداء الجيد للعملية.

Translated Description (French)

Dans un scénario de développement d'applications actuel dans différents environnements, technologies et contextes, tels que l'IoT, la Blockchain, le Machine Learning et le Cloud Computing, il existe un besoin de solutions particulières pour les processus de développement de logiciels spécifiques au domaine. La bonne définition des processus logiciels nécessite de comprendre les particularités des équipes et de l'organisation impliquées et des connaissances techniques spécialisées en génie logiciel. Bien qu'il s'agisse d'une partie essentielle du génie logiciel, de nombreux programmes universitaires ne consacrent pas autant d'efforts à l'enseignement des processus logiciels, en se concentrant davantage sur les principes de base du génie logiciel, tels que les exigences, l'architecture et les langages de programmation. Un autre aspect important des processus logiciels est la modélisation. La modélisation d'un processus logiciel fournit une base pour gérer, automatiser et soutenir l'amélioration du processus logiciel. Dans ce contexte, l'enseignement de la modélisation des processus logiciels devient difficile, principalement en raison de la grande importance accordée à la théorie et au peu de pratiques. Ce travail présente un rapport d'expérience enseignant la définition et la modélisation de processus logiciels dans différents domaines. Nous avons appliqué dans la discipline des processus logiciels une pratique de définition et de modélisation des processus dans divers domaines d'application, tels que : IoT, cloud, mobile, systèmes critiques, systèmes auto-adaptatifs et jeux. Les processus ont été modélisés dans l'outil Eclipse Process Framework (EPF) Composer basé sur des références de la littérature pour chaque domaine. Au final, nous avons évalué la pratique de modélisation des processus avec les étudiants. Nous avons conclu que l'outil de modélisation et la maturité dans le domaine sont essentiels pour la bonne performance du processus.

Translated Description (Spanish)

En un escenario actual de desarrollo de aplicaciones en diferentes entornos, tecnologías y contextos, como IoT, Blockchain, Machine Learning y Cloud Computing, existe la necesidad de soluciones particulares para los procesos de desarrollo de software específicos del dominio. La correcta definición de los procesos de software requiere la comprensión de los equipos involucrados y las particularidades de la organización y el conocimiento técnico especializado en Ingeniería de Software. Aunque es una parte esencial de la Ingeniería de Software, muchos planes de estudio universitarios no dedican tanto esfuerzo a enseñar procesos de software, centrándose más en los principios básicos de la Ingeniería de Software, como los requisitos, la arquitectura y los lenguajes de programación. Otro aspecto importante de los procesos de software es el modelado. El modelado de un proceso de software proporciona una base para gestionar, automatizar y apoyar la mejora del proceso de software. En este contexto, la enseñanza del modelado de procesos de software se convierte en un desafío, principalmente debido al gran énfasis en la teoría y pocas prácticas. Este trabajo presenta un informe de experiencia que enseña la definición y modelado de procesos de software en diferentes dominios. Aplicamos en la disciplina de los procesos de software una práctica para definir y modelar procesos en diversos dominios de aplicación, tales como: IoT, nube, móvil, sistemas críticos, sistemas autoadaptativos y juegos. Los procesos se modelaron en la herramienta Composer de Eclipse Process Framework (EPF) basada en referencias de la literatura para cada dominio. Al final, evaluamos la práctica de modelado de procesos con los estudiantes. Concluimos que la herramienta de modelado y la madurez en el dominio son esenciales para el buen desempeño del proceso.

Files

questionnaire.pdf.pdf

Files (496.0 kB)

⚠️ Please wait a few minutes before your translated files are ready ⚠️ Note: Some files might be protected thus translations might not work.
Name Size Download all
md5:8538434ab8f8ae4e8854bf6fb059b66f
496.0 kB
Preview Download

Additional details

Additional titles

Translated title (Arabic)
تعليم عمليات البرمجيات من مجالات التطبيق المختلفة
Translated title (French)
Enseigner les processus logiciels de différents domaines d'application
Translated title (Spanish)
Enseñanza de procesos de software desde diferentes dominios de aplicación

Identifiers

Other
https://openalex.org/W4318328430
DOI
10.1145/3571473.3571488

GreSIS Basics Section

Is Global South Knowledge
Yes
Country
Brazil

References

  • https://openalex.org/W1514648770
  • https://openalex.org/W1520900153
  • https://openalex.org/W1615506555
  • https://openalex.org/W1668140416
  • https://openalex.org/W2011289603
  • https://openalex.org/W2021428963
  • https://openalex.org/W2044960277
  • https://openalex.org/W2062650739
  • https://openalex.org/W2127778486
  • https://openalex.org/W2142486130
  • https://openalex.org/W2500453616
  • https://openalex.org/W2515867159
  • https://openalex.org/W2552507948
  • https://openalex.org/W2557382888
  • https://openalex.org/W2568941310
  • https://openalex.org/W2573848005
  • https://openalex.org/W2769504729
  • https://openalex.org/W2806557541
  • https://openalex.org/W2885317468
  • https://openalex.org/W2890017980
  • https://openalex.org/W2890724130
  • https://openalex.org/W2898370153
  • https://openalex.org/W2971987022
  • https://openalex.org/W2996985832
  • https://openalex.org/W2998373541
  • https://openalex.org/W3090388840
  • https://openalex.org/W3118030535
  • https://openalex.org/W3176115515
  • https://openalex.org/W4200034932
  • https://openalex.org/W4237112739
  • https://openalex.org/W4241935001