Validaci6n de Mktricas para Esquemas Conceptnales como Indicadores de Calidad en Modelos Orientados al Objeto Jos6 Romero, Oscar Pastor, JJ. Fons Universidad Polit6cnica de Valencia, Camino de Vera s/n, Valencia, Espa!ia Correo electr6nico: {jromero | opastor fjjfons}@dsic.upv"es Resumen De esta forma Se ha logrado un metodo de desarrollo muy potente qua genera c6digo Trad:.cionalmente, el desarrollo de producros (aplfcaciones completas y no meras plantiJJas)de soare de colt.dad ha estado basado en el estudio Una manera autorr]dtica a partir de modelos Tel c6digo impLementado. Puesta de manifiesto la conceptuales. Adamds, estos modelos conceptuales importancia de las etapas tempranas de andLisis tienen su reflejo en un lenguaje de especificaci6n para el aseguramz-ento de la caLz`dad,las me"tricas formal usado como reposicorio de dacos de alto deben aumentar su nine[ de abstraccz-6n para nivel transparente al usuario. Sin embargo, el referirse a esquemas (modeLos)conceptuaLes~Estas usuario percibe el estar trabajandocon notaciones nuevas medidas deben ser vaLz-dadaste6rz.ca y ampJiamenteusadas en la industria. empzrz.camente. Este planteamiento encaja En los I:fltimos afios, fa preocupaci6n por el perfectamente con nuestro enfoque metodoL6gico aseguramiento de la calidad nos ha hecho para La generaci6n autom6tica de apLicaciones a reflexionar sobre c6mo dotar de calidad al m6todo partir de modeLos conceptuales orientados aL en sf y a los productos software Que 61 genera objeto,. combinando aspectos formales con autorndticamente.Sobre el primer punto hemos notaciones esta~ndaren Laindustria, realizado propuestas de definici6n de un marco de La originaLidad del trabajo es estabLecer y tratamientode la calidad para 00-Method[6]. En el volt-Tarrelaciones entre las medidas conceptuaLes presence trabajo, se aborda el punto y Los atributos de caLzdad Tel sojlware mediante complementariode c6mo asegurarla calidad de los hip6tesis de aseguramiento de caLidad. Determinar productosgenerados. La call.dad de Las apL!caciones soare generadas En la mayorfa de ocasiones, Se mide la calidad automdticamente es analor las medidas de un producto basdndose en m6tricas sobre el reLevantes, capturadas :amble automan-camente, c6digo que constituye su implementaci6n. Ya que ,de un modeLo conceptual orientado aLobjeto. Para la generaci6n de c6digo en 00-Method es 6110, se puede utiL`zzarLa herramienta CASE que autorndtica,y dada la gran importancia Quetienen soporta nuestro me Odo. las primeras culpas de modelado de sistemas en el aseguramientode la calidad del producto final, se PalabrasClave propone subir el nivel de abstracci6n para definir Calidad del software, m6tricas orientadas al metricas sobre modelos conceptuales orientados al objeto, modelado conceptual, metodos orientadosal objeto. objeto, generaci6n automaticade software. Existen ya propuestas[7] sobre la notaci6n UML que Se van acercando a un objetivo similar. Se 1.Introducci6n pretendeadapterestas propuestas,enriquecerJascon las caracter!sticas especffleas Que contiene O0- Obtener productos software de calidad ha sido Method y su lenguaje de especificaci6n formal el objetivo final perseguido por el m6todo Ilamado OASIS|21, y por Oltimo, validarlas te6rica y 0O-Method[1} desarrollado en nuestro grupo de empiricamente. investigaci6n. Basados en la combinaci6n de Partiremos de la experiencia obtenida del m6todos formales[2] y notaciones esnindar[3] Se trabajo con casos reales resueltos con 00-Method planted la creaci6n canto del m6todo como de una para el establecirniento de hip6tesis (de calidad) herramienta CASE[4] qua le diese soporte. 00- Que permitirdunalidar empiricamente las medidas Method se fundamenta en el paradigma objetual y propuestas. En un siguiente paso, vaZidaremosde en el paradigma de la programaci6n autorIuitica[5]. QuaTIC`2001 / 65 forma te6rica dichas medidas basdonos en es la visi6n estructural que aporta el modelo de marcos formales ya establecidos[8]. objetos;por ser el campo de investigaci6n en donde Obtenemos asi Quepara evaluar la calidad de un se ha trabajado m. Sin embargo, indicaremos sistema de informaci6n, Se deben recoger una serie tambien medidas de otros apart&dosde un modelo de medidas sobre su correspondiente modelo conceptual 00-Method. Adem, una vez que se conceptu&I. Como la generaci6n de c6digo es defina el proceso de desarrollo de software con automatica y el m6todo tiene un diccionario de 00-Method, se podrtinincorporarde form&similar datos de alto nivel, Se puede comprobarfdcilmente medidas sobre el proceso de desarrollo. la calidad de un sistexna software. Cabe destacar Tomando como punlo de partida las mgtricas que una medida es un posible indicador de un existentes tanto para lenguajes como para modelos problem& cuando 6sta super& ciertos umbrales. orient&dosaIobjeto, Se presentan a continuaci6n un Estos se irarl afinando con la realizaci6n de un extracto de medidas particularizadas para OO- mayorndmero de casos reales. De iguxalmanera,Se Method con el unico objetivo de dar una idea al propondra en un trabajo futuro la generalizaci6n a lector de la diferenciaci6n con respecto a las otros m6todos -bajo ciertas condiciones- de los metricas existentes en la literatura. Para mayor result&dosobtenidos. detune de los conceptos propios de 00-Method, En cuanto a la estructuraci6n del presente recomendarnosal lector interesado la consult&de trabajo, se establecen las hip6tesis Ilamadas de las referencias bibliograficas aI final de este calidad para determinar el conjunto de m6tricas articulo. conceptuales. Despu se plantea c6mo deben ser validadas empiricamentebasdndose en el disefio de . Me- "huesde Esquema Conceptual: experimentos y su anisis estadfstico~ Luego, Se Ndmero de Interacciones Globales, ndmero de plantea c6mo deben ser validadas te6ricamente. Agrupamientos (Cltisters), ndmero de Vistas Para concluir, Se presentan las conclusiones y los definidas, ndmero de Eventos Compart"zdos,Ratio posibles trabajos futuros. de uso de herencia, ndmero de Diagramas de Transici6n de Estados bdsicos, n-urnerototal de 2. Medidas e bip6tesis de caBdad Disparos, n6mero de errores de validaci6n, nxirnero de avisos de validaci6n Como Se ha avanzado anteriormente,metricas * Modelo de Objetos.. para el aseguramiento de la calidad existen para N-umero de atriburos (constantes, variables, lenguajes de programaci6n orient&dos al objeto. derivados), n-urnerode servicios Que componen las Actualmente existen tambi6n propuestas a mas &Ito transacciones, nu-mew de closes servidoras (Que nivel para esquemas conceptuales. Por 6110,vamos ofertan servicios aI resto de clases) Que puede a escoger Unapropuesta vida desde el punto de activarla clase estudiada como actora (cLaseactz"va vista formal como base para adaptarlay aplicarlaa cuyas instancias podran lanzar servicios), ntimero las particularidadesde 00-Method. La definici6n de inteaces distintas de su interfaz por defecto, de las metricas Que se present& en este trabajo n -umero de restrz"cciones esta-rices, n-umero de cuenta con la base de las observaciones realizadas restr!cciones din"amicas en los proyectos Ilevados a cabo por una empresa . Modelo Dinmico de software Que utiliza 00-Method para la Ndmero de estados, nu"merode transz.cz"ones, resoluci6n de casos reales. De esta experiencia Se nu-merormiximo de trans!ciones para un estado, ha seleccionado el conjunto de medidas cuya n-umero ~maxx"mo de disparos por clase, n6mero de validaci6n empirica planteamos y que sern disparos a otroobjeto refinadasconforme se desarrollen mas proyectos en * Modelo Funcional la empresa. A partir de estas medidas, Ntimero de evaluaciones (Card!nales, De seleccionamos aquellas Que creemos relevantes Estado, De Situac!6n), nu-mero de evaluaciones para los atributos de calidad de un producto propias, ndmero de evaLuaciones heredadas, software[9]. Se presentan en form& de hip6tesis nOmerode evaLuacz.onesredefinidas (llamadas de calidad) la relaci6n entre la medida y el atributode calidad. El paso siguiente es Unavez aceptada la validez empfrica, Se Valida la medida formalmente desde un ?unto de vista te6rico, utilizandoun marco matemdticobien definido. Es interesantedestacarQue aquf Se hace especial hincapi( en las medidas de un determinado apart&dodel modelo conceptu&I00-Method como 66 / QuaTIC'2001 Para establecer la relaci6n entre m6tricas conceptuales y atributoso principios de calidad [9, Con respecto a los atributos de calidad de 101 partiremosde las siguientes hip6tesis: IS09126 o Hip6tesis 7 (funcionalidad): El Con respecto a las gm-asde modelado n6mero de inconsistencies en el o Hip6tesis 1 (adecuaci6n de aruijlisisrealizado con los casos de construcciones): Cuando un ratio uso establecidos y los escenarios de uso de un elemento es definidos determinan la aproximadamente cero, puede funcionaJidad deJ sistema. A existir un problerna de mayor nOmero de inconsistencias inadecuaci6n de construcciones de este estilo menor de 00-Method- Es decir, el que funcionalidad en el sistema. un elemento no Se use o Hip6tesis 8 (fiabilidad): El extensivamente puede ser ndmero de operadores indicador de que el elemento no relacionales en una f6rmula y el tiene su semdntica bien definida tamaho rnaximo del tamafio de en el m6todo. Una transacci6n son elementos o Hip6tesis 2 (adecuaci6n del que inciden directamente sobre la lenguaje): A rnayor ratio de fiabilidad de un modelo analizado errores de validaci6n / ndmero de con O0-Method. clases, puede ser un indicativo de o Hip6tesis 9 (ergonomia): El falta de flexibilidad del m6todo a ndmero de cZases visibles la hora de modelar~Esto Deva a relacionadas puede ser un Que a mayor flexibilidad en el indicador de la ergonomia a la modelado, verier adecuaci6n de2 hora de manipular el modeJo- A lenguaje de modelado, es decir, mayor visibilidad mayor Se incrementan el nlnr]ero de flexibilidad para definir nuevas inconsistencias en los modeJos. f6rmulas en Una clase. o Hip6tesis 3 (dise6o sistemtico): o Hip6tesis 10 (eficiencia): El Un valor absoluto del numero de ndmero de clases introducidas o errores de validaci6n mayor que borradas en Una iteraci6n puede cero denote una falta en el disefio ayudar a determinar Si un modelo sistemdtico del sistema. evoluciona eficientemente hacia o Hip6tesis 4 (comparabilidad):El los requisitos propuestos. A principio de comparabilidad menor variaci6n de clases pot puede deducirse del atributo de iteraci6n Se estd m Ceres de una calidad Ilamado portabilidad en soluci6n a medida del cliente. las IS09I26 que Se expZicamas Una variaci6n Brande, puede adelante. indicar que ha habido un esor a o Hip6tesis 5 (claridad): Un ratio la hora de tomar requisitos. elevado de reZaciones por clases o Hip6tesis 11 (mantenimiento): La afecta negativamente a la claridad facilidad de rnantenimiento de de un modelo. Pueden utilizarse Una aplicaci6n vendra en funci6n una suma de elementos/ nnmero de las medidas de complejidad. A de clases o bien un valor absoluto mayor complejidad (por ejemplo del ndmero de clases para ndmero de clases visibles) mayor determinerla complejidad de un esfuerzo de mantenimiento habra modelo. Un modelo mas que hacer en el modelo cuando se complejo Serdmenos claro. requiera hacer un cambio. o Hip6tesis 6 (eficiencia o Hip6tesis 12 (portabilidad): La on6mica): El rincipio de portabilidad de un modelo vendrd enclencla economlca es determinada por el nl:imero de comparable a la definici6n del elementos no representados con atributo de caZidad //amado la notaci6n estandar UMI. simplemente `.eficiencia" en las normasIS09126 QuaTIC'2001 / 67 Una vez detalladas las hip6tesis de calidad es concordancia con los escenarios necesario validarlasempiricamente,y por supuesto, establecidos. formalmente. Estos dos aspectos son los que tratamos en los siguientes apartados. S61o en el Despu6s de este planteamiento se realiza el caso de que se acepten las medidas como valldas pertinente snailsis, utiLizando la estadisties tanto empirica como te6ricamente, se aceptard la descriptivaparainterpretarlos resultados. medida come indicador de calidad. Resaltar Se roman valores de mimo, minimo, media, tambin que el conjunto de m6tricas no s6lo mediana, y desviaci6n esuirldarpara cada medida contiene medidas de la complejidad del modelo, incluida en las hip6tesis. A continuaci6n, se realiza sino que tambi6n se aglutinan medidas de un analisis de correlaci6n entre las mismas para concordancia sinbictica y semdntica con el propio comprobar que las hip6tesis (Sus medidas) son metodo y con los requisitos analizados con el independientes.Finalmente, se establece la relaci6n m6todo. entre probabilidad de falta de concordancia del modelo con Los requisitos en base a un analisis de 3. Modelo de validaci6n empfrica regresi6n univariante. AI asl proceder, se validan las m6tricas(y las hip6tesis) para el aseguramiento En este punto se propone el modelo basado en de la calidad del esquema conceptual modelado. el dise5o de experimentos Que permite validar For ejemplo, aI validar la hip6tesis de fiabilidad empilicamente las hip6tesis propuestas. que nos decia Que a mayor nOmero de operadores Deterrninando las metricas involucradas en las relacionales en las f6rmulas de una clase desciende hip6tesis establecemos las medidas significativas la fiabilidad del sisterna generado, haremos lo para medir la calidad de un esquerna conceptual. siguiente: el usuarioevaluardde O a 10 la fiabilidad Cabe recordar quo mientras otros trabajos Se del sistema contrastando Los requisitos (casos de centran en la probabilidad de encontrar clases uso) establecidos y el ndmero de faltas de propensas a toner errores[lll, nosotros asumimos concordancia encontrados. Teniendo las dos que la generaci6n de c6digo estd libre de errores variables (fiabilidad y namero de operadores) en por estar basada en patrones bien definidos y forma continua,se establece la recta de regresi6n y estudiados. Los errorespueden venir aI construirel se realiza un andlisis viendo el coeficiente de modelo conceptual, pero para este inconveniente correlaci6n, o bien, por medio de un anlisis de existe un proceso de validaci6n stunictica y residuos, Ademas, se puede concreter si la relaci6n semantica implementado en la herramienta OO- entre las variables es lineal o no, realizando y Method/CASEque da soporte alm6todo. observandoel diagramade dispersi6nobtenido. Describiendo propiamente el modelo de Tambi6n es posible establecer un modelo validaci6n empirica, Se debe tenor en cuenta los multivariante en el que comprobar el efecto siguientes pasos para validar las hip6tesis simultaneo de varias m6tricas sobre la falta de planteadas: ca2idad. Este arld!Isis multivariante utilizerd dnicamente las variables halladas significativas en i) Establecer un caso practico real a resolver el aisis univariante. por distintos modeladores. 11) Seleccionar los participantesinvolucrados 4. VaRdaci6n te6rica de las m6tricas en el experimento. Se determinarael nivel de experiencia de los participantes Para validar formalmente las m6tricas mediante cuestionarios o entrevistascon el seleccionadas se propone utilizer el marco definido fin de asignar aleatoriamente a distintos por Briand et al.[8]. Este marco define de forma grupos los modeladores con mayor precisa qu6 prOpiedadesmaternaticas caracterizan experiencia los conceptos usados en la medici6n del software. 111) Determiner los productos entregables Ademas este marco es aplicable a cualquier despu6s del proceso de modelado. Es decir artefacto software, y se basa en Los conceptos de el tipo de documentaci6n a entregar: tamafio longitud, complejidad, cohesi6n y modelo analizado y m6tricas obtenidas. acoplamiento.En el caso particularde 00-Method, iv) Realizer las pruebas oportunas para se tratael Modelo Conceptualcomo abstracci6ndel comprobarque los entregablesSe ajustan o software que seri Senerado autor'uiticamenteen un no a los requisitos planteados. De este proceso que es transparenteal usuario. Es decir,. modo, en vez de centrarnosen errores de que las medidas del software son estudiadas en su c6digo, nos centramos en la falta de representaci6n conceptual. Esto es posible por la homogeneidad que aporta el paradigrna de la 68 / QuaTIC'2OOI orientaci6n al objeto y por la base de patrones 5. Conclusiones conceptuales OO-Method bien definidos que trasladan las componentes conceptualcs en las En el Camino seguido para utilizar m6tricas componentes software de la soluci6n a entregar al conceptuales que scan validadas formal y chance. empfricamentepara el aseguramientode la calidad Repasando los fundamentos te6ricos del rnarco, del software, se ha establecido un subconjunto de aparece el concepto de Sistema que en nuestro caso medidas para el m6todo OO-Method partiendo de es equiparable al de Esquema Conceptual. Un las medidas existentes en el estado del arte. En un Sistema(Esquema Conceptual) S se define como un segundo paso. se establece una serie de hip6tesis de par donde E representa el conjunto de calidad que sirven de base para relacionar las elementos de S, y R es Una relaci6n binaria sobre E medidas conceptuales con los atributos de calidad (RxE) representando las relaciones entre los qua se les supone a los productos software. elementos del sistema(Esquema Conceptual). Finalmente, Se plantea de rnanera esquemhtica el Un m6dulo (equiparable en OO-Method al modelo para validar cada una de las hip6tesis de concepto de clase) se define dado un sistema calidad. Esta validaci6n se realizard de forma S= como m= si y s6lo si Em, empfrica, y las medidas implicadas se validaran Rmm x Em y Rm. tambin te6ricamente dentro del marco formal que Las relaciones intramodulares(intraclase) se se ha comentado. Por razones de espacio se detalla definen como InputR(m)={e RI e2eEm el proceso, y no cada una de las correspondientes and eleE-Em }. validaciones de hip6tesis y medidas de la calidad. Las relaciones intermodulares(interclase) se La utilidad del estudio realizado reside en la definen como OutputR(m)= { e RI e I eEm facilidad para determinarla calidad de un producto and e2 eE-Em }. software generado automticamente consultando el La caracterizaci6n de las medidas se hace en conjunto de medidas validadas (obtenidas tambien base a propiedades bien definidas, por ejemplo, de forma autornatica utilizando Una herramienta para Una medida de tarn&ho, se comprobaran las CASE que soporte modelos conceptuales OO- propiedades de no negatividad, la existencia de Method). valor auto, y la adici6n. Como trabajo futuro destacamos la Asi` pues, para validar la medida OO-Method generalizaci6n de las medidas conceptuales para del n6mero de rel&clones de agentes de Una clase otros m6todos de generaci6n autormiticade c6digo tendremos que ver que: basados en modelos conceptuales orientados al objeto. Ader0as. estas medidas deben ser sometidas i) El ndmero de servicios que es a un mayor n1:imerode casos reales, lo que posible activar de Unaclase servidora por permitiraen un futuropoder refinar los umbralesde parte de una actora serd siempre mayor o dichas medidas. igual a cero; es decir, no tiene sentido la negatividad. 6. Referencias ii) Si no bay relaciones de agente entonces el Ndrnero de Relaciones de [1] Pastor, O.; Romero, J.; Pelechano, Agente (NRA) sera cero. V.;Insfi!"ar1, E.;Merseguer,J,0O-MHOD An iii) Si dos clases servidoras { AB } Se OO Sofnvare Production Environment Combin!ng Conventional and Fonnal Methods. fusionan conceptualmente en el modelado CAISE-97. en una sola {C } entonces (A)+ [2] Pastor, O.;Hayes,F.;Bear,S. OASIS-An NRA(B) = NRA(C). 00 Speccation Language. Proc. of CAiSE 92 Conference, Lncs (593), Springer-Verlag De forma similar Se validarian forrnalmente el 1992. pass; 348-363. resto de las m6tricas de tamaho para OO-Method. [3] Booch,G.;RumbaughJ.,J.acobson,1, Para el resto de medidas de longitud, cohesi6n y Uned Mode/ing Language (UML sutrtnu;zry). acoplamiento se sigue el esquernapresentado en el Version 1.0 January /997. Rational Software m6todo de Briand que aquf no detallamos por no Corporation. ser el objetivo principalde este trabajo. [41 Romero, J.; Merseguer.J.; Barbe J.; Pastor 0. Una herratninLento de generaci6n automdtica de SW. Jomadas de ingenierja del SW IDEAS98. Universidade Federal do Rio Grandedo Sui, Porte Aiegre, Brasil QuaTIC,2001 / 69 [5] Balzer, R. et al. Sotlware Technology in the 1990s.. Using a New Paradigm~ IEEE Computer,Nov. 1983. (61 Romero J.; Pastor O- Propuesta metodol6gica para el tratamiento de la cal`zdad en La producci6n de soliware a partir de modelos conceptuales. Jomadas de ingenieria del SW IDEAS'00. Centro Nacional de Investigaci6n y Desarrollo Tecnol6gico (CENIDET). Mxico. (7} Genero, M.; Piam;:ini,M; Calero. C. Metricas para jerarquzas de agregaci6n en diagramas de cLases UML Jomadas de ingenieria del SW IDEAS00. CentroNacional de Investigaci6n y Desarrollo Tecnol6gico (CENIDET). Mexico. (8] Brian, Lionel C; Morasca Sandro; Basili, Victor R. Propebased soare engineering measurement. IEEE Transactions on Software Engineering, Vol 22, No 1, January1996. [9] International Organization for Standarization(online]. December 1998. Prom World Wide Web: htrp:Ilwww.iso"ch [10] SchuetteReinhard;Rotthowe,Thomas; The Guidelines of Modeling - An Approach to Enhance the QuaLLtyin Information Models. Proceedings of the InternationalConference on the Entity Relationship Approach (ER). Singapore 1998 (ill Basili, Victor R.; Brian, Lionel C; Melo, Wale6lio L A vaLidation of ObJ"ect- Oriented Design Metrics as Quail Indicators. IEEE Transactions on Software Engineering, Vol 22, No 10, October 1996. 70 / QuaTIC 2001