PDF de programación - CAPÍTULO 6 Métricas para Sistemas Orientados a Objetos

Imágen de pdf CAPÍTULO 6 Métricas para Sistemas Orientados a Objetos

CAPÍTULO 6 Métricas para Sistemas Orientados a Objetosgráfica de visualizaciones

Publicado el 20 de Julio del 2017
726 visualizaciones desde el 20 de Julio del 2017
36,8 KB
18 paginas
Creado hace 22a (29/05/2001)
CAPÍTULO 6

Métricas para Sistemas Orientados a Objetos



El Software Orientado a Objetos (OO) es fundamentalmente distinto del

software que se desarrolla utilizando métodos convencionales. Las métricas para

sistemas OO deben de ajustarse a las características que distinguen el software

OO del software convencional. Estas métricas hacen hincapié en el

encapsulamiento, la herencia, complejidad de clases y polimorfismo. Por lo tanto

las métricas OO se centran en métricas que se pueden aplicar a las características

de encapsulamiento, ocultamiento de

información, herencia y

técnicas de

abstracción de objetos que hagan única a esa clase. Como en todas las métricas

los objetivos principales de las métricas OO 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.

Se conoce que las medidas y las métricas son componentes clave de

cualquier disciplina de la ingeniería; la ingeniería de software orientada a objetos

no es una excepción. Lamentablemente, la utilización de métricas para sistemas

orientados a objetos ha progresado con mucha más lentitud que la utilización de

los demás métodos OO [Luis A. Laranjeira ‘90]. Sin embargo, a medida que los

sistemas OO van siendo más habituales, resulta fundamental que los ingenieros

del software dispongan de mecanismos cuantitativos para estimar la calidad de los

diseños y la efectividad de los programas 00.



113

6.1 Objetivo de las métricas Orientados a Objetos



Los objetivos principales de las métricas orientadas a objetos son los

mismos que

los existentes para

las métricas surgidas para el software

estrucutrado:

• 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. ¿Cómo se puede medir

la calidad de un sistema 0.0? ¿ Que características del modelo de diseño se

pueden estimar para decretar si el sistema será o no fácil de implementar, se

podrá probar, que será fácil de modificar, y lo que es más importante, resultará

tolerable para los usuarios finales? [Laranjeira 1990]. Estos argumentos se

tratarán de resolver a lo largo de este capítulo

6.2 Características del software Orientado a Objetos



El software orientado a objetos es esencialmente distinto del software que

se desarrolla utilizando métodos convencionales. Por esta razón, las métricas para

sistemas 00 deben de concordarse a las características que distinguen el software

00 del software convencional.



114

Berard [Laranjeira ‘90] define cinco características que dan lugar a unas

métricas especializadas:

• Localización,

• Encapsulamiento,

• Ocultamiento de información,

• Herencia y

• Técnicas de abstracción de objetos.



6.2.1 Localización



La localización es una característica del software que indica la forma que se

concentra

la

información dentro de un programa. En el contexto OO,

la

información se concentra mediante el encapsulamiento tanto de datos como de

procesos dentro de los límites de una clase u objeto.

Dado que el software convencional hace hincapié en las funciones como

mecanismos de localización, las métricas de software se han centrado en la

estructura interna o complejidad de las funciones (p. ej.: longitud del módulo,

cohesión, o complejidad ciclomática) o bien en la forma en que las funciones se

conectan entre sí (p. ej.: acoplamiento de módulos).

Dado que las clases constituyen la unidad básica de los sistemas 00, la

localización está basada en los objetos. Por tanto, las métricas deberían de ser

aplicables a la clase (objeto) como si se tratara de una entidad completa. Además,

la relación entre operaciones (funciones) y clases no es precisamente uno-a-uno.



115

Por tanto, las métricas 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.



6.2.2 Encapsulamiento



Berard [Pressman ‘98] define el encapsulamiento como “el empaquetamiento

(o enlazado) de una colección de elementos. Entre

los ejemplos de

encapsulamiento de bajo nivel (software convencional) se cuentan los registros y

matrices, y los subprogramas (por ejemplo, procedimientos, funciones, subrutinas

y párrafos) son mecanismos de nivel medio para el encapsulamiento”.

Para los sistemas 00, el encapsulamiento comprende las responsabilidades de

una clase, incluyendo sus atributos (y otras clases para objetos agregados) y

operaciones, y los estados de la clase, según se definen mediante valores

específicos de atributos.

El encapsulamiento influye en las métricas cambiando el objetivo de la medida,

que pasa de ser un único módulo a ser un paquete de datos (atributos) y de

módulos de procesamiento (operaciones). Además, el encapsulamiento impulsa a

la medida hasta un nivel de abstracción más elevado.



6.2.3 Ocultamiento de información



El ocultamiento de

información suprime

los detalles operativos de un

componente de un programa. Tan sólo se proporciona la información necesaria



116

para acceder a ese componente o a aquellos otros componentes que deseen

acceder a él.

Un sistema 00 bien diseñado debería de impulsar al ocultamiento de

información. Por tanto, aquellas métricas que proporcionen una indicación del

grado en que se ha logrado el ocultamiento proporcionarán una indicación de la

calidad del diseño 00.

6.2.4 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 jerarquía de clases, bien es sabido que en general, el software

convencional, no admite esta característica.

Dado que la herencia es una característica fundamental de muchos

sistemas 00, hay muchas métricas 00 que se centran en ella. Esto se conocerá

entre los ejemplos que se tratarán más adelante: se cuentan el número de

descendientes (número de instancias inmediatas de una clase), número de

predecesores (número de generalizaciones inmediatas), y grado de anidamiento

de la jerarquía de clases (profundidad de una clase dentro de una jerarquía de

herencia) y otros.

6.2.5 Abstracción

La abstracción es un mecanismo que permite al diseñador centrarse en los

detalles esenciales de algún componente de un programa (tanto si es un dato



117

como si es un proceso) sin preocuparse por los detalles de nivel inferior. Cuando

los niveles de abstracción van elevándose, se ignoran más y más detalles, por lo

tanto, se proporciona una visión más general de un concepto u objeto. A medida

que pasamos a niveles mas reducidos de abstracción, se muestran más detalles,

esto es, se proporciona una visión más específica de un concepto u objeto.

Dado que una clase es una abstracción que se puede visualizar con muchos

niveles distintos de detalles, y de muchas maneras diferentes, las métricas OO

representan la abstracción en términos de medidas de una clase (p.ej.: número de

instancias por clase por aplicación).



6.3 Métricas para el modelo de diseño Orientado a Objetos


Gran parte del diseño orientado a objetos es subjetivo un diseñador

experimentado “sabe” como puede caracterizar un sistema 00 para que se

implemente de forma efectiva los requisitos del cliente. Pero a medida que los

modelos de diseño 00 van creciendo de tamaño y complejidad, puede resultar

beneficiosa una visión más objetiva de las características del diseño, tanto para el

diseñador experimentado como para el menos experimentado.

Una visión objetiva del diseño debería de tener un componente cuantitativo

y esto nos lleva a las métricas 00, en donde se pueden aplicar no solo al modelo

de diseño, sino también al modelo de análisis [Laranjeira.’90].



118

6.4 Métricas orientadas a Clases



Se sabe que la clase es la unidad principal de todo sistema 00. Por

consiguiente, las medidas y métricas para una clase individual, la jerarquía de

clases, y las colaboraciones de clases resultarán sumamente valiosas para un

ingeniero de software que tenga que estimar la calidad de un diseño. Se ha visto

que la clase encapsula a las operaciones (procesamiento) y a los atributos (datos).

La clase suele ser el “predecesor” de las subclases (que a veces se denominan

“descendientes”) que heredan sus atributos de operaciones. La clase suele

colaborar con otras clases. Todas estas características se pueden utilizar como

bases de las métricas explicadas , enseguida:



6.4.1 El conjunto de métricas CK



Uno de los conjuntos de métricas de software 00 a los que se hace más

ampliamente referencia es el propuesto por Chidamber y Kemener [Laranjeira ‘90].

Estas métricas propuestas de diseño basadas en clases, a las cuales suele

aludirse con el nombre de conjunto de métricas CK para sistemas 00.

Los métodos ponderad
  • Links de descarga
http://lwp-l.com/pdf5630

Comentarios de: CAPÍTULO 6 Métricas para Sistemas Orientados a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad