Métricas Técnicas para Sistemas Orientados a Objeto

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Métricas OO Aparecieron por la necesidad de poder cuantificar la calidad del software no tradicional. El software orientado a objetos posee características.
Capitulo 1 CALIDAD.
Curso de Java Capitulo 7: Continuación Poo Profesor:
POLIMORFISMO UNIDAD 4.
Tomado de:
Pruebas Orientadas a Objeto
METRICAS DE PROCESO Y PROYECTO
Arquitectura CLARO-TECNOTREE
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Fundamentos de Ingeniería de Software
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Diseño y programación de
PROGRAMACION ORIENTADA A OBJETOS
Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7.
Ingeniería de Software Orientada a Objetos
Fundamentos de Programación
Introducción a la programación Orientada a objetos
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Diagramas de Clase Angela Carrillo R..
Fundamentos de Programación
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
DISEÑO DE SOFTWARE 1ª. Parte
Métricas de calidad de software
Programación Orientada Objetos
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
Diagrama de Clases ACI 570.
Importancia en la efectividad del:
PROGRAMACION ORIENTADA A OBJETOS POR OVER YESID BARRERA FERNANDEZ.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Facultad de Ingeniería
Programación Orientada a Objeto
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
Ingeniería de Requisitos
Métricas de calidad de software
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Métricas de Calidad de Software
DIAGRAMA DE CLASES.
UML Casos de Uso (repaso) y Diagramas de Clase
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
Métricas De Software OO
PROGRAMACIÓN IV INTRODUCCIÓN.
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Acceso a Datos Erick López Ovando Licenciado en Informática.
Proceso de desarrollo de Software
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Diagrama de Clases.
Fundamentos de Ingeniería de Software
Herencias Conceptos básicos i
Ingeniería del Software Avanzada
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
Modelado UML Diagrama de Clases
Entregables del Proyecto
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Profesor: Jesús Chaparro Bachilleres: Perez, emibeliz Prada, Rainer Villahermosa, José Abril 2014.
Transcripción de la presentación:

Métricas Técnicas para Sistemas Orientados a Objeto

Métricas de Software OO A medida que los sistemas OO van siendo comunes , resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos para estimar la calidad de los diseños y la efectividad de los programas OO.

Objetivos Comprender mejor la calidad del producto. Estimar la efectividad del proceso. Mejorar la calidad del trabajo realizado en el nivel del proyecto.

Características distintivas Localización. Encapsulamiento. Ocultamiento de información. Herencia. Abstracción.

Métricas para el modelo de diseño OO Una visión objetiva del diseño debería tener un componente cuantitativo y esto nos lleva a las métricas OO. En realidad, las métricas técnicas para sistemas OO se pueden aplicar no solo al modelo de diseños , sino también al modelo de análisis. Algo muy importante en la elaboración de un diseño OO es la experiencia del diseñador al implementar de forma efectiva los requerimientos del cliente tomando en cuenta el tamaño y complejidad del proyecto.

Métricas orientadas a clases El conjunto de métricas CK (Chidamber y Kemener): - Métodos ponderados por clases (MPC). Dada una clase C1 con los métodos M1, ..., Mn y c1, ..., cn la complejidad de los métodos, MPC se define como la sumatoria de las complejidades de cada método de una clase. Si todos los métodos son considerados de igual complejidad, entonces c1=1 y MPC=n (número de métodos). - Árbol de profundidad de herencia (APH). APH mide el máximo nivel en la jerarquía de herencia. Se trata de la cuenta directa de los niveles en la jerarquía de herencia. En el nivel cero de la jerarquía se encuentra la clase raíz. - Número de descendientes (NDD). NDD es el número de subclases subordinadas a una clase en la jerarquía, es decir, la cantidad de subclases que pertenecen a una clase.

Métricas orientadas a clases - Acoplamiento entre clases objeto (ACO). ACO 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 ellas usa métodos o variables de la otra clase. Es consistente con las tradicionales definiciones de acoplamiento: “medida del grado de interdependencia entre módulos”. - Respuestas para una clase (RPC). RPC es el cardinal del conjunto de todos los métodos que se pueden invocar como respuesta a un mensaje a un objeto de la clase o como respuesta a algún método en la clase. Esto incluye a todos los métodos accesibles dentro de la jerarquía de la clase. Es decir, RPC es el número de métodos locales a una clase más el número de métodos llamados por los métodos locales. - Carencia de cohesión en los métodos (CCM). número de grupos de métodos locales que no acceden a atributos comunes.

Métricas orientadas a clases Métricas propuestas por Lorenz y Kidd: Tamaño de la clase (TC). LOC es el número de líneas activas de código (líneas ejecutables) en un método. - Número de operaciones invalidadas por una subclase (NOI). Existen casos en que una subclase sustituye una operación heredada de su superclase por una versión especializada para su propio uso, ya esto se le denomina invalidación. - Número de operaciones añadidas por una subclase (NOA). - Índice de especialización (IE). Muestra en qué medida las subclases redefinen el comportamiento de sus superclases

Métricas orientadas a operaciones Tamaño medio de operación (TOavg). Aunque se lograría utilizar las líneas de código como indicador para el tamaño de operación, la medida LOC padece de considerables problemas. Por esta razón, el número de mensajes enviados por la operación proporciona una alternativa para el tamaño de la operación. Complejidad de Operación (CO). La complejidad de una operación se consigue calcular empleando cualquiera de las métricas de complejidad propuestas para el software convencional. Número medio de parámetros por operación (NPavg). En cuanto sea más grande el número de parámetros de la operación, será más compleja la colaboración entre objetos.

Métricas para pruebas orientadas a objeto Encapsulamiento. - Carencia de cohesión en métodos (CCM) Cuanto más alto sea el valor de CCM, más estados tendrán que ser probados para asegurar que los métodos no den lugar a efectos secundarios. - Porcentaje público y protegido (PPP). Los atributos públicos se heredan de otras clases, y por tanto son visibles para esas clases. Los atributos protegidos son una especialización y son privados de alguna subclase específica. - Acceso público a datos miembros (APD). Esta métrica muestra el número de clases (o métodos) que pueden acceder a los atributos de otra clase, violando así el encapsulamiento.

Métricas para pruebas orientadas a objeto Herencia. - Número de clases raíz (NCR) Esta métrica es un recuento de las jerarquías de clases distintas que se describen en el modelo de diseño., en donde será preciso desarrollar conjuntos de pruebas para cada una de las clases raíz, y para la correspondiente jerarquía de clases. - Admisión (ADM). Cuando se utiliza en el contexto 00, la admisión es una indicación de herencia múltiple. Cuando la ADM sea mayor a 1, indica que una clase hereda sus atributos y operaciones de más de una clase raíz. - Número de descendientes (NDD) y profundidad de l árbol de la herencia (APH). Los métodos de la superclase tendrán que ser probados nuevamente para cada subclase.

Métricas para proyectos OO Número de guiones de escenario (NE). El número de escenarios o casos de uso es directamente proporcional al numero de clases requerida para cubrir los requisitos, el numero de estados para cada clase, el numero de métodos , atributos y colaboraciones. Número de clases clave (NCC). Las clases clave se centran directamente en el dominio del negocio para el problema que se estará analizando, y tendrán menor probabilidad de ser implementadas mediante reutilización. Número de subsistemas (NSUB). El número de subsistemas proporciona una idea general de la asignación de recursos, de la planificación (con especial hincapié en el desarrollo en paralelo), y del esfuerzo global de integración.

Resumen Son bien conocidos diferentes conjuntos de métricas propuestas por distintos autores: Chidamber y Kemerer, Lorenz y Kidd, y otros En esta presentación se han repasado las métricas consideradas más representativas de estos y otros autores, desde una perspectiva basada en las características específicas del enfoque orientado a objetos, más que en el análisis particular del conjunto de métricas propuesto por un solo autor. Esta aproximación quizá lleva a una mayor dificultad en la comprensión de las mismas, pues algunas miden las mismas propiedades pero desde diferentes perspectivas. Se pone interés especial en las métricas de cobertura. Características específicas en OO como el polimorfismo y encapsulamiento sugieren nuevos enfoques en el diseño de casos de prueba para alcanzar el 100% de cobertura de métodos.