Pregunta

He tenido un tiempo difícil que se sienta delante de UML y obtener el valor de ella, ya que casi parece tanto trabajo como la programación (si se utiliza un lenguaje expresivo). Me parece que la escritura de lenguaje natural me dice más acerca de un proyecto de software de creación de diagramas complicados. Soy nuevo en UML sin embargo y me preguntaba de otras personas que conozcan bien UML:

  1. ¿Es UML pena todo el tiempo que se tarda en aprender / hacer, incluso para los proyectos de pequeñas y medianas?
  2. ¿Puede así elaborado documentos de diseño, mientras que el nivel todavía más alto, son suficientes para mantener los programadores en el objetivo de crear el código correcto, incluso en equipos?
¿Fue útil?

Solución

No creo que UML es suficiente por sí solo.

  

He tenido un tiempo difícil que se sienta delante   de UML y obtener el valor de ella   ya que casi parece como mucho   trabajo como la programación (si utiliza una   lenguaje expresivo).

Estoy de acuerdo con esto. UML puede proporcionar firmas de método, pero no se debe rellenar la carne del método. Peor aún, no se puede hacer nada que se acerque TDD con UML. Puestos a elegir, prefiero tener TDD y el código de funcionamiento de los diagramas UML.

  

Me parece que el lenguaje natural de la escritura   me dice más acerca de un proyecto de software   que la creación de diagramas complicados.

en el clavo. Las fotografías pueden ser útiles, a menos que sean malas imágenes. Los diagramas de secuencia tienden a ser increíblemente complicado para todos, pero triviales flujos.

  

es UML pena todo el tiempo que se tarda en   aprender / hacer, incluso para pequeñas y medianas   proyectos?

Los vendedores y los arquitectos le dirá que UML es indispensable, pero no están de acuerdo. Caigo en el campo "skecher" de UML usuarios .

  

Puede bien elaborado documentos de diseño,   mientras que el nivel todavía más alto, son suficientes para   mantener a los programadores en el objetivo de crear   el código correcto, incluso en equipos?

No sé lo suficiente para mantener a los programadores en el blanco, pero supongo que UML no es una gran parte de ella. Arquitectos tienden a encantar porque las herramientas UML a mantener ocupado, pero la mayoría de los desarrolladores no les importa más allá de cajas y flechas en pizarras blancas.

Otros consejos

Yo respondería:

No hay nada, absolutamente nada, sustituye a la necesidad de una buena comunicación entre los programadores en un equipo de programación y gestión.

Esto significa que un cierto nivel de descomponer la tarea en simple "lo que tenemos que hacer" declaraciones de gerentes y explicar cualquier obstáculo.

Yo trabajaba en un proyecto pequeño en el que toda la estructura de clases del programa fue diseñado por alguien en UML antes de cualquier código que está siendo escrito. Mucha, pero los diseñadores no previeron la forma en que las clases podrían ser utilizados, o la necesidad de cambiar ciertas estructuras de la lógica del programa mejor ajuste. Ellos simplemente echaron un diseño que pensaban que iba a funcionar.

Estoy todavía conocer a alguien que puede diseñar un programa en su cabeza y producir exactamente que cuando se escribe más allá de las cosas muy simple. El proceso es bastante orgánica y las cosas es necesario cambiar a lo largo del camino como programadores se dan cuenta de sus errores anteriores y los corrigen. Puedo ver por qué exceso de prestaciones comienza a ocurrir y aquí es donde la gestión necesidad de entender lo que está pasando, que mantenerse en el bucle y actualizada. Los buenos gerentes van a escuchar lo que sus programadores les están diciendo y ajustar en consecuencia lugares de interés turístico.

Así que, por sus dos opciones me gustaría ir para el documento de diseño de alto nivel: queremos que el software para hacer esto, se ejecutan en esta plataforma, aceptar este tipo de entrada y escupir este tipo de cosas a cabo. Que las obras, si lo anterior se mantiene a.

UML, en lo que a mí respecta, no vale la pena.

  1. No en mi opinión. Una vez hice un módulo de diseño orientado a objetos como parte de una Maestría en Ciencias de la Computación y UML apenas fue mencionado (aunque en mi opinión debería haber sido discutido mucho más debido a su influencia).

  2. Hay más margen para reducir las ambigüedades en el texto escrito que en un diagrama UML, la mayoría de daigrams UML dejan mucho margen para la interpretación. Después de haber dicho que soy un gran fan de la utilización de diagramas en los documentos de diseño de software y muchos de los diagramas UML son extremadamente sucinta: Despliegue, Estado, y actividad son mis favoritos. Al crear diagramas UML que trate de cumplir más o menos a las convenciones pero no los dejo en el camino si no pueden representar el concepto que estoy tratando de comunicarse.

No se puede ignorar por completo el UML como algunos de los diagramas son útiles cuando se trata de funcionalidad compleja o digamos proceso de flujo de trabajo de largo y escenarios en los que los desarrolladores pueden pasar por alto algunos casos en los escenarios no están dibujados / diseñada. Otra importancia de UML es para recordar en el futuro cómo funciona el sistema y cómo sus módulos se comunican entre sí para asegurarse de que el proyecto es escalable sin generar enormes errores que podrían ser infinitivo y serio. Por lo tanto del documento de diseño UML escrita y son importantes para cualquier medio o gran proyecto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top