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 relev...
Son abstracciones.
Permiten razonar algún aspecto de una idea,
concepto o sistema, omitiendo los detalles que
no son relev...
Son abstracciones.
Permiten razonar algún aspecto de una idea,
concepto o sistema, omitiendo los detalles que
no son relev...
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...
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...
¿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 l...
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar l...
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar l...
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar l...
Diagnóstico de un sistema
Hecho con tecnología de punta (circa 2009)
Muy caro implementar nueva funcionalidad o
modificar l...
¿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
Ser...
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Ser...
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Ser...
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Ser...
¿Modularizar funcionalidad?
View 1 View 3 View 4
Service 1
Service 2
Service 3
Service 4
Service 5
Service 6
Service 7
Ser...
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
Ser...
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...
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...
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....
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,
Su...
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
En...
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
En...
Ventajas de la DSM
Información concisa.
Visualización.
Permite identificar patrones.
Clusters, módulos críticos, bucles,
En...
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 r...
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede r...
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede r...
Resúmen
La estructura estática de un sistema son
componentes, módulos y relaciones entre
estos.
Ésta estructura se puede r...
Referencias
Sunday, July 7, 13
Preguntas
Agustín Ramos
@MachinesAreUs
Sunday, July 7, 13
Upcoming SlideShare
Loading in …5
×

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

987 views

Published on

http://sg.com.mx/sgce/2013/sessions/t%C3%A9cnicas-basadas-matriz-estructura-dise%C3%B1o

Los modelos nos ayudan a razonar de manera más sencilla cierto aspecto de un sistema. Dibujar dos rectángulos sobre una hoja de papel unidos por una línea es una herramienta poderosa, ya que al introducir una abstracción nos ayuda a razonar sin necesidad de tanto detalle y a comunicar sin necesidad de tantas palabras. En el mundo del software, los modelos que gran cantidad de desarrolladores utilizamos se limitan a los existentes en UML o similares. Pero hay un problema: cuando el objetivo es diseñar o analizar estructuras grandes y complejas, estos modelos a menudo resultan incomprensibles. ¿Qué hacer? Buscar otro tipo de modelos.

La matriz de estructura de diseño (DSM, por sus siglas en inglés) es una representación compacta de la estructura de un sistema, la cual es susceptible a análisis visual e interactivo, pero también a la aplicación de algoritmos provenientes en su mayoría de la teoría de grafos. Estos algoritmos pueden, por ejemplo:

* Encontrar la arquitectura en capas real del sistema (y no lo que está planteada en un documento).
* Encontrar los submódulos "naturales" de un sistema.
* Encontrar dependencias no deseadas entre módulos.
* Sugerir re-agrupaciones de módulos para simplificar la estructura.

Las DSM's no solo se utilizan para modelar software, también se utilizan para modelar sistemas de ingeniería, productos y características, procesos, organizaciones e incluso interacciones entre dominios distintos.

En esta plática introduciré los conceptos y técnicas básicas para comenzar a utilizar las DSM's y presentaré algunos ejemplos en vivo con algunas herramientas.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
987
On SlideShare
0
From Embeds
0
Number of Embeds
467
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Técnicas Basadas en Matriz de Estructura de Diseño Agustín Ramos Fonseca Sunday, July 7, 13
  2. 2. El poder de los modelos Sunday, July 7, 13
  3. 3. Sunday, July 7, 13
  4. 4. Sunday, July 7, 13
  5. 5. Sunday, July 7, 13
  6. 6. Los modelos... Sunday, July 7, 13
  7. 7. Son abstracciones. Los modelos... Sunday, July 7, 13
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. Sunday, July 7, 13
  12. 12. Se usa para... Sunday, July 7, 13
  13. 13. Diseñar Se usa para... Sunday, July 7, 13
  14. 14. Diseñar Documentar Se usa para... Sunday, July 7, 13
  15. 15. Diseñar Documentar Analizar Se usa para... Sunday, July 7, 13
  16. 16. Diseñar Documentar Analizar ... ¿analizar?! Se usa para... Sunday, July 7, 13
  17. 17. ant Sunday, July 7, 13
  18. 18. Fragmento de vert.x Sunday, July 7, 13
  19. 19. Problemas con UML Sunday, July 7, 13
  20. 20. Problemas con UML De manera práctica, NO escala muy bien. Sunday, July 7, 13
  21. 21. 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
  22. 22. 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
  23. 23. ¿y ya? Sunday, July 7, 13
  24. 24. Una anécdota Sunday, July 7, 13
  25. 25. Diagnóstico de un sistema Sunday, July 7, 13
  26. 26. Diagnóstico de un sistema Hecho con tecnología de punta (circa 2009) Sunday, July 7, 13
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. ¿Modularizar?... Sunday, July 7, 13
  33. 33. ¿Modularizar funcionalidad? Sunday, July 7, 13
  34. 34. ¿Modularizar funcionalidad? View 1 View 3 View 4View 2 Sunday, July 7, 13
  35. 35. ¿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
  36. 36. ¿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
  37. 37. ¿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
  38. 38. ¿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
  39. 39. ¿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
  40. 40. Sunday, July 7, 13
  41. 41. Jesús Figueroa Nazuno Sunday, July 7, 13
  42. 42. Jesús Figueroa Nazuno Físico - Computólogo - Investigador - Mentor Sunday, July 7, 13
  43. 43. Sunday, July 7, 13
  44. 44. “Machine Learning” conocer tú debes (circa 2000) Sunday, July 7, 13
  45. 45. Clustering Sunday, July 7, 13
  46. 46. Clustering Sunday, July 7, 13
  47. 47. Clustering Sunday, July 7, 13
  48. 48. Clustering Encontrar grupos que minimizan dos valores: Sunday, July 7, 13
  49. 49. Clustering Encontrar grupos que minimizan dos valores: Número de grupos. Sunday, July 7, 13
  50. 50. Clustering Encontrar grupos que minimizan dos valores: Número de grupos. Interacción entre los grupos. Sunday, July 7, 13
  51. 51. Clustering Jerárquico Sunday, July 7, 13
  52. 52. Clustering de Grafos Sunday, July 7, 13
  53. 53. ¿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
  54. 54. 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
  55. 55. 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
  56. 56. Clustering Sunday, July 7, 13
  57. 57. Clustering Multi-Domain Matrix Analysis Sunday, July 7, 13
  58. 58. Matriz de Estructura de Diseño (DSM) Sunday, July 7, 13
  59. 59. DSM básica Sunday, July 7, 13
  60. 60. DSM con pesos Sunday, July 7, 13
  61. 61. DSM jerárquica Sunday, July 7, 13
  62. 62. DSM jerárquica Sunday, July 7, 13
  63. 63. DSM jerárquica Sunday, July 7, 13
  64. 64. DSM jerárquica Sunday, July 7, 13
  65. 65. Análisis de DSM Sunday, July 7, 13
  66. 66. Triangularización Reordenar las filas y columnasde tal manera que todas las interacciones queden por debajo de la diagonal. Sunday, July 7, 13
  67. 67. Triangularización Sunday, July 7, 13
  68. 68. Triangularización Sunday, July 7, 13
  69. 69. Dependencias cíclicas Sunday, July 7, 13
  70. 70. Dependencias cíclicas Sunday, July 7, 13
  71. 71. Dependencias cíclicas Sunday, July 7, 13
  72. 72. Dependencias cíclicas Sunday, July 7, 13
  73. 73. Clustering Sunday, July 7, 13
  74. 74. 2 Clusters sin traslape Sunday, July 7, 13
  75. 75. 3 clusters sin traslape Sunday, July 7, 13
  76. 76. 2 clusters con traslape Sunday, July 7, 13
  77. 77. 3 clusters con traslape Sunday, July 7, 13
  78. 78. Demo Sunday, July 7, 13
  79. 79. Sunday, July 7, 13
  80. 80. Sunday, July 7, 13
  81. 81. Sunday, July 7, 13
  82. 82. Sunday, July 7, 13
  83. 83. Sunday, July 7, 13
  84. 84. Sunday, July 7, 13
  85. 85. Sunday, July 7, 13
  86. 86. Sunday, July 7, 13
  87. 87. Sunday, July 7, 13
  88. 88. Sunday, July 7, 13
  89. 89. Sunday, July 7, 13
  90. 90. Sunday, July 7, 13
  91. 91. Sunday, July 7, 13
  92. 92. Sunday, July 7, 13
  93. 93. Sunday, July 7, 13
  94. 94. Ventajas de la DSM Sunday, July 7, 13
  95. 95. Ventajas de la DSM Información concisa. Sunday, July 7, 13
  96. 96. Ventajas de la DSM Información concisa. Visualización. Sunday, July 7, 13
  97. 97. Ventajas de la DSM Información concisa. Visualización. Permite identificar patrones. Sunday, July 7, 13
  98. 98. Ventajas de la DSM Información concisa. Visualización. Permite identificar patrones. Clusters, módulos críticos, bucles, Sunday, July 7, 13
  99. 99. Ventajas de la DSM Información concisa. Visualización. Permite identificar patrones. Clusters, módulos críticos, bucles, Entendimiento intuitivo. Sunday, July 7, 13
  100. 100. 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
  101. 101. 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
  102. 102. Otros usos Sunday, July 7, 13
  103. 103. MARS Path Finder Sunday, July 7, 13
  104. 104. MARS Path Finder Sunday, July 7, 13
  105. 105. Rediseño de Mozilla Sunday, July 7, 13
  106. 106. Resúmen Sunday, July 7, 13
  107. 107. Resúmen La estructura estática de un sistema son componentes, módulos y relaciones entre estos. Sunday, July 7, 13
  108. 108. 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
  109. 109. 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
  110. 110. 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
  111. 111. 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
  112. 112. Referencias Sunday, July 7, 13
  113. 113. Preguntas Agustín Ramos @MachinesAreUs Sunday, July 7, 13

×