¿Qué diagramas UML todavía se usan ampliamente? [cerrado]


19

Enseño ingeniería de software a nivel de pregrado y tengo una pregunta para los profesionales de UML.

La mayoría de los libros de texto de ingeniería de software hacen un gran esfuerzo para cubrir los diagramas UML. Pero, por otro lado, escuché de muchos graduados que UML ya no parece usarse en las trincheras.

¿Qué diagramas UML todavía se usan ampliamente en la práctica profesional y por qué? ¿Hay diagramas que ya no se usan y por qué?

NB: para evitar debates y debates basados ​​en opiniones, ilustre su respuesta con elementos objetivos y objetivos (si es posible, verificables) u observaciones neutrales sobre la experiencia personal


10
No lo sabemos No realizamos encuestas para descubrir cosas como esta.
Robert Harvey

3
Su pregunta se basa principalmente en la opinión. Estoy usando mucho UML, pero encontrarás que muchas personas responden "UML está muerto".
qwerty_so

1
softwareengineering.stackexchange.com/q/305031/40065 es una pregunta muy relacionada (casi duplicada, pero formulada de manera muy diferente)
Basile Starynkevitch

1
¿Pero quizás UML ya no se usa mucho (en la vida real)? Ese fue mi punto! Entonces la respuesta a su pregunta sería: ninguna .
Basile Starynkevitch

1
Cuando UML era joven, Martin Fowler escribió el libro UML destilado , que se convirtió en una referencia de escritorio para muchos programadores. Algunos años después, Martin escribió breves notas prácticas de aplicación UmlAsSketch , UmlAsNotes , UnwantedModelingLanguage .
Nick Alexeev

Respuestas:


15

De los muchos diagramas propuestos por UML, los diagramas de clase y los diagramas de secuencia todavía se usan ampliamente, ciertamente seguidos de diagramas de estado:

  • se pueden usar fácilmente en pizarras blancas para elaborar y discutir el diseño antes de saltar al código
  • Permiten transmitir muy rápidamente una visión general que el código por sí solo no da tan fácilmente, y no hay un sustituto viable para ello.

Creo que los casos de uso en la vida real se usan de manera más ocasional. En grandes proyectos, con varios cientos de casos de uso, los diagramas son dolorosos de dibujar y proporcionan pocos beneficios sobre una forma tabular. BPMN para diseño de procesos, mapeo de historias de usuario o descomposición tabular de eventos en un estilo Cockburn son mucho más utilizados. Por qué ? Porque se comparten más fácilmente con los usuarios de negocios para resolver de manera eficiente los requisitos.

Estoy seguro de que son lugares donde UML todavía se usa de manera sistemática y en gran medida. No me imagino que el software aeroespacial o los sistemas de control de centrales nucleares se produzcan sin el conjunto completo de documentación UML. Pero creo que es más la excepción que la regla.

Me siento confirmado en esta declaración cuando busco en las librerías. Hace un par de años, puedes encontrar muchos libros en UML 2.0. Hoy en día, si está buscando UML 2.5, la elección es bastante restringida. Peor aún: muchos autores ni siquiera hacen el esfuerzo de revisar sus antiguos libros para mantenerlos actualizados (por ejemplo: la agradable introducción " UML destilada " de Fowler que todavía data de 2003 con UML 2.0 y lo mismo para los Elementos de Ambler de estilo UML 2.0 "!).

No creo que cambie esta tendencia decreciente, considerando la generalización de ágil y su promoción de "Software de trabajo sobre documentación completa".

Al final, afirmaría muy provocativamente que los métodos de modelado parecen seguir un esquema darwinista: solo sobrevivirá la técnica de diagramación más adecuada, las que proporcionan una clara ventaja sobre los enfoques informales (por ejemplo, la ilustración de la servilleta) y el código detallado (por ejemplo, ¿Por qué dibujar un diagrama de actividad A1, cuando el código correspondiente podría caber en una hoja A4?) ;-)


Ver también agilemodeling.com
xmojmr

44
"¿Por qué dibujar un diagrama de actividad A1, cuando el código correspondiente podría caber en una hoja A4?" Perfecto.
nbubis

Bueno, según mi propia experiencia, en bastante modelación de la compañía se vio que tiene una pérdida de tiempo, solo codifica ...
Walfrat

@Christophe ¿Qué es una "ilustración de servilleta"?
Rugk

@rugk Me refería a los diagramas informales simplificados que dibujas al discutir el diseño a la hora del almuerzo ( sé que es un mal hábito ) en una servilleta de papel o un mantel de papel, que todos entienden y que a veces llevas de vuelta a la oficina cuando te das cuenta de que en realidad resolvió tu problema.
Christophe

7

Por otro lado, escuché de muchos graduados que UML ya no parece ser usado en las trincheras.

Todos se usan en la práctica. Pero no todos los usan. Algunas personas evitan el diseño por completo y pasan directamente a la codificación. No se puede confiar en la evidencia anecdótica para saber qué hace "todos".

Las herramientas como UML funcionan mejor si las usas cuando agregan valor ; p.ej

  • para proyectos más grandes
  • para partes complicadas de un proyecto
  • cuando el diseño del proyecto requiere aportes de varias personas

Crearlos solo por hacerlos (o porque el proceso dice que debes hacerlo) no es productivo. La mejor práctica es ser selectivo en lo que diagrama y qué tipos utiliza. Use UML cuando y donde ayude ... y eso incluye ser selectivo de los tipos de diagramas UML que usa.

Además ... UML fue diseñado principalmente como una herramienta de diseño. No es tan efectivo (en estos días) como una herramienta de documentación. Los IDE típicos le ayudan a visualizar muchos aspectos si se estructura una base de código sobre la marcha. Esto es a menudo mejor que confiar en diagramas UML que pueden haber quedado desactualizados / inexactos.


3

UML todavía se usa en las trincheras. Pero, como siempre, la gente usa un subconjunto. Qué subconjunto está sujeto a los problemas en cuestión.

UML viene en muchas versiones. Pero, como siempre, la gente usa sus símbolos de manera informal e inconstante.

UML es cómo entendemos gran parte de los libros de patrones que existen. También es una de las formas en que nos comunicamos en la pizarra. No se ha ido Pero nunca se usará tan formalmente como el código.

En lugar de producir estudiantes que puedan corregir cualquier diagrama UML para cumplir con la versión 2.5 de UML , o lo que sea más reciente, produzcan estudiantes que puedan entender lo que el diagrama está tratando de comunicar, incluso si no es totalmente consistente con una versión UML particular porque es cómo se usa UML en las trincheras. Viene en dialectos locales extraños, mezclados con otros sistemas, y algunas veces inventamos nuestros propios símbolos.

Enséñeles que está bien preguntar qué significan las cosas. No les enseñe a corregir a otros que están rompiendo algunas reglas imaginarias. Solo estamos tratando de comunicarnos aquí.

El mejor uso que he visto en uml es dejar que un nuevo programador nos muestre su plan para resolver un problema. Rápidamente nos mostró las partes del sistema que habían descuidado o que no sabían que existían.

También he trabajado en lugares que requieren UML incluso cuando no son necesarios. Siempre usamos el mismo patrón, así que fue solo una formalidad. Llegamos al punto en el que acabamos de comprar nuevos nombres en diagramas antiguos. No aliente este tipo de uso.

Pero creo que todos sabemos que hay una diferencia entre la punta de flecha normal y la punta de flecha abierta. ¿Derecho?


0

Voy a ser específico de acuerdo con mi experiencia: - Diagrama de implementación - Diagrama de secuencia - Diagrama de clases Los tres son los más utilizados en cualquier proyecto, proporcionan un valor de comunicación real con el equipo en diferentes niveles.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.