Metodología Cuantitativa para la

Embed Size (px)

Citation preview

Tesis Doctoral

Metodologa Cuantitativa para la Evaluacin y Comparacin de la Calidad de Sitios Web

Mag. Luis Antonio OLSINA Presentada a la Facultad de Ciencias Exactas de la UNLP como parte de losrequisitos para la obtencin del ttulo de Doctor en Ciencias Director de Tesis: Dr. Gustavo Hector ROSSI Co-director: Dr. Juan Manuel CUEVA LOVELLE

La Plata, Noviembre de 1999

Facultad de Ciencias Exactas Universidad Nacional de La Plata - Argentina

Agradecimientos

Al Dr. Gustavo Rossi, mi director, por las discusiones enriquecedoras, gua y apoyo constante a mi tarea. Al Dr. Juan Manuel Cueva Lovelle, mi co-director, por su gua y apoyo constante an en la distancia fsica que separa a Argentina de Espaa. A los que leyeron la tesis, porque con sus comentarios y observaciones me permitieron enriquecerla. A la Facultad de Ingeniera, de la UNLPam, por el soporte econmico facilitado que hicieron posible en buena parte este estudio. A mi esposa Elena y a mis hijas, por soportar varias veces mi ausencia y acompaar mi esfuerzo con cario y apoyo. A mis colegas del grupo GIDIS, que me alentaron constantemente. A la gente del LIFIA por haberme facilitado las instalaciones del Laboratorio, y haber compartido momentos de trabajo y compaerismo.

_____________________________________________________________________________Resumen

Resumen Abstract Keywords____________________________________________________________ Resumen.El objetivo de esta investigacin es definir y discutir una metodologa cuantitativa, integral, robusta y flexible para la evaluacin de la calidad en aplicaciones centradas en la Web. La metodologa, de ahora en ms llamada, Metodologa de Evaluacin de Calidad de Sitios Web (Web-site QEM) pretende realizar un aporte ingenieril al proponer un enfoque sistemtico, disciplinado y cuantitativo que se adecue a la evaluacin, comparacin y anlisis de calidad de artefactos Web ms o menos complejos. Analizamos sus fases y actividades, describimos los distribuibles producidos, y analizamos modelos, mtodos, procedimientos, criterios y herramientas a aplicar en dichas actividades. Delineamos nuestro enfoque y soluciones, utilizando a lo largo de la tesis dos casos de estudio para sitios Web, y otros estudios de campo realizados. Adems, presentamos un marco conceptual para la validacin de mtricas y discutimos la validacin terica de algunas mtricas empleadas en el proceso. Finalmente, describimos detalladamente un modelo de proceso de evaluacin al que Web-site QEM puede adherir. Algunos aspectos y estudios adicionales se presentan en los apndices.

Abstract.This research is aimed at defining and discussing a quantitative methodology, the one integral, robust and flexible, for the quality evaluation of Web-based applications. The methodology, from now on called Web-site Quality Evaluation Method (Web-site QEM) is intended to perform an engineering contribution proposing for such an end a systematic, disciplined and quantitative approach customized to the evaluation, comparison and analysis of the quality of more or less complex Web artifacts. We analyze their phases and activities, we describe the produced deliverables, and we present models, methods, procedures, approaches and tools to apply in these activities. We outline the approach and its solutions, using along the thesis two case studies for Web sites, and other carried out field studies. Also, we present a conceptual framework for metric validation and we discuss the theoretical validation of some utilized metrics in the Web evaluation process. Finally, we describe thoroughly an evaluation process model to which Web-site QEM can adhere. Some additional aspects and studies are presented in annexes.

Keywords : Web-site QEM, Methodology, Web-site Evaluation, Quality Models,Quantitative, Quality, Characteristic, Attributes, Metric, Process Model, Validation, and Aggregation Models.

____________________________________________________________________Tabla de Contenidos

Tabla de Contenidos_____________________________________________

1. Introduccin1.1 Principales Contribuciones 1.2 Estructura de la Tesis

1 3 3 6 6 8 11 13 15 15 18 20 21 23 28 28 28 29 30 32 36 37 38 40 43

2. Aspectos del Desarrollo y de la Evaluacin de Sistemas de Informacin Centrados en la Web.2.1 Panorama 2.2 Artefactos Web como Software 2.3 Necesidad de Modelos de Proceso de Desarrollo de Artefactos Web 2.4 Necesidad de Evaluar para Comprender y Mejorar

3. Problemtica en la Evaluacin de Calidad de Artefactos de Software3.1 Presentacin del Problema 3.1.1 Subjetividad y Objetividad en los Sistemas de Evaluacin Complejos 3.1.2 Enfoques Cuantitativos para la Evaluacin de Calidad 3.1.2.1 Modelos de Agregacin y Puntaje 3.2 Estado del Arte en la Evaluacin de Artefactos Web

4. Panorama de la Metodologa Cuantitativa de Evaluacin y Comparacin de Calidad de Sitios Web4.1 Motivaciones y Aportes 4.1.1 Necesidad de una Metodologa Integral, Robusta y Flexible para Evaluar la Calidad de Artefactos Web Complejos 4.1.2 El Enfoque Propuesto: Metodologa de Evaluacin de Calidad de Sitios Web o, en su forma abreviada, Web-site QEM 4.1.3 Necesidad de un Modelo de Proceso de Evaluacin 4.2 Panorama de las principales fases, procesos y modelos de la Metodologa Web-site QEM 4.2.1 Ejemplos a Utilizar 4.2.1.1 Poniendo el foco en la Fase Operativa de un Sistema de Informacin centrado en la Web 4.2.1.2 Caso de Estudio de Museos en la Web 4.2.1.3 Caso de Estudio de Sitios Web Acadmicos

5. Fase de Definicin y Especificacin de los Requerimientos dei

____________________________________________________________________Tabla de Contenidos

Calidad5.1 Definicin y/o Seleccin del Dominio de la Aplicacin 5.2 Definicin de las Metas de Evaluacin 5.2.1 Enfoques Orientados a Metas 5.3 Seleccin del Perfil de Usuario 5.3.1 Perfiles de Usuario Prescriptos por el Estndar ISO/IEC 9126 5.3.2 Perfiles de Usuario considerando las Metas y el Dominio de Aplicacin en la Web 5.4 Representacin de Caractersticas y Atributos de Calidad: Modelos de Calidad 5.4.1 Los Primeros Modelos de Calidad de Producto 5.4.1.1 Otros Modelos o Marcos Conceptuales de Descomposicin 5.4.2 Modelos de Calidad de Producto Prescritos en los Estndares ISO 9126, e IEEE 1061 5.4.2.1 El Modelo de Calidad Actualizado en el Estndar ISO 9126-1 5.4.3 Seleccionando el Enfoque de Modelo de Calidad 5.4.4 Seleccionando Caractersticas conforme al Perfil de Usuario 5.5 Hacia un Arbol de Requerimientos de Calidad General para dominios Web 5.6 Caractersticas, Subcaractersticas y Atributos en la Web: Un Ejemplo de Arbol de Requerimientos de Calidad. 5.7 Plantilla de Referencia de Variables y Parmetros 5.8 Consideraciones Finales 43 45 46 47 47 48 49 50 52 54 58 60 6162

63 66 70 72 72 73 76 77 78 78 79 79 79 80 80 81 81 81 82 82

6. Fase de Definicin e Implementacin de la Evaluacin Elemental6.1 Criterio de Evaluacin Elemental para Atributos 6.1.1 Criterios de Preferencia de Calidad Elemental 6.2 Representacin Notacional de los Criterios 6.3 Tipos de Criterios de Preferencia de Calidad Elemental 6.3.1 Criterios Elementales Absolutos con Variable Continua 6.3.1.1 Criterio de Variable Unica 6.3.1.2 Criterio de Variable Normalizada 6.3.1.3 Criterio de Multi-variables Continuas 6.3.1.4 Criterio de Preferencia de Calidad Directa 6.3.2 Criterios Elementales Absolutos con Variable Discreta 6.3.2.1 Criterio Binario 6.3.2.2 Criterio de Multi-nivel 6.3.2.3 Criterio de Multi-nivel definido como Subconjunto 6.3.2.4 Criterio de Multi-variables Discretas 6.3.3 Otros Criterios Elementales 6.4 Un Marco Descriptivo para Representar a las Caractersticas y Atributos de Calidad en consideracin de sus Criterios de Preferencia de Calidad:

ii

____________________________________________________________________Tabla de Contenidos

Ejemplos. 6.4.1 Especificacin de Algunas Caractersticas de Calidad 6.4.2 Especificacin de Algunas Subcaractersticas de Calidad 6.4.3 Especificacin de Atributos 6.5 Implementacin de las Mediciones Elementales 6.5.1 Herramientas de Soporte a la Automatizacin en el Proceso de Recoleccin de Datos 6.6 Generacin de Informes 6.7 Anlisis de las Preferencias Elementales

83 85 86 94 94 96 97

7. Fase de Definicin e Implementacin de la Evaluacin Global

99 7.1 Fase de la Evaluacin Global 99 7.2 El Modelo de Agregacin Lgica de Preferencias 101 7.2.1 Principios del Modelo LSP 101 7.2.1.1 Grados de Conjuncin y Disyuncin. 103 7.2.1.2 Algunas Propiedades Deseables de la Funcin CDG 105 7.2.2 Empleo de los Operadores de LSP para modelar Relaciones Lgicas 107 entre Caractersticas y Atributos 7.2.2.1 Tipos de Funciones de Agregacin. 108 7.3 Agregacin de las Preferencias Elementales para Producir un Indicador de 109 Calidad Global 7.3.1 Consideraciones sobre las Actividades en el Proceso de 110 Agregacin 7.3.2 Cmputo de las Preferencias Parciales y Globales 114 7.4 Procedimientos y Herramientas de Soporte 115 7.4.1 Algunos Detalles del Procedimiento para el Cmputo de las 115 Preferencias de Calidad 7.4.2 Ambiente integrado WebQEM_Tool para el soporte de clculos y 116 documentacin 118 118 119 121 122 125 127 129 129 130 130

8. Fase de Anlisis de Resultados, Recomendaciones y Documentacin8.1 Empleo de Tablas, Grficos, y Herramientas 8.2 Anlisis y Comparacin de Resultados Parciales y Globales 8.2.1 Anlisis para Usabilidad 8.2.2 Anlisis para Funcionalidad 8.2.3 Anlisis para Confiabilidad y Eficiencia 8.3 Consideraciones finales sobre el caso de estudio

9. Ejemplos: Empleo de Web-site QEM9.1 Estudios de Campo Realizados 9.2 Caso de Estudio sobre Museos Tpicos en la Web 9.2.1 Arbol de Caractersticas y Atributos

iii

____________________________________________________________________Tabla de Contenidos

9.2.2 Evaluacin Elemental 9.2.2.1 Mediciones Elementales 9.2.3 Evaluacin Global 9.2.4 Anlisis y Comparacin de la Calidad de los Sitios Evaluados 9.3 Caso de Estudio en Preparacin: Sitios Web de Comercio Electrnico

134 139 139 141 147 150 150 153 154 158 158 159 160 160 160 160 161 162 163 167 168 170 172 178 180 182 182 183 184 184 185 186 186 186 200

10. Aspectos de Validacin de Mtricas para la Web10.1 Introduccin 10.1.1 Sistema Relacional Emprico y Formal 10.1.2 Magnitud, Tipos de Escala y Unidades 10.2 Un Marco Conceptual para Validar Mtricas 10.2.1 Estructura y Modelo Conceptual para Mtricas 10.2.1.1 Entes, Atributos y sus Relaciones 10.2.1.2 Unidades, Tipos de Escalas y sus Relaciones 10.2.1.3 Valor 10.2.1.4 Instrumento de Medicin 10.2.1.5 Mtricas Indirectas 10.2.2 Implicaciones del Modelo para Validacin de Mtricas 10.2.3 Otros Modelos para Validacin de Mtricas 10.2.4 Estrategias para Validacin de Mtricas

11. Modelo de Proceso de Evaluacin de Artefactos de Software11.1 Modelo de Proceso de Evaluacin definido en el Estndar ISO 9126 11.2 Proceso para Evaluadores definido en el Estndar ISO/IEC 14598 11.2.1 Desarrollo del Proceso de Evaluacin 11.3 Consideraciones Finales

12. Conclusiones y Lneas de Trabajo Futuro12.1 Futuros Avances 12.1.1 Evaluacin basada en Preferencias de Calidad y Costo 12.1.2 Hacia Requerimientos de Calidad Generales para Dominios Web 12.1.3 Patrones de Diseo para Dominios Web 12.1.4 Validacin de Mtricas Predictivas para proyectos Web 12.1.5 Integracin del Ambiente WebQEM_Tool

13. Glosario de Trminos13.1 Aclaraciones 13.2 Definiciones

14. Referencias

APENDICE A. Informacin Adicional de los Estudios de Campo 210 Empleadosiv

____________________________________________________________________Tabla de Contenidos

A.1 Informacin Adicional para el Caso de Estudio de Sitios Acadmicos 210 A.1.1 Plantillas de Caractersticas y Atributos de Calidad 210 A.1.2 Resultados de las Preferencias Elementales para los Sitios 213 Universitarios A.2 Informacin Adicional para el Caso de Estudio de Museos en la Web 215 A.3 Un Survey sobre 24 Museos 216 A.3.1 Preparacin del Survey 216 A.3.2 Anlisis de los Datos y Tendencias 218 A.3.2.1 Anlisis para Usabilidad 218 A.3.2.2 Anlisis para Funcionalidad 220 A.3.2.3 Anlisis para Eficiencia 223 A.3.3 Observaciones Finales 223

APENDICE B. Una Estructura Conceptual para un Modelo de Proceso GenricoB.1 Conceptos sobre Procesos de Software y Modelado de Procesos y Productos B.2 Definicin de un Modelo Conceptual B.2.1 Descripcin de las Clases y sus Relaciones Fundamentales B.2.2 Comentarios finales

228 228 236 238 240 242

APENDICE C. Empleo de un Modelo Orientado a Metas (Enfoque Goal-Question-Metric en el Proyecto Facultad de Ingeniera)C.1 Caractersticas deseables de Artefactos, Procesos, y Recursos en Proyectos de Hipermedia C.2 Goal-Question-Metric como Enfoque Orientado a Metas para Mediciones en Proyectos de Software C.3 Midiendo el Nivel de Interconexin en el Contexto Ubicacin del CDROM Facultad de Ingeniera C.4 Consideraciones Finales

242 246 249 253 255 255 258 258 259

APENDICE D. Aspectos del Modelo LSPD.1 Funcin para el Clculo de las Preferencias Parciales y Globales

APENDICE E. Automatizando Mtricas con Web-site MAE.1 Mtricas Web Automatizables E.2 Panorama de la herramienta Web-site MA

v

__________________________________________________________________________Introduccin

Captulo 1 Introduccin.____________________________________________________________

Los desarrollos Web son cada vez ms complejos y, adems, estn creciendo rpidamente, entre ellos las aplicaciones de software centrados en la Web. Este tipo de artefactos (sitios) Web puede ser un sistema de publicacin de catlogos con lgica de comercio electrnico, o un sistema de planificacin y programacin de proyectos de desarrollo colaborativo, entre otros, proveyendo funcionalidad que est ms cercana a una implementacin de software cliente/servidor tradicional que a un sitio Web esttico orientado a la documentacin. Sin embargo, modelos de proceso de producto bien definidos que promuevan un ciclo de vida de desarrollo repetible y eficiente, y modelos de proceso y metodologas de evaluacin que promuevan la comprensin y la mejora de la calidad de artefactos Web, no estn acompaando este rpido crecimiento observado. Ms bien las prcticas actuales para desarrollar sitios Web son ad hoc, y el aseguramiento y control de la calidad es, por lo general, un proceso a cumplimentar en el futuro [Deshpande et al 99; Lowe et al 99, Olsina 98c, Powell et al 98]. Por lo tanto, en este estado de situacin, la utilizacin sistemtica y disciplinada de mtodos, modelos, y tcnicas de Ingeniera de Software para el desarrollo, el mantenimiento, y la evaluacin de la calidad de los sitios Web debiera ser un requerimiento obligatorio, principalmente en los proyectos de mediana o gran escala. Una de las metas principales de la evaluacin y comparacin de calidad de artefactos Web, radica en medir, analizar y comprender el grado de cumplimiento de un conjunto de caractersticas y atributos con respecto a los requerimientos de calidad establecidos, para un perfil de usuario y dominio de aplicacin dados. Por una parte, los desarrollos centrados en la Web en los ms diversos dominios de aplicacin como comercio electrnico, sistemas acadmicos, financieros, entre otros, se estn tornando cada vez ms en sistemas complejos. Por lo tanto, desde el punto de vista de la valoracin de productos, un proceso de evaluacin cuantitativo e integral, que considere la mayora de las caractersticas y atributos relevantes para cierto perfil de usuario, se torna tambin en una tarea compleja. La complejidad en la evaluacin es producto de la gran cantidad de caractersticas y atributos que pueden intervenir en los requerimientos de calidad y en las varias relaciones existentes entre los atributos subcaractersticas y caractersticas, entre otros aspectos. Por otra parte, en trminos generales podemos clasificar a las metodologas, mtodos y tcnicas de evaluacin en dos amplias categoras: cuantitativas y cualitativas. An si la evaluacin de sistemas informticos y, particularmente de programas de software, acredita ms de tres dcadas como disciplina [Gilb 69, McCall et al 77, entre otros], la- 1-

__________________________________________________________________________Introduccin

evaluacin cuantitativa y sistemtica de aplicaciones de Hipermedia y, especficamente, de sitios Web es ms bien una preocupacin reciente y, a veces, poco considerada. De hecho, es importante destacar que Garzotto et al. [Garzotto et al 95] han introducido algunos criterios de evaluacin como riqueza, facilidad, consistencia, legibilidad, reuso, etc., para evaluar de un modo cualitativo a sistemas o aplicaciones de Hipermedia; no obstante, este enfoque es conveniente cuando el producto a evaluar es ms bien simple e intuitivo. En el caso en que se desee expresar a la aplicacin con mayor cantidad de factores y atributos de ms bajo nivel se vuelve difcil una evaluacin justificable y precisa, en donde se dificulta identificar menores diferencias entre valores similares de atributos de sistemas comparativos. Adems, a mediados de la dcada de los noventa surgieron guas de estilo, diseo y publicacin para la Web [IEEE WPG, Rosenfeld et al 98], con el objeto de asistir a los participantes en el proceso de desarrollo. En esta misma direccin, surgido de organizaciones reconocidas como de W3C [99], se han prescrito listas de buenas prcticas, con asignacin de prioridades, para que el desarrollador las tenga en cuenta a la hora de disear sitios de un modo ms usable, navegable, eficiente y accesible. Por lo tanto, estas guas y principios son muy tiles, debido a que documentan caractersticas, atributos y criterios de calidad a tener en cuenta en el proceso de evaluacin. El empleo apropiado de esas guas y criterios, debe ayudar a mejorar el proceso de diseo y autora en la Web pero, obviamente, no constituyen de por s una metodologa de evaluacin de artefactos Web. Finalmente, estudios y surveys de usabilidad y de interfaces son muy bien conocidos en la comunidad de Hipermedia e Interfaces de Usuario [Bevan 95 y 97, Nielsen 93, Schneiderman 87]. Particularmente, Nielsen ha realizado muy interesantes surveys sobre caractersticas y atributos en la Web, a partir de 1994, que estn en lnea en su columna electrnica denominada Alertbox [Nielsen_Alert]. Asimismo, estn emergiendo actualmente estudios y evaluaciones cuantitativas en dominios especficos de la Web [Kirakowski et al 98, Lohse et al 98]. Por ejemplo, Lohse et al. identificaron y midieron 32 atributos para 28 negocios conectados a Internet e identificaron caractersticas y atributos de diseo que influencian al trfico y a las ventas. Sin embargo, estos estudios estadsticos y descriptivos (ver adems los surveys de [GVU 99]), aunque reveladores para marcar el estado del arte de la calidad de los atributos y marcar tendencias, no constituyen una metodologa amplia para evaluar caractersticas, atributos y sus relaciones, de sitios Web como un todo. Por lo tanto, podemos afirmar que en el proceso de evaluacin de requerimientos de calidad de artefactos Web complejos, se observa la necesidad de contar con una metodologa cuantitativa, integrada, flexible y robusta, que se apoye en principios y prcticas de Ingeniera de Software para la evaluacin y comparacin de caractersticas y atributos, con el fin de obtener resultados objetivos y justificables.

- 2-

__________________________________________________________________________Introduccin

1.1 Principales contribucionesLas principales contribuciones de esta tesis para el rea de proyectos de evaluacin y comparacin de calidad de aplicaciones centradas en la Web son, a saber: Un enfoque integral, sistemtico, disciplinado y cuantitativo, para evaluar y comparar artefactos Web, tanto en la fase operativa del ciclo de vida como en la fase de desarrollo. Se discuten las fases, principales actividades y artefactos (documentos) producidos; esta clara divisin en fases y actividades favorece la visibilidad de un proyecto de evaluacin, ayudando a la planificacin, programacin, ejecucin y control de las mismas. Un conjunto de modelos, mtodos, procedimientos, criterios y herramientas a ser utilizado en las diferentes fases y actividades. Los mismos pueden ser empleados en el marco conceptual de un modelo de proceso de evaluacin estandarizado. Contribuir potencialmente a comprender y mejorar la calidad en el diseo y rediseo de aplicaciones centradas en la Web. Esta declaracin est motivada en que la metodologa de evaluacin de calidad propuesta propende a un uso riguroso y sistemtico de principios y prcticas establecidas de la Ingeniera de Software aplicados al dominio de aplicaciones Web. El empleo de un marco conceptual para validar mtricas en la Web. Se validan tericamente varias mtricas empleadas (orientadas a la valoracin antes que a sistemas de prediccin) . Definir y especificar caractersticas, subcaractersticas y atributos que contribuyen a la calidad de artefactos Web, en consideracin de un perfil de usuario y dominio dados. (Estas investigaciones nos permitirn generalizar subcaractersticas y atributos para conjuntos de dominios: as, patrones de reuso se pueden catalogar denominados ms precisamente en la literatura como patrones de diseo).

1.2 Estructura de la TesisEn esta investigacin presentamos a la Metodologa de Evaluacin de Calidad de Sitios Web (Web-site Quality Evaluation Method, o Web-site QEM), cuyo objetivo es realizar un aporte ingenieril que se adecue a la evaluacin, comparacin y anlisis de calidad de sistemas de informacin centrados en la Web ms o menos complejos. Presentamos sus fases y actividades, y analizamos modelos, mtodos, procedimientos, criterios y herramientas a aplicar en dichas actividades. Especficamente utilizaremos a lo largo de la tesis, dos casos de estudio realizados [Olsina 99, Olsina et al 99 a, c] para- 3-

__________________________________________________________________________Introduccin

ejemplificar sus distintos aspectos. En la primera parte de la tesis (captulos 2 y 3), nos dedicamos a discutir aspectos generales relacionados a los artefactos Web, la necesidad de usar modelos de proceso de desarrollo y modelos de proceso de evaluacin. Adems, nos concentramos en la problemtica en la evaluacin de software y el estado del arte. Particularmente, en el captulo 2, realizamos una breve discusin de las peculiaridades de los artefactos Web y las semejanzas y diferencias con los productos de software tradicionales; presentamos la necesidad de contar con modelos de ciclo de vida de desarrollo adaptados a la Web, y de contar con modelos de proceso y metodologas de evaluacin. En el captulo 3, analizamos la problemtica en la evaluacin de calidad de artefactos de software en general, y nos detenemos en desarrollar un conjunto de preguntas y temas claves. Adems, discutimos el estado del arte en la evaluacin de artefactos Web y trabajos relacionados. En la segunda parte de la tesis (captulos 4 al 9), presentamos y desarrollamos detalladamente a la Metodologa de Evaluacin de Calidad de Sitios Web. En el captulo 4 describimos, en la primera seccin, las motivaciones de contar con una metodologa integral, robusta y flexible para evaluar la calidad de artefactos Web ms o menos complejos; en la segunda seccin, presentamos un panorama de las principales fases, procesos y modelos de la Metodologa Web-site QEM. Finalmente, introducimos los ejemplos que se irn utilizando a lo largo de esta tesis. La fase de definicin y especificacin de los requerimientos de calidad se discute en el captulo 5. Esta fase trata con actividades y procedimientos para la elicitacin, modelado y especificacin de los requerimientos de calidad. Particularmente, se discuten distintos modelos de calidad y se propone un enfoque de modelo mixto. Este enfoque se emplea para representar el rbol de requerimientos de calidad de artefactos Web, para un perfil de usuario y dominio dados. En el captulo 6, analizamos la fase de definicin e implementacin de la evaluacin elemental. La misma trata con actividades, modelos, herramientas y heursticas para determinar criterios de evaluacin y mtricas para cada atributo cuantificable. En el captulo 7, discutimos la fase de definicin e implementacin de la evaluacin global; se presenta actividades, modelos, procedimientos y herramientas para determinar los criterios de agregacin de las preferencias de calidad elemental (obtenidas en la fase anterior, a partir del rbol de requerimientos), para producir la preferencia global para cada artefacto Web interviniente. En la fase de anlisis de resultados, recomendaciones y documentacin (en el captulo 8), se realizan las actividades de anlisis y comparacin de las preferencias de calidad elementales, parciales y globales, y, asimismo, la justificacin de los resultados. A partir- 4-

__________________________________________________________________________Introduccin

de las metas establecidas y del punto de vista de usuario a evaluar, el proceso culmina con las conclusiones y recomendaciones del caso. Se discuten los resultados del estudio de sitios acadmicos en la Web (el cual se fue desarrollando en los captulos 5, 6 y 7). Finalmente, en el captulo 9, presentamos otros estudios de campo realizados por medio del uso de Web-site QEM. En la tercera parte de la tesis, presentamos un marco conceptual para la validacin de mtricas (captulo 10) y discutimos la validacin terica de algunas mtricas empleadas en el proceso. Por otro lado, en el captulo 11, describimos detalladamente un modelo de proceso de evaluacin al que Web-site QEM puede adherir. Por ltimo, exponemos las conclusiones y futuros avances en distintas direcciones. El lector encontrar a lo largo del trabajo referencias bibliogrficas, que se encuentran al final, como as tambin un glosario de palabras y frases claves que son de importancia para la tesis. Adems, cuando sea oportuno, se remite al lector a los distintos captulos y secciones para facilitar la comprensin de este documento. Adicionalmente, hemos incorporado cinco apndices con informacin complementaria. En el apndice A, se vuelca informacin adicional de los estudios de campo empleados. Es de inters los resultados arrojados por el survey realizado sobre el dominio de museos en la Web (sobre 24 sitios) empleando unas pocas actividades de Web-site QEM. En el apndice B, se define una estructura o modelo conceptual til para comprender y soportar a la modelizacin de procesos en general. En el apndice C, se describe una experiencia de evaluacin que realizamos sobre una aplicacin editada en CD-ROM (en 1995), empleando el enfoque GQM. En el apndice D, se presenta un algoritmo codificado en C++, que es una parte del programa para obtener las preferencias parciales y globales en el proceso de evaluacin y, por ltimo, en el apndice E, se comenta aspectos de la herramienta desarrollada (denominada Web-site MA), para automatizar algunas mtricas en la Web.

-5-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

Captulo 2 Aspectos del Desarrollo y de la Evaluacin de Sistemas de Informacin Centrados en la Web.____________________________________________________________ 2.1 PanoramaEl crecimiento de Internet (y las as llamadas Intranets y Extranets), y, en general, el crecimiento de la Web (World Wide Web) est implicando un fuerte impacto y cambio paradigmtico en el manejo de la informacin en tan diversos sectores como comerciales, educativos, industriales, financieros, de entretenimiento, gubernamentales, y porqu no decirlo tambin, poco a poco est cambiando en nuestras vidas personales, el modo de ver y relacionarlos con el mundo (en un modelo globalizado). Particularmente, en nuestros das asistimos a un crecimiento paulatino de sitios Web con funcionalidad de comercio electrnico, y hasta vale mencionar, que se han realizado experimentos de cmo personas aisladas pueden proveerse de bienes y servicios, e intentan valerse y sobrevivir (con algn xito), tan slo con una computadora conectada a Internet ante sus manos! Lo cierto es que una amplia gama de aplicaciones distribuidas cada vez ms complejas est emergiendo en el entorno de la Web. El indiscutido incremento de popularidad y aceptacin de las aplicaciones centradas en la Web tiene su origen en sus propias caractersticas y naturaleza: provee un modelo de informacin que soporta enlazar todo tipo de contenido y medios; permite a los usuarios un fcil acceso a informacin a partir de una representacin ubicua de la misma; a diferencia de un documento en papel, tiene el valor agregado de la funcionalidad de software; y, entre otros aspectos, permite a los usuarios (no necesariamente profesionales del rea de informtica) crear y enlazar fcilmente sus propios documentos por medio de herramientas ampliamente disponibles. Sin embargo, como indicbamos en la introduccin del captulo 1, esta explosin de inters en publicar en la Web y en adicionarle contenido y funcionalidad de aplicacin a los sitios Web ha generado sus propios desafos a la Ingeniera de Software. En general se observa que modelos de proceso de producto bien definidos que promuevan un ciclo de vida de desarrollo repetible y eficiente, y modelos de proceso de evaluacin que promuevan la comprensin, el control y la mejora de la calidad de artefactos Web, no estn acompaando este rpido crecimiento. Ms bien, las prcticas para desarrollar sitios Web son ad hoc en donde el proceso tpico consiste en iteraciones de subprocesos como implementar (y prototipar), probar un poco y distribuir (a semejanza del proceso code and fix o just-do-it para desarrollar de un modo ad hoc, software tradicional). Es cierto que tal estrategia puede ser adecuada para pequeos proyectos de desarrollo Web, en donde el futuro mantenimiento es previsiblemente mnimo.-6-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

Con todo, actualmente existe en la comunidad cientfica del rea una legtima y creciente preocupacin tanto en el modo en cmo se desarrollan los sistemas centrados en la Web como en la integridad y calidad de los productos a mediano y largo plazo. Por ejemplo, en ausencia de procesos disciplinados para producir artefactos Web, se est enfrentando con serios problemas en el efectivo desarrollo y ulterior evolucin, principalmente en proyectos de mediana o gran envergadura. Desarrollos de aplicaciones centrados en la Web realizados mediante estrategias ad hoc tienen alta probabilidad de fracaso en fases de mantenimiento y evolucin, y esto se acenta ms, en la medida en que crece la complejidad de los mismos. Con el fin de evitar una posible crisis en los desarrollos en la Web [Gibbs 94, Powell et al 98] y alcanzar mayor efectividad en este contexto de creciente diversidad y complejidad de requerimientos funcionales y no-funcionales [IEEE 830], es necesario emplear enfoques disciplinados y sistemticos, herramientas y metodologas robustas y flexibles para construir, evolucionar y evaluar artefactos Web. Es oportuno resaltar que tales estrategias, metodologas y herramientas deban tener en cuenta aspectos especficos de este nuevo medio como: 1) el nivel de orientacin a la documentacin versus el nivel de orientacin a la funcionalidad de la aplicacin de software; 2) la multiplicidad de los perfiles de usuarios y sus distintos comportamientos; 3) caractersticas y atributos de calidad que respondan a las necesidades de las diferentes audiencias en consideracin de las peculiaridades del medio Web; 4) diferentes tipos de habilidades y conocimientos de los participantes en un proyecto centrado en la Web; 5) procesos de desarrollo de rpida generacin de productos pero flexibles y robustos en cuanto a la evolucin tanto de la estructura y contenido como de la funcionalidad asociada. Principalmente, se est observando la necesidad de contar con un enfoque ingenieril; esto es, el empleo disciplinado, cuantificable y sistemtico de principios y prcticas reconocidas de Ingeniera de Software para la creacin, evaluacin, mantenimiento y evolucin de aplicaciones centradas en la Web 1 . Por lo tanto, en este captulo introduciremos en qu medida los artefactos y desarrollos Web se asemejan a los artefactos y desarrollos de software tradicional y en qu1

En los ltimos dos aos, se observa una creciente preocupacin de la comunidad cientfica de Ingeniera de Software (y otras comunidades relacionadas) por los temas de modelos de proceso de desarrollo y, en menor grado, de evaluacin de aplicaciones centradas en la Web, de modo que recientemente se ha dado en llamar a la disciplina, Ingeniera de Software en la Web, o brevemente, Ingeniera en la Web. Por ejemplo, en 1998, se celebr el primer workshop sobre Ingeniera en la Web, en conjuncin con la 7ma Conferencia World Wide Web (WWW), en Australia. Asimismo, durante este ao (1999) se celebraron dos workshops de Ingeniera en la Web: uno en el congreso WWW8, en Toronto, Canad, y el otro en el 21 Congreso Internacional de Ingeniera de Software (ICSE), en Los Angeles. En cuanto a publicacin de libros, en 1998, se edit el libro de Powell et al denominado Web Site Engineering: beyond Web Page Design [Powell et al 98], y recientemente, apareci el libro de Lowe & Hall denominado Hypermedia and the Web: an Engineering Approach. En cuanto a revistas cientficas tratamientos del tema se encuentran en IEEE Software (Sep/Oct 98); en CACM (Jul 98); en WebNet Journal (N 1, 1999); y en NRHM Journal ( por aparecer la edicin de 1999). -7-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

medida se diferencian. Esto nos ayudar a comprender caractersticas y atributos semejantes y distintivos de los artefactos y sistemas Web, tiles a tener en cuenta en un proceso de desarrollo y evaluacin de calidad. Por otra parte, discutiremos la necesidad de contar con procesos y metodologas bien definidas para el desarrollo y la evaluacin. Nosotros consideramos que la utilizacin sistemtica de mtodos, modelos, y tcnicas de Ingeniera de Software para la evaluacin, control y mejoramiento de la calidad de los productos Web debiera ser un requerimiento obligatorio en todo proyecto de mediana o gran escala. En este sentido, el objetivo principal de este trabajo consiste en desarrollar una metodologa cuantitativa, flexible y robusta que cubra la mayor parte de las actividades en el proceso de evaluacin, comparacin, y seleccin de artefactos Web (captulos 4 al 9). En el captulo 11, discutiremos el estado del arte en modelos de proceso para evaluadores de productos software y su aplicabilidad en la Web. El empleo sistemtico de estrategias y metodologas basadas en principios y prcticas ingenieriles no nos proveer la bala de plata (the silver bullet [Brooks 87]), pero ayudar a minimizar los problemas y riesgos, y proveer un marco conceptual y pragmtico para administrar eficientemente proyectos de desarrollo, su evolucin y la valoracin de sus distribuibles.

2.2 Artefactos Web como SoftwareHay muchos objetivos por los cuales se puede construir un sitio Web; estos pueden incluir promocin de una organizacin, comercio electrnico, entretenimiento, soporte tcnico, relaciones entre inversores, reclutamiento de personal, presentacin de expresiones artsticas y culturales, satisfaccin personal, expresiones del dominio acadmico y de la investigacin, reservaciones, por citar algunos. Por lo tanto, los artefactos Web se estn tornando cada vez ms semejantes a los productos de software tradicionales. Un nico sitio Web, por ejemplo, debe satisfacer necesidades tan diversas que pueden ir desde la distribucin y presentacin de documentos multimediales hiperenlazados hasta la automatizacin de procesos de negocios. Segn la definicin dada por [Sommerville 92], software es un programa de computadora, o un conjunto de programas de computadora, adems del material relacionado como documentacin, el cual se usa para realizar alguna tarea. Ahora bien, la pregunta que cabe formularnos es la siguiente: Puede ser considerado un sitio Web como un artefacto de software? Segn nuestra visin, al igual que la de varios autores [Lowe et al 99, Powell et al 98, Pressman 98] un sitio Web puede en muchos casos ser considerado un artefacto de software (y hasta con complejidad aadidas). Un simple sitio Web puede ser no ms que un conjunto de pginas estticas (documentos hiperenlazados) recuperados por un-8-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

usuario, a partir de un navegador, desde un servidor remoto. No obstante, en la medida que el sitio provee capacidad de recolectar informacin desde formularios, provee recuperacin de informacin desde bases de datos por medio de consultas (y acceso a sistemas legados), permite generar pginas dinmicamente (consultas, bsquedas, generacin de pginas personalizadas, etc.), permite realizar cmputos por medio de applets o scripts, etc., la funcionalidad del artefacto Web es comparable a la funcionalidad de programas de software. Sin embargo, dada la naturaleza de orientacin a documentos y contenido, no todos los componentes de un sitio Web pueden ser vistos como con funcionalidad de software. Mientras que la publicacin de un sitio con componentes estticos orientados a la documentacin debe lograr un adecuado compromiso de calidad entre organizacin, presentacin, contenido y navegacin, los componentes orientados a la aplicacin (programacin) deben proveer la adecuada integracin y funcionalidad de la lgica agregada. Con todo, caractersticas de calidad del artefacto como confiabilidad y eficiencia, puede ser afectada por ambos componentes. Por ejemplo, un sitio esttico pobremente testeado puede contener varios enlaces rotos o invlidos, lo cual degrada la confiabilidad del mismo desde el punto de vista del usuario, o, por otra parte, una falta de testeo de funcionalidad de applets o scripts, puede provocar deficiencias en la presentacin dependiendo del tipo de navegador. Del mismo modo, un diseo descuidado de las pginas en consideracin de la suma de los tamaos de todos sus componentes, puede degradar la performancia del sitio (y en definitiva la eficiencia). La figura 2.1, muestra una representacin de aplicaciones Web considerando rangos de complejidad (estticas versus dinmicas), y grados de orientacin (orientado a documentos versus orientado a aplicaciones). Segn esta figura los sitios pueden ser categorizados en [Powell et al 98]: Slo Esttico Sitio Esttico con Formularios de Entrada Sitio con Acceso de Datos Dinmicos Sitio Creado Dinmicamente Aplicacin de Software basada en la Web

Sitio Slo Esttico. En su forma ms simple, un sitio Web es una coleccin de pginas estticas (documentos, o informacin editada y publicada en formato HTML). Desde el punto de vista de la funcionalidad, sta es dada bsicamente por los enlaces que permiten navegacin, ya sean enlaces provistos por los controles principales y navegacionales de la interface, o por los enlaces estructurales (mecanismos de acceso como un ndice) y semnticos. En un sitio de este tipo, el nfasis de diseo est puesto en la organizacin de la estructura y el contenido, en la esttica de la presentacin, y en las facilidades de navegacin (no obstante hay otros desafos de usabilidad, adems de eficiencia, confiabilidad y mantenibilidad).-9-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

Complejo/ DinmicoB D

Aplicacin Basada en la Web (WIS) Sitio Creado Dinmicamente

B D

RegistrosConsulta

Sitio Esttico con Formulario de Entrada Web-site Slo Esttico

Web-site con Acceso a Datos Dinmicos

Simple/Esttico Orientado a Documentos Orientado a Aplicaciones

Figura 2.1 Rangos de complejidad y niveles de orientacin de las aplicaciones Web [Powell et al 98] Sitio Esttico con Formularios de Entrada. En un sitio de este tipo, el nfasis de diseo est puesto en la organizacin de la estructura y el contenido, en la esttica de la presentacin, en las facilidades de navegacin, etc., proveyendo adems al usuario un nivel de interaccin bsico implementado por medio de formularios de entrada. Esto favorece la usabilidad del sitio al permitir mecanismos de retroalimentacin por parte del usuario. Atributos como Cuestionarios, Libros de Invitados, o Comentarios y Sugerencias, son fcilmente implementables favoreciendo a la comunicacin en lnea (estos atributos, entre otros, estn representados en el rbol de requerimientos de calidad, como se observa en el cdigo 1.2.5 de la figura 5.7). Sitio con Acceso a Datos Generados Dinmicamente. En un sitio de este tipo, adems de las caractersticas previamente comentadas, el usuario puede acceder por medio de-10-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

las pginas (del lado del cliente) a datos almacenados en bases de datos remotas, por medio de consultas y bsquedas. Los datos retornados a partir de la interaccin iniciada por el usuario son generados dinmicamente (ASP, etc.), y presentados en formato de documentos HTML (DHTML o XML). Sitio Creado Dinmicamente: surge la necesidad de disear este tipo sitios Web, en el caso en que el mismo deba proveer requerimientos semejantes aunque personalizados en consideracin del contenido de las pginas para cada instancia de usuario; o cuando por aspectos de compatibilidad tecnolgica, se requiere construir dinmicamente a sitios en conformancia con el entorno del navegador del usuario. Para ello, los documentos estticos deben ser mudados dinmicamente aunque en el lado del cliente, no provean interactividad alguna. Aplicacin de Software basada en la Web: este tipo de artefacto puede ser el ms complejo y con mayor orientacin a la aplicacin, como se aprecia en la figura 2.1. Este tipo de sitio Web (a veces implementado como Intranet o Extranet) puede ser un sistema de control y seguimiento de inventarios, o un sistema de educacin a distancia, etc. , proveyendo funcionalidad que est ms cercana a una implementacin cliente/servidor tradicional que a un sitio Web esttico. Sin embargo, todas las caractersticas potenciales de los tipos antes discutidos pueden estar incorporadas a la aplicacin. Como se observa de lo anterior, los artefactos Web se pueden tornar muy complejos. Y al igual que el desarrollo de productos de software tradicional, el desarrollo y evolucin de aplicaciones centradas en la Web puede ser un proceso con muchos desafos, mxime si se emplean estrategias ad hoc.

2.3 Necesidad de Modelos de Proceso de Desarrollo de Artefactos WebComo indicamos previamente, la mayora de las estrategias de procesos de desarrollo en la Web son ad-hoc, y las estrategias de evaluacin y control de calidad estn ms bien ausentes o son ms bien intuitivas. Por lo tanto, modelos de proceso de producto bien definidos que promuevan un ciclo de vida de desarrollo eficiente, y modelos de proceso de evaluacin con estrategias integrales y cuantitativas que promuevan la comprensin y la mejora de la calidad de artefactos, deben ser utilizados en la prctica cotidiana de proyectos Web de mediana y gran escala, dado el rpido crecimiento e integracin de sistemas de documentacin, publicacin y de funcionalidad de aplicacin Web. Por una parte, es importante tomar conciencia de la necesidad de estrategias ms disciplinadas, sistemticas y justificables para el proceso de desarrollo de aplicaciones Web, y comprender que dichos desarrollos no son slo un problema de diseo grfico, interface de usuario, y organizacin de estructura y contenido, sino que existe la-11-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

necesidad de integrar una creciente y, en varios casos, compleja funcionalidad de software. As, los proyectos de desarrollo centrados en la Web se estn tornando ms semejantes a los proyectos de software antes que a un trabajo de autora y arte. Por lo tanto, se tiene la necesidad de contar con un modelo de proceso de software adaptado a los requerimientos de desarrollo de artefactos Web. Un modelo de proceso para las aplicaciones Web deber considerar bsicamente las fases y actividades; los mtodos, herramientas y recursos humanos; guiar a los desarrolladores a especificar las complejidades del sitio Web; deber minimizar los riesgos de desarrollo y ulterior mantenimiento (tratar con la probabilidad de cambio); deber permitir ciclos rpidos de generacin de artefactos y proveer retroalimentacin al administrador del proyecto, entre otros aspectos. Si bien no es el objetivo de esta tesis postular y discutir un modelo de proceso de desarrollo de artefactos Web, en la literatura relacionada [Lowe et al 98, 99; Olsina 98a,b; Powell et al 98] se sugiere distintas alternativas para distintos tipos de proyectos y grados de madurez organizacional para proyectos de Hipermedia y Web. Por ejemplo, segn los autores, se podran adaptar modelos de proceso como el de cascada modificado (con introduccin de concurrencia e iteracin en las actividades de definicin del problema y anlisis/especificacin de requerimientos), el modelo de proceso en espiral [Boehm 88, Lowe et al 98], o el modelo de proceso flexible de Hipermedia adaptado a la Web, con ciclos de prototipacin rpida-funcional y evolutiva [Olsina 97b]. Por otra parte, es necesario tomar conciencia que si bien la Ingeniera en la Web involucra a la modelizacin y desarrollo de funcionalidad de software y adopta (y deber adoptar) principios y prcticas establecidas de la Ingeniera de Software, hay caractersticas propias en los desarrollos y artefactos Web que deben ser debidamente puntualizados. Varios autores afirman que, en tanto los sitios Web pueden ser considerados software (segn vimos en la seccin 2.2), los desafos que abarca la Ingeniera en la Web no es solamente los que enfrenta la Ingeniera de Software [Deshpande et al 99; Lowe et al 99, Powell et al 98]. Los sitios Web y su desarrollo tienen algunos aspectos que lo hacen y harn distintos del software tradicional, a saber: La mayora de los sitios Web seguirn teniendo la caracterstica de orientacin a la documentacin: en lo previsible no hay razn para pensar que se abandone esta caracterstica bsica surgida desde los inicios de la Web. Las pginas se generan esttica o dinmicamente. Las aplicaciones Web continuarn focalizadas en la interface de usuario y en su apariencia y esttica (look & feel), favoreciendo la creatividad visual y la incorporacin de multimedia. Muchos sitios estn dirigidos por objetivos de presentacin, promocin de productos y servicios, y metas de negocios; esto parece ir en incremento. La mayora de los sitios Web seguirn siendo orientados al contenido. Esta caracterstica se observa en muchas aplicaciones de software que ofrecen-12-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

documentacin y ayuda en lnea; sin embargo el alcance de la incorporacin de contenido en un sitio Web es mucho ms abarcativo. Adems, el proceso de autora es generalmente propio de desarrollos Web o CD-ROMs multimediales. Un sitio Web puede atender una multiplicidad de perfiles de usuario y sus distintos requerimientos. El construir un sitio orientado a audiencias no siempre es una tarea sencilla. El medio donde corren las aplicaciones basadas en la Web es generalmente ms impredecible que el medio donde se ejecutan las aplicaciones de software tradicionales. Esto puede afectar la percepcin y aceptabilidad que tiene el usuario del artefacto. Un sitio Web implica un mayor acercamiento entre arte y ciencia que lo que puede implicar un artefacto de software En general un proyecto Web de mediana y gran escala requiere mayor multiplicidad de tipos y niveles de habilidades (y roles) de los participantes que un proyecto de software. La Web representa un nuevo paradigma en la distribucin de documentacin y software. La mayora de los desarrollos en la Web requieren estar operativos en un corto lapso de tiempo. Esto puede dificultar la aplicacin del mismo nivel de rigor formal o semiformal de varias actividades del proceso que en un proyecto tradicional

Lo anterior representa las principales caractersticas distintivas de un proyecto de desarrollo en la Web.

2.4 Necesidad de Evaluar para Comprender y MejorarMuchas caractersticas y atributos de calidad de artefactos Web tales como usabilidad, navegabilidad, seguridad, caractersticas de bsquedas y recuperacin de informacin, mantenibilidad, performancia, accesibilidad, no-deficiencia, y aspectos de funcionalidades especficas del dominio, por citar algunas, deben ser sistemticamente tenidas en cuenta durante el proceso de desarrollo de modo de garantizar la calidad en consideracin de la satisfaccin de los requerimientos de los diferentes perfiles de usuario. Por lo tanto, para poder obtener artefactos de calidad a la misma se la debe planificar, programar y controlar. As, la calidad no podr ser agregada a los artefactos Web al final del proceso de desarrollo sino que, por el contrario, se necesitar considerarla durante todo el ciclo de vida de desarrollo: la calidad debe ser planificada. La calidad es un resultado del proceso, y debe ser un factor directriz del mismo. Una de las metas principales en el desarrollo de aplicaciones Web (como en cualquier otro tipo de desarrollo de software) es producir artefactos de calidad, los que deben-13-

________________________________________________Aspectos del Desarrollo y Evaluacin de WIS

estar regidos por un conjunto de caractersticas y atributos deseados, observables y cuantificables. Debemos asegurar los mecanismos por medio de los cuales podamos construir productos que cumplimenten tales caractersticas y atributos a partir del planteo de un conjunto de requerimientos de calidad. Por medio de la evaluacin de la calidad de artefactos Web, podemos comprender el grado de cumplimiento de un conjunto de caractersticas, subcaractersitcas y atributos con respecto a los requerimientos de calidad establecidos. Para tal fin, se debe prever dentro del modelo de ciclo de vida de desarrollo de artefactos Web, actividades, metodologas y procedimientos para el aseguramiento y control de calidad. Las actividades y mtodos a su vez deben estar comprendidas en el marco de un modelo de proceso de evaluacin, como veremos en el captulo 11. Estos modelos de proceso de evaluacin que discutiremos no prescriben ni recomiendan metodologas, mtodos ni procedimientos especficos para realizar las actividades sino que representan un marco conceptual (y normativo) genrico, en donde los distintos mtodos, procedimientos y herramientas se puedan aplicar. Pero la meta de un proyecto de evaluacin, no est solamente ligada a un proceso de desarrollo de artefactos Web. El objetivo podra consistir en evaluar el estado actual de un artefacto en la fase operativa, o comparar la calidad de dos o ms artefactos semejantes. Por ejemplo, si la meta de evaluacin consistiera en la determinacin de la calidad actual de un artefacto Web en la fase operativa, el resultado del proceso podra arrojar recomendaciones para introducir mejoras, y la decisin final podra consistir en lanzar una nueva versin del sitio o en modificar algunos pocos atributos ausentes o pobremente diseados. No obstante, como se extrae de lo discutido, para especificar el rbol de requerimientos de caractersticas y atributos de calidad, para determinar los criterios de medicin elementales e implementarlos, para realizar la agregacin apropiada de manera de producir indicadores parciales y globales, se requiere una metodologa integral. Es decir, un conjunto bien definido y cooperante de estrategias, mtodos, modelos y herramientas que, aplicados sistemticamente a las distintas actividades del proceso, produzca los indicadores o resultados finales. Por lo tanto, se necesita una metodologa que cubra las principales actividades del modelo de proceso de evaluacin. Este es el tema central del presente trabajo. Finalmente, es oportuno recordar estos pares de mximas o principios: No se puede medir lo que no se puede comprender Si no se sabe dnde se est parado, un mapa no ayuda Lo que no se puede medir no se puede controlar sistemticamente No podemos mejorar algo a menos que podamos evaluarlo

-14-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

Captulo 3 Problemtica en la Evaluacin de la Calidad de Artefactos de Software (y Web).____________________________________________________________ 3.1 Presentacin del ProblemaAntes de pasar a discutir aspectos claves en la evaluacin de la calidad de artefactos, particularmente para el dominio de aplicaciones centrados en la Web, veamos cul es la problemtica general para este tipo de actividades y enfoques, expresadas primero en algunas preguntas, y luego, con comentarios, haciendo referencia en algunos casos a investigadores y a organizaciones internacionalmente reconocidas. En pocas palabras, se puede formular las siguientes cuestiones centrales: La evaluacin de la calidad del producto, est ms bien basada en mtricas y modelos cuantitativos de calidad, o est librada a la intuicin y subjetividad del evaluador? Las decisiones y procedimientos fundamentales de la evaluacin, comparacin y ranquin, estn centradas en la intuicin de los evaluadores, o estn cimentadas en modelos de estructuracin de caractersticas y atributos, y, adems, en modelos y mtodos cuantitativos de clculo de puntaje? Las decisiones de la evaluacin estn centradas y dirigidas por el juicio del usuario, o ms bien guiadas e integradas por el juicio de expertos humanos? El sistema o artefacto puede ser considerado simple o complejo, desde el punto de vista de la evaluacin? Y algunas afirmaciones se pueden indicar, como una interesante combinacin de las preguntas anteriores, a saber: La evaluacin est basada en modelos y mtricas de calidad (a partir de caractersticas y atributos) pero las decisiones estn libradas a la intuicin antes que a modelos y mtodos cuantitativos de puntaje. La evaluacin est basada en mtricas y modelos de calidad y las decisiones y procedimientos estn centrados en modelos y mtodos cuantitativos. El proceso de evaluacin se basa en modelos y mtodos reconocidos y se centra en el juicio surgido de la experticia humana. El artefacto consiste, desde el punto de vista de la evaluacin, de un buen nmero de subsistemas o componentes, los que a su vez se descomponen en varios elementos. Adems, existen diferentes relaciones entre elementos y subsistemas.

-15-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

Y aqu surge esta otra pregunta: Para evaluar la calidad global de un artefacto, para sistemas complejos como la Web, es conveniente basarse en un modelo de agregacin de atributos y de puntaje meramente lineal y aditivo, o se requiere algo ms robusto y flexible? Pero adems de las preguntas centrales antes formuladas, hay otras no menos importantes para el xito de un proyecto de evaluacin, a saber: Para que el proceso de evaluacin sea claro y efectivo, no debe focalizarse en metas especficas, en el contexto de una organizacin? No debe establecerse claramente cual ser el perfil del usuario y, consecuentemente, sus requerimientos? Adems, cul es el rol y el beneficio de aplicar un modelo de proceso bien definido para la evaluacin de artefactos centrados en la Web? Para entrar en contexto, utilizaremos algunas declaraciones de investigadores y de estndares de organizaciones autorizadas, acerca de aspectos antes mencionados, a saber: La evaluacin de un sistema es un proceso de decisin lgica ... la meta bsica de un sistema de evaluacin est en determinar el grado en que un sistema cumplimenta un conjunto especfico de requerimientos [Dujmovic et al 82] Definir a la calidad de software para un sistema es equivalente a definir una lista de atributos de calidad de software requeridos por ese sistema [IEEE Std 1061]. Para medir atributos de calidad de software se debe identificar un conjunto apropiado de mtricas [IEEE Std 1061]. Las mtricas de software miden atributos especficos de un producto de software o un proceso de desarrollo de software [Grady 94], o tambin, atributos de un recurso. Por otra parte, la Organizacin de Estndares Internacionales ISO, en trabajo conjunto con IEC, definen seis caractersticas de muy alto nivel que describen, con un mnimo de solapamiento, a la calidad del producto y que son, a saber: usabilidad, funcionalidad, confiabilidad, eficiencia, portabilidad, y mantenibilidad. Esas caractersticas proveen una lnea base para ulteriores refinamientos y descripciones de la calidad del software [ISO/IEC 9126]. De manera que, muchos atributos de inters en Ingeniera de Software no son directamente mensurables. Esta situacin nos fuerza a usar vectores de medidas con reglas para combinar los elementos del vector en una medida ms grande e indirecta-16-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

[Fenton et al 97] Esta misma situacin es revelada en la publicacin reciente del estndar del Proceso para Evaluadores de la ISO [ SO/IEC 14598-5], que declara: La calidad de los I productos de software puede ser descripta en trminos de caractersticas de calidad como las definidas en ISO/IEC 9126. No obstante, el estado del arte en mediciones de software es tal que, en general, no son prcticas las mediciones directas de esas caractersticas. Lo que s es posible, es valorar esas caractersticas sobre la base de medidas de atributos del producto de menor nivel de abstraccin. Y luego, agrega: En este contexto, el/la evaluador/a puede usar su experiencia en Ingeniera de Software para realizar la valoracin [ISO/IEC 14598-5]. Como idea central podemos extraer que, el estndar de caractersticas de calidad de productos, provee un marco conceptual muy importante al prescribir dichas caractersticas a un alto nivel de abstraccin, pero si bien sugiere subcaractersticas de un modo informativo, ... no provee [prescribe] subcaractersticas y mtricas ni mtodos para la medicin del puntaje y evaluacin [ISO/IEC 9126] 1 . Es primeramente responsabilidad del evaluador y del usuario solicitante acordar todos los requerimientos (esto es, expresarlo en una lista de caractersticas y atributos cuantificables). Por otra parte, como indicamos al inicio, la evaluacin de sistemas complejos es primeramente un problema de decisin. Consecuentemente, las estrategias y tcnicas para su solucin deben contener componentes subjetivos. Esto se afirma en las siguientes sentencias: El uso de mtricas de software reduce la subjetividad en la evaluacin de la calidad de software al proveer una base cuantitativa para tomar decisiones acerca de la calidad del software [IEEE Std 1061]. No obstante, el uso de mtricas de software no elimina la necesidad del juicio humano en la evaluacin del software [IEEE Std 1061]. Por ejemplo, para especificar un conjunto de metas a ser alcanzado por el proceso de evaluacin, y, a partir de stas, especificar requerimientos de calidad, los componentes de subjetividad en la toma de decisin son partes necesarias para iniciar el proceso. Sin embargo, en un sentido positivo, subjetividad significa basado en la experiencia humana. Si la necesaria experticia est ausente, las metas y requerimientos pueden ser ambiguos, ausentes, o an peor, y no se puede esperar que el proceso de evaluacin genere resultados correctos y tiles [Dujmovic et al 82] (por ms que el proceso, los modelos y los mtodos empleados sean los correctos).1

Es importante indicar que el nuevo estndar ISO/IEC 9126-1, que est en modo borrador al momento de esta escritura, prescribe subcaractersticas al segundo nivel de descomposicin e introduce un conjunto sugerido de mtricas internas, externas y de calidad de uso, como veremos en la seccin 5.4.2.1 -17-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

Por otra parte, y como observaciones finales, podemos citar el principio de Metas Borrosas de Gilb, que dice que: Los proyectos sin metas claras no alcanzarn sus metas claramente [Gilb 88], y, por otra parte, De acuerdo a muchos estudios realizados sobre la aplicacin de mtricas y modelos en ambientes industriales, las mtricas para ser efectivas deben estar: 1) Focalizadas en metas especficas; 2) Aplicarlas a todo el ciclo de vida de productos, procesos y recursos; 3) Interpretarlas sobre la base de las caractersticas y comprensin del contexto organizacional, entorno y metas [Basili et al. 94] Finalmente, es importante tener en cuenta que en lo que respecta a productos de software, su utilizacin y su consumo se estn tornando cada vez ms vitales para la industria y los servicios actuales, y, asociado a esto los muy mentados conceptos de satisfaccin del usuario, calidad total, entre otros. Por lo tanto, es necesario evaluar la calidad de los productos de software, para comprender, controlar, mejorar y predecir. En este contexto, la industria del software en el dominio de la Web, es bastante reciente, y su aceptabilidad e integracin a sistemas legados, es cada vez mayor y necesario. Adems, la Web plantea sus propios desafos a la Ingeniera de Software desde diversos ngulos: del artefacto, del tipo de estrategia de desarrollo, de la distribucin y aceptacin, del reuso etc., y desafos a otras ciencias con sus aspectos legales, de estrategias de comercio electrnico, etc. Consecuentemente, urge saber dnde estamos y hacia dnde vamos. Solamente de este modo podremos planificar para permanecer, cambiar y mejorar. Si bien la evaluacin de sistemas de software tiene ms de tres dcadas, la mayora de las tcnicas y prcticas actuales para desarrollar software y evaluar en la Web son adhoc (como discutimos en el captulo 2). Quiz, el mayor nfasis puesto en la evaluacin y monitoreo del uso de artefactos y recursos en la Web por parte de los usuarios, surge del estudio de registros de entrada (log files) y de seguimiento de enlaces ([Zeff et al 97], Cap. 4); estudios de demografa (para predecir tendencias y comportamientos) [GVU 99]; carga y empleo de recursos en servidores, etc. No obstante, se requiere una visin ms amplia en la concepcin de la calidad de un artefacto Web, conforme a las necesidades y deseos explcitos e implcitos de los usuarios. Para ello aportaremos nuestras ideas e integraremos varias de las expresadas anteriormente, a la metodologa propuesta, como discutiremos en las prximas secciones y a lo largo de esta tesis. 3.1.1 Subjetividad y Objetividad en los Sistemas de Evaluacin Complejos Este es un punto que puede suscitar discusiones, y es importante tomar conciencia de algunos componentes que pueden intervenir en los argumentos de la discusin. Tal es el objetivo de esta seccin. Partamos de la meta que lo que se quiere es evaluar y comparar la calidad global de un-18-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

artefacto Web, como lo es un sitio. Este artefacto (o producto) no slo posee las propiedades de estar centrado en la documentacin como sitio de publicacin y presentacin sino que tambin brinda funcionalidad de aplicacin de software (acceso a bases de datos, motores de bsqueda y recuperacin, procedimientos de clculos por medio de applets, etc.). Por lo tanto, consideramos que el sistema en estudio es complejo desde el punto de vista de la evaluacin, ya que a la calidad se la expresa en funcin de varias caractersticas (en consideracin de un perfil de usuario), y que las mismas se descomponen recursivamente en subcaractersticas y atributos. Entonces, cules son al menos las principales fases o mdulos del proceso de evaluacin de un artefacto Web? Se puede argumentar los siguientes: (1) Definicin y especificacin de requerimientos de calidad; (2) Definicin e implementacin de la evaluacin elemental; (3) Definicin e implementacin de la evaluacin global; (4) Anlisis y conclusiones (las fases y principales actividades sern discutidas en la seccin 4.2 y en los siguientes captulos) Por ejemplo, qu podemos decir de la subjetividad u objetividad en la definicin y especificacin de requerimientos de calidad?; o qu implica objetividad o subjetividad en la definicin e implementacin de la evaluacin elemental?, y de la global? En principio, dos conceptos extremos (aunque no excluyentes en la prctica) entran en juego: objetividad y subjetividad; y que, en el contexto de la evaluacin (y sin entrar en detalles epistemolgicos) estamos queriendo significar al proceso de decisin basado en modelos y mtodos cuantitativos, o al proceso de decisin basado en la intuicin2 . Adems, cuando hablamos de intuicin, no lo decimos en un sentido peyorativo sino que por el contrario queremos significar al mecanismo mental, o conocimiento claro, ntimo o instantneo, surgido de la experticia. Con todo, es importante resaltar que la evaluacin intuitiva es un ejercicio mental del da a da que todo ser humano realiza, ya sea ms o menos experto en el domino del objeto que evala. (Y de hecho, la evaluacin intuitiva representa la base de muchas de las decisiones tomadas por el ser humano). Por otra parte, ms de un investigador ha afirmado que la mtrica de un atributo tiene que estar bien definida, esto es, basada en la observacin emprica, consistente con la intuicin y que represente una apropiada correspondencia entre el dominio emprico y el sistema numrico [Fenton 91, Goldberg et al 95]. Adems, e intentando responder a la pregunta antes formulada, el proceso de evaluacin siempre se basa en un conjunto de requerimientos que el artefacto (en nuestro caso el sitio Web), debe satisfacer. Estos requerimientos generalmente se derivan de un conjunto de metas dadas y/o elicitadas para el objeto de evaluacin. Obviamente, el conjunto de metas slo puede ser elicitado y definido por los tomadores2

Percepcin o conocimiento claro, ntimo o instantneo de una idea o verdad sin el auxilio de la razn, Diccionario Sopena Arg.; Conocimiento inmediato de una cosa, idea o verdad, sin el concurso de razonamientos Enciclopedia Microsoft TM Encarta 98 -19-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

de decisin (esto es, seres humanos). Por lo tanto, ya las metas como los requerimientos correspondientes se especifican ms bien de un modo subjetivo; segn el pensamiento de varios investigadores no hay otro modo ms objetivo o racional para iniciar un proceso de evaluacin, comparacin y seleccin (interpretando al concepto subjetivo en un sentido positivo, como mencionamos anteriormente). De manera que los componentes subjetivos no pueden ser obviados, pero deben ser minimizados y/o usados apropiadamente. Por otra parte, e intentando responder a la pregunta previa: qu implica objetividad o subjetividad en la definicin e implementacin de la evaluacin elemental?, Podemos decir, por ejemplo, que a partir de la especificacin de requerimientos, muchos de los atributos podrn medirse elementalmente de un modo objetivo, para determinar el grado o porcentaje de satisfaccin de cada requerimiento. Este es el caso para saber si un artefacto Web tiene mapa de sitio, o para calcular el porcentaje de pginas que no sobrepasan un tamao de pgina umbral (y que en consecuencia, la performance para cargarla es satisfactoria); o el nivel de enlaces rotos, etc. En el primer caso no slo se puede especificar y consensuar un criterio fcilmente observable (el mapa est o no est presente), sino que en los restantes, se puede objetivamente automatizar la recoleccin de datos y modelar el criterio mediante una frmula matemtica. No obstante, dentro de los requerimientos algunos atributos slo podrn comprobarse de un modo subjetivo 3 , a partir del juicio de evaluadores expertos (y en lo posible ms de dos). Por ejemplo, para el atributo Uniformidad en el Estilo Global del sitio, puede ser conveniente medirlo mediante un criterio de preferencia directa y subjetiva. Realizarlo de otro modo, podra implicar mayores costos dada la relativa baja prioridad de ese atributo o la alta complejidad para descomponerlo. Sin embargo, dicho atributo es un elemento necesario en la composicin para determinar a la calidad global del artefacto. Finalmente, podemos agregar que una metodologa de evaluacin exitosa debe proveer una correcta y equilibrada agregacin de componentes objetivos y subjetivos. La metodologa propuesta que discutiremos en el presente trabajo est basada en mtricas y modelos de calidad, derivados de las caractersticas de alto nivel prescriptas en el estndar ISO/IEC 9126 y personalizadas al dominio de aplicaciones Web, en tanto que las decisiones y procedimientos de evaluacin elemental y global estn centrados en modelos y mtodos de puntaje cuantitativos. 3.1.2 Enfoques Cuantitativos para la Evaluacin de Calidad En este punto es importante resaltar que, frecuentemente, se utilizan dos conceptosLa afirmacin slo podrn comprobarse de un modo subjetivo debe interpretarse no de un modo categrico, sino relativo al contexto, costos, relevancia, precisin y criticidad del atributo. Generalmente, un atributo medido con un criterio de preferencia directa y subjetivo, se lo podra descomponer, en otros objetivos, ms alguno subjetivo. Piense el lector, por ejemplo, en evaluar, comparar y seleccionar una plataforma o sistema operativo, en donde el atributo calidad de la documentacin conforma uno entre otros quinientos dentro del rbol de requerimientos [Dujmovic et al 96] -203

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

relacionados a la categora o tipo de evaluacin, en consideracin de sus estrategias, mtodos y tcnicas. Estamos hablando de la evaluacin cualitativa o de la evaluacin cuantitativa. Como indica Dujmovic [Dujmovic 96], entre otros autores, los mtodos y tcnicas de evaluacin cualitativa, se basan generalmente en una lista de caractersticas a ser analizadas para un producto o productos competitivos. La lista puede contener caractersticas de distinto tipo (relacionadas al ente a evaluar como producto, proceso o recurso), tales como caractersticas tcnicas, de costo, etc. Luego del proceso de evaluacin, en la etapa de anlisis y conclusiones, los tomadores de decisin frecuentemente crean para cada sistema (a comparar) una lista de ventajas y desventajas. Finalmente, mediante un mecanismo intuitivo, comparando las ventajas y desventajas para cada caracterstica de cada sistema, arriban a un ranquin final. Este enfoque es obviamente conveniente y atractivo cuando el objeto de la evaluacin y el proceso de decisin es suficientemente simple. Sin embargo, en un proceso de evaluacin, comparacin y seleccin en donde intervienen, por ejemplo, ms de cuarenta caractersticas y atributos para cada sistema seleccionado, y en donde se identifican distintas relaciones entre los mismos, un enfoque como el anterior carece de las propiedades de precisin y justificacin objetiva necesarias. Esta dificultad puede minimizarse mediante el uso de un enfoque cuantitativo. La meta de una metodologa, mtodo o tcnica cuantitativa es proveer un proceso de evaluacin flexible, bien estructurado, suficientemente preciso, y basado en principios ingenieriles de manera de proveer indicadores cuantitativos elementales, parciales y globales los cuales son usados como base y justificacin de las decisiones ms ptimas. 3.1.2.1 Modelos de Agregacin y Puntaje. Al inicio de este captulo, cuando mediante preguntas y comentarios, presentamos la problemtica general para el proceso de evaluacin, dijimos: Las decisiones y procedimientos fundamentales de la evaluacin, comparacin y ranquin, estn centradas en la intuicin de los evaluadores, o estn cimentadas en modelos de estructuracin de caractersticas y atributos, y adems, en modelos y mtodos cuantitativos de clculo de puntaje? En esta seccin, presentaremos dos enfoques cuantitativos de utilidad en la actividades de estructuracin de atributos y determinacin de puntajes. Particularmente, discutiremos modelos de puntaje aditivos y lineales versus modelos de decisin multiatributos no-lineales. Respecto de la idea que sustenta a los modelos de puntaje aditivos y lineales es bastante simple. Para cada caracterstica o sistema a evaluar y comparar se identifican n atributos necesarios, cuya preferencia o indicador elemental (IE) se debe computar.-21-

_______________________________________________ Problemtica en la Evaluacin de Calidad Web

Supongamos que los valores individuales de IE1 ... IEn estn normalizados de manera que: 0 = ), ( R, >= ), m) (5)

En donde la mtrica es una correspondencia (mapeo) m: S -> R en la que se cumple la expresin (4) Bajo un procedimiento semejante, se define a la estructura de aditividad para una mtrica, segn la expresin: (S, N, m) = (( S, >=, o), ( R, >=, + ), m), en donde o es el operador de concatenacin. Dice Zuse en la pag. 109: we want to have something above poor ranking or comparing of objects. We want to be additive in the sense that the combination of two objects is the sum of their measurement values. Luego define la estructura extensiva la cual describe las condiciones empricas, es decir, el modelo cualitativo que est detrs de las mtricas. En breve, el sistema relacional emprico ( S, >=, o) asume una estructura extensiva (modificada), si se cumplen los axiomas de orden dbil, asociatividad, conmutatividad y monotonicidad dbil, y el axioma Arquimideano. Segn Zuse, las implicaciones para Ingeniera de Software son que el teorema de la estructura extensiva da criterios para la validacin de mtricas y de modelos predicitivos, entre otros beneficios. 10.1.2 Magnitud, Tipos de Escala y Unidades Magnitud (scale) y tipo de escala son dos entidades diferentes que con frecuencia son confundidas. El concepto de magnitud queda definido por la tupla ( , N, m) (ver la S-154-

_________________________________________________________________ Validacin de Mtricas

expresin (5) ). Conforme a esa definicin se observa que una medicin asume la equivalencia lgica u homomorfismo. Claramente se aprecia que necesitamos el sistema relacional emprico S, el sistema relacional numrico N, y la mtrica m con el fin de medir y obtener un valor o magnitud. En cambio, un tipo de escala se define por medio de una transformacin admisible. Una transformacin admisible es una regla de conversin f en la que dadas dos magnitudes m y m, se mantiene que m = f m. Por ejemplo, transformaciones admisibles son, entre otras, m = a m + b, con a > 0 y b R; m = a m; etc. El tipo de escala no cambia al realizar una transformacin admisible. Los tipos de escala ms comunes son el nominal, ordinal, intervalo, proporcin y absoluta (una extensa explicacin con ejemplos se puede encontrar en el libro de [Fenton et al 97] en pp. 45-53, y en el de [Zuse 98] en pp. 130-150, entre otros). Los tipos de escala de una medida, afecta el tipo de transformacin admisible, las operaciones aritmticas y el anlisis estadstico que se puede aplicar sobre los valores. Por ejemplo, para una magnitud expresada en la escala nominal, una media o promedio es inadmisible, al igual que la suma o resta en la escala ordinal. A seguir, discutiremos estos aspectos de relevancia, que nos sern tiles para comprender un marco conceptual aplicable para validar mtricas, en la seccin 10.2. La tabla 10.1 muestra los tipos de escala ms empleados en Ingeniera de Software, las transformaciones admisibles, funciones y anlisis estadsticos que se pueden aplicar. El tipo de escala debe leerse de un modo jerrquico, es decir, el nivel ms bajo es el nominal y el ms alto es el absoluto. As, las transformaciones admisibles para la escala de tipo intervalo, son las propias ms las permitidas para la ordinal y nominal. Tabla 10.1 Tipos de Escala e informacin adicional Transformacin Estadsticas Ejemplos Admisible Significativas Moda, Frecuencia Test no paramtricos Funciones monotnicas Mediana, Spearman y incrementales, (ver la Kendall Tau, W expresin (4) ) Test no paramtricos (Todo lo previo) Media Aritmtica, m1 = a m + b Desvo estndar Coef. de correlacin de Pearson Test no paramtricos (Todo lo previo) Porcentajes, Media m1 = a m Geomtrica Test paramtricos y no paramtricos (Todo lo previo) (Todo lo previo) m1 = m (Identidad) Equivalencia uno-a-uno Clasificacin, etiquetado (ver (1) ) Grado de disponibilidad, funcionalidad, complejidad, etc. Temperatura (Celsius, Fahrenheit) Tiempos relativos, etc.

Tipo de Escala Nominal Ordinal

Intervalo

Proporcin

Preferencia de calidad, tamao (LOC), longitud, etc.

Absoluta

Conteo

-155-

_________________________________________________________________ Validacin de Mtricas

Es importante resaltar, que detrs de los tipos de escalas, se esconden condiciones empricas y numricas. Se puede ver a las condiciones empricas como a una modelizacin de los hechos empricos. Zuse les llama axiomas de condiciones empricas. Los axiomas son asunciones de la realidad. Por ejemplo, el tipo de escala nominal, implica una condicin emprica muy simple: la relacin de equivalencia. Supongamos que el sistema relacional emprico es (S, ). Entonces existe una funcin m: S -> R, y dado un atributo observable de modo que x1, x2 pertenecen a S1, S2, x1 x2 m(x1) = m(x2), y (S, N, m) = (( S, ), ( R, = ), m), es una magnitud nominal. Es oportuno decir que Zuse slo considera un mapeo en R, pero esto no es necesario, pues una representacin simblica nica (por ej., etiquetas) para cada clase, es suficiente. Esa representacin (numrica o simblica) no representa un orden entre clases sino una identificacin de las mismas. Por otra parte, segn este mismo autor, a un valor nominal y ordinal no se le puede asignar una unidad, debido a que para el primero un nmero no tiene significancia, y para el segundo, slo expresa un orden o ranquin. Para Zuse, la unidad tiene significancia para tipos de escala superiores, a saber: intervalo, proporcin y absoluta. Esta posicin no es coincidente, por ejemplo, con la de [Kitchenham et al 96], quienes consideran que se debe extender el uso de unidades para valores de tipos de escala nominal y ordinal: We have extended the use of units in our structure model to allow for the definition of scale points for ordinal scale measures and the categories used for nominal scale measures ... Thus, in the context of nominal and ordinal scale measures where our measures are mappings to arbitrary labels (slo para nominales), we suggest a unit is needed to ensure that such measures are used consistently, pp. 930. Con respecto al tipo de escala ordinal, el sistema relacional emprico del nominal es extendido para reflejar las propiedades de ranquin segn se expresa en (4). As, una magnitud ordinal es: (( S, >= ), ( R, >= ), m) Zuse define a esta relacin como de orden dbil (weak order), la cual cumple las propiedades de transitividad y completitud (completeness or connectedness), a saber: x1 >= x2, y x2 >= x3 => x1 >= x3, (6) Transitividad En donde la relacin emprica >= describe la propiedad de ranquin. x1 >= x2, o x2 >= x1-156-

(7) Completitud

_________________________________________________________________ Validacin de Mtricas

Retomando la mtrica expresada en (2) del atributo 2.1.1.1 (presentada en la introduccin) observamos que satisface la condicin de representacin de los sistemas relacionales emprico y numrico. La mtrica produce un valor ordinal, por lo tanto cumple las propiedades (6) y (7). As, para transitividad, combinando ambos sistemas relacionales, para la relacin emprica > (ms funcional que) se cumple que: x1 > x2, y x2 > x3 => x1 > x3 m(x1) > m(x2), y m(x2) > m(x3) => m(x1) > m(x3); donde m(x1) = 2, m(x2) = 1, y m(x3) = 0; y x1 es mec3; x2 es mec2; y x3, mec1 El tipo de escala limita el tipo de operaciones aritmticas y estadsticas permitidas, segn se mostr en la tabla 10.1. Finalmente, el tipo de escala proporcin es bien conocido en fsica y ciencias tradicionales (por ej., medidas de distancia, monetarias, etc.). La idea de una magnitud proporcin est unida a la propiedad de adicin (sin embargo, magnitudes proporcin no aditivas son tambin posibles). Una magnitud proporcin aditiva queda representada por: (( S, >=, o), ( R, >=, + ), m), en donde o es el operador de concatenacin Por lo tanto, ( S, >=, o) es una estructura extensiva cerrada, si existe una funcin m sobre S tal que para todo x1, x2 perteneciente a S, x1 >= x2 m(x1) >= m(x2), y m(x1 o x2) = m(x1) + m(x2) Adems, existe una funcin m que es la transformacin admisible de la magnitud proporcin, a saber: m(x)= a m(x). Por ejemplo, la mtrica LOC, satisface la regla de combinacin aditiva, y es una magnitud proporcin. KLOC es una transformacin admisible de LOC (donde a=1000, o 1024, en algunos casos) 3 . [Fenton et al 97], en pag. 51, identifica las siguientes caractersticas para el tipo de escala proporcin: 1) es una correspondencia que preserva el orden, el tamao de intervalos y proporcin entre entidades; 2) Hay un elemento cero, representando la falta total del atributo; 3) El mapeo de medicin debe comenzar en cero e incrementar a intervalos iguales, conocidas como unidades; 4) Toda aritmtica puede ser significativa si se aplica a las clases en el rango de la correspondencia. El modelo de preferencias elementales y de agregacin empleado en este trabajo cumple con estas caractersticas mencionadas.

3

Remitimos al lector a [Zuse 98], Cap. 5, en donde se discuten los axiomas del teorema de la estructura extensiva (y la modificada), condiciones de independencia, y las reglas de combinacin. -157-

_________________________________________________________________ Validacin de Mtricas

En la prxima seccin discutiremos un marco conceptual aplicable para validar mtricas, complementndolo con las propiedades parcialmente introducidas en este trabajo 4 , conforme a investigaciones recientes [Briand et al 96, 97, Fenton et al 97, Kitchenham et al 96, Zuse 98]. Este marco conceptual y su estrategia asociada nos permitir validar al menos tericamente, la mayora de las mtricas empleadas, poniendo en tela de juicio, como ya lo advertimos en la seccin 6.3.1.4, a aquellas valores obtenidos mediante una valoracin directa y subjetiva. Por tal razn, cuando se utilizaba un criterio de preferencia directa para evaluar un atributo, el valor final deba surgir del consenso de dos o ms evaluadores expertos, con el fin de minimizar errores de valoracin intencionales y/o involuntarios. De todos modos no se podra validar tericamente aunque s empricamente.

10.2 Un Marco Conceptual para Validar Mtricas10.2.1 Estructura y Modelo Conceptual para Mtricas En esta seccin presentamos un modelo conceptual para mtricas til para representar a las principales clases y relaciones intervinientes. Adems, describimos a cada clase y vemos distintas contribuciones de las mismas al proceso de medicin y validacin. La figura 10.1 muestra el esquema para mtricas directas. Una mtrica directa es la resultante de una correspondencia o mapeo directo entre un atributo de un ente (del dominio emprico) y el valor o magnitud (del dominio formal, numrico), y que sirve como referencia para describir y explicar aspectos o situaciones del mundo emprico. Los atributos se miden generalmente por medio de mtricas directas (aunque no siempre) y las caractersticas y subcaractersticas se miden por medio de mtricas indirectas (tambin denominadas mtricas derivadas en [Roberts 79, Zuse 98]). En la figura se observan dos mundos o dominios modelados: el emprico y el formal. En el primer mundo (que tiene un impacto emprico, perceptible sobre los usuarios) se modela y formula el sistema relacional emprico; en el segundo mundo, se modela y formula el sistema relacional formal (numrico y, en algunos casos simblico) y los mecanismos para ayudar en la determinacin de valores. Vale decir que, al igual que Kitchenham et al 96, no asumimos que esta estructura conceptual sea suficiente. Adems, la estructura formal axiomtica presentada en [Roberts 79, Zuse 98], entre otros, no es siempre aceptada en la comunidad de mtricas [Kitchenham et al 97]. Las principales clases y relaciones intervinientes se describen a continuacin.

4

La investigacin sobre validacin de mtricas para evaluacin y de modelos predictivos sera motivo de otro trabajo de tesis per se -158-

_________________________________________________________________ Validacin de Mtricas

Mundo Emprico (Real) Entidad1 n Pertenece_a m Posee 1 Mide 1..m Se_aplica_a

Mundo Formal (Matemtico)

1

Atributon

Valor (Magnitud)1..m

1

Determina 0-1

Se_expresa_en mCuantifica

Instrumento de Medicin0..n Usa

1

Unidad1 1 Pertenece_a

1

Tipo de Escala

Figura 10.1 Modelo conceptual para mtricas directas 10.2.1.1 Entes, Atributos y sus Relaciones. Desde el punto de vista de la evaluacin, en el dominio emprico tenemos a la clase Ente y a la clase Atributo. Como vimos en la seccin 5.1 los entes pueden descomponerse bsicamente en tres clases principales de inters para los evaluadores, a saber: Proceso: es el ente compuesto posiblemente de otros subprocesos y actividades, usado para producir artefactos (ver diagrama B.1 en el Apndice B); Artefacto: es el ente temporario o persistente que representa al producto de realizar un proceso, Recurso: es un ente requerido como entrada por un proceso para producir alguna salida especificada (recursos de un proyecto son: humanos, monetarios, materiales, tecnolgicos, temporales ver diagrama B.2) La clase Atributo, representa a lo que se observa y atribuye respecto de lo que es propio de un ente del mundo real, y que es un elemento de inters a ser evaluado. En mtricas de software, se suele definir a un atributo como a la caracterstica elemental -que no soporta descomposicin- de un ente, la cual se la puede medir generalmente mediante la aplicacin de una mtrica directa (o en algunos casos indirecta). Para un atributo dado, siempre hay al menos una relacin emprica de inters que podemos capturar y representar en el mundo numrico, habilitndonos a explorar la relacin matemticamente (como discutimos en la seccin 10.1).-159-

_________________________________________________________________ Validacin de Mtricas

En cuanto a la relacin mostrada en la figura entre las clases Ente y Atributo, observamos una cardinalidad de muchos a muchos. Es decir, un ente puede poseer varios atributos, en tanto que un atributo puede pertenecer a varios entes. Por ejemplo, si hablamos de un atributo compuesto (caracterstica) como calidad, puede pertenecer a un proceso, a un producto o a un recurso. En tanto que un ente, por ejemplo, artefacto o sitio Web, puede tener muchos atributos segn vimos en los casos de estudio. 10.2.1.2 Unidades, Tipos de Escalas y sus Relaciones. Una Unidad de medida determina cmo se debe medir (cuantificar) al atributo del ente. Por ejemplo, para medir el tiempo de respuesta de una base de datos, podra usarse diferentes unidades [segundos | milisegundos]. La figura 10.1 muestra una cardinalidad m a n entre la clase Atributo y la clase Unidad. Pero adems de la unidad de medida se debe considerar los diferentes Tipos de Escala. Los tipos ms comunes son el nominal, ordinal, intervalo, proporcin y absoluta como describimos en la seccin 10.1.2. 10.2.1.3 Valor. Cuando medimos un atributo especfico de un ente particular, aplicamos una unidad perteneciente a un tipo de escala, para obtener magnitudes de tipo Valor. Por lo tanto, el valor medido no puede ser interpretado a menos que sepamos a qu entidad se aplica, a qu atributo se mide y en qu unidad se expresa (es decir, se debe especificar claramente al sistema relacional emprico y numrico). Este valor generalmente es numrico, pero podra ser simblico como por ejemplo una etiqueta (en un tipo de escala nominal). La importancia de mapear a nmeros es bien conocida, sin embargo, no todos los tipos de escala permiten aplicar las mismas operaciones aritmticas y funciones estadsticas. Segn vimos, existen propiedades para las escalas y transformaciones admisibles para los tipos de escala. Por ejemplo, no se pueden sumar nmeros en una escala ordinal ni obtener la media aritmtica, pero s se pueden aplicar funciones estadsticas ms avanzadas en una escala de tipo intervalo, proporcin o absoluta (ver tabla 10.1). En rigor se espera que las medidas vlidas sean definidas sobre un conjunto o rango de valores permitidos y que se pueda aplicar operaciones matemticas y estadsticas permitidas para el tipo de escala. Este conjunto numrico puede ser finito o infinito, continuo o discreto (ver seccin 6.3). 10.2.1.4 Instrumento de Medicin. Para determinar el valor se puede hacerlo de un modo manual, o asistido total o parcialmente por un Instrumento de Medicin o herramienta de recoleccin de datos y/o cmputo. 10.2.1.5 Mtricas Indirectas. El modelo presentado en la figura 10.1 es apropiado para mtricas directas, y la figura 10.2 representa un esquema para mtricas indirectas. Es el caso cuando el valor de una medida se obtiene por medio de modelos matemticos que involucran variables que se deben medir previamente.-160-

_________________________________________________________________ Validacin de Mtricas

Mundo Emprico (Real) Entidad1 n Pertenece_a m Posee 1 Mide 1..m Se_aplica_a

Mundo Formal (Matemtico)

1 1 Se_expresa_en 1 n Construida_desde 1 1 1

Valor (Magnitud)n n

Atributon

Unidad

Calculado_desde

Unidad CompuestaUsa

1

Asociacin de Atributos

1

m Formaliza

1

Ecuacin 1Cuantifica

1

Tipo d