Metricas Diseño Orientado A Objetos
nicolasin101 de Octubre de 2013
2.471 Palabras (10 Páginas)214 Visitas
INTRODUCCIÓN ..............................................................................................................................4
1. SÍNTESIS DE LAS BUENAS PRÁCTICAS DE DISEÑO ORIENTADO A OBJETOS..............................7
1.1 Granularidad de métodos...................................................................................................7
1.2 Responsabilidades públicas. ..............................................................................................7
1.3 Colaboración-Agregación .................................................................................................8
1.4 Polimorfismo .........................................................................................................................9
1.5 Herencia ...............................................................................................................................9
1.6 Herencia-Polimorfismo ......................................................................................................11
1.7 Herencia-Sobre-escritura..................................................................................................13
1.8 Aspectos a tener en cuenta en el planteo de las métricas ..........................................13
2. DESCRIPCIÓN DE LAS MÉTRICAS. ANTECEDENTES...................................................................15
2.1 Planteo inicial .....................................................................................................................15
2.2 Descripción de la métricas ...............................................................................................16
2.2.1 Cantidad de clases desarrolladas............................................................................16
2.2.2 Cantidad de clases externas especializadas..........................................................17
2.2.3 Promedio de statements por método de una clase ...............................................17
2.2.4 Cantidad de métodos de interfase por clase..........................................................18
2.2.5 Cantidad de colaboradores por clase.....................................................................18
2.2.6 Cantidad de colaboradores externos por clase .....................................................19
2.2.7 Cantidad de Mensajes Polimórficos .........................................................................20
2.2.8 Cantidad de jerarquías de clases desarrolladas ....................................................22
2.2.9 Cantidad de jerarquías extendidas de clases externas........................................22
2.2.10 Cantidad de niveles de especialización por jerarquía de clases.......................23
2.2.11 Cantidad de niveles agregados a jerarquías donde la raíz es externa .............23
2.2.12 Cantidad de Clases Raíz no Abstractas .................................................................24
2.2.13 Porcentaje de Métodos Reemplazados en una Jerarquía...................................24
2.2.14 Porcentaje de Métodos Reemplazados en Jerarquías donde la raíz es externa
...............................................................................................................................................25
2.2.15 Cantidad de Jerarquías que Usan Herencia de Subtipo ......................................26
3. APLICACIÓN DE LAS MÉTRICAS EN JAVA ...............................................................................27
3.1 Cantidad de clases desarrolladas ...................................................................................28
3.2 Cantidad de interfases desarrolladas..............................................................................28
3.3 Cantidad de clases externas especializadas.................................................................28
3.4 Cantidad de interfases externas extendidas ..................................................................28
3.5 Cantidad de clases que implementan interfases externas...........................................28
3.6 Cantidad de jerarquías de clases desarrolladas............................................................29
3.7 Cantidad de jerarquías de interfases desarrollada........................................................29
3.8 Cantidad de niveles de especialización por jerarquía de clases ................................29
3.9 Cantidad de niveles de especialización por jerarquía de interfase ............................29
3.10 Cantidad de clases raíz no abstractas ..........................................................................29 3
3.11 Cantidad de clases raíz no abstractas que implementan interfases .........................30
3.12 Porcentaje de métodos remplazados en una Jerarquía .............................................30
3.14 Promedio de statements por método en una clase....................................................31
3.15 Cantidad de métodos de interfase por clase ...............................................................31
3.16 Cantidad de métodos por interfase...............................................................................31
3.17 Cantidad de colaboradores por clase..........................................................................32
4 CASOS DE ESTUDIO ....................................................................................................................33
4.1 Jazz05 – Jazz13 – Piccolo ..................................................................................................35
4.1.1 Tamaño........................................................................................................................35
4.1.2 Reutilización ................................................................................................................35
4.1.3 Herencia ......................................................................................................................37
4.1.4 Polimorfismo ................................................................................................................45
4.1.5 Granularidad de métodos .........................................................................................45
4.1.6 Colaboración- Agregación.......................................................................................46
4.1.7 Responsabilidades públicas......................................................................................46
4.1.8 Clases principales de la Aplicación ........................................................................48
4.1.9 Comentario de las métricas en su conjunto ............................................................50
4.2 Piccolo-Jgraph-Gef ...........................................................................................................52
4.2.1 Tamaño........................................................................................................................52
4.2.2 Reutilización ................................................................................................................53
4.2.3 Herencia ......................................................................................................................54
4.2.4 Polimorfismo ................................................................................................................56
4.2.5 Granularidad de métodos .........................................................................................57
4.2.6 Colaboración - Agregación......................................................................................58
4.2.7 Responsabilidades públicas......................................................................................58
4.2.8 Clases Principales de la Aplicación .........................................................................59
4.2.9 Comentario de las métricas en su conjunto. ...........................................................64
5 CONCLUSIONES .........................................................................................................................67
5. 1 Conjunto básico de métricas. Extensión de este conjunto básico..............................67
5.2 Modo de uso de las métricas. ..........................................................................................69
5.3 Campo de aplicación de los resultados .........................................................................72
ANEXOS.........................................................................................................................................73
Anexo I - Piccolo-Jazz13-Jazz05 ............................................................................................74
Anexo II - Jgraph .....................................................................................................................82
Anexo III - Gef - Java Graph Editing Framework..................................................................86
Anexo IV - Descripción de las herramientas utilizadas........................................................95
Anexo V – Mediciones realizadas sobre Java – Javax........................................................96
Anexo
...