metrica orientada a objetos
AUTORES: Gustavo Albino. gustavoalbino@hotmail.com
Gustavo Alvarado. gustavoalvaradomza@yahoo.com.ar
PROFESOR: Dr. Luis Olsina.
RESUMEN
El Software Orientado a Objetos (OO) es fundamentalmente distinto del software que se desarrolla utilizando métodos convencionales. Las métricas para sistemas OOdeben de ajustarse a las características que distinguen el software OO del software convencional. Estas métricas hacen hincapié en el Acoplamiento, cohesión, complejidad, encapsulamiento, herencia, polimorfismo y reutilización. 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 deabstracció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.
INTRODUCCION
Definiciones
Características del Software Orientado a Objetos:
Lascaracterísticas principales del enfoque orientado a objetos son las siguientes:
Identidad: Los datos se organizan en entidades discretas llamadas objetos.
Objetos: Cada objeto tiene su propia identidad que lo distingue de otro aunque ambos posean los mismos valores de atributos.
Clasificación: Objetos con los mismos atributos y comportamientos se agrupan en clases.
Clase: Una clase esuna abstracción que describe las propiedades ( atributos y comportamiento) relevantes de un conjunto de objetos para una aplicación dada.
Polimorfismo: Permite que una misma operación pueda llevarse a cabo de forma diferente en clases diferentes. Una operación es una acción o transformación que realiza un objeto, o que se realiza sobre él. La implementación específica de una operacióndeterminada, en una clase, se denomina método.
Herencia: La herencia se basa en una relación jerárquica entre varias clases, de tal forma, que se pueden compartir atributos y operaciones en la subclase de la superclase de la que hereda ciertas propiedades y añade propiedades particulares.
Reutilización: La reutilización de código y de diseño, que puede ser vista como una ventaja de la orientación aobjetos. La herencia es la base de la reutilización.
Abstracción: Una clase abstracta es una clase que no tiene instancias directas pero cuyas clases descendientes (clases concretas) sí pueden tener instancias directas. Una clase abstracta agrupa características comunes a varias clases. Está relacionada con la herencia.
Encapsulamiento: Inclusión dentro de un mismo objeto de los datos(información que describe su estado) y los métodos (mecanismos de transformación o de acceso al estado de dichos objetos). El uso de un objeto se realiza mediante una interfaz bien definida, y el resto está encapsulado dentro de ese objeto.
Ocultamiento de la Información: Consiste en no mostrar los detalles de la implementación de las rutinas a los elementos del programa exteriores al objeto. Esto permiterealizar cambios en la implementación (que no impliquen cambios en la (funcionalidad) sin afectar a las clases cliente.
Especialización: La obtención de subclases por refinamiento de una superclase.
DESARROLLO
1 - ACOPLAMIENTO
El acoplamiento se ve como una medida del incremento de la complejidad, reduciendo el encapsulamiento y su posible reutilización: limita, por tanto, lafacilidad de comprensión y de mantenimiento del sistema.
1.1 Acoplamiento entre Objetos (Coupling between objects – CBO -) [Chidamber y Kemerer, 1994]
Definición: CBO de una clase es el número de clases a las cuales una clase está ligada, sin tener con ella relaciones de herencia. Hay dependencia entre dos clases cuando una de ella usa métodos o variables de la otra clase. Es consistente con...
Regístrate para leer el documento completo.