Logotipo realizado por  Daza Diseño & Comunicación ddc@accesosis.es
REMIS
Red sobre Experimentación y Medición en Ingeniería de Software

Creada bajo los auspicios de la Acción Especial CICYT TIC98-1179-E, "Coordinación de Grupos Investigadores sobre Experimentación y Medición en Ingeniería de Software". 



Historia de REMIS

Esta red está formada por un grupo de docentes e investigadores de diferentes universidades con interés específico en la gestión cuantitativa del software. Se creó a partir de una Acción Especial CICYT, teniendo la primera reunión constituyente el 23 de octubre de 1998. El grupo está abierto a toda persona o institución con interés en los temas propios de la red.

El objetivo principal del grupo de trabajo es el de obtener conocimiento científico en todos los aspectos relacionados con los procesos, recursos, productos y proyectos de ingeniería de software.

El 11 de abril de 2000 perdimos a nuestra compañera Adoración de Miguel. Sirvan estas líneas como recuerdo cariñoso de todas las personas de este grupo que tuvimos la suerte de trabajar con ella y de recibir su amistad y bondad.
 

Participantes

En la actualidad participan activamente en el grupo varias universidades españolas.

Actividades


Documentación
 

   

           Técnicas cuantitativas para la gestión en la Ingeniería del Software

J. Tuya, I. Ramos Román y J.J. Dolado (coordinadores). Editorial Netiblo, 2007. ISBN 9788497452045

           Medición para la gestión en la Ingeniería del Software

J.J. Dolado y L. Fernández (coordinadores). Editorial Ra-Ma, 2000. ISBN 84-7897-403-2


Si quieres poner tus documentos en estas páginas, sólo tienes que enviárnoslos para revisarlos.

Las opiniones vertidas en los documentos a los que se hacen referencia en estas páginas corresponden exclusivamente a los autores de cada documento, y no presupone una aprobación formal de todos los miembros del colectivo REMIS. REMIS actúa sólo como infraestructura de coordinación, difusión y debate del trabajo de sus miembros. No obstante, la información presentada puede ser de interés.

Se puede decir que la ingeniería del software nace como disciplina a finales de los años 60, cuando se acuña el término "software engineering" para referirse a los procedimientos ingenieriles de diseño y construcción de programas. Desde entonces las técnicas para construir aplicaciones han ido guiadas principalmente por propuestas metodológicas que intentan estructurar los productos analizando y caracterizando las propiedades del sistema, bien sea mediante metodologías estructuradas, orientación a objetos u otras. Alternativamente, las técnicas formales ven el desarrollo de software principalmente como un proceso de transformación de representaciones matemáticas. Sin entrar a considerar las ventajas de unas u otras técnicas lo cierto es que en muchos casos las afirmaciones que se hacen carecen de todo sustento empírico. Existe un tercer enfoque que postula la verificación empírica de las afirmaciones, y la identificación de las ventajas e inconvenientes de los métodos y herramientas para adaptarlos a los objetivos específicos de los proyectos.

Esta última vía está adquiriendo gran importancia actualmente. Desde hace ya algunos años se ha ido acrecentando el interés por saber el grado de efectividad de las tecnologías ya que, a pesar de las innumerables propuestas realizadas sobre mejora de productos y procesos software, los problemas persisten proyecto tras proyecto. La cuestión radica en que no sabemos qué es lo apropiado para nuestro entorno y qué no lo es. La respuesta a estos problemas reside en la experimentación científica, aunque experimentar con el desarrollo del software sea costoso y difícil. En otras disciplinas cualquier idea va seguida de la formulación de una hipótesis y de la consiguiente evaluación experimental, que permita establecer un apoyo cuantitativo suficiente. Pero incluso con la aportación de datos cuantitativos hay que ser cuidadosos en la introducción de nuevos métodos en nuestros entornos.

Tenemos casos claros, que todos hemos sufrido, de cómo algunas asunciones se desvanecen a la luz de una correcta experimentación y validación. Es el caso de la utilización de los diagramas de flujo para diseñar y documentar programas. En 1977 un estudio experimental realizado por B. Shneiderman demostró que los diagramas de flujo no ayudaban a entender mejor los programas que el seudocódigo. Así, se dejaron de utilizar esos diagramas gráficos. Sin embargo, en 1989 D. Scanlan demostró exactamente lo contrario, y expuso varios fallos cometidos por B. Shneiderman en el diseño del experimento.

En un informe de 1993, sobre los beneficios industriales de la utilización de los métodos formales, se indicó que no existían evidencias que justificaran los supuestos beneficios de la introducción de tales técnicas. Tampoco está claro que los métodos formales acarreen necesariamente una mayor calidad en las especificaciones, ni que reduzcan el número de defectos. Pero esto tampoco quiere decir que no haya experiencias exitosas en el uso industrial de tales métodos, ni que se deban abandonar. Todo lo contrario, se deben identificar las circunstancias en las que conviene utilizar una u otra metodología. Más llamativo todavía son los resultados (tampoco generalizables) de L. Hatton y W.F. Tichy (IEEE Software, 1998) que muestran una desventaja del C++ frente al C en las tasas de error y productividad. Un artículo de fácil lectura y muy ilustrativo de estos problemas es el de R. Glass, "The Realities of Software Technology Payoffs", aparecido en la revista Comm. of the ACM (Vol. 42, No. 2, Feb. 1999, pp. 74-79), donde este conocido autor resume con excelente claridad las realidades existentes detrás de las propuestas de nuevas tecnologías para la ingeniería del software.

La utilización de los métodos empíricos en la ingeniería de software permite a los desarrolladores evaluar y mejorar tanto los productos como los procesos de construcción de software. Ello conlleva realizar múltiples actividades entre las que se encuentran la recogida de datos, propuesta y verificación de hipótesis, análisis de procesos y productos, diseño de un programa de implantación de métricas, creación de infraestructura para el desarrollo de experimentos y mediciones, establecimiento de las relaciones con el resto de programas de aseguramiento de calidad, mejora de procesos, etc.

En esta línea, REMIS nace para estudiar todos estos aspectos y coordinar las investigaciones de los grupos interesados.
 

Enlaces

Enlaces relacionados

 

 


Última actualización el 15 de enero de  2002. Enviar comentarios a Javier Dolado.