SlideShare una empresa de Scribd logo
1 de 113
Técnicas Basadas en Matriz
de Estructura de Diseño
Agustín Ramos Fonseca
Sunday, July 7, 13
El poder de los
modelos
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Los modelos...
Sunday, July 7, 13
Son abstracciones.
Los modelos...
Sunday, July 7, 13
Son abstracciones.
Permiten razonar algún aspecto de una idea,
concepto o sistema, omitiendo los detalles que
no son relevantes.
Los modelos...
Sunday, July 7, 13
Son abstracciones.
Permiten razonar algún aspecto de una idea,
concepto o sistema, omitiendo los detalles que
no son relevantes.
Permiten comunicar de manera más sencilla
una idea compleja.
Los modelos...
Sunday, July 7, 13
Son abstracciones.
Permiten razonar algún aspecto de una idea,
concepto o sistema, omitiendo los detalles que
no son relevantes.
Permiten comunicar de manera más sencilla
una idea compleja.
Siempre y cuando las personas involucradas
compartan el contexto que el modelo asume.
Los modelos...
Sunday, July 7, 13
Sunday, July 7, 13
Se usa para...
Sunday, July 7, 13
Diseñar
Se usa para...
Sunday, July 7, 13
Diseñar
Documentar
Se usa para...
Sunday, July 7, 13
Diseñar
Documentar
Analizar
Se usa para...
Sunday, July 7, 13
Diseñar
Documentar
Analizar
... ¿analizar?!
Se usa para...
Sunday, July 7, 13
ant
Sunday, July 7, 13
Fragmento de vert.x
Sunday, July 7, 13
Problemas con UML
Sunday, July 7, 13
Problemas con UML
De manera práctica, NO escala muy bien.
Sunday, July 7, 13
Problemas con UML
De manera práctica, NO escala muy bien.
Es difícil mantener el modelo en sincronía
con el código.
Sunday, July 7, 13
Problemas con UML
De manera práctica, NO escala muy bien.
Es difícil mantener el modelo en sincronía
con el código.
Es difícil realizar análisis arquitectónico.
Sunday, July 7, 13
¿y ya?
Sunday, July 7, 13
Una anécdota
Sunday, July 7, 13
Diagnóstico de un sistema
Sunday, July 7, 13
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Sunday, July 7, 13
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar la existente.
Sunday, July 7, 13
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar la existente.
Muy frágil.
Sunday, July 7, 13
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar la existente.
Muy frágil.
Deseo de modularizarlo y productizarlo.
Sunday, July 7, 13
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar la existente.
Muy frágil.
Deseo de modularizarlo y productizarlo.
Pero no tenían idea de cómo.
Sunday, July 7, 13
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar la existente.
Muy frágil.
Deseo de modularizarlo y productizarlo.
Pero no tenían idea de cómo.
Sunday, July 7, 13
¿Modularizar?...
Sunday, July 7, 13
¿Modularizar funcionalidad?
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4View 2
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Service 8
Service 9
Service 10
View 2
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Service 8
Service 9
Service 10
View 2
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Service 8
Service 9
Service 10
View 2
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Service 8
Service 9
Service 10
View 2
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Service 8
Service 9
Service 10
Es un grafo...
View 2
Sunday, July 7, 13
Sunday, July 7, 13
Jesús Figueroa Nazuno
Sunday, July 7, 13
Jesús Figueroa Nazuno
Físico - Computólogo - Investigador - Mentor
Sunday, July 7, 13
Sunday, July 7, 13
“Machine Learning”
conocer tú debes (circa 2000)
Sunday, July 7, 13
Clustering
Sunday, July 7, 13
Clustering
Sunday, July 7, 13
Clustering
Sunday, July 7, 13
Clustering
Encontrar grupos que minimizan dos
valores:
Sunday, July 7, 13
Clustering
Encontrar grupos que minimizan dos
valores:
Número de grupos.
Sunday, July 7, 13
Clustering
Encontrar grupos que minimizan dos
valores:
Número de grupos.
Interacción entre los grupos.
Sunday, July 7, 13
Clustering Jerárquico
Sunday, July 7, 13
Clustering de Grafos
Sunday, July 7, 13
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Service 8
Service 9
Service 10
Es un grafo...
View 2
Sunday, July 7, 13
Representación
Matricial
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
View 1 x x
View 2 x x x x
View 3 x x x
View 4 x x x x
Sunday, July 7, 13
Representación
Matricial
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
View 1 x x
View 2 x x x x
View 3 x x x
View 4 x x x x
Sunday, July 7, 13
Clustering
Sunday, July 7, 13
Clustering
Multi-Domain
Matrix
Analysis
Sunday, July 7, 13
Matriz de Estructura de
Diseño (DSM)
Sunday, July 7, 13
DSM básica
Sunday, July 7, 13
DSM con pesos
Sunday, July 7, 13
DSM jerárquica
Sunday, July 7, 13
DSM jerárquica
Sunday, July 7, 13
DSM jerárquica
Sunday, July 7, 13
DSM jerárquica
Sunday, July 7, 13
Análisis de DSM
Sunday, July 7, 13
Triangularización
Reordenar las filas y
columnasde tal manera que
todas las interacciones
queden por debajo de la
diagonal.
Sunday, July 7, 13
Triangularización
Sunday, July 7, 13
Triangularización
Sunday, July 7, 13
Dependencias cíclicas
Sunday, July 7, 13
Dependencias cíclicas
Sunday, July 7, 13
Dependencias cíclicas
Sunday, July 7, 13
Dependencias cíclicas
Sunday, July 7, 13
Clustering
Sunday, July 7, 13
2 Clusters sin traslape
Sunday, July 7, 13
3 clusters sin traslape
Sunday, July 7, 13
2 clusters con traslape
Sunday, July 7, 13
3 clusters con traslape
Sunday, July 7, 13
Demo
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Sunday, July 7, 13
Ventajas de la DSM
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Visualización.
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
Entendimiento intuitivo.
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
Entendimiento intuitivo.
Análisis cuantitativo y algorítmico.
Sunday, July 7, 13
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
Entendimiento intuitivo.
Análisis cuantitativo y algorítmico.
Flexibilidad
Sunday, July 7, 13
Otros usos
Sunday, July 7, 13
MARS Path Finder
Sunday, July 7, 13
MARS Path Finder
Sunday, July 7, 13
Rediseño de Mozilla
Sunday, July 7, 13
Resúmen
Sunday, July 7, 13
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Sunday, July 7, 13
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede representar con un
grafo.
Sunday, July 7, 13
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede representar con un
grafo.
Y por lo tanto con una matriz: DSM
Sunday, July 7, 13
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede representar con un
grafo.
Y por lo tanto con una matriz: DSM
Una DSM presenta ventajas para el análisis de
la arquitectura de sistemas.
Sunday, July 7, 13
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede representar con un
grafo.
Y por lo tanto con una matriz: DSM
Una DSM presenta ventajas para el análisis de
la arquitectura de sistemas.
Sunday, July 7, 13
Referencias
Sunday, July 7, 13
Preguntas
Agustín Ramos
@MachinesAreUs
Sunday, July 7, 13

Más contenido relacionado

Más de Agustin Ramos

BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamiento
Agustin Ramos
 

Más de Agustin Ramos (10)

Programación funcional con haskell
Programación funcional con haskellProgramación funcional con haskell
Programación funcional con haskell
 
Acercándose a la entrega continua
Acercándose a la entrega continuaAcercándose a la entrega continua
Acercándose a la entrega continua
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrencia
 
Arquitecturas que crecen y arquitecturas que no
Arquitecturas que crecen y arquitecturas que noArquitecturas que crecen y arquitecturas que no
Arquitecturas que crecen y arquitecturas que no
 
Arqueología de software
Arqueología de softwareArqueología de software
Arqueología de software
 
Hola OSGi
Hola OSGiHola OSGi
Hola OSGi
 
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
Desarrollo Dirigido por Comportamiento (con Cucumber y Groovy)
 
BDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamientoBDD - Desarrollo dirigido por comportamiento
BDD - Desarrollo dirigido por comportamiento
 
La nueva imagen del gurú - El maestro artesano dentro del ingeniero
La nueva imagen del gurú - El maestro artesano dentro del ingenieroLa nueva imagen del gurú - El maestro artesano dentro del ingeniero
La nueva imagen del gurú - El maestro artesano dentro del ingeniero
 
Modularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidraModularización efectiva - domando a la hidra
Modularización efectiva - domando a la hidra
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

Técnicas basadas en matriz de estructura de diseño