Está en la página 1de 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266137857

DISEÑO EXPERIMENTAL PARA COMPARAR MÉTODOS DE ESTIMACIÓN DEL


TAMAÑO FUNCIONAL DEL SOFTWARE

Conference Paper · May 2008

CITATIONS READS

0 631

6 authors, including:

Sergio Gustavo Zapata Myriam Herrera


National University of San Juan National University of San Juan
27 PUBLICATIONS   49 CITATIONS    13 PUBLICATIONS   72 CITATIONS   

SEE PROFILE SEE PROFILE

Susana Ruiz María Inés Lund


Universidad Nacional de San Juan, Argentina, San Juan. National University of San Juan
9 PUBLICATIONS   0 CITATIONS    24 PUBLICATIONS   11 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Global Software Development View project

Empirical software engineering View project

All content following this page was uploaded by Sergio Gustavo Zapata on 26 September 2014.

The user has requested enhancement of the downloaded file.


DISEÑO EXPERIMENTAL PARA Algunas de las falencias importantes que se han
detectado en el proceso de desarrollo de software son las
COMPARAR MÉTODOS DE escasas pruebas (testing) sistemáticas de software, poco
ESTIMACIÓN DEL TAMAÑO involucramiento de los usuarios y la falta o incorrecta
estimación del tamaño de los sistemas, que resulta ser otro
FUNCIONAL DEL SOFTWARE factor que lleva al fracaso de proyectos de software. [2].
INTERTECH’2008 La Ingeniería de Software Empírica trata de probar
métodos, técnicas y herramientas de software utilizando la
Sergio G. Zapata1, Claudia P. Gomez 2, Myriam validación empírica, con el fin de aportar información sobre
Herrera 3, Susana Ruiz4, Estela Torres5, la probable adopción en la práctica de tales elementos.
La experimentación es la técnica más eficaz para probar
M. Inés Lund6
una hipótesis. En este trabajo se propone llevar a la práctica
un proceso de Ingeniería de Software Empírica a través de
un experimento convenientemente diseñado que permita
Abstract  Uno de los síntomas de la denominada crisis del obtener datos apropiados, que puedan ser analizados
software es la carencia de estimaciones certeras respecto mediante métodos estadísticos, con el objeto de realizar
del esfuerzo de construcción de software, cuestión de suma comparaciones, para producir conclusiones válidas y
importancia a la hora de tomar decisiones sobre la objetivas.
factibilidad de un proyecto de software. Los métodos Este trabajo está organizado de la siguiente manera: en la
existentes de estimación de tamaño de software no son sección 2 se definen las hipótesis de trabajo que se
ampliamente utilizados, entre otros motivos, porque no intentaran corroborar a lo largo del experimento. En la
cuentan con un alto grado de confianza de parte de los sección 3 se presenta un diseño de experimento denotando
ingenieros de software. Se presenta en este trabajo el diseño qué aspectos son necesarios tener en cuenta para llevarlo a
de un experimento para la comparación de dos métodos de cabo. Se termina el trabajo con la sección 4 en la cual se
estimación de tamaño de software. Para esta experiencia se expresan las conclusiones y trabajos a futuro.
contará con la participación de alumnos avanzados de la
carrera de grado de Licenciatura en Informática de la
Universidad Nacional de San Juan (Argentina). PLANTEAMIENTO DEL PROBLEMA
Adicionalmente se evaluará la experiencia como mecanismo
de aprendizaje para los alumnos participantes. Existen distintos métodos de estimación de tamaño
de software. Cada uno de ellos aplicados al mismo software
debería arrojar valores que no difieran significativamente.
Palabras Claves Ingeniería de Software Empírica, ¿Esto es efectivamente así? De ser así, estos métodos
tamaño funcional del software, Puntos de Función, Método ganarían en confianza por parte de los ingenieros de
FPA, método MKII. software, lo cual estimularía su beneficiosa utilización.
También se podría determinar las bondades de un método
INTRODUCCIÓN respecto al otro, por ejemplo estableciendo cuál es más
sencillo de aplicar, cuál más fácil de aprender, cuál más
El software, un bien en el que se invierten grandes rápido de emplear, etc.
sumas de dinero, es cada vez más importante en las acciones Con el fin de obtener respuestas a las preguntas del
cotidianas de las sociedades modernas. Por lo tanto es párrafo anterior, se propone en este trabajo un diseño
importante controlar su desempeño, y para poder controlarlo experimental que permitirá comparar dos métodos de
es imprescindible medirlo [1]. estimación de tamaño funcional de software, Análisis de
El uso de métricas, y en este caso de un método de Puntos de Función (FPA) propuesto por Alan Albrecht en
estimación del tamaño de software, nos puede ayudar a tener 1979 y Análisis de Puntos de Función MarkII (MK-II)
mejor el control de la ejecución de un proyecto de software, desarrollado por Symons en 1980 que presenta la misma
como también una mejor evaluación previa de la inversión funcionalidad y estructura que el de Albrecht.
necesaria para encarar tal proyecto. La elección de los métodos en cuestión estuvo dada
por el hecho que FPA es uno de los más antiguos y uno de
1 los más utilizados en la actualidad en diversos proyectos de
Investigadores del Instituto de Informática dependiente de software, y MK-II porque toma en cuenta, a diferencia de
la Universidad Nacional de San Juan, Meglioli 1150 (sur) CP FPA, las transacciones lógicas del sistema. Esto quiere decir
5400, Rivadavia – San Juan- Argentina, Telefono: +54 (0264)
que tiene en cuenta la complejidad de procesamiento interno
4265101 - 4234180 (FAX), San Juan Argentina, {szapata –
cpgomez – sruiz - mherrera – etorre - mlund}@iinfo.unsj.edu.ar
del sistema, la cual se puede capturar o identificar
claramente a través de los casos de uso y escenarios que
muestran la funcionalidad del sistema desde el punto de vista
del usuario. Esta diferencia entre los métodos se plantea En la siguiente sección se presenta el diseño
principalmente porque Symons considera que el método de experimental que proponemos para contrastar las hipótesis
Albrecht presentaba anomalías e ineficiencias para lo cual planteadas.
pretendió dar una solución con su método denominado
Análisis de Puntos de Función MarkII o simplemente MKII, DISEÑO DEL EXPERIMENTO
un nuevo enfoque basándose en el mismo concepto.
El objetivo que se pretende con esta experiencia, dado Durante la ejecución del experimento es fundamental seguir
que se sospecha que ambos métodos no estiman el tamaño un procedimiento fiable para que los resultados que de él se
funcional del software en igual términos medios, es obtengan puedan ser considerados válidos [3].
contrastar las siguientes hipótesis: Es importante poder identificar en el diseño del experimento,
a) Hipótesis respecto a tamaños funcionales las posibles causas (también llamadas factores) que lleven a
Ha0: Son iguales los tamaños funcionales medios del modificar la respuesta de salida del experimento, a lo que se
software estimados por ambos métodos, MK II y FPA. dará el nombre de error experimental.
Ha1: Ambos métodos no estiman el mismo tamaño funcional La metodología estadística es el único enfoque objetivo para
medio del software. analizar un problema que involucre datos que contengan
En el caso de no encontrar evidencias suficientes como para errores experimentales. El diseño del experimento y el
rechazar la hipótesis nula anterior, resultaría interesante análisis estadístico de los datos, en un problema
analizar si el método MKII es más ventajoso que el método experimental, están estrechamente vinculados, ya que el
FPA en cuanto al tiempo promedio en la aplicación sobre un método de análisis depende directamente del diseño
mismo software de entrada. Esto podría ser útil, por ejemplo, empleado [4].
en el momento de realizar un presupuesto de un proyecto de Tres principios básicos para el diseño de un experimento
software donde el cliente demande una respuesta rápida, son: la repetición, la aleatorización, y el análisis por
para lo cual se podría optar por aquel método cuyo tiempo bloques. Por lo que al definir un diseño experimental se
de aplicación sea menor. deberá:
b) Hipótesis respecto al tiempo de estimación:  Considerar el tamaño muestral (número de
Hb0: En promedio, los métodos MKII y FPA tardan el mismo repeticiones),
tiempo en estimar el tamaño funcional del software.  Seleccionar un orden adecuado para los ensayos
Hb1: El tiempo medio que tarda en estimar el tamaño experimentales (aleatorización), y
funcional el método MKII es mayor que el obtenido con el  Determinar si hay bloqueos implicados u otras
método FPA, para un mismo software. restricciones (para controlar sistemáticamente la
variabilidad producida por diversas fuentes
SELECCIÓN DE VARIABLES extrañas) que perturben los resultados.
Las variables independientes describen los tratamientos
Nuestro problema planteado consiste en determinar si hay
y son las variables para las cuales se evalúan los efectos. Las
diferencias significativas en las estimaciones medias de los
variables independientes de interés en nuestro estudio es el
tamaños funcionales que proporcionan los citados métodos
método que estima el tamaño funcional del software. Esta es MKII y FPA, sobre un mismo software.
nominal y toma dos niveles MKII y FPA.
Por lo que nuestra variable aleatoria de interés es la Cantidad
Las variables dependientes son las variables respuestas
de Puntos de Función (o tamaño funcional del software).
descriptas por los efectos de los tratamientos antes
Podemos reconocer, hasta ahora, que hay un único factor
mencionados como variables independientes. Ellas son el
que puede producir cambios en la variable respuesta, y esta
tamaño funcional del software y el tiempo en estimar el
es: la clase de método empleado para estimar el tamaño
tamaño funcional del software. funcional del software, bajo sus respectivos dos niveles de
SELECCIÓN DE SUJETOS interés: método MKII y método FPA.
Para que ambos métodos sean aplicados se requiere la
Los sujetos (alumnos) serán elegidos por conveniencia, participación de sujetos expertos, esto es de personas con
no aleatoriamente, serán estudiantes avanzados de la carrera conocimiento del método para su aplicación. En este aspecto
de grado Licenciatura en Sistemas de Información, de la se ha decidido trabajar con estudiantes avanzados de la
Universidad Nacional de San Juan. La elección de los carrera de grado Licenciatura en Sistemas de Información,
alumnos tiene como motivos principales el relativo bajo de la Universidad Nacional de San Juan. Se entiende que la
costo de su participación y la alta disponibilidad de los participación de alumnos en este tipo de experimento puede
mismos. Adicionalmente, los alumnos se verán beneficiados ser una instancia adicional de aprendizaje no tradicional y
en su formación profesional al adquirir experiencia práctica positiva para ellos [5]. Inicialmente se llevará a cabo un
sobre métodos de estimación de tamaño de software. entrenamiento, en las aulas del Instituto de Informática de la
Universidad Nacional de San Juan, para que los sujetos
involucrados tengan un nivel de conocimiento y experiencia
en la aplicación de los métodos de tal forma que puedan el FPA. Al final del período se miden las respuestas. A
considerarse expertos en los mismos. Para ello se continuación, se les da el método FPA a los sujetos que
confeccionará un documento que se denominará Guía habían utilizado el MKII, y a quienes aplicaron el MKII se
Técnica, el cual resumirá los métodos, su aplicación y les da el FPA. Este diseño se muestra en la Tabla 2.
ejemplos.
Con el fin de trabajar con alumnos motivados en la temática
de estimación del tamaño funcional de software y evitar
influencias no deseadas en los resultados que se quieren Tipo de método
obtener de esta experiencia, no se dará a conocer a los
estudiantes, que se tratará de un experimento, sino de un Alumnos Método Método
taller práctico de aprendizaje de métodos de estimación de expertos (j) MK II FPA (i=2)
tamaño funcional del software. B
Se requerirá de los estudiantes candidatos a participar en el L (i=1)
experimento las siguientes condiciones: O
1 Y11 Y12
 Acreditar conocimientos en Análisis y Diseño Q
U
Orientado a Objetos y lenguaje de modelado UML E
2 Y21 Y22
(Unified Model Lenguage). S
 Acreditar ser alumno del último año de la carrera de   
Licenciatura en Sistemas de Información o egresado B Yb1 Yb2
de la misma carrera.
A los estudiantes seleccionados se les hará entrega de una
encuesta personal con el fin de obtener información del
perfil de cada uno de ellos.
Tabla 1: Diseño aleatorizado por bloques completos
Como las diferencias de capacidades entre los alumnos para el experimento
pueden contribuir en la variabilidad observada en los
cálculos del tamaño funcional del software por ellos
obtenida, el error experimental puede reflejar tanto el error I II …… N
aleatorio como la variabilidad de capacidades.
Sujeto 1 2 3 4 … 2n-1 2n
Se desea que el error experimental sea lo más pequeño
posible; en otras palabras, se desea sustraer del error Período 1 MK FPA FPA MK MK II FPA
experimental la variabilidad que pueden producir los II II
alumnos en la aplicación de los métodos. Para ello será Período 2 FPA MK MK FPA …… FPA MK II
necesario que cada alumno experto aplique los dos métodos, II II
en horarios diferentes, una por vez, donde el orden de la
aplicación de los métodos se realizará en forma aleatoria.
Este diseño, que se resumirá en una tabla final, (Tabla 1), se Tabla 2: Diseño Cruzado
denomina diseño aleatorizado por bloques completos [4],
donde los bloques son los propios alumnos que conforman
las unidades experimentales más homogéneas posibles, tal Notemos que si designamos con G1 al grupo de alumnos que
que se puedan comparar los métodos dentro de ellos. A este realizan el método MKII primero y el método FPA después
caso, donde el bloque es el alumno, también se lo denomina y con G2 al grupo de alumnos que realizan el método FPA
diseño completamente aleatorizado en bloque. El orden en primero y el método MKII después, tal asignación de
que los métodos deberán ser aplicados se determinará en acuerdo al anterior diseño será:
cada bloque, en cada alumno, en forma aleatoria. Esto sería
correcto si asumimos que un método no adiestra al alumno Sujetos
cuando aplica el otro. En caso de no poder asegurar que el
primer método utilizado sirve de adiestramiento para el G1 1 4 6 …. 2n-1
segundo (el primero aún refleja efectos que influyen en el G2 2 3 5 … 2n
segundo) se sugiere el diseño de cuadro latino cruzado
(primero se selecciona un método y luego el otro) para
experimentos con tratamientos que poseen efectos Tabla 3: Grupos de trabajo
residuales. Este tipo de diseño es adecuado cuando los
períodos de tiempo constituyen un factor en el experimento. Para determinar cuál método es mejor, se utilizará un
En nuestro caso, se cuenta con la cantidad total de alumnos análisis de la varianza (ANOVA) que en el caso de trabajar
del curso. En el primer período la mitad de los sujetos con dos tratamientos, como es nuestro caso, se trata de la
(escogidos al azar) aplican el método MKII, y la otra mitad prueba t para datos en pareja bajo condiciones de normalidad
o en caso de fallar esta condición se trabajará con el test de Sesión 4: Para este caso los sujetos del experimento
Wilcoxon [4]. llevarán a cabo la medición del tamaño funcional del
software pero con el otro método con el cual se los ha
adiestrado. La duración estimada es de 3 horas
CONTEXTO DEL EXPERIMENTO aproximadamente.
El experimento se realizará en las aulas del Instituto de
Se les proveerá del material necesario para poder llevar a
Informática de la Universidad Nacional de San Juan, las
cabo los objetivos de cada sesión. Para el caso del método
cuales están acondicionadas (capacidad, mobiliario,
FPA se proveerá la narrativa que especifique los
equipamiento didáctico, etc.) para los fines propuestos.
requerimientos del sistema propuesto, posibles pantallas del
sistema, planillas necesarias para el cálculo de la métrica y
RECURSOS NECESARIOS archivos lógicos.
Para el método MKII se proporcionará a los alumnos de la
Para la realización del experimento será necesario contar con narrativa que especifique los requerimientos del sistema
los siguientes recursos: propuesto, diagrama de casos de uso, documento con los
 Materiales: proyector, documentos guías, pizarra, escenarios del sistema, archivos lógicos y las planillas
marcadores de pizarra y demás material didáctico. necesarias.
 Instalaciones: aula de capacitación del Instituto de Al finalizar la sesión 3 y 4 se procederá a recolectar los
Informática de la UNSJ. resultados, obtenidos por cada individuo, para su posterior
 Humanos: un coordinador general, dos instructores, análisis.
un asesor ingeniero de software y un asesor Además a cada alumno se le entregará una encuesta final,
estadístico. con el propósito de obtener información adicional que
complete los resultados del experimento.
PLANIFICACIÓN DEL TALLER PRÁCTICO

El taller práctico de aprendizaje de métodos de estimación CONCLUSIÓN


del tamaño funcional del software se desarrollará, para cada El diseño experimental presentado reconoce los avances
uno de los grupos, G1 y G2, en 4 sesiones secuenciales, que alcanzados en el campo de la Ingeniería de Software
se detallan a continuación: Empírica y basa su fortaleza en un serio estudio estadístico,
Sesión 1: Consistirá en la enseñanza teórica de uno lo cual aumenta las posibilidades de arribar a conclusiones
de métodos en cuestión para que el alumno sea capaz de científicamente correctas sobre el tema abordado.
aplicarlo a un caso práctico. Luego se trabajará con una La participación de alumnos avanzados en el experimento,
práctica que permita afianzar los conceptos teóricos en lugar de ingenieros de software provenientes de la
expuestos con anterioridad. Esta sesión tendrá una duración industria, puede observarse como una debilidad del
de 3 horas aproximadamente. A los sujetos se les proveerá experimento. No obstante existen probanzas que los
de guías técnicas instructivas necesarias para lograr la resultados obtenidos en experimentos con estudiantes
comprensión de uno de los métodos. Además se contarán avanzados, analizados correctamente [5] [6], son de gran
con planillas útiles para el cálculo del método y documentos utilidad para obtener evidencias o indicios importantes que
que especifiquen los requisitos del sistema utilizado como luego pueden ser seriamente trasladados a la industria.
caso de estudio. Adicionalmente, los estudiantes participantes se benefician
Sesión 2: En esta sesión se les impartirá a los en su formación académica al obtener aprendizaje adicional
sujetos los conceptos teóricos pero del otro método, seguido y fuera del marco formal de la carrera de grado.
de una práctica que como la anterior sesión le permita llevar El presente trabajo presenta una propuesta de diseño que
aplicar los conceptos vistos pero con este nuevo método. tiene la ventaja de poder ser replicado en otras universidades
Para ello los sujetos también contarán con planillas útiles como un paquete experimental en sí mismo. Estas
para el cálculo de la métrica y documentos que especifiquen replicaciones incrementarán las posibilidades de arribar a
los requisitos del sistema utilizado como caso de estudio. El conclusiones más certeras sobre la temática propuesta. Estas
tiempo asignado a esta sesión será de 3 horas replicaciones son necesarias ya que contamos con un cuasi-
aproximadamente. Al finalizar la sesión se realizará un test experimento, debido que se trabaja con sujetos (alumnos)
evaluativo mediante el uso de cuestionarios, con el fin de elegidos por conveniencia y no aleatoriamente [7].
determinar el nivel de conocimiento adquirido por los Como trabajo futuro se planea realizar el experimento dando
estudiantes y actuar en consecuencia. divulgación a los resultados con el fin de motivar a otros
Sesión 3: En esta etapa los sujetos del experimento grupos de investigación a replicar esta experiencia.
llevarán a cabo la medición del tamaño funcional de un
sistema propuesto con uno de los métodos propuestos. La
duración estimada es de 3 horas aproximadamente.
ACKNOWLEDGMENT
Este trabajo fue financiado por el proyecto
Adaptación de Modelos Internacionales de Procesos de
Software a Organizaciones Locales Productoras de Software
(AMIPROSOFT), ejecutado en el Instituto de Informática,
Facultad de Ciencias Exactas, Físicas y Naturales de la
Universidad Nacional de San Juan.
Agradecemos la colaboración de los profesores
Alicia Aballay, Laura Aballay y Carina Ramos, miembros
del proyecto que aportaron valiosas ideas al presente trabajo.

REFERENCES

[1] Sergio Eduardo Durán Rubio: “Puntos por Función: una métrica
estándar para establecer el tamaño del software. Boletín de Política
Informática, número 6
2003,www.inegi.gob.mx/inegi/contenidos/espanol/prensa/Contenidos/
Articulos/tecnologia/puntosxfuncion.pdf
[2] Martin Shepperd: “Empirically- based software Engineering”,
capítulo del Libro UPGRADE Vol. IV, issue no. 4, August 2003 -
Software Engineering - State of an Art. Available at:
http://www.upgrade-cepis.org
[3] Barbara A. Kitchenham, Shari Lawrence Pfleeger, David C.
Hoaglin, Jarrett Rosenberg: Preliminary Guidelines for Empirical
Research in Software Engineering. IEEE Transactions on Software
Engineering, vol. 8, NO 8 (2002).
[4] Douglas C. Montgomery: Diseño y Análisis de Experimentos. Ed.
Iberoamérica México 1991.
[5] Jeffrey Carver, Letizia Jaccheri, Sandro Morosca, Forrest Shull,
Carver J., Jaccheri L., Morasca S., and Shull F., "Issues in using
students in empirical studies in software engineering education", In
Proceedings of 2003 International Symposium on Software Metrics
(METRICS 2003), Sydney, Australia, September 2003, pp. 239-249.
Available at: http://fc-
md.umd.edu/fcmd/papers/EsEEducation_(final).pdf
[6] Walpole, Ronald E.: Probabilidad y estadística para ingenieros.
Editorial Prentice Hall, Hipanoamericana, S.A., 6° edición, México
1999.
[7] Campbell Donald T. Stanley Julian C.: Experimental and Quasi-
Experimental Designs for Research. Houghton Mifflin Company
Boston. 1999.

View publication stats

También podría gustarte