Está en la página 1de 6

Metricas para Sistemas

Ingenieria en Software
4/6/2014 Tejeda Rodriguez Luis Enrique

Mtricas Orientadas a Objetos


El Software Orientado a Objetos es fundamentalmente distinto del software que se desarrolla utilizando mtodos convencionales. Las mtricas para sistemas Orientado a Objetos deben de ajustarse a las caractersticas que distinguen el software Orientado a Objetos del software convencional. Estas mtricas hacen hincapi en el encapsulamiento, la herencia, complejidad de clases y polimorfismo. Por lo tanto las mtricas Orientado a Objetos se centran en mtricas que se pueden aplicar a las caractersticas de encapsulamiento, ocultamiento de informacin, herencia y tcnicas de abstraccin de objetos que hagan nica a esa clase. Como en todas las mtricas los objetivos principales de las mtricas Orientado a Objetos se derivan del software convencional: comprender mejor la calidad del producto, estimar la efectividad del proceso y mejorar la calidad del trabajo realizado a nivel del proyecto.

Objetivo
Los objetivos principales de las mtricas orientadas a objetos son los mismos que los existentes para las mtricas surgidas para el software estructurado: Comprender mejor la calidad del producto Estimar la efectividad del proceso Mejorar la calidad del trabajo realizado en el nivel del proyecto.

Cada uno de estos objetivos es importante en s, pero para el ingeniero de software, la calidad del producto debe de ser lo esencial. Cmo se puede medir la calidad de un sistema Orientado a Objetos? Qu caractersticas del modelo de diseo se pueden estimar para decretar si el sistema ser o no fcil de implementar, se podr probar, que ser fcil de modificar, y lo que es ms importante, resultar tolerable para los usuarios finales?

Caractersticas
Localizacin
La localizacin es una caracterstica del software que indica la forma que se concentra la informacin dentro de un programa. En el contexto Orientado a Objetos, la informacin se concentra mediante el encapsulamiento tanto de datos como de procesos dentro de los lmites de una clase u objeto. Dado que el software convencional hace hincapi en las funciones como mecanismos de localizacin, las mtricas de software se han centrado en la estructura interna o complejidad de las funciones como longitud del mdulo, cohesin, o complejidad ciclo matica; o bien en la forma en que las funciones se conectan entre s tales como: acoplamiento de mdulos. Dado que las clases constituyen la unidad bsica de los sistemas Orientado a Objetos, la localizacin est basada en los objetos. Por tanto, las mtricas deberan de ser aplicables a la clase como si se tratara de una entidad completa. Adems, la relacin entre funciones y clases no es

precisamente uno a uno. Por tanto, las mtricas que reflejan la forma en que colaboran las clases deben de ser capaces de adaptarse a las relaciones uno a muchos y muchos a uno.

Encapsulamiento
Se define el encapsulamiento como el empaquetamiento de una coleccin de elementos. Entre los ejemplos de encapsulamiento de software convencional se cuentan los registros y matrices, y los subprogramas son mecanismos de nivel medio para el encapsulamiento. Para los sistemas Orientado a Objetos, el encapsulamiento comprende las responsabilidades de una clase, incluyendo sus atributos y operaciones, y los estados de la clase, segn se definen mediante valores especficos de atributos. El encapsulamiento influye en las mtricas cambiando el objetivo de la medida, que pasa de ser un nico mdulo a ser un paquete de datos o atributos y de mdulos de procesamiento de operaciones. Adems, el encapsulamiento impulsa a la medida hasta un nivel de abstraccin ms elevado.

Ocultamiento de informacin
El ocultamiento de informacin suprime los detalles operativos de un componente de un programa. Tan slo se proporciona la informacin necesaria para acceder a ese componente o a aquellos otros componentes que deseen acceder a l. Un sistema Orientado a Objetos bien diseado debera de impulsar al ocultamiento de informacin. Por tanto, aquellas mtricas que proporcionen una indicacin del grado en que se ha logrado el ocultamiento proporcionarn una indicacin de la calidad del diseo Orientado a Objetos.

Herencia
La herencia es un mecanismo que hace posible que los compromisos de un objeto se difundan a otros objetos. La herencia se produce a lo largo de todos los niveles de la jerarqua de clases, bien es sabido que en general, el software convencional, no admite esta caracterstica. Dado que la herencia es una caracterstica fundamental de muchos sistemas Orientado a Objetos, hay muchas mtricas Orientado a Objetos que se centran en ella. Esto se conocer entre los ejemplos: se cuentan el nmero de descendientes o nmero de instancias inmediatas de una clase, nmero de predecesores o nmero de generalizaciones inmediatas, y grado de anidamiento de la jerarqua de clases o profundidad de una clase dentro de una jerarqua de herencia y otros.

Abstraccin
La abstraccin es un mecanismo que permite al diseador centrarse en los detalles esenciales de algn componente de un programa tanto si es un dato como si es un proceso sin preocuparse por los detalles de nivel inferior. Cuando los niveles de abstraccin van elevndose, se ignoran ms y ms detalles, por lo tanto, se proporciona una visin ms general de un concepto u objeto. A medida que pasamos a niveles ms reducidos de abstraccin, se muestran ms detalles, esto es, se proporciona una visin ms especfica de un concepto u objeto.

Dado que una clase es una abstraccin que se puede visualizar con muchos niveles distintos de detalles, y de muchas maneras diferentes, las mtricas Orientado a Objetos representan la abstraccin en trminos de medidas de una clase como: nmero de instancias por clase por aplicacin.

Mtricas para el modelo de diseo


Gran parte del diseo orientado a objetos es subjetivo un diseador experimentado sabe cmo puede caracterizar un sistema Orientado a Objetos para que se implemente de forma efectiva los requisitos del cliente. Pero a medida que los modelos de diseo Orientado a Objetos van creciendo de tamao y complejidad, puede resultar beneficiosa una visin ms objetiva de las caractersticas del diseo, tanto para el diseador experimentado como para el menos experimentado. Una visin objetiva del diseo debera de tener un componente cuantitativo y esto nos lleva a las mtricas Orientado a Objetos, en donde se pueden aplicar no solo al modelo de diseo, sino tambin al modelo de anlisis

Mtricas orientadas a operaciones


Dado que la clase es la unidad dominante en los sistemas Orientado a Objetos, se han planteado menos mtricas para las operaciones de clases. Churcher y Shepperd describen esto cuando afirman: Los resultados de los ltimos estudios indican que los mtodos tienden a ser pequeos, tanto en trminos del nmero de sentencias como en trminos de su complejidad lgica, lo cual sugiere que la estructura de conectividad de un sistema pueda resultar ms importante que el contenido de los mdulos individuales. Sin embargo, existen algunas ideas que pueden llegar a estimarse, se indican a continuacin tres mtricas sencillas propuestas por Lorenz y Kidd.

Tamao medio de operacin


Tambin llamado TOavg lograra utilizar las lneas de cdigo como indicador para el tamao de operacin, la medida LOC padece de considerables problemas. Por esta razn, el nmero de mensajes enviados por la operacin proporciona una alternativa para el tamao de la operacin. A medida que asciende el nmero de mensajes enviados por una nica operacin, es posible que las responsabilidades no hayan sido bien estipuladas dentro de la clase.

Complejidad de operacin
Tambin llamado CO esta una operacin se consigue calcular empleando cualquiera de las mtricas de complejidad propuestas para el software convencional Sabiendo que las operaciones convendran limitarlas a una responsabilidad especfica, en donde el diseador debera esforzarse por mantener el valor de CO tan bajo como sea posible.

Nmero medio de parmetros por operacin


Tambin llamado NPavg es cuanto sea ms grande el nmero de parmetros de la operacin, ser ms compleja la colaboracin entre objetos. En general, NPavg debera de mantenerse tan bajo como sea posible.

Mtricas para pruebas orientadas a objetos


Las mtricas de diseo proporcionarn una prediccin de la calidad del diseo, tambin proporcionan una indicacin general de la cantidad de esfuerzo de pruebas necesario para aplicarlo en un sistema Orientado a Objetos. Sugiere una amplia gama de mtricas de diseo que tienen influencia directa en la probabilidad de un sistema Orientado a Objetos. Las mtricas se crean en categoras que reflejan caractersticas de diseo importantes:

Encapsulamiento
Carencia de Cohesin en Mtodos (CCM)
Cuanto ms alto sea el valor de CCM, ms estados tendrn que ser probados para asegurar que los mtodos no den lugar a efectos secundarios.

Porcentaje Pblico y Protegido (PPP)


Los atributos pblicos se heredan de otras clases, y por tanto son visibles para esas clases. Los atributos protegidos son una especializacin y son privados de alguna subclase especfica. Esta mtrica indica el porcentaje de atributos de clase que son pblicos. Unos valores altos de PPP incrementan la probabilidad de efectos colaterales entre clases, y por lo tanto es preciso disear comprobaciones que aseguren que se descubran estos efectos colaterales.

Acceso Pblico a Datos Miembros (APD)


Esta mtrica muestra el nmero de clases o mtodos que pueden acceder a los atributos de otra clase, violando as el encapsulamiento. Unos valores altos de APD dan lugar a un potencial de efectos colaterales entre clases. Es preciso disear comprobaciones para asegurar que se descubran estos efectos colaterales.

Herencia
Numero de Clases Raz (NCR)
Esta mtrica es un recuento de las jerarquas de clases distintas que se describen en el modelo de diseo, en donde ser preciso desarrollar conjuntos de pruebas para cada una de las clases raz, y para la correspondiente jerarqua de clases. A medida que crece NCR crece tambin el esfuerzo de comprobacin.

Admisin (ADM)

Cuando se utiliza en el contexto Orientado a Objetos, la admisin es una indicacin de herencia mltiple. Cuando la ADM sea mayor a 1, indica que una clase hereda sus atributos y operaciones de ms de una clase raz. Siempre que sea posible, es preciso evitar un valor de ADM mayor a 1.

Mtricas para proyectos orientados a objetos


Se sabe que el trabajo del administrador de un proyecto es planificar, coordinar, seguir y controlar un proyecto de software. Pero qu sucede con las medidas? Existen mtricas Orientado a Objetos especializadas que pueda utilizar el administrador del proyecto para disponer de una mejor visin de su progreso? La respuesta es por supuesto que s. La primera actividad que desarrolla el administrador del proyecto es la planificacin y una de las primeras tareas de la planificacin es la estimacin. Por tanto, el plan y sus estimaciones de proyecto se visitan despus de cada iteracin de Anlisis Orientado a Objetos, Diseo Orientados a Objetos, e incluso la Programacin Orientada a Objetos. Uno de los problemas fundamentales a los que se enfrenta un administrador de proyectos durante la planificacin es, la estimacin del tamao implementado del software, ya que se conoce que el tamao es directamente proporcional al esfuerzo y la duracin. Las mtricas Orientado a Objetos siguientes pueden aportar ideas acerca del tamao del software:

Numero de Clases Clave (NCC)


Las clases clave se centran directamente en el dominio del negocio para el problema que se estar analizando, y tendrn menor probabilidad de ser implementadas mediante reutilizacin. Por esta razn, unos valores elevados NCC indican que en nuestro camino encontraremos una cantidad notable de trabajo de desarrollo. Lorenz y Kidd sugieren que entre el 20 y el 40 por ciento de todas las clases de un sistema 00 tpico son clases clave. El resto sirve como infraestructura de apoyo: IGU, comunicaciones, bases de datos, etc.

Numero de Subsistemas (NSUB)


El nmero de subsistemas proporciona una idea general de la asignacin de recursos, de la planificacin con especial hincapi en el desarrollo en paralelo, y del esfuerzo global de integracin. Las mtricas NCC y NSUB se pueden escoger para otros proyectos Orientado a Objetos anteriores, y se pueden relacionar con el esfuerzo invertido en el proyecto y tambin con las actividades de proceso individuales. Estos datos se pueden utilizar tambin junto con mtricas de diseo, con el objeto de calcular mtricas de productividad tales como el nmero medio de clases por desarrollador o el 130 promedio de mtodos por persona y mes. En su conjunto, estas mtricas se pueden utilizar para estimar el esfuerzo, la duracin, el personal y otras informaciones acerca del proyecto para el proyecto actual.

También podría gustarte