SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
> PAPER #2 < 1
Abstract - Design patterns are descriptions of related classes and
objects that are adapted to solve a general design problem in a given
context.
Design patterns in a series of criteria, which allow to give a superior
quality to the program.
Key Words: Design, Criteria, Packages, Classes.
Resumen – Las arquitecturas de diseño de paquetes son
agrupaciones de clases relacionadas que están adaptadas para
resolver un problema de diseño general en un contexto determinado.
Las arquitecturas de diseño de paquetes nos dan una serie de
criterios, que permiten dar una calidad superior al programa.
Palabras Clave: Diseño, Criterios, Paquetes, Clases.
I. INTRODUCCIÓN
Las clases son un medio necesario, pero insuficiente, para
organizar un diseño. La Granularidad de paquetes se necesita
para ayudar a poner orden. Pero, ¿cómo elegimos qué clases
pertenecen a qué paquetes?, ¿cómo podemos saber que está
bien diseñada la estructura de paquetes?
A continuación, se resuelven las dudas enunciadas desde la
perspectiva del libro Principles and Patterns de Robert C.
Martin.
II. DESARROLLO DE CONTENIDOS
En los principios de arquitectura de paquetes se encuentran
dos grandes apartados, que se muestran a continuación:
A. Principios de Cohesión de Paquetes
Este apartado establece que las clases en un mismo paquete se
usan juntas.
1. The Release Reuse Equivalency Principle (REP):
(principio de equivalencia de reutilización de liberación)
Un elemento reutilizable, ya sea un componente, una
clase o un grupo de clases, no puede ser reutilizado a
menos que sea administrado por un sistema de
liberación de algún tipo.
El autor debe llevar un registro de los números de
versión y versiones por un tiempo.
Por lo tanto, un criterio para agrupar clases en
paquetes es reutilizar. Dado que los paquetes son la
unidad de liberación, son también la unidad de
reutilización. En consecuencia, los arquitectos deben
agrupar las clases reutilizables en paquetes
2. The Common Closure Principle (CCP):
(Principio de cierre común)
Cuantos más Paquetes cambien en una versión dada,
mayor es el trabajo para reconstruir y probar al
momento de lanzamiento.
Por lo tanto, nos gustaría minimizar el número de
paquetes que cambian en cualquier ciclo de liberación
dado del producto.
Para lograrlo, agruparemos clases que pensamos
que cambiarán juntas.
3. The Common Reuse Principle (CRP):
(Principio de reusó común)
Si las clases que no se usan juntas se agrupan juntas.
Los cambios en clases que no tienen nada que ver con
el paquete, seguirán forzando una nueva versión del
paquete.
B. Principios de Acoplamiento de Paquetes
1. The Acyclic Dependencies Principle (ADP):
(Principio de dependencia acíclica)
Las dependencias entre paquetes no deben formar
ciclos cerrados.
2. The Stable Dependencies Principle (SDP):
(Principio de dependencia estable)
Las dependencias deben apuntar hacia la estabilidad,
entendiendo estabilidad como la cantidad de trabajo
necesario para realizar un cambio. Un buen camino
para hacer que un paquete sea difícil de cambiar, es
hacer que muchos paquetes dependan de él (muchos
paquetes inestables dependen de uno estable).
Métrica de estabilidad
I = Ce / (Ca + Ce)
Donde:
• Ca (Afferent Coupling): dependencias entrantes, es
decir, número de clases externas al paquete que
dependen de clases internas al paquete.
• Ce (Efferent Coupling): dependencias salientes, es decir,
número de clases internas que dependen de clases
externas.
• I: inestabilidad. Toma valores en el intervalo [0, 1].
Cuanto menor sea su valor, mayor es la estabilidad del
paquete.
Oscar Hernandez Cepeda – 20152020019
Universidad Francisco José de Caldas
Bogotá, Colombia.
ojhernandezc@correo.udistrital.edu.co
Principios de Arquitectura de Paquetes
> PAPER #2 < 2
Aplicación de la métrica en el paquete lógica
perteneciente al proyecto Figuras webs.
Figura 1. Proyecto Java Web Figuras dibujables
𝐼 =
0
(1 + 0)
= 0
3. The Stable Abstractions Principle (SAP):
(Principio de abstracción estable)
Los paquetes más estables deberían ser los paquetes
más abstractos o los que contienen más abstracciones.
Métrica de abstracción (abstractness)
A = Na / Nc
Donde:
• Nc: número de clases en el paquete.
• Na: número de clases abstractas o interfaces
en el paquete.
• A: abstracción (abstractness). Toma valores
en el intervalo [0, 1].
Aplicación de la métrica en el paquete lógica
perteneciente al proyecto Figuras webs (Figura 1).
𝐴 =
1
4
= 0.25
III. VENTAJAS
• Todas estas métricas miden características
de una arquitectura y nos pueden ayudar a
analizar y cuantificar la estructura de
dependencias de una aplicación.
Aplicar los principios de diseño de paquetes
permiten:
• Alargar la vida útil del código.
• Brindar soporte fácilmente al código.
IV. CONCLUSIONES
Al aplicar principios de arquitecturas de paquetes nos
aseguramos de dar calidad al programa, pues un programa
bien estructurado permite dar mayor facilidad de comprensión,
y extensión.
Las ideas fundamentales del texto de Robert Martin son:
• Agrupar las clases reusables en paquetes que se
puedan administrar y controlar.
• Clases que cambian juntas pertenecen a un mismo
grupo.
• Clases que no son rehusadas juntas no deben ser
agrupadas.
• La dependencia entre paquetes no debe formar ciclos.
• Entre más clases abstractas, mayor estabilidad del
código.
REFERENCIAS
[1] Robert C Martin (2000), Principles and Patterns.
First Author: Oscar Javier Hernandez Cepeda, estudiante
Ingeniería de Sistemas Universidad Distrital Francisco José de
Caldas, Bogotá.

Más contenido relacionado

La actualidad más candente

Norma iso 14598
Norma iso 14598Norma iso 14598
Norma iso 14598ehe ml
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
Analisis sintactico10
Analisis sintactico10Analisis sintactico10
Analisis sintactico10Emanuel Gs
 
Las estructuras de control en programación presentacion
Las estructuras de control en programación presentacionLas estructuras de control en programación presentacion
Las estructuras de control en programación presentacionOrangel4
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1johanna20
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensambladorgbermeo
 
Microcontroladores: Entendiendo los AVR de ATMEL
Microcontroladores: Entendiendo los AVR de ATMELMicrocontroladores: Entendiendo los AVR de ATMEL
Microcontroladores: Entendiendo los AVR de ATMELSANTIAGO PABLO ALBERTO
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Raul Hernandez Mayo
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software AlessandreMndez
 
Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Yamilee Valerio
 
Libro electronica digital problemas de circuitos y sistemas digitales
Libro electronica digital problemas de circuitos y sistemas digitalesLibro electronica digital problemas de circuitos y sistemas digitales
Libro electronica digital problemas de circuitos y sistemas digitalesPedro Vasquez
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Professional Testing
 

La actualidad más candente (20)

Investigacion errores lexicos
Investigacion errores lexicosInvestigacion errores lexicos
Investigacion errores lexicos
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Norma iso 14598
Norma iso 14598Norma iso 14598
Norma iso 14598
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Latches
LatchesLatches
Latches
 
Autómatas y complejidad
Autómatas y complejidadAutómatas y complejidad
Autómatas y complejidad
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Analisis sintactico10
Analisis sintactico10Analisis sintactico10
Analisis sintactico10
 
Las estructuras de control en programación presentacion
Las estructuras de control en programación presentacionLas estructuras de control en programación presentacion
Las estructuras de control en programación presentacion
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Microcontroladores: Entendiendo los AVR de ATMEL
Microcontroladores: Entendiendo los AVR de ATMELMicrocontroladores: Entendiendo los AVR de ATMEL
Microcontroladores: Entendiendo los AVR de ATMEL
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Deadlock
DeadlockDeadlock
Deadlock
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Libro electronica digital problemas de circuitos y sistemas digitales
Libro electronica digital problemas de circuitos y sistemas digitalesLibro electronica digital problemas de circuitos y sistemas digitales
Libro electronica digital problemas de circuitos y sistemas digitales
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3
 
Termistores ntc y ptc
Termistores ntc y ptcTermistores ntc y ptc
Termistores ntc y ptc
 

Similar a Arquitectura depaquetes

Sistemas Suaves o Blandos
Sistemas Suaves o BlandosSistemas Suaves o Blandos
Sistemas Suaves o BlandosJhon Querevalú
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Ozzy Bull
 
Gonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De DisenoGonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De DisenoSpimy
 
14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis IiJulio Pari
 
Clase 4 - Programación IV - BSI1100
Clase 4 - Programación IV - BSI1100Clase 4 - Programación IV - BSI1100
Clase 4 - Programación IV - BSI1100Randy Valverde
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptxGonzaloMartinezSilve
 
Anexo 9 actividad 1 glosario de términos especificos utilizados en la red 13...
Anexo 9 actividad 1 glosario de términos especificos utilizados en la red  13...Anexo 9 actividad 1 glosario de términos especificos utilizados en la red  13...
Anexo 9 actividad 1 glosario de términos especificos utilizados en la red 13...Luis Gerardo Carvajal
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOyuribel
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOyuribel
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOyuribel
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo2008PA2Info3
 
Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2warmab
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetosMessenger Adictos
 

Similar a Arquitectura depaquetes (20)

Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Sistemas Suaves o Blandos
Sistemas Suaves o BlandosSistemas Suaves o Blandos
Sistemas Suaves o Blandos
 
Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4Uso de-patrones-de-arquitectura-capitulo-4
Uso de-patrones-de-arquitectura-capitulo-4
 
chuy
chuy chuy
chuy
 
Gonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De DisenoGonzalorojas 12 Uml, Patrones De Diseno
Gonzalorojas 12 Uml, Patrones De Diseno
 
14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii14 Clase Flujo De AnáLisis Ii
14 Clase Flujo De AnáLisis Ii
 
Clase 4 - Programación IV - BSI1100
Clase 4 - Programación IV - BSI1100Clase 4 - Programación IV - BSI1100
Clase 4 - Programación IV - BSI1100
 
Cap7
Cap7Cap7
Cap7
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx
 
Patrones GRASP de tipo de bajo acoplamiento
Patrones GRASP de  tipo de bajo acoplamientoPatrones GRASP de  tipo de bajo acoplamiento
Patrones GRASP de tipo de bajo acoplamiento
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Anexo 9 actividad 1 glosario de términos especificos utilizados en la red 13...
Anexo 9 actividad 1 glosario de términos especificos utilizados en la red  13...Anexo 9 actividad 1 glosario de términos especificos utilizados en la red  13...
Anexo 9 actividad 1 glosario de términos especificos utilizados en la red 13...
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
 
GLOSARIO
GLOSARIOGLOSARIO
GLOSARIO
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo
 
Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 

Último

introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesgovovo2388
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorkavowog624
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimientoMaxanMonplesi
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdfnicolascastaneda8
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONJuan Carlos Meza Molina
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 

Último (20)

introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
4º Clase Laboratorio (2024) Completo Mezclas Asfalticas Caliente (1).pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 

Arquitectura depaquetes

  • 1. > PAPER #2 < 1 Abstract - Design patterns are descriptions of related classes and objects that are adapted to solve a general design problem in a given context. Design patterns in a series of criteria, which allow to give a superior quality to the program. Key Words: Design, Criteria, Packages, Classes. Resumen – Las arquitecturas de diseño de paquetes son agrupaciones de clases relacionadas que están adaptadas para resolver un problema de diseño general en un contexto determinado. Las arquitecturas de diseño de paquetes nos dan una serie de criterios, que permiten dar una calidad superior al programa. Palabras Clave: Diseño, Criterios, Paquetes, Clases. I. INTRODUCCIÓN Las clases son un medio necesario, pero insuficiente, para organizar un diseño. La Granularidad de paquetes se necesita para ayudar a poner orden. Pero, ¿cómo elegimos qué clases pertenecen a qué paquetes?, ¿cómo podemos saber que está bien diseñada la estructura de paquetes? A continuación, se resuelven las dudas enunciadas desde la perspectiva del libro Principles and Patterns de Robert C. Martin. II. DESARROLLO DE CONTENIDOS En los principios de arquitectura de paquetes se encuentran dos grandes apartados, que se muestran a continuación: A. Principios de Cohesión de Paquetes Este apartado establece que las clases en un mismo paquete se usan juntas. 1. The Release Reuse Equivalency Principle (REP): (principio de equivalencia de reutilización de liberación) Un elemento reutilizable, ya sea un componente, una clase o un grupo de clases, no puede ser reutilizado a menos que sea administrado por un sistema de liberación de algún tipo. El autor debe llevar un registro de los números de versión y versiones por un tiempo. Por lo tanto, un criterio para agrupar clases en paquetes es reutilizar. Dado que los paquetes son la unidad de liberación, son también la unidad de reutilización. En consecuencia, los arquitectos deben agrupar las clases reutilizables en paquetes 2. The Common Closure Principle (CCP): (Principio de cierre común) Cuantos más Paquetes cambien en una versión dada, mayor es el trabajo para reconstruir y probar al momento de lanzamiento. Por lo tanto, nos gustaría minimizar el número de paquetes que cambian en cualquier ciclo de liberación dado del producto. Para lograrlo, agruparemos clases que pensamos que cambiarán juntas. 3. The Common Reuse Principle (CRP): (Principio de reusó común) Si las clases que no se usan juntas se agrupan juntas. Los cambios en clases que no tienen nada que ver con el paquete, seguirán forzando una nueva versión del paquete. B. Principios de Acoplamiento de Paquetes 1. The Acyclic Dependencies Principle (ADP): (Principio de dependencia acíclica) Las dependencias entre paquetes no deben formar ciclos cerrados. 2. The Stable Dependencies Principle (SDP): (Principio de dependencia estable) Las dependencias deben apuntar hacia la estabilidad, entendiendo estabilidad como la cantidad de trabajo necesario para realizar un cambio. Un buen camino para hacer que un paquete sea difícil de cambiar, es hacer que muchos paquetes dependan de él (muchos paquetes inestables dependen de uno estable). Métrica de estabilidad I = Ce / (Ca + Ce) Donde: • Ca (Afferent Coupling): dependencias entrantes, es decir, número de clases externas al paquete que dependen de clases internas al paquete. • Ce (Efferent Coupling): dependencias salientes, es decir, número de clases internas que dependen de clases externas. • I: inestabilidad. Toma valores en el intervalo [0, 1]. Cuanto menor sea su valor, mayor es la estabilidad del paquete. Oscar Hernandez Cepeda – 20152020019 Universidad Francisco José de Caldas Bogotá, Colombia. ojhernandezc@correo.udistrital.edu.co Principios de Arquitectura de Paquetes
  • 2. > PAPER #2 < 2 Aplicación de la métrica en el paquete lógica perteneciente al proyecto Figuras webs. Figura 1. Proyecto Java Web Figuras dibujables 𝐼 = 0 (1 + 0) = 0 3. The Stable Abstractions Principle (SAP): (Principio de abstracción estable) Los paquetes más estables deberían ser los paquetes más abstractos o los que contienen más abstracciones. Métrica de abstracción (abstractness) A = Na / Nc Donde: • Nc: número de clases en el paquete. • Na: número de clases abstractas o interfaces en el paquete. • A: abstracción (abstractness). Toma valores en el intervalo [0, 1]. Aplicación de la métrica en el paquete lógica perteneciente al proyecto Figuras webs (Figura 1). 𝐴 = 1 4 = 0.25 III. VENTAJAS • Todas estas métricas miden características de una arquitectura y nos pueden ayudar a analizar y cuantificar la estructura de dependencias de una aplicación. Aplicar los principios de diseño de paquetes permiten: • Alargar la vida útil del código. • Brindar soporte fácilmente al código. IV. CONCLUSIONES Al aplicar principios de arquitecturas de paquetes nos aseguramos de dar calidad al programa, pues un programa bien estructurado permite dar mayor facilidad de comprensión, y extensión. Las ideas fundamentales del texto de Robert Martin son: • Agrupar las clases reusables en paquetes que se puedan administrar y controlar. • Clases que cambian juntas pertenecen a un mismo grupo. • Clases que no son rehusadas juntas no deben ser agrupadas. • La dependencia entre paquetes no debe formar ciclos. • Entre más clases abstractas, mayor estabilidad del código. REFERENCIAS [1] Robert C Martin (2000), Principles and Patterns. First Author: Oscar Javier Hernandez Cepeda, estudiante Ingeniería de Sistemas Universidad Distrital Francisco José de Caldas, Bogotá.