SlideShare una empresa de Scribd logo
Hoja de ruta para realizar experimentos
en Ingeniería de Software
Omar S. Gómez
Mérida, Yucatán, México, Octubre 2017 (imagen de http://study.com/cimages/course-image/science-for-kids_207305_large.jpg)
5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
Escuela Superior Politécnica de Chimborazo (ESPOCH)
5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
●
●
●
●
●
●
●
●
5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
Software
● Creación intelectual del ser humano que hoy en día es
sumamente difícil, sino imposible, prescindir de éste
● Prácticamente se usa en todos los sectores de
nuestra sociedad moderna (ciencia, defensa,
educación, salud, ocio, etc.)
imagen de: http://www.softsubmitter.com/wp-content/uploads/2016/06/magazine-maker-software.jpg
IntroducciónCONISOFT'2017
Software
El software suele ser desarrollado y corregido
por profesionales del área informática
imagen de: https://medium.com/founders-coders
IntroducciónCONISOFT'2017
Trabajos asociados con el desarrollo de
software
MichaelPage, sitio especializado en reclutamiento,
muestra un panorama con las profesiones de mayor
demanda a nivel mundial
Fuente: https://www.michaelpage.co.uk/minisite/most-in-demand-professions/
IntroducciónCONISOFT'2017
Trabajos asociados con el desarrollo de
software (cont.)
De acuerdo a este sitio, existe gran demanda de
ingenieros de software en 24 países
Fuente: https://www.michaelpage.co.uk/minisite/most-in-demand-professions/
IntroducciónCONISOFT'2017
¿Qué es lo que hace ser al ingeniero de
software un ingeniero?
imagen de: https://en.wikipedia.org/wiki/Software_developer
La ingeniería en la Ingeniería de SoftwareCONISOFT'2017
Ingeniería
En general, por ingeniería entendemos la
aplicación de conocimientos científicos
para la resolución de problemas que
ocurren en la práctica
CONISOFT'2017 La ingeniería en la Ingeniería de Software
imagen de: http://wonderfulengineering.com/engineering-pictures-in-hd-for-free-download/
Ingeniería civil
Imágenes de: https://www.pinterest.com/pin/415879346818439799/ y
https://www.pinterest.com/pin/309833649339912140/
CONISOFT'2017 La ingeniería en la Ingeniería de Software
Ingeniería civil
Conocimiento codificado
Fundamentos teóricos
-Estructuras mecánicas
-Combinación de fuerzas
-Teoría de la estática
-Teoría de la flexión
-Propiedades de materiales
-Análisis estructural
-…
Codificación
de conocimiento
Cuerpo de conocimientos
CONISOFT'2017 La ingeniería en la Ingeniería de Software
Según Shaw1, una disciplina ingenieril
evoluciona a través de diferentes etapas
1
Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24
CONISOFT'2017 La ingeniería en la Ingeniería de Software
De acuerdo al concepto de ingeniería y al
gráfico de Shaw1, ¿al día de hoy podemos
considerar a la ingeniería de software como
una disciplina ingenieril?
1
Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24
CONISOFT'2017 La ingeniería en la Ingeniería de Software
Ingeniería del Software
Definición IEEE1. Aplicación de un enfoque cuantificable,
disciplinado y sistemático para el desarrollo, operación y
mantenimiento del software, y el estudio de estos
enfoques; esto es, la aplicación de la ingeniería al software
Imagen de: https://www.intracomdefense.com/ImageHandler.ashx?image=/content/SW_Engineering(5).jpg
1
ISO/IEC/IEEE Systems and software engineering -- Vocabulary ISO/IEC/IEEE 24765:2010(E), 2010, 1-418
CONISOFT'2017 La ingeniería en la Ingeniería de Software
Problemáticas en la IS
● Productos software de baja calidad
● Entregados fuera de plazo
● Con un costo mayor al estimado
Imagen de: https://blog.janeirodigital.com/2016/02/11/software-self-defense-101-improving-your-technical-estimates/
CONISOFT'2017 La ingeniería en la Ingeniería de Software
A día de hoy no hemos sido capaces de
generar y codificar suficiente conocimiento
científico para que el profesional del desarrollo
de software pueda aplicarlo en la práctica
Imagen de: Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24
CONISOFT'2017 La ingeniería en la Ingeniería de Software
La investigación en ingeniería de software
tiene como fin continuar con la generación y
codificación de conocimiento científico para
incorporarlo en la práctica del desarrollo de
software
Investigación en Ingeniería de SoftwareCONISOFT'2017
Imagen de: Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24
Investigación en ingeniería
CONISOFT'2017 Investigación en Ingeniería de Software
Enfoques de investigación usados en la
Ingeniería de Software
Imagen de: https://www.biografiasyvidas.com/monografia/aristoteles/
CONISOFT'2017 Investigación en Ingeniería de Software
Experimento
En un experimento, realizado en un laboratorio (es
decir, en condiciones controladas) se modelan las
principales características de una realidad (en el caso
de la IS, el desarrollo de software) lo que permite
estudiarlas y comprenderlas mejor
Imagen de: https://searchengineland.com/answer-box-experiment-journey-known-unknown-factors-270948
Experimentación en Ingeniería de SoftwareCONISOFT'2017
Experimentos
Son útiles para:
- Confirmar teorías i.e. probar teorías existentes
- Confirmar juicios convencionales i.e. probar las creencias,
   intuiciones de las personas, en este caso prácticas en IS
- Explorar relaciones i.e. probar que cierta relación se
   mantiene
- Evaluar la exactitud de un modelo i.e. probar que la
   exactitud de ciertos modelos es como se esperaba
- Validar mediciones i.e. asegurar que una medida
    realmente mide lo qué se supone debe medir
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentos reportados en IS
● cadena de búsqueda:
TITLE­ABS­KEY ( "controlled experiment"  AND  
"software engineering" )  AND  PUBYEAR  <  2017 
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentos reportados en IS
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentos reportados en IS
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentación
El objetivo de la experimentación es identificar las
causas por las que se producen determinados
resultados (efecto)
Imagen de: http://www.writeawriting.com/essay/cause-and-effect-essay/
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentación en IS
Puede servir como un mecanismo fiable
para validar empíricamente (con hechos)
las prácticas en IS.
Ayuda a construir una base teórica a partir
de hechos recabados.
CONISOFT'2017 Experimentación en Ingeniería de Software
Imagen de: https://thumbs.dreamstime.com/z/vector-tree-growing-book-doodle-education-concept-48929812.jpg
Experimentación en IS
A partir de una base teórica de conocimientos es
posible codificar estos conocimientos para
aplicarlos a la resolución de problemas afines al
desarrollo y mantenimiento del software
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentación en IS
La experimentación en IS hace posible la
identificación y comprensión de las variables
que entran en juego en la construcción de
software, así como las conexiones que existen
entre ellas
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentación en IS
● La formalización de la experimentación surge
en la década de los 80s
imagen de: https://alchetron.com/Harrison-Rhodes-361036-W
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentación en IS
El tipo de experimentos realizados en IS
involucran la participación de estudiantes o
profesionales afines a la informática
imágenes de: https://www.aspect.com/globalassets/images/hero-developers-categorypg-1200x435.jpg
https://www.usiouxfalls.edu/var/usf/storage/images/media/images/academic-departments/computer-information-
systems/two-computer-science-students-in-class-at-usf./5526-1-eng-US/two-computer-science-students-in-class-at-usf..jpg
CONISOFT'2017 Experimentación en Ingeniería de Software
Experimentación en IS
Los experimentos realizados en IS se asemejan
más a los efectuados en disciplinas como la
psicología, sociología, comunicación humana, y
educación donde se emplean participantes para
llevar a cabo una serie de tareas en condiciones
controladas
imagen de: http://3.bp.blogspot.com/-06BYoK46xRY/TdAH3maKNeI/AAAAAAAAADg/xXijRrf2rxM/s1600/psychology_process.gif
CONISOFT'2017 Experimentación en Ingeniería de Software
Estructura básica de un experimento
Enfoque de verificación: Test First, Test Last
Grado de experiencia: novicio, intermedio, experto
Aspecto de interés: Efectividad medida como el % de defectos removidos
imagen de: https://www.mightybytes.com/wp-content/uploads/2014/03/list-image.png
Variable dependiente
Variables independientes
CONISOFT'2017 Experimentación en Ingeniería de Software
puede actuar como grupo de control
Estructura básica de un experimento
Las variables independientes se organizan en un diseño
experimental
CONISOFT'2017 Experimentación en Ingeniería de Software
Proceso de experimentación
Motivación
Proceso de experimentación en Ingeniería de SoftwareCONISOFT'2017
Aplicación del proceso
de experimentación a la
Ingeniería de Software
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Motivación
La revisión de literatura técnica o el propio
entorno de trabajo pueden incentivar la
realización de un experimento
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Motivación (ejemplo)
Programación en pareja. Una de las doce prácticas de la
programación extrema (XP), en donde dos personas
(controlador y observador) trabajan en sincronía en tareas de
programación definidas
imagen: https://www.pmd.com/blog/post/weekly-byte-increasing-team-productivity-with-pair-programming
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Motivación (ejemplo)
Se han estudiado algunos aspectos sobre esta
práctica, principalmente en relación con la
programación individual, tales como: calidad,
duración, esfuerzo, desempeño, cohesión,
complejidad, origen étnico, género, entre otros
más
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Motivación
Género en la programación en pareja. El género comienza a ser
de interés dada la creciente participación de la mujer en el
ámbito de la informática (academia e industria)
imagen de: http://www.ibtimes.com/brogramming-africa-women-who-code-takes-learning-code-global-new-branches-algeria-2026080
imagen de: https://www.meetup.com/es/Women-Who-Code-Santiago/?_cookie-check=cQp3Ja1Naq5T0xcm
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Motivación
- Entre otros aspectos, Choi (2015)1 realizó un experimento para
estudiar la productividad (medida de forma subjetiva) entre
diferentes tipos de parejas (Mujer-Mujer, Mujer-Hombre,
Hombre-Hombre)
- En este experimento participaron 128 estudiantes
universitarios
- Resultados. Las tres combinaciones de parejas se comportan
de manera similar (productividad), aunque se observa una
mayor variabilidad en la combinación Mujer-Hombre
1
K.S. Choi: A comparative analysis of different gender pair combinations in pair programming.
Behav. Inf. Technol. 34(8) pp. 825–83, 2015.
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Definición del
experimento
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Definición del experimento
- En esta primera fase se define la pregunta de
investigación, hipótesis así como la delimitación del
experimento
- Esta fase puede complementarse con el enfoque GQM
(Goal Question Metric)1 el cual ayuda a especificar el
alcance del experimento
1
V. R. Basili, G. Caldiera, H. D. Rombach. The Goal Question Metric Approach.
Chapter in Encyclopedia of Software Engineering, Wiley, 1994.
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Definición del experimento
(ejemplo)
Tomando como referencia los experimentos previos sobre
género en la programación en pareja, se desea estudiar la
densidad de defectos (defectos inyectados por cada 100
LOCs) producida por las distintas combinaciones de género
Pregunta de investigación
RQ. ¿Es la densidad de defectos afectada por los diferentes
tipos de combinaciones de género (M-M, M-H, H-H)?
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Definición del experimento
(ejemplo, cont.)
De la pregunta de investigación se derivan las siguientes
hipótesis (supuestos):
H0: La densidad de defectos en los tres tipos de combinaciones
es similar
H1: Al menos en una de las combinaciones la densidad de
defectos es distinta
Nota. Las hipótesis son posteriormente contrastadas con
respecto a la evidencia obtenida por el experimento
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Definición del experimento
(ejemplo, cont.)
En este ejemplo nuestras variables de interés son:
- El tipo de combinación de género (variable
independiente)
- La densidad de defectos, que se medirá como el
número de defectos inyectados por cada 100 LOCs
(variable dependiente)
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Diseño del
experimento
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Diseño del experimento
- En esta fase se detalla la estructura del experimento
tomando en cuenta los sujetos, variables independientes
(factores, tratamientos), variables dependientes
(respuestas), así como también se preparan los materiales
e instrumentos a utilizar
- La estructura de un experimento se conoce como diseño
experimental
La definición de la pregunta de investigación genera un
tipo de diseño experimental
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Diseño del experimento
En este ejemplo identificamos tres tipos de combinaciones
de género (niveles) que conforman el factor ‘combinación
de género’
Pensemos que contamos con 30 participantes entre
hombres y mujeres para participar en este experimento
Mujer-Mujer (M-M) Mujer-Hombre (M-H) Hombre-Hombre (H-H)
Tratamientos
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Diseño del experimento
M-M M-H H-H
5 unidades experimentales por combinación de género
Unidad experimental
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Ejecución del
experimento
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Ejecución del experimento
● Consiste en aplicar los tratamientos a las
unidades experimentales según el diseño
establecido
● Los tratamientos pueden aplicarse en una o
varias sesiones experimentales
● Previo a las sesiones experimentales se
recomienda realizar sesiones de
entrenamiento o ejecutar un experimento
piloto con el fin de calibrar los materiales e
instrumentos
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Ejecución del experimento
Ejemplo. Los participantes realizaron un ejercicio de programación
(dada una especificación) siguiendo la práctica de la programación en
pareja.
A los participantes se les entregó un formulario en el que registraron
las líneas de código producidas así como el número de defectos
lógicos inyectados.
Ejemplo de una
sesión experimental
Gómez, O. S.; Solari, M.; César J. Pardo, C. & Ledezma-Carrizalez, A. C. A Controlled Experiment on Productivity of Pair
Programming Gender Combinations: Preliminary Results CIbSE 2017 - XX Ibero-American Conference on Software Engineering,
Curran Associates, Inc., 2017, 197-210
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis e
interpretación
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis e interpretación
- En esta fase se realiza el pre-procesamiento de las
mediciones recabadas así como se procede con el análisis
de éstas
- Un ejemplo de pre-procesamiento es trasladar la
información recabada de los formularios usados en el
experimento a un formato de datos tabular el cual permita
realizar análisis estadísticos
- Para el análisis se suele emplear la estadística descriptiva
e inferencial
- Los hallazgos del experimento son evaluados con respecto
a diferentes tipos de validez
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis e interpretación
1.47, 1.48, 1.78,
1.90, 2.22
0.81, 1.21, 1.29,
1.45, 1.49
0.68, 0.97, 1.05,
1.12, 1.45
M-M M-H H-H
Mediciones recolectadas (densidades de defectos, def x 100LOC )
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis e interpretación
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis descriptivo
Una primera aproximación para efectuar el análisis,
consiste en examinar de manera descriptiva la
información recolectada en el experimento. Por ejemplo,
examinar medias, desviaciones estándar, valores mínimos
y máximos, etc.
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis descriptivo
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial
- A nivel general el análisis inferencial aplica un enfoque
inductivo para determinar las propiedades de una
población a partir de una muestra de ésta.
- En el ámbito de la experimentación, el análisis inferencial
se usa para comparar el desempeño promedio de dos o
más grupos de mediciones, con el fin de examinar si hay o
no diferencias.
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial
M-M M-H H-H
1.47, 1.48, 1.78,
190,
…
0.81, 1.21, 1.29,
1.45,
…
0.97, 1.05, 1.23,
1.45,
…
Densidades de defectos en las tres combinaciones de género
     promedios
muestrales
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial (cont.)
Las hipótesis derivadas de la pregunta de investigación se expresan en
términos estadísticos, ejemplo:
RQ. ¿Es la densidad de defectos afectada por los diferentes tipos de
combinaciones de género (M-M, M-H, H-H)?
H0: La densidad de defectos en los tres tipos de combinaciones es
similar
H0: μ1=μ2=μ3
H1: Al menos en una de las combinaciones, la densidad de defectos es
distinta
H1: μi≠μk para al menos un i≠ k
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial (cont.)
Representación gráfica de la hipótesis nula (H0) y alternativa
(H1)
   
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial (cont.)
- Para examinar posibles diferencias entre estos tres
grupos de mediciones, empleamos el Análisis de la
Varianza (ANOVA)
- El ANOVA consiste en descomponer la variabilidad total
de los datos en ciertas componentes y comparar estas
variabilidades mediante una prueba estadística F
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial (cont.)
Las distintas componentes del ANOVA son colocadas en una
estructura similar a la mostrada a continuación
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Análisis inferencial
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Validación de supuestos
Para poder tener una conclusión estadística válida, el ANOVA
realizado debe sujetarse a los supuestos como son:
independencia, normalidad, homocedasticidad
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Presentación de
resultados
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Presentación de resultados
- Esta fase del proceso de experimentación consiste en
presentar los resultados obtenidos, por ejemplo: la
preparación de un informe con los hallazgos del
experimento
- Para la preparación del informe se puede utilizar el
enfoque de investigación reproducible (reproducible
research)
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Presentación de resultados - Investigación
reproducible (Reproducible research)
- Reportar de manera rigurosa el método utilizado
- Hacer público los datos utilizados en el análisis
- Hacer público el proceso de análisis de los datos
CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
Replicación de experimentos
La realización de experimentos aislados es
sólo un primer paso en la secuencia de
actividades del paradigma experimental
Replicación de experimentosCONISOFT'2017
Replicación de experimentos
● La replicación es un mecanismo importante en
la ciencia. Gracias a la replicación es posible
verificar o corroborar hallazgos previos así
como generar conocimiento nuevo
CONISOFT'2017 Replicación de experimentos
Replicación de experimentos en IS
A través de la replicación es posible combinar
experimentos relacionados con la finalidad de
pasar de resultados locales poco
generalizables a evidencias globales sobre el
desarrollo y mantenimiento de software
CONISOFT'2017 Replicación de experimentos
Síntesis de experimentos
Efecto global
Síntesis de experimentosCONISOFT'2017
Conclusiones
● La investigación en ingeniería de software busca la generación de
conocimiento que pueda ser aplicado en la práctica del desarrollo
de software
● Uno de los mecanismos que comienza a usarse en la
investigación en IS es la experimentación
● Para realizar un experimento se debe seguir un proceso definido
● No basta con tener experimentos aislados, es necesario contar
con replicaciones de éstos
● Entre más tipos de replicaciones se tengan, se tendrá mayor
conocimiento sobre la generalización de los hallazgos
● Contar con familias de experimentos (replicaciones) facilitará la
síntesis cuantitativa de éstos
ConclusionesCONISOFT'2017
Hoja de ruta para realizar experimentos en Ingeniería de Software

Más contenido relacionado

Similar a Hoja de ruta para realizar experimentos en Ingeniería de Software

Pe isw descripción plandeestudios
Pe isw descripción plandeestudiosPe isw descripción plandeestudios
Pe isw descripción plandeestudios
ITSON
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
Ingryd Cobain
 

Similar a Hoja de ruta para realizar experimentos en Ingeniería de Software (20)

Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Que es Ingenieria del Software?,
Que es Ingenieria del Software?,Que es Ingenieria del Software?,
Que es Ingenieria del Software?,
 
Prog de Sistemas Computacionales, Modelos & Herramientas.ppt
Prog de Sistemas Computacionales, Modelos & Herramientas.pptProg de Sistemas Computacionales, Modelos & Herramientas.ppt
Prog de Sistemas Computacionales, Modelos & Herramientas.ppt
 
Ingenieria de Sorftware
Ingenieria de SorftwareIngenieria de Sorftware
Ingenieria de Sorftware
 
Pe isw descripción plandeestudios
Pe isw descripción plandeestudiosPe isw descripción plandeestudios
Pe isw descripción plandeestudios
 
00 presentación ingeniería_delsoftware_ii_conductadeentrada
00 presentación ingeniería_delsoftware_ii_conductadeentrada00 presentación ingeniería_delsoftware_ii_conductadeentrada
00 presentación ingeniería_delsoftware_ii_conductadeentrada
 
Jovanni jimenez v.
Jovanni jimenez v.Jovanni jimenez v.
Jovanni jimenez v.
 
sofware libre
sofware libre sofware libre
sofware libre
 
Niebla sortillon jesus francisco actividad1.1 si5 1
Niebla sortillon jesus francisco actividad1.1 si5 1Niebla sortillon jesus francisco actividad1.1 si5 1
Niebla sortillon jesus francisco actividad1.1 si5 1
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
introduccion a la ing.de software
introduccion a la ing.de softwareintroduccion a la ing.de software
introduccion a la ing.de software
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 
David valdiviezo ing.pdf
David valdiviezo ing.pdfDavid valdiviezo ing.pdf
David valdiviezo ing.pdf
 
Ingenieria de software i
Ingenieria de software   iIngenieria de software   i
Ingenieria de software i
 
Ciclo de vida clásico de desarrollo de sistemas
Ciclo de vida clásico de desarrollo de sistemasCiclo de vida clásico de desarrollo de sistemas
Ciclo de vida clásico de desarrollo de sistemas
 
Ciclo de viva clasico de desarrollo de sistemas
Ciclo de viva clasico de desarrollo de sistemasCiclo de viva clasico de desarrollo de sistemas
Ciclo de viva clasico de desarrollo de sistemas
 
Las Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus AplicaciomesLas Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus Aplicaciomes
 
Is clase1
Is clase1Is clase1
Is clase1
 
Rúbricas Sistemas operativos - Final 30%
Rúbricas Sistemas operativos  - Final 30%Rúbricas Sistemas operativos  - Final 30%
Rúbricas Sistemas operativos - Final 30%
 
Cesar prado ing
Cesar prado ingCesar prado ing
Cesar prado ing
 

Último

Último (11)

MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 

Hoja de ruta para realizar experimentos en Ingeniería de Software

  • 1. Hoja de ruta para realizar experimentos en Ingeniería de Software Omar S. Gómez Mérida, Yucatán, México, Octubre 2017 (imagen de http://study.com/cimages/course-image/science-for-kids_207305_large.jpg) 5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017) Escuela Superior Politécnica de Chimborazo (ESPOCH)
  • 2. 5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
  • 3. 5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
  • 4.
  • 5.
  • 6. ● ● ● ● ● ● ● ● 5th International Conference in Software Engineering Research and Innovation (CONISOFT'2017)
  • 7. Software ● Creación intelectual del ser humano que hoy en día es sumamente difícil, sino imposible, prescindir de éste ● Prácticamente se usa en todos los sectores de nuestra sociedad moderna (ciencia, defensa, educación, salud, ocio, etc.) imagen de: http://www.softsubmitter.com/wp-content/uploads/2016/06/magazine-maker-software.jpg IntroducciónCONISOFT'2017
  • 8. Software El software suele ser desarrollado y corregido por profesionales del área informática imagen de: https://medium.com/founders-coders IntroducciónCONISOFT'2017
  • 9. Trabajos asociados con el desarrollo de software MichaelPage, sitio especializado en reclutamiento, muestra un panorama con las profesiones de mayor demanda a nivel mundial Fuente: https://www.michaelpage.co.uk/minisite/most-in-demand-professions/ IntroducciónCONISOFT'2017
  • 10. Trabajos asociados con el desarrollo de software (cont.) De acuerdo a este sitio, existe gran demanda de ingenieros de software en 24 países Fuente: https://www.michaelpage.co.uk/minisite/most-in-demand-professions/ IntroducciónCONISOFT'2017
  • 11. ¿Qué es lo que hace ser al ingeniero de software un ingeniero? imagen de: https://en.wikipedia.org/wiki/Software_developer La ingeniería en la Ingeniería de SoftwareCONISOFT'2017
  • 12. Ingeniería En general, por ingeniería entendemos la aplicación de conocimientos científicos para la resolución de problemas que ocurren en la práctica CONISOFT'2017 La ingeniería en la Ingeniería de Software imagen de: http://wonderfulengineering.com/engineering-pictures-in-hd-for-free-download/
  • 13. Ingeniería civil Imágenes de: https://www.pinterest.com/pin/415879346818439799/ y https://www.pinterest.com/pin/309833649339912140/ CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 14. Ingeniería civil Conocimiento codificado Fundamentos teóricos -Estructuras mecánicas -Combinación de fuerzas -Teoría de la estática -Teoría de la flexión -Propiedades de materiales -Análisis estructural -… Codificación de conocimiento Cuerpo de conocimientos CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 15. Según Shaw1, una disciplina ingenieril evoluciona a través de diferentes etapas 1 Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24 CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 16. De acuerdo al concepto de ingeniería y al gráfico de Shaw1, ¿al día de hoy podemos considerar a la ingeniería de software como una disciplina ingenieril? 1 Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24 CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 17. Ingeniería del Software Definición IEEE1. Aplicación de un enfoque cuantificable, disciplinado y sistemático para el desarrollo, operación y mantenimiento del software, y el estudio de estos enfoques; esto es, la aplicación de la ingeniería al software Imagen de: https://www.intracomdefense.com/ImageHandler.ashx?image=/content/SW_Engineering(5).jpg 1 ISO/IEC/IEEE Systems and software engineering -- Vocabulary ISO/IEC/IEEE 24765:2010(E), 2010, 1-418 CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 18. Problemáticas en la IS ● Productos software de baja calidad ● Entregados fuera de plazo ● Con un costo mayor al estimado Imagen de: https://blog.janeirodigital.com/2016/02/11/software-self-defense-101-improving-your-technical-estimates/ CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 19. A día de hoy no hemos sido capaces de generar y codificar suficiente conocimiento científico para que el profesional del desarrollo de software pueda aplicarlo en la práctica Imagen de: Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24 CONISOFT'2017 La ingeniería en la Ingeniería de Software
  • 20. La investigación en ingeniería de software tiene como fin continuar con la generación y codificación de conocimiento científico para incorporarlo en la práctica del desarrollo de software Investigación en Ingeniería de SoftwareCONISOFT'2017
  • 21. Imagen de: Shaw, M. Prospects for an Engineering Discipline of Software IEEE Softw., IEEE Comp. Soc. Press, 1990, 7, 15-24 Investigación en ingeniería CONISOFT'2017 Investigación en Ingeniería de Software
  • 22. Enfoques de investigación usados en la Ingeniería de Software Imagen de: https://www.biografiasyvidas.com/monografia/aristoteles/ CONISOFT'2017 Investigación en Ingeniería de Software
  • 23. Experimento En un experimento, realizado en un laboratorio (es decir, en condiciones controladas) se modelan las principales características de una realidad (en el caso de la IS, el desarrollo de software) lo que permite estudiarlas y comprenderlas mejor Imagen de: https://searchengineland.com/answer-box-experiment-journey-known-unknown-factors-270948 Experimentación en Ingeniería de SoftwareCONISOFT'2017
  • 24. Experimentos Son útiles para: - Confirmar teorías i.e. probar teorías existentes - Confirmar juicios convencionales i.e. probar las creencias,    intuiciones de las personas, en este caso prácticas en IS - Explorar relaciones i.e. probar que cierta relación se    mantiene - Evaluar la exactitud de un modelo i.e. probar que la    exactitud de ciertos modelos es como se esperaba - Validar mediciones i.e. asegurar que una medida     realmente mide lo qué se supone debe medir CONISOFT'2017 Experimentación en Ingeniería de Software
  • 25. Experimentos reportados en IS ● cadena de búsqueda: TITLE­ABS­KEY ( "controlled experiment"  AND   "software engineering" )  AND  PUBYEAR  <  2017  CONISOFT'2017 Experimentación en Ingeniería de Software
  • 26. Experimentos reportados en IS CONISOFT'2017 Experimentación en Ingeniería de Software
  • 27. Experimentos reportados en IS CONISOFT'2017 Experimentación en Ingeniería de Software
  • 28. Experimentación El objetivo de la experimentación es identificar las causas por las que se producen determinados resultados (efecto) Imagen de: http://www.writeawriting.com/essay/cause-and-effect-essay/ CONISOFT'2017 Experimentación en Ingeniería de Software
  • 29. Experimentación en IS Puede servir como un mecanismo fiable para validar empíricamente (con hechos) las prácticas en IS. Ayuda a construir una base teórica a partir de hechos recabados. CONISOFT'2017 Experimentación en Ingeniería de Software Imagen de: https://thumbs.dreamstime.com/z/vector-tree-growing-book-doodle-education-concept-48929812.jpg
  • 30. Experimentación en IS A partir de una base teórica de conocimientos es posible codificar estos conocimientos para aplicarlos a la resolución de problemas afines al desarrollo y mantenimiento del software CONISOFT'2017 Experimentación en Ingeniería de Software
  • 31. Experimentación en IS La experimentación en IS hace posible la identificación y comprensión de las variables que entran en juego en la construcción de software, así como las conexiones que existen entre ellas CONISOFT'2017 Experimentación en Ingeniería de Software
  • 32. Experimentación en IS ● La formalización de la experimentación surge en la década de los 80s imagen de: https://alchetron.com/Harrison-Rhodes-361036-W CONISOFT'2017 Experimentación en Ingeniería de Software
  • 33. Experimentación en IS El tipo de experimentos realizados en IS involucran la participación de estudiantes o profesionales afines a la informática imágenes de: https://www.aspect.com/globalassets/images/hero-developers-categorypg-1200x435.jpg https://www.usiouxfalls.edu/var/usf/storage/images/media/images/academic-departments/computer-information- systems/two-computer-science-students-in-class-at-usf./5526-1-eng-US/two-computer-science-students-in-class-at-usf..jpg CONISOFT'2017 Experimentación en Ingeniería de Software
  • 34. Experimentación en IS Los experimentos realizados en IS se asemejan más a los efectuados en disciplinas como la psicología, sociología, comunicación humana, y educación donde se emplean participantes para llevar a cabo una serie de tareas en condiciones controladas imagen de: http://3.bp.blogspot.com/-06BYoK46xRY/TdAH3maKNeI/AAAAAAAAADg/xXijRrf2rxM/s1600/psychology_process.gif CONISOFT'2017 Experimentación en Ingeniería de Software
  • 35. Estructura básica de un experimento Enfoque de verificación: Test First, Test Last Grado de experiencia: novicio, intermedio, experto Aspecto de interés: Efectividad medida como el % de defectos removidos imagen de: https://www.mightybytes.com/wp-content/uploads/2014/03/list-image.png Variable dependiente Variables independientes CONISOFT'2017 Experimentación en Ingeniería de Software puede actuar como grupo de control
  • 36. Estructura básica de un experimento Las variables independientes se organizan en un diseño experimental CONISOFT'2017 Experimentación en Ingeniería de Software
  • 37. Proceso de experimentación Motivación Proceso de experimentación en Ingeniería de SoftwareCONISOFT'2017
  • 38. Aplicación del proceso de experimentación a la Ingeniería de Software CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 39. Motivación La revisión de literatura técnica o el propio entorno de trabajo pueden incentivar la realización de un experimento CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 40. Motivación (ejemplo) Programación en pareja. Una de las doce prácticas de la programación extrema (XP), en donde dos personas (controlador y observador) trabajan en sincronía en tareas de programación definidas imagen: https://www.pmd.com/blog/post/weekly-byte-increasing-team-productivity-with-pair-programming CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 41. Motivación (ejemplo) Se han estudiado algunos aspectos sobre esta práctica, principalmente en relación con la programación individual, tales como: calidad, duración, esfuerzo, desempeño, cohesión, complejidad, origen étnico, género, entre otros más CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 42. Motivación Género en la programación en pareja. El género comienza a ser de interés dada la creciente participación de la mujer en el ámbito de la informática (academia e industria) imagen de: http://www.ibtimes.com/brogramming-africa-women-who-code-takes-learning-code-global-new-branches-algeria-2026080 imagen de: https://www.meetup.com/es/Women-Who-Code-Santiago/?_cookie-check=cQp3Ja1Naq5T0xcm CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 43. Motivación - Entre otros aspectos, Choi (2015)1 realizó un experimento para estudiar la productividad (medida de forma subjetiva) entre diferentes tipos de parejas (Mujer-Mujer, Mujer-Hombre, Hombre-Hombre) - En este experimento participaron 128 estudiantes universitarios - Resultados. Las tres combinaciones de parejas se comportan de manera similar (productividad), aunque se observa una mayor variabilidad en la combinación Mujer-Hombre 1 K.S. Choi: A comparative analysis of different gender pair combinations in pair programming. Behav. Inf. Technol. 34(8) pp. 825–83, 2015. CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 44. Definición del experimento CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 45. Definición del experimento - En esta primera fase se define la pregunta de investigación, hipótesis así como la delimitación del experimento - Esta fase puede complementarse con el enfoque GQM (Goal Question Metric)1 el cual ayuda a especificar el alcance del experimento 1 V. R. Basili, G. Caldiera, H. D. Rombach. The Goal Question Metric Approach. Chapter in Encyclopedia of Software Engineering, Wiley, 1994. CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 46. Definición del experimento (ejemplo) Tomando como referencia los experimentos previos sobre género en la programación en pareja, se desea estudiar la densidad de defectos (defectos inyectados por cada 100 LOCs) producida por las distintas combinaciones de género Pregunta de investigación RQ. ¿Es la densidad de defectos afectada por los diferentes tipos de combinaciones de género (M-M, M-H, H-H)? CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 47. Definición del experimento (ejemplo, cont.) De la pregunta de investigación se derivan las siguientes hipótesis (supuestos): H0: La densidad de defectos en los tres tipos de combinaciones es similar H1: Al menos en una de las combinaciones la densidad de defectos es distinta Nota. Las hipótesis son posteriormente contrastadas con respecto a la evidencia obtenida por el experimento CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 48. Definición del experimento (ejemplo, cont.) En este ejemplo nuestras variables de interés son: - El tipo de combinación de género (variable independiente) - La densidad de defectos, que se medirá como el número de defectos inyectados por cada 100 LOCs (variable dependiente) CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 49. Diseño del experimento CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 50. Diseño del experimento - En esta fase se detalla la estructura del experimento tomando en cuenta los sujetos, variables independientes (factores, tratamientos), variables dependientes (respuestas), así como también se preparan los materiales e instrumentos a utilizar - La estructura de un experimento se conoce como diseño experimental La definición de la pregunta de investigación genera un tipo de diseño experimental CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 51. Diseño del experimento En este ejemplo identificamos tres tipos de combinaciones de género (niveles) que conforman el factor ‘combinación de género’ Pensemos que contamos con 30 participantes entre hombres y mujeres para participar en este experimento Mujer-Mujer (M-M) Mujer-Hombre (M-H) Hombre-Hombre (H-H) Tratamientos CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 52. Diseño del experimento M-M M-H H-H 5 unidades experimentales por combinación de género Unidad experimental CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 53. Ejecución del experimento CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 54. Ejecución del experimento ● Consiste en aplicar los tratamientos a las unidades experimentales según el diseño establecido ● Los tratamientos pueden aplicarse en una o varias sesiones experimentales ● Previo a las sesiones experimentales se recomienda realizar sesiones de entrenamiento o ejecutar un experimento piloto con el fin de calibrar los materiales e instrumentos CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 55. Ejecución del experimento Ejemplo. Los participantes realizaron un ejercicio de programación (dada una especificación) siguiendo la práctica de la programación en pareja. A los participantes se les entregó un formulario en el que registraron las líneas de código producidas así como el número de defectos lógicos inyectados. Ejemplo de una sesión experimental Gómez, O. S.; Solari, M.; César J. Pardo, C. & Ledezma-Carrizalez, A. C. A Controlled Experiment on Productivity of Pair Programming Gender Combinations: Preliminary Results CIbSE 2017 - XX Ibero-American Conference on Software Engineering, Curran Associates, Inc., 2017, 197-210 CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 56. Análisis e interpretación CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 57. Análisis e interpretación - En esta fase se realiza el pre-procesamiento de las mediciones recabadas así como se procede con el análisis de éstas - Un ejemplo de pre-procesamiento es trasladar la información recabada de los formularios usados en el experimento a un formato de datos tabular el cual permita realizar análisis estadísticos - Para el análisis se suele emplear la estadística descriptiva e inferencial - Los hallazgos del experimento son evaluados con respecto a diferentes tipos de validez CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 58. Análisis e interpretación 1.47, 1.48, 1.78, 1.90, 2.22 0.81, 1.21, 1.29, 1.45, 1.49 0.68, 0.97, 1.05, 1.12, 1.45 M-M M-H H-H Mediciones recolectadas (densidades de defectos, def x 100LOC ) CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 59. Análisis e interpretación CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 60. Análisis descriptivo Una primera aproximación para efectuar el análisis, consiste en examinar de manera descriptiva la información recolectada en el experimento. Por ejemplo, examinar medias, desviaciones estándar, valores mínimos y máximos, etc. CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 61. Análisis descriptivo CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 62. Análisis inferencial - A nivel general el análisis inferencial aplica un enfoque inductivo para determinar las propiedades de una población a partir de una muestra de ésta. - En el ámbito de la experimentación, el análisis inferencial se usa para comparar el desempeño promedio de dos o más grupos de mediciones, con el fin de examinar si hay o no diferencias. CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 63. Análisis inferencial M-M M-H H-H 1.47, 1.48, 1.78, 190, … 0.81, 1.21, 1.29, 1.45, … 0.97, 1.05, 1.23, 1.45, … Densidades de defectos en las tres combinaciones de género      promedios muestrales CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 64. Análisis inferencial (cont.) Las hipótesis derivadas de la pregunta de investigación se expresan en términos estadísticos, ejemplo: RQ. ¿Es la densidad de defectos afectada por los diferentes tipos de combinaciones de género (M-M, M-H, H-H)? H0: La densidad de defectos en los tres tipos de combinaciones es similar H0: μ1=μ2=μ3 H1: Al menos en una de las combinaciones, la densidad de defectos es distinta H1: μi≠μk para al menos un i≠ k CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 65. Análisis inferencial (cont.) Representación gráfica de la hipótesis nula (H0) y alternativa (H1)     CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 66. Análisis inferencial (cont.) - Para examinar posibles diferencias entre estos tres grupos de mediciones, empleamos el Análisis de la Varianza (ANOVA) - El ANOVA consiste en descomponer la variabilidad total de los datos en ciertas componentes y comparar estas variabilidades mediante una prueba estadística F CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 67. Análisis inferencial (cont.) Las distintas componentes del ANOVA son colocadas en una estructura similar a la mostrada a continuación CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 68. Análisis inferencial CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 69. Validación de supuestos Para poder tener una conclusión estadística válida, el ANOVA realizado debe sujetarse a los supuestos como son: independencia, normalidad, homocedasticidad CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 70. Presentación de resultados CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 71. Presentación de resultados - Esta fase del proceso de experimentación consiste en presentar los resultados obtenidos, por ejemplo: la preparación de un informe con los hallazgos del experimento - Para la preparación del informe se puede utilizar el enfoque de investigación reproducible (reproducible research) CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 72. Presentación de resultados - Investigación reproducible (Reproducible research) - Reportar de manera rigurosa el método utilizado - Hacer público los datos utilizados en el análisis - Hacer público el proceso de análisis de los datos CONISOFT'2017 Proceso de experimentación en Ingeniería de Software
  • 73. Replicación de experimentos La realización de experimentos aislados es sólo un primer paso en la secuencia de actividades del paradigma experimental Replicación de experimentosCONISOFT'2017
  • 74. Replicación de experimentos ● La replicación es un mecanismo importante en la ciencia. Gracias a la replicación es posible verificar o corroborar hallazgos previos así como generar conocimiento nuevo CONISOFT'2017 Replicación de experimentos
  • 75. Replicación de experimentos en IS A través de la replicación es posible combinar experimentos relacionados con la finalidad de pasar de resultados locales poco generalizables a evidencias globales sobre el desarrollo y mantenimiento de software CONISOFT'2017 Replicación de experimentos
  • 76. Síntesis de experimentos Efecto global Síntesis de experimentosCONISOFT'2017
  • 77. Conclusiones ● La investigación en ingeniería de software busca la generación de conocimiento que pueda ser aplicado en la práctica del desarrollo de software ● Uno de los mecanismos que comienza a usarse en la investigación en IS es la experimentación ● Para realizar un experimento se debe seguir un proceso definido ● No basta con tener experimentos aislados, es necesario contar con replicaciones de éstos ● Entre más tipos de replicaciones se tengan, se tendrá mayor conocimiento sobre la generalización de los hallazgos ● Contar con familias de experimentos (replicaciones) facilitará la síntesis cuantitativa de éstos ConclusionesCONISOFT'2017