2009-02-11 28 views
27

¿Cuál es una excelente manera de aprender un buen diseño de UML? ¿Con qué frecuencia dibuja diagramas (que no sean diagramas estáticos de clases)? ¿Cuál es la mejor fuente para aprenderlo?¿Cuál es la mejor fuente para aprender UML?

+0

Aquí también hay un gran tutorial para aprender todos los aspectos de UML2.0, todo explicado en términos simples: https://github.com/imalitavakoli/learn-uml2 – Ali

Respuesta

27

Creo que Martin Fowler's "UML Distilled" es el mejor libro para aprender la sintaxis de UML. Es sucinto y denso con información.

Desafortunadamente, conocer bien la sintaxis de UML no es lo mismo que saber diseñar.

+0

tan cierto sobre el diseño. Es muy fácil dejarse llevar por hacer demasiados detalles o hacer demasiado abstracto y hacer que su UML sea inútil. –

+0

UML no es lo mismo que dibujos de ingeniería. Algunas personas piensan que deberían serlo; Creo que están equivocados. – duffymo

+0

@duffymo, ¿cómo puedo hacer un mejor diseño con uml? – uzay95

9

Practical UML

UML Overview

lo sé, depende de lo grande que es el equipo. La clase/Secuencia/casos de uso es lo que más uso usé para mí, creo. Lo más importante no es el diagrama de uso excesivo, sino que el objetivo principal es ayudar a la comunicación entre los equipos, ayudar a comprender las cosas de la misma manera, no solo hacer algunos diagramas inútiles y no usarlos.

Sin embargo, un sistema muy complejo desarrollado por un grupo de equipos, obviamente requiere más diagramas, creo, solo para asegurarse de que todos sepan lo que están haciendo y cómo se relacionan las cosas en el sistema. Hoy en día existen herramientas bastante buenas que ayudan a modelar.

+1

+1: UML no reemplaza el código. Puede intentar llegar a un nivel de detalle de "programación con imágenes", pero no ayuda. –

3

Hubo un proyecto en el que trabajé donde utilizamos Enterprise Architect para hacer diagramas UML que hicimos una ronda de ida y vuelta (ingeniería directa e inversa) con el código fuente C#.

It (UML) no era bueno definiendo la implementación de cada método (usando diagramas de secuencia), pero estaba bien definir las firmas de interfaces y de clases (es decir, las declaraciones, no las definiciones, de los métodos).

era útil, ya que podría tener:

  • Un diagrama que muestra cómo un grupo de clases de interactuar (mientras que con el código fuente que se ve clases uno a la vez)

  • diferentes diagramas con diferentes grupos de clases; y a veces la misma clase puede aparecer en más de un diagrama.

Esto fue para un proyecto en el que era un requisito para crear documentación de diseño, con la rastreabilidad de los casos de uso a través del diseño.

Cuestiones relacionadas