A prescriptive software process for Academic Scenarios
Professor Advisor
dc.contributor.advisor
Bastarrica Piñeyro, María Cecilia
Professor Advisor
dc.contributor.advisor
Ochoa Delorenzi, Sergio
Author
dc.contributor.author
Marques Samary, Maira Rejane
Associate professor
dc.contributor.other
Bergel, Alexandre
Associate professor
dc.contributor.other
Simmonds Wagemann, Jocelyn
Associate professor
dc.contributor.other
Viscaíno Barceló, Aurora
Admission date
dc.date.accessioned
2017-06-08T20:43:47Z
Available date
dc.date.available
2017-06-08T20:43:47Z
Publication date
dc.date.issued
2017
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/144289
General note
dc.description
Doctora en Ciencias, Mención Computación
es_ES
Abstract
dc.description.abstract
Tradicionalmente, la ingeniería de software se ha enseñado con clases expositivas. Sin embargo, esta disciplina requiere mucho más que sólo teoría. Con el fin de tratar de entender el estado del arte en este ámbito, se ha realizado una extensa revisión bibliográfica. Además, se llevó a cabo un estudio de la enseñanza de ingeniería de software en las principales universidades de Chile. Los resultados obtenidos indican que hace poco tiempo que estas instituciones han comenzado a enseñar ingeniería de software de una manera teórico-práctica, involucrando a los estudiantes en experiencias de desarrollo de software ya sea en cursos basados en proyectos, como en cursos prácticos de fin de carrera (capstone). Ambos tipos de cursos tienen objetivos distintos; los primeros son generalmente apoyados por procesos más rigurosos, mientras que los últimos son frecuentemente abordados con estrategias de desarrollo ágiles.
Se han propuesto varias estrategias de instrucción y de uso de procesos de ingeniería de software para cursos capstone, pero muy pocos están disponibles para cursos basados en proyectos. Además, aún los procesos más rigurosamente reportados en la literatura no incluyen suficiente detalle para que instructores y estudiantes involucrados puedan reproducirlos en cursos basados en proyectos. Es con el objetivo de llenar este vacío que esta tesis concibe y propone EduProcess: un proceso de desarrollo de software prescriptivo que puede ser utilizado en los cursos de ingeniería de software basados en proyectos que toman parte de programas de computación de pregrado.
En relación al uso de este proceso, esta tesis hipotetiza que EduProcess: (H1) permite que las experiencias prácticas puedan ser reproducidas sin demandar un esfuerzo adicional considerable, y (H2) ayuda a producir resultados positivos en proyectos de software. Este método fue concebido para apoyar a pequeños equipos de software que trabajan de manera distribuida la mayor parte del tiempo y tienen instancias esporádicas de sincronización de sus trabajos. El proceso puede ser
utilizado en proyectos de al menos siete semanas de duración. EduProcess incluye dos subprocesos: uno principalmente a cargo de los estudiantes (e involucra a los usuarios y clientes), y el otro a cargo del equipo instruccional del curso y sirve de apoyo a la experiencia de enseñanza-aprendizaje.
La validación de las hipótesis se realizó con un estudio de caso en un curso de la Universidad de Chile. Los resultados obtenidos indican que EduProcess ayuda a los estudiantes a aumentar su coordinación, su sentido de pertenencia al equipo y su efectividad, pero no necesariamente aumenta su productividad. Tambén permite a los equipos hacer un diagnóstico más preciso de su proyecto y priorizar mejor las tareas de modo de maximizar su tasa de éxito. Estos resultados apoyan a la hipótesis H2. EduProcess se aplicó sistemáticamente y con éxito durante cuatro semestres en un curso de ingeniería de software basado en proyectos. Esto muestra que el proceso permite la repetición de estas experiencias, sin demandar de los instructores y estudiantes un esfuerzo considerable. Este resultado apoya la hipótesis H1. En este sentido, EduProcess hace una contribución al avance del estado del arte en el dominio de la educación de ingeniería de software, y específicamente en el proceso de enseñanza-aprendizaje de ingeniería de software en cursos basados en proyectos.
es_ES
Patrocinador
dc.description.sponsorship
Este trabajo ha sido parcialmente financiado por CONICYT y Fondef