Blog de Javier Smaldone

Todos los días se aprende algo viejo

Comentarios recientes

  • Raul en Si esto no es innovación... (perdón, Microsoft)
  • ruben en Genial trampa para mosquitos
  • maria en Fibertel, una porquería
  • gabriel en Fibertel y su proxy transparente
  • Pedro López Azcuénaga en Fibertel y su proxy transparente

48 comentarios

gux dijo:
17 de Noviembre de 2006 a las 10:38  

Buenas barrapuntero.

Interesantísimo el artículo, y muchas gracias por la traducción. Iba a leerme el enlace en inglés que has puesto, pero al leer una línea más abajo, y ver que tenías la traducción me has dado un alegrón :D

De UML opino absolutamente lo mismo, pero no lo podría haber expresado ni la mitad de bien.

PD: tengo tu blog en los rss desde el artículo que anunciaste en /. de programación de redes y concurrencia, porque me parece interesantísimo.

saludos

Xombra dijo:
17 de Noviembre de 2006 a las 21:04  

Excelente!!! observo con este artículo que no solo yo pienso de esa forma acerca del UML, que alivio :)

damian dijo:
17 de Noviembre de 2006 a las 22:50  

Guau! Nunca nadie habia resumido mis sentimientos de esa manera.

Bravo!

Gastón dijo:
19 de Noviembre de 2006 a las 9:31  

Che, es medio contradictorio que Google AdSense te publicite UML en el blog, justo en tu articulo contra UML.
Que paradoja..¿Como ganar plata criticando UML? jejeje.
Buenisimo el post.

Nestor dijo:
21 de Noviembre de 2006 a las 20:55  

¡Con razón me parecía tan ambigüo en mi curso de UML! :)

Sglez dijo:
23 de Noviembre de 2006 a las 6:35  

Alguien me puede decir cuál sería la mejor alternativa al uso del UML? o simplemente el UML es el menos peor hasta el momento?

Demian dijo:
23 de Noviembre de 2006 a las 14:27  

A mi no me parece tan terrible el estado en que se encuientra hoy dia la especificacion. Hay que tener en cuenta que cuando Mayer escribio eso eran los primeros pasos de UML ( y ademas para Mayer tenia mucho para perder con la salida de UML), hoy es mucho mas consistente que en aquel entonces.

Con respecto al planteo que haces sobre los caso de uso y el ooa/d creo que cometes un error, el pensar que los casos de uso tienden a imitar lo hecho y por ende limitar la creatividad tiene mas que ver con un mal uso de un artefacto de analisis y no habla del artefacto en si mismo.
Un sistema debe ser planteado desde distintas vistas y una de ellas es la vista del usuario (representada por casos de uso o por lo que a vos se te ocurra), eso no debe afectar la forma en que modeles tu sistema. Les recomiendo leer algo de Alistair Cockburn, el tiene una vision muy interesante sobre el uso de casos de uso para dirigir la construccion de un sistema.

De todas maneras me parece interesante poder cuestionr las cosas y me encantaria si te diera el tiempo en algun momento escribieras algun caso especifico donde hayas encontrado que el modelado con UML hace agua.

javier dijo:
23 de Noviembre de 2006 a las 16:48  

Demian:

Si bien debo reconocer que no he seguido el estado de UML, no creo que hayan simplificado de forma sensible la notación, ni salvado los inconvenientes centrales de la misma.

Con respecto a los casos de uso, la afirmación de que no son orientados a objetos proviene del hecho de que se pone énfasis en la secuencialidad. Y estoy de acuerdo en que podrían no utilizarse como la base del análisis, pero el Proceso Unificaco es propone un análisis totalmente “centrado en casos de uso” (como lo repiten una y otra vez en la bibliografía “oficial”). Dicho de otra forma, un análisis centrado en la secuencialidad de las acciones no es orientado a objetos.

Agradezco tu comentario y tu respeto por el disenso. Saludos!

Dario dijo:
25 de Noviembre de 2006 a las 20:36  

Ah, que lindo ver esto!! A mí también me reprobaron de un curso por criticar UML. De hecho, me echaron del curso y hasta el decano me hizo un llamado de atención personal por decir que era “una basura”. Poco sutil lo mío, lo sé, y contraproducente habida cuenta de que todavía no terminé la carrera por eso :(.

Tendrían que enseñar UML en el primer año de la carrera. No me hubieran robado cinco años de mi vida.

Un saludo y gracias por la traducción.

Jorge Nieves dijo:
25 de Noviembre de 2006 a las 21:50  

La verdad que concuerdo mas con algunos comentarios vertidos por Damian…a mi me parece que UML es monstruoso, pero nadie, absolutamente nadie te obliga a usar todos los diagramas y notaciones, etc que propone.

Y por ende en vez de preocuparnos po lo malo que puede ser UML debemos preocuparnos por ser pragmaticos para usarlo. Con esto quiero decir que si bien cada enemigo tiene su arma, en UML despues de 20 años de sistemas he encontrado una forma de representacion de sistemas por demas completa, eso es cierto, pero cada vez que necesite algo para describir y representar un sistema lo encontre.

Por otro lado es cierto que que hay otras metodologías que pueden ser mejores en algunos aspectos y en otros no, las muy cerradas optan por la falta de flexibilidad cuando dejamos de hablar de objetos o acaso pensamos que toda una solucion para una empresa es objetos? si muchas veces ni siquiera programamos una solucion sino que la integramos o la utilizamos para construir un Portal, un sistema o un tablero de comandos, veamos si el resto de las metodologías son eficientes para contemplar otras tecnologías o el uso de herramientas….ahi encontraras lo util de los Use Cases…

Sobre esto ultimo no comparto que los Use Cases sean secuenciales, pero será para debatir en profundidad, de hecho no vi nunca un Use Case que sea parecido solamente un workflow, sino mas bien un diagrama de posibilidad de interaccion que muy bien representa la realidad, mas que el hecho mismo de construir un artefacto de software.

Por ultimo comparar metodologías es cuasi imposible es como tratar de tapar la superficie de un cuadrado con un circulo (obvio que depende del diametro del circulo).

Igualmente la opinion de todos las respeto, pero me parece que Mayer de objetivo tiene NADA, o el no lucra con esto?

Saludos.

pesso dijo:
26 de Noviembre de 2006 a las 18:30  

¿UML tiene defifiencias? Dios si ¿Significa eso que no vale para nada? Pues va a ser que no. UML es una herramienta muy util de comunicación. Uno puede pasarse horas explicando como ve el sistema a un compañero o subordinado hasta que este entiende lo que le quieres decir. O puedes hacerte un diagrama UML en un rato y hacerte entender.

Por cierto que una cosa es el lenguaje de modelado y otra muy distinta la metodologia que se use. Hasta ahora nunca he usado la metodologia de los “tres amigos” pero si he usado, y bastante, UML.

GastonP dijo:
27 de Noviembre de 2006 a las 11:59  

Soy implementador de sistemas ERP en argentina, trabajo con sistemas bastante completos/complejos, el año pasado estuve en un proyecto de migracion de un erp completo de VB6 sobre sql server a C# sobre cualquier rdbms todo documentado con UML, onda hacer la piramide de Keops para dimensionarlo.
(ANtes que nada aclaro que soy funcional puro, de programacion nada (nada en serio bah, solo de oido)).
A los 6 meses del proyecto aun estabamos con el tema del diccionario en un .doc, BD en el visio de MS para tener la estructura de la BD siempre documentada, los casos de uso funcionales en .doc y los diagramas de interacccion de los CU en el EAP (Enterprise aplication no se que).
Obviamente cuando se habian gastado los primeros U$S120K se pudrio todo y se metio el proyecto al freezer (creo que no terminamos el alta de clientes siquiera).
EL comentario es que me asuste del uml, pero ahoraen todos los proyectos lo piden, pero…………CADA UNO USA EL UML COMO QUIERE, esto es increible, en dos entrevistas con los lideres de los potenciales proyectos me dieron ideas totalmente distintas del uso del uml….de hecho quisiera hacer un curso de uml y no sabria ni donde hacerlo.

Saludos a todos/as

30 de Noviembre de 2006 a las 4:10  

El diseñar en UML te sirve por lo menos para que el cliente vea lo que estás haciendo. Así viendo esos diagramas va a ver que trabajaste. Además se ve más profesional y por lo tanto puedes cobrar más :).

Jorge Nieves dijo:
5 de Diciembre de 2006 a las 11:50  

De acuerdo a este ultimo comentario, creo que hay que hacer varias cosas, lo primero es que coincido con la primer afirmación.

Lo segundo es un tipico error de un profesional de sistemas (o no) de creer que cuando uno trabaja en el desarrollo de un sistema, aplicación o lo que fuere, solo importa la parte técnica.

En mi experiencia la componente técnica en un proyecto de desarrollo es a lo sumo el 30% del total de la torta, de ahi lo importante de usar una metodologías para las distintas areas de un proyecto donde UML es solo una mas.

No creo, insisto, que UML sea la panacea, pero si creo en una frase que escuche hace muchos años, una mala metodología es mejor que ninguna y aca comzamos discutir otro aspecto, sera que actualmente nadie quiere usar metodología?

titox dijo:
7 de Diciembre de 2006 a las 3:21  

Estoy muy feliz de leer esto, porque ahora se que no soy el unico que piensa asi.

Lo que opino de UML es que, como dijeron mas arriba, “el producto final se ve mas profesional si se usa UML”. (O acaso no es mas lindo que cuando te compras un par de zapatos o lo que sea, te lo den en una linda bolsita de colores? :P )

Lo triste es que para vender hay que usar bolsita :(

Malvenido dijo:
19 de Diciembre de 2006 a las 4:15  

No estoy de acuerdo con que para que un producto sea profesional hay que usar UML. Para ser que un producto sea profesional tiene que ser de calidad y para hacer un producto de calidad no basta con usar solo una buena envoltura.

La documentacion es solo una herramienta para los que desarrollan sistemas, como herramienta tiene que ser util para los que estan desarrollando. Si el UML no es una herramienta util, no lo debes usar, tenes que usar una con la que el equipo de desarrollo sea realmente productivo y logre la calidad del producto.

El libro del Proceso Unificado dice que el proceso unificado es solo una forma de trabajo generica y que se puede amoldar.

Una cosa mas que se hayan gastado gran parte del presupuesto en documentar y no hayan avanzado nada en el proyecto no es probleam de la herramienta es problema del que lideraba el proyecto.

Malvenido dijo:
19 de Diciembre de 2006 a las 5:37  

Perdon por los horrores de ortografia, de semantica y de casi todo, los postie a las 4.30 de la mañana.

Fernando el mendocino dijo:
19 de Diciembre de 2006 a las 15:46  

Me llamó la atención la supina ignorancia que se observa en este artículo y por esa razón decidí usar parte de mi tiempo en responder.

Los errores que detecto en general son:

1) Se critican los efectos del mal uso del UML y se castiga al UML. Seguramente muchos apoyarían a quien critique a los políticos, pero eso no quiere decir que la política sea una disciplina mala.
2) Se critica al UML sin considerar que es una herramienta. Es como si se criticara a una pala: la pala es buena o mala según muchas consideraciones (contexto, momento, posibilidades, finalidad, etc.)
3) Se confunde en muchos momentos un lenguaje (UML) con un proceso de desarrollo de software; se están mezclando peras con manzanas

Voy a entrar en detalle. El autor, Javier Smaldone, comienza su exposición cometiendo errores a granel.
- El proceso unificado no es una metodología sino un proceso marco para el desarrollo de software; si no se puede distinguir eso, seguro se errará en su análisis
- El UML no está asociado al proceso unificado, dado que el UML es independiente de los procesos de desarrollo de software. A lo sumo, y siendo generoso, el proceso unificado está asociado al UML
- Plantea que el UML es poco expresivo. Yo puedo expresar lo que se me dé la gana con UML. Es más, hace un par de años biólogos franceses describieron el genoma humano con UML; ¡usaron UML para la biología y Smaldone dice que no expresivo!
- Dice que con el tiempo aprendió otras metodologías de diseño de sistemas y con eso se dio cuenta de que el UML no sirve: primero, me gustaría saber qué metodologías aprendió (seguro que nuevamente está opinando sin saber qué es una metodología); segundo, no basta con aprender diseño de sistemas para demostrar que UML sirve o no y tercero, si bien acepto que pueda haber adquirido experiencia en proyectos, dudo que sea la experiencia real necesaria para opinar sobre UML y decidir tan categóricamente si sirve o no.
- Plantea ignorantemente que es una pésima idea documentar el proceso de desarrollo de software con UML pero en realidad no sé en qué momento habrá documentado el proceso. Si bien UML es un lenguaje y permite expresar lo que uno quiera con él, normalmente no se documenta un proceso con UML.
- Plantea ignorantemente que es una pésima idea usar el proceso unificado para conducir un proceso de desarrollo. Es como decir que es pésimo usar una pala. Mi respuesta es: si querés peinarte, la pala es una pésima herramienta; si querés hacer un pozo, el peine es una pésima herramienta. La naturaleza de los procesos (iterativo e incremental, en cascada, por prototipos, etc.) depende de la naturaleza del proyecto en particular; ninguno es pésimo o excelente. Primero denme el problema y después diré si la herramienta es buena o no.
- Plantea temerariamente que la mayoría de los que se dedican a la orientación a objetos usan UML por la campaña publicitaria montada. ¿No será que la mayoría que se dedica a la orientación a objetos lo usa porque le sirve? ¿Y no será que, si lo usa la mayoría el equivocado puede ser Javier Smaldone?
- Plantea absurdamente que, a partir de una cita con errores, el negocio fue hacer UML a partir de entre 20 y 50 notaciones. Primero, no eran entre 20 y 50 sino más de 60. Segundo no eran notaciones, sino métodos; de hecho a esa época se la llamó la de “la guerra de los métodos”. Cuarto, dice que el encuentro decisivo se hizo en 1995 en Silicon Valley, cuando en realidad la idea del UML (en su origen el Unified Method) ya existía en OOPSLA ’94. Quinto, de la lectura del párrafo citado no se sigue la inutilidad del UML sino todo lo contrario.
- Plantea absurdamente que el UML no surge de una investigación. ¡Cómo puede saber que nadie investigó o si lo hizo fue sin la profundidad suficiente! ¿Conoce Javier la agenda de Booch o a sus colaboradores?
- El UML no nació para unificar notaciones diferentes, sino métodos. La prueba es que la primera versión del UML fue la 0.8 y se llamó Unified Method. ¿Entendiste de una vez, Javier, que “Method” no significa notación? Pero es claro que para vos método, notación, proceso, metodología no son términos demasiado claros, lo que hace que no estés a la altura de opinar al respecto y es la prueba de tu ignorancia para emitir los juicios temerarios que está emitiendo.
- Por otra parte, el negocio estaba antes del UML. Había más de 60 métodos (¿entendiste Javier?; dije “métodos”) justamente porque todos querían vender sus libros, sus consultorías, ganar prestigio, etc. haciendo lo mismo que los demás, pero necesitaban diferenciarse en algo y por eso proponían métodos distintos. Justamente Booch llamó a sincerarse, a que todos se unan para en vez de proponer lo mismo de distinto modo, propongan lo mismo del mismo modo.
- Booch, Rumbaugh y Jacobson no se asociaron para crear Rational. Booch estaba en Racional y Rumbaugh fue a trabajar allí desde General Electric. Jacobson se unió más o menos un año después (cuando de la versión 0.8 de Unified Method se pasó a la versión 0.9 del UML).
- Otra prueba de ignorancia absoluta es decir que se unieron apresuradamente y decir que salen cosas malas de los apuros, como el UML y el proceso unificado. El UML en realidad se aceptó como estándar en noviembre de 1997, después de tres años de trabajo y basado, además, en trabajos ya existentes ¿o acaso los diagramas de clases, de secuencias, de estados se inventaron en ese momento?
- Por otra parte el proceso unificado no surgió de allí tampoco. Proviene de muchos años de uso exitoso por parte de Jacobson en la empresa Ericsson, Suecia, bajo el nombre de Objectory. A tal punto es así, que el proceso unificado inicialmente se llamaba Objectory. Después su nombre mutó a “Rational Objectory Process” y por último “Rational Unified Process”. ¡Es increíble la ignorancia de Javier, pero peor que la use haciendo gala de opinólogo!
- Por último voy a las conclusiones de Javier, que así como Meyer llamó Cándido a su personaje, a Javier lo llamaría Ignorancio Smaldone.
- En las conclusiones dice que el UML es por demás complejo. No estoy de acuerdo, a no ser que el grado de complejidad que Javier sea capaz de soportar tenga niveles más bajos que el común de la gente con la que trabajo y no ve las cosas de ese modo.
- Javier dice que el UML no es orientado a objetos. ¡Fantástico, yo también lo afirmo! ¡Y los autores del UML lograron su objetivo! El UML no es orientado a objetos justamente porque entre sus objetivos es que sea un lenguaje amplio, que sea independiente de los lenguajes de programación, de los paradigmas y de los procesos de desarrollo. Ahora, en cuanto es un lenguaje, con él se pueden describir realidades orientadas a objetos, no orientadas a objetos u orientadas a lo que se nos dé la gana, recordemos a los biólogos franceses describiendo genoma humano que es…. ¡orientado a la biología!
- Dice temerariamente que el UML carece de una semántica formal. Decir eso es un absurdo, porque tiene una semántica formal. A lo sumo no tiene el grado de formalidad pretendido por Javier, pero me gustaría que le avise a los biólogos franceses, porque ellos eligieron al UML justamente por su formalidad. Y hasta el momento, la mayor parte de la comunidad informática opina lo contrario de Ignorancio Smaldone.
- Plantea que dificulta la reversibilidad. Primero, me gustaría saber qué es lo que Javier opina que debe ser reversible. ¡De hecho acabo de probar y pude escribir LMU en lugar de UML! ;-)

Saludos a todos. En otro momento la sigo con Meyer.

DanielC dijo:
19 de Diciembre de 2006 a las 16:20  

Evidentemente este planteo hecho por Fernando el mendocino reviste cierta parcialidad, ya que denota nunca haber utilizado esta herramienta para el desarrollo de software.
Claro está que para muchos la implementación de esta herramienta es más un negocio en vez de una verdadera necesidad.
Comparto el comentario de DementialDuck del 30 de Noviembre de 2006:
“El diseñar en UML te sirve por lo menos para que el cliente vea lo que estás haciendo. Así viendo esos diagramas va a ver que trabajaste. Además se ve más profesional y por lo tanto puedes cobrar más :).”
saludos

Fernando el mendocino dijo:
19 de Diciembre de 2006 a las 17:27  

Ahora voy a la carga por Meyer. Y por supuesto, Ignorancio Smaldone también va a ligar de vez en cuando algún garrotazo, por cómplice ;-)

- Simplemente para empezar, y para que se vea el grado de honestidad del autor, Bertrand Meyer fue parte de la creación del UML. De hecho, en los libros de la trilogía del UML se lo puede encontrar en la parte de agradecimientos. Por supuesto, quizás se quedó fuera del negocio y por eso empezó a criticarlo.
- Allí mismo, en esos agradecimientos aparece uno al Object Technology User’s Group, del que fui parte y en el que recibí numerosos mensajes, entre ellos del mismo Meyer haciendo aportes al UML.
- Pero la deshonestidad de Meyer y la ignorancia de Smaldone hicieron un cóctel explosivo que dio origen a esta discusión.
- Es muy gracioso que Ignorancio Smaldone hable del negocio que hay detrás del UML y después pegue una cita en donde se promocionan explícitamente productos tales como EiffelBench y EiffelCase ¡A no ser que los dueños de estos productos donen el 100% de las ganancias a UNICEF!
- Por otra parte, el negocio del UML no parece ser tan negocio desde el momento en que se entregó el UML al Object Management Group, su actual dueño. Pero a pesar de que el UML fue entregado al OMG y no así el BON o EiffelBench y EiffelCase, Ignorancio Smaldone ve sólo el problema del lado que él quiere verlo.
- A todo esto, ahora que me acuerdo, Ignorancio Smaldone escribió “método BON” cuando justamente la “N” de BON significa “Notation”. ¡Ignorancio, seguís confundiendo notación con método!
- Siguiendo con Meyer, y en cuanto a que BON es compacto, sirve para describir sistemas orientados a objetos y permite alcanzar proyectos de envergadura. Él mismo es deshonesto al saber que el UML posee un núcleo que permite lo mismo y que el mismo Booch menciona (cuando habla del 20% de UML que es necesario para modelar casi todo). Sin dudas Meyer se apropió de esa idea –y característica actual y real del UML- y ahora la usa para sus propósitos.
- Con malicia, Meyer dice que hay que “aprender toda esa complejidad monstruosa para construir diagramas de un posible sistema futuro” cuando sabe que no es cierto. Hemos construido muchos sistemas y de diversos tamaños con una notación que sólo necesitó como mucho una semana de entrenamiento no sólo en notación sino incluso partiendo de conceptos básicos.
- También Meyer dice que “al menos un lenguaje de programación, incluso el peor de ellos, es ejecutable”. ¿Y quién quiere ejecutar algo con UML? Está bueno para divertirse con la historia de Cándido Smith, pero no para criticar al UML
- Si alguien se asombró con el argumento de la “reversibilidad” de BON en contraposición a su carencia en el UML hay que destacar dos cosas: 1) el UML no tiene por qué ser reversible; es un lenguaje. Es como decir que la lengua española no viene con corrector ortográfico para hablar!!! Una cosa es el UML y otra la herramienta del mismo modo que lo es el español y el procesador de textos con el que estoy escribiendo esto; 2) salvada la falacia anterior, existen numerosas herramientas que permiten esa reversibilidad solicitada por Meyer. Entren a http://www.sparxsystems.com.ar y descarguen y prueben una herramienta que lo permite.
- Meyer reclama que el UML no es orientado a objetos cuando no lo es ni quiere serlo. Ya dije que en mi otro comentario que el UML nació para ser independiente de los lenguajes de programación, paradigmas y procesos de desarrollo. Y eso Meyer lo sabe bien.
- Lo que me llama la atención es la estupidez de Meyer. Veámoslo de este modo: ¿podría decir que el español no sirve porque alguien dijo un insulto? O lo que es lo mismo ¿podemos decir que el UML no es orientado a objetos porque alguien dibujó un diagrama no orientado a objetos con él, como lo expresa Meyer?
- Ahora Meyer presenta una enorme ignorancia, de la que se debe haber contagiado Smaldone, al decir que los casos de uso son semejantes al análisis top-down, cuando en realidad, al enseñar casos de uso lo primero que hacemos repetir a los asistentes es “no se equivoquen, un enfoque de casos de uso es diametralmente opuesto a la descomposición funcional”. Me parece que a Meyer le hace falta aprender el ABC y está haciendo lo mismo que Smaldone: hablar sin saber.
- Otra cuestión que Meyer ignora (¡¡¡y debería saber, si fue parte en la creación del UML!!!) es que es más que claro que los casos de uso son orientados a procesos y no a objetos y que la arquitectura del software no se desprende de ellos. Ellos simplemente (y no es poco!) soportan los requisitos funcionales del sistema y la arquitectura orientada a objetos del software surge en modelos bastante posteriores. Todo esto suponiendo que queremos desarrollar software orientado a objetos, porque en caso de querer hacerlo con otros lenguajes, el UML lo permitiría.
- Meyer llega a la locura de decir que el UML no le sirve a nadie. Supongamos que pudiera aceptar esta locura ¿cómo hago ahora para convencer a toda la gente a la que el UML le sirvió diciéndole “tenés que pensar que no te sirvió? ¿la hipnotizo para que repita eso?
- Por otra parte, con su ejemplo de la explosión del Ariane 5, Meyer confunde álgebra con estadística. Perdón, me equivoqué de disciplinas, quise decir dirección de proyectos de software y modelado de software. Pero da lo mismo, total, si para Meyer estas dos disciplinas son iguales también para mí lo pueden ser el álgebra y la estadística.
- Pregunta Meyer ¿cómo ayuda el UML a que el software sea robusto? El software será robusto intrínsecamente por las disciplinas de captura de requisitos y de programación, por ejemplo, y no por el UML. Este lenguaje simplemente les da soporte.
- También afirma Meyer categóricamente que “nada” del UML ayuda a la reutilización. Justamente la reutilización es una de mis especialidades (además de preparar buenas caipirinhas), por lo que no tengo problemas en compartir con Meyer lo que me ayudó el UML en esta disciplina. Agrego además que la reutilización depende más del proceso de reutilización en sí que del lenguaje; incluso reutilizamos muchas cosas que tenemos “soportadas” en lenguaje natural a pesar de que el castellano no se “creó” pensando en la reutilización.
- No voy a tomarme el trabajo de comentar el final del artículo de Meyer que, si bien es divertido, apunta a indicar que todo es un negocio luego de promover en este mismo artículo su nombre, el de otros autores, el de otra notación, el de herramientas CASE, etc. después de haber sido parte de la creación del UML.

Termino con un trabalenguas: lamento que Meyer no sepa distinguir entre proceso de desarrollo y lenguaje de modelado; más lamento que no quiera distinguirlo; y mucho más el saber que lo distingue, pero cuando escribió este artículo no le convenía mostrar que lo distingue.

Fernando el mendocino dijo:
19 de Diciembre de 2006 a las 17:31  

Perdón, me olvidé de algo. Si fuera como Meyer, en lugar de mi seudónimo “Fernando el mendocino” hubiera usado mi verdadero nombre así me contratan consultoría!!!

javier dijo:
19 de Diciembre de 2006 a las 21:48  

A pesar de las agresiones personales, dejaré intactos los comentarios del señor Fernando Pinciroli (”el mendocino”), como un ejemplo muy claro de la comisión de varias falacias lógicas.

Y no, no voy a hacer ningún comentario adicional ;)

Fernando el mendocino dijo:
23 de Diciembre de 2006 a las 15:52  

¡Cómo no se me ocurrió antes!!!
La verdad que, en lugar de haber respondido con cuidado y con precisión a cada error grosero, a cada opinión basada en la ignorancia, a cada mezcla de conceptos, etc., podría haber escrito:

“Los comentarios de Smaldone responden a varias falacias lógicas”… ¡y seguro hubiera quedado como un genio!!!

Fernando Pablo Incirillo, Mendoza

javier dijo:
23 de Diciembre de 2006 a las 17:38  

Finalmente, el razonamiento falaz es decorado con una mentira. :)

24 de Diciembre de 2006 a las 1:10  

Che, todo de muy lindo, pero vamo a toma una cervecita? y si quieren que vengan UML, MEYER, el Mendocino, total, con sacarse los ojos no van a ganar una mierda chichoneandose y mostrando cuanto saben… si al final es evidente que ninguno de los dos va a cambiar de opinion y a uml le chupa un huevo jajajjajaja

javier dijo:
24 de Diciembre de 2006 a las 19:43  

Analizando solamente los argumentos lógicamente válidos del señor Fernando Pinciroli (”el mendocino” o “Fernando Pablo Incirillo”), se me ocurrió publicar la traducción de un artículo de Dijkstra en donde responde a preguntas de alumnos de Ingeniería de Software.

En el mismo, pueden encontrarse varias explicaciones a la postura y visión de algunos “Ingenieros de Software”, como así también de la pobre calidad que, en general, poseen los sistemas que diseñan y construyen.

Si bien Dijsktra no hace referencia explicitamente a UML, cualquiera que conozca su visión de la programación entenderá que cae dentro de su categoría de “formalismos indeseables”.

25 de Diciembre de 2006 a las 15:28  

“Siguiendo con Meyer, y en cuanto a que BON es compacto, sirve para describir sistemas orientados a objetos y permite alcanzar proyectos de envergadura. Él mismo es deshonesto al saber que el UML posee un núcleo que permite lo mismo y que el mismo Booch menciona (cuando habla del 20% de UML que es necesario para modelar casi todo). Sin dudas Meyer se apropió de esa idea –y característica actual y real del UML- y ahora la usa para sus propósitos.”

No se porque me sorprendió el encontrar esto en medio de tantas palabras vituperosas. Dice todo. Fernando prefiere escribir mas que pensar. Si fuera el reves hubiera tratado de escribir en menos palabras, con palabras mejor organizados, y con espacio entre tus parafos.

Por supuesto que alquien que escribe sin pensar, sin demostrar pensamiento claro, tamnbién prefiere herramientas que incluye 80% basura inutil. Me recuerda de los parafos de Fernando. :)

Lo mas innecesario es insultar el dueño de la casa en su propio salon. Evitable, triste, y otra demostación de pensamiento nublado.

Los que leen este sitio y blog son los que por lo general piensan que Javier es intelligente y tiene algo interesante que decir. Para mi es un poco dificil leer todo este sitio puesto que solamente estoy apprendiendo el Castellaño, pero todavía vale la pena.

Lo que has hecho es como vestirse con una camisa de River y insultar a Maradona en el medio del Jugador Number 12 en la cancha de Boca.

Chau Fernando. Que disfrutes de tu UML. Lo han creado particularmente para los que prefieren fingir hacer cosas en vez de hacarlos, para los que prefieren decir mil palabras cuando 10 sirven, y para los que necesitan insultar en vez de pensar.

Seba dijo:
28 de Diciembre de 2006 a las 21:29  

Es cierto Curtis, que es mas fácil insultar que pensar, y como no tengo ganas de pensar me gustaría decirle a…Pinchiroli? (de paso Curtis, te doy un ejercicio para el castellano, Pinchi-roli, una buena idea para que investigues el castellano-cordobés y descubras de que se trata), como decía, Pinchiroli, el medocino, mmmh…buen seudónimo para un asesino múltiple (quién diría, al contrario que Hans Reiserf). En definitiva, no tengo nada que decir, solamente que el tipo de agresión a un amigo como Javier, me saca de las casillas, además de haber sido innecesario. Bueno Pinchiroli, feliz año nuevo! y que los reyes magos hagan de UML una “herramienta” para el proceso de desarrollo de software.

Pato dijo:
29 de Diciembre de 2006 a las 13:11  

La verdad que estos mensajes dan para analizar bastante y me parece que se estan discutiendo dos cosas diferentes (ademas de poder analizar como se pelean los argentinos!!!).

Por un lado las agresiones del mendocino que si bien no comparto la forma en la que escribio tampoco me parecen tan insultantes, sino mas bien siguio con la ironia de Bertrand Meyer del alumno Candido llamando Ignorancio a Smaldone. Hasta me parecen un poco mas insultantes los mensajes de Curtis y de Seba, pero entiendo que son reacciones.

Por el lado del UML no encontre sustento en lo de Smaldone, porque como se lee en otros mensajes no parece distinguir lo que significa una herramienta, como aclaran Malvenido y el mendocino.

Otro aporte importante del mendocino es que parece tener fundamentos que nadie hasta ahora mostro, porque muchas de las citas que menciona Smaldone no necesariamente apoyan su hipotesis sino que hasta pueden ser a favor de la postura de los que defienden UML.

Por favor, mandenme la direccion de correo del mendocino (que debe haberla colocado como yo hice con la mia) porque me gustaria seguir profundizando el tema.

Y de paso dejo un saludo para Colo Colo, que estuvo a punto de ganar su segundo titulo internacional pero que no lo hizo por poco.

Malvenido dijo:
29 de Diciembre de 2006 a las 20:25  

La verdad que no entiendo porque siguen discutiendo, conozco empresas que desarrollan software de calidad y usan UML como herramienta. Al igual que hay empresas que utilizan otras herramientas y sus sistemas tambien tienen son de calidad.

No entiendo porque uno de los dos tiene que tener razon, si el UML no les sirve no deben usarlo.

Es como si me pusiera discutir que IDE es mejor eso es depende de quien lo use y para que.

Malvenido dijo:
29 de Diciembre de 2006 a las 20:37  

No puedo creer que haya gente que piense que se puede cobrar mas por documentar.

Como si a la empresa que nos contrata le importara el proceso que utilizamos para entregar un sistema.

La gente que dice que se puede cobrar mucho por presentarle un diagrama de clases a un gerente es porque simplemente nunca hablo con un gerente.

En general a un gerente solo le interesan los beneficios del sistema, la fehca y el precio.

Las veces que se interesaron por el proceso fueron las veces que me contrato el gobierno o una empresa para tercerizar un trabajo.

De todas maneras es mediocre pensar que por un diagrama tu trabajo valga mas, la calidad de tu trabajo tiene que hablar por si sola.

Rcaf dijo:
27 de Enero de 2007 a las 17:20  

Creo que todo lo podemos resumir en que cada persona utilice el método o herramienta que maneje mejor, y sea adecuada para el software que esté desarrollando.

Personalmente he usado UML, pero solo una parte del todo. Diagrama de Clases y algunas veces Diagramas de Casos de Uso. No he necesitado más. Y me ha servido para tener una visión general del problema que quiero resolver.

Como decían anteriormente si a alguien no le gusta trabajar con UML, simplemente no la use y busque otra forma de resolver sus problemas.

Además se pueden crear metodologías híbridas, sacando lo mejor de todas.

Onirec dijo:
9 de Febrero de 2007 a las 0:39  

En realidad considero interesante, el artículo que escribió, pero sinceramente no entiendo muy bien, ahora en mis calses empezamos a ver lo que es UML, definicíon, características, ventajas y desventajas, software que maneja un UML, y desearía poder saber más hacerca del tema. Espero pueda ayudarme en eso, he leido varios artículos en otros sitios web, pero considero importante lo que menciona, no sabía que tenía tantas desventajas, recien acabo de entrar a los que es “fundamenteos de programación”

10 de Febrero de 2007 a las 15:49  

No sirve? y entonces por qué me he pasado en la universidad un año estudiando UML? Menudo batacazo.
Un saludo a todos.
Carlos

Fitowsky dijo:
16 de Febrero de 2007 a las 18:48  

Creo que este articulo es una mierda, yo he usado UML para el analisis y el diseño de sistemas y me ha funcionado muy bien, en especial para capturar y documentar requerimientos con los casos de uso, el que no lo sepan usar no quiere decir que no sirva, por lo menos a mi y a una veintena de personas que conosco si nos ha servido. Bueno eso es solo mi humilde opinion.

AR!!! dijo:
14 de Marzo de 2007 a las 14:03  

La vdd no estoy nada deacuerdo con el articulo escrito, solo eso quiero comentar ya que mi enojo es tanto q prefiero omitir cualquier otro comentarios.

Ya q trato de respetar el punto de vista de cada persona.

Si usted no lo a utilizado en proyecto, mi pregunta es como puede ser posible q tenga el descaro de hacer un articulo con el simple hecho de preguntar ¬¬

javier dijo:
31 de Marzo de 2007 a las 19:18  

Fernando Pinciroli
¿Que tipos de aportes Meyer trato de hacer a UML?

Desde siempre Meyer a estado a favor de un modelo simple[1]. Mas adelante un articulo sobre The Simple Model.

En algunas partes de tu articulo resaltas la ignorancia de B.Meyer sobre algunos temas. Eiffel su lenguaje es tal ves el mejor lenguaje que se haya diseñado hasta el momento con un enfoque a la ingenieria de software no tratrado en otros lenguajes, en si como Meyer dice Eiffel no es un lenguaje es mucho mas que eso, es un Metodo.

¿Deberia pensar de ahora en adelante en estar alerta a la ignorancia de B.Meyer sobre los temas que escribe?

Porque cierta gente le concederia a B.Meyer premios como el AITO prize (El nobel de la tecnologia a Objetos) http://www.aito.org

o el mas reciente galardon del ACM
Bertrand Meyer is Recipient of Software System Award for Impact on Software Quality
http://campus.acm.org/public/pressroom/press_releases/3_2007/eiffel.cfm

BON Method aca :)
http://www.bon-method.com/index_normal.htm

The Simple Model
Un lindo paper sobre Simple Model se puede ver aca
http://www.jot.fm/jot/issues/issue_2002_11/column6/index_html
Les dejo el Abstract:
“Modelling languages such
as UML are increasingly used to describe software systems at different levels of abstraction. There are two very different ways of using such languages. One approach is based on the manifestation of a single model, with construction of different views from this model, and with automatic or semi-automatic consistency checking among these views. This follows what we term the single model principle. The second approach (of which unrestricted UML is an example) is based on the independent construction of multiple models of the same system, but with no guarantee of the consistency of the various models. We propose that to best support seamless, reversible software development of reliable software, it is preferable to follow the single model principle for a specific subset of development tasks.
We describe the single model principle and its supporting infrastructure. We show how the BON/Eiffel description language, which supports both high-level abstract specifications as well as code implementations can be enhanced to satisfy the essential tenets of the single model principle, both for static and dynamic descriptions. We describe how a UML profile (including the use of Java) might provide weak support for the principle. We also consider situations and tasks when following the principle is insufficient, particularly when capturing early (goal-oriented) requirements. ”

Dave Thomas : http://www.davethomas.net , ha escrito algunos articulos interesantes en JOT, y hay sobre UML :)

UML - Unified or Universal Modeling Language?
UML2, OCL, MOF, EDOC - The Emperor Has Too Many Clothes
http://www.jot.fm/jot/issues/issue_2003_01/column1/index_html

[1] Object Oriented Software Construction 1988, 2nd Edition 1997.

Sebastian dijo:
24 de Abril de 2007 a las 15:25  

Una sola palabra: EXCELENTE!!! Jamas expresaron tan bien ni me dieron tan buenos argumentos para defender esta idea que comparto. Muchas Gracias

Diseño dijo:
7 de Mayo de 2007 a las 17:35  

Buenisima redaccion y con mucho acierto, espero poder leer más :)

Dr. Miguel Wassinger dijo:
21 de Julio de 2007 a las 0:17  

Estimados colegas:
Con respecto a lo que leo me parece genial que existan críticas tanto a favor como en contra de UML. Con mi fanática experiencia tanto en la programación como en el análisis les dejo mis comentarios.

UML–>Diagrama de Clases:
Metodología 100% Aceptable. Si programás en .NET te recomiendo el diagramador de clases del VB2005. Pero si lo hacés en ASP 3.0 ó VB6 dejá de perder el tiempo. Es muy claro ver una clase abstracta, concretas, uso de polimorfismo, métodos virtuales, etc.

UML–>Diagrama de Secuencia:
Si querés entrar en detalles y tenés tiempo de hacerlo, prefiero que lo programes y vas a tener menos errores. Para mi es 5% aceptable, solamente si se quiere demostrar algo en una especie de pseudocódigo, mensajes entre CAPAS (no entre funciones, sino a nivel genérico), aunque para hacer esto cualquier diagráma creativo sirve.

UML–>Casos de Uso:
Vendría a ser lo mismo que relevar, pero a nivel de detalle, así que bienvenido sea. Los gráficos ayudan, aunque empezar a poner herencias, demasiadas excepciones, demasiados casos de uso, creo que es perder tiempo, hay que poner globalmente lo justo y necesario.

Todos los demás nunca los usé. Para interpretar un estado usamos un esquema personal que entendemos todos, lo mismo para hacer algún algoritmo (diagrama de flujo).

En resumen, no creo que todos los que están en esta comunidad estén trabajando con bases de datos orientadas a objetos, así que tengan cuidado si su rechazo proviene por esto, no se confundan, UML no es lo mejor, lo mejor es lo que ccada empresa crea que lo es, ya que en cada empresa argentina hay buenos profesionales lo suficientemente cultos para reemplazar a UML si no fuera necesario.
En mi caso Diagrama de Clases y Casos de uso, lo demás es programar en pseudo, y no se en Estados Unidos, pero en Argentina los programadores son avanzados, saben hacer un sistema a partir de casos de uso y clases. Y por supuesto no nos olvidemos del DER, que es más importante en el 99% de las aplicaciones del mercado actual, a no ser que salga en algún futuro las base de datos OO al mercado.

Muchas Gracias
P.D.: RUP NO SE ADAPTÓ A MIS NECESIDADES, ASÍ QUE TENEMOS NUESTROS PROCEDIMIENTOS, HAGAN LOS SUYOS, Y POR FAVOR LOS RESPONSABLES ACADÉMICOS, TENGAN SENTIDO COMÚN, TENGAN UN POCO DE VISIÓN Y CONSIDERACIÓN, Y USTEDES ALUMNOS, ESTUDIEN PARA PODER CONOCER QUE UML ES LA MÁS FAMOSA, PERO SABIÉNDOLA PODRÁN HACER SU PROPIO LENGUAJE HASTA QUE SE DECIDAN A HACER UN LIBRO, YO SE LOS VOY A COMPRAR, PERO LOS DE UML, LOS TENGO PARA EL ASADO, CUANDO COMPRÉ EL 1RO ERA DE UML 1.3 Y AHORA SALE LA 2.0, ESO NO SON VERSIONES, SON PARCHES ENCUBIERTOS!!!.

SALUDOS

jali dijo:
6 de Agosto de 2007 a las 18:07  

Como comentan arriba, casos de uso y de clases.Al menos son los que he usado jaja.

De todas formas, buenos puntos de vista!!

Si UML no te sirve no lo uses.

Karina dijo:
4 de Octubre de 2007 a las 18:09  

Hola chico me encanto tu opinon de UML, yo estoy en un curso de programación Java y estamos empezando con los UML y realmente me parece muy complejo. Total a la hora de programar es muy dificil seguir lo que hiciste en el diagrama

Por cierto: me encataria saber si el chico de la carta le subieron o no la nota

Moises Ruiz dijo:
11 de Abril de 2008 a las 18:14  

Mi opinión acerca de UML es la siguiente.

Te sirve en algunas cosas; por ejemplo el Modelo Conceptual te ayuda hacer una aproximación a solución implementada, te ayuda a que tu cliente pueda entender la abstración a muy alto nivel de la solución que le propones ….., entonces creó yo que podemos aprovechar está herramienta a distintos niveles.

Verle solo la forma cuadrada es cerrarce al cambio; creo que podemos sacar mucho más.

Sandra Ortiz dijo:
17 de Mayo de 2008 a las 15:06  

Respeto las opiniones de cada uno, y sus puntos de vista
La verdad no conozco a UML, para mi es muy interesante ya que en mi empresa estamos tratando de documentar los procesos de cada una de las oficinas, procesos estrategicos, clave y de apoyo, aun no hemos usado ninguna herramienta computacional, me gustaría que me aconsejaran una fácil de aprender y aplicar para graficar, representar y explicar los diferentes procesos. Es importante presentar a las empresas herramientas útiles provechosas y que sean optimas ya que la cuestion no es solo de tiempo, dinero sino de estrategia.

Podrían ayudarme? Ustedes son una luz muy provechosa en las tinieblas Gracias….. Dios los bendiga
Favor sitios web o manuales de usuario para porder aprender rápidamente.

Favor escribir a: Sandypathy1974@gmail.com

Sam dijo:
25 de Junio de 2008 a las 15:22  

Yo creo que lo que define a un buen profesional es saber distinguir cuando debe apartarse de “lo que dice el libro”.
Hasta la sacrosanta “tercera forma normal” se ve poco y nada “en la cancha” porque a veces seguir a rajatabla el libro no es lo mejor (y los buenos libros te lo dicen).

Todas las tecnicas y los procesos de desarrollo te aclaran que la idea es adaptarlos a tu proceso. Tomá lo que te sirve en el momento que te sirve, si un diagrama no te agrega valor, no lo hagas, si un paso no te sirve, omitilo. El mismo RUP lo enfatiza.

La diferencia entre un TP de la facu y el trabajo profesional es que en la facu el profesor te va a desaprobar si no rellenas la flechita que iba rellena, o esta en cursiva lo que iba en negrita. (especialmente los profesores que jamas en su vida trabajaron en IT). En la vida provesional, a la flechita no la vas a rellenar nunca y quizá la mayor parte de tus diagramas nunca abandonen el pizarrón, y si eso te sirve y ayuda a tu proceso, cumplió su objetivo.

UML seguro que no es perfecto, pero es lo mejorcito que hay por ahora, y normalmente ayuda bastante, eso no quita que uno use sus propios diagramas, cuando viene bien (quien no dibuja un cursograma cada tanto que tire la primera piedra).

De la práctica y la critica constructiva es que deben surgir las mejoras y los cambios en los métodos, pero claro, vende mas un “UML no sirve” que un “Como mejoramos UML”

13 de Julio de 2008 a las 22:11  

Por fin encuentro a los de mi especie, me pregunto si alguno de los 3 amigos aparte de haber dado a luz el UML, como medio de encantador de serpientes y nomás hacer dinero a costa de incautos, alguna vez se han dado una vuelta por América Latina del Sur, se a topado con las realidades empresariales en todos sus tamaños y con todo su poder de modelado, pudieran en un diagrama sencillo y entendible representar todo los problemas que tiene que enfrentar un empresario en el día a día por mantener a flote sus empresas.

Se hubiesen quedado cada uno con su respectivo “hacer modelos” y los hubiesen mejorado y adaptado, actualizado a los tiempos actuales y de ese modo hubiésemos tenido mas opciones de elegir una forma de hacer las bien cosas.

Basta decir que acá hay muchas empresas que trabajan en el limite de la legalidad de software como para estarse distrayendo sus pocos pocos recursos financieros en una herramienta por demas costosa, inútil, que hace perder mucho tiempo sin que puedan dar una solución real al desarrollo de un buen software a medida, de mi parte estoy laborando en una empresa donde el viejo FoxPro para DOS cumple a cabalidad con la impresión de valores financieros, y esto sin haber pasado modelación alguna y el buen Visual FoxPro, el patito feo de la era .net de MS, da el suficiente soporte a las actividades de la empresa.

13 de Julio de 2008 a las 22:17  

PD:

Ahora esta de moda el PMBOK (PMI), pero en su introducción a la tercera edición bien claro dice que no se hacen responsables del uso de la metodología en la implantación en el control de los procesos empresariales, me pregunto si una metodología hace creer el ser la panacea, la tabla de salvación para finiquitar problemas, hacen esa advertencia.

Pingback & Trackback
mygif
10 de Diciembre de 2006 a las 22:20  

[...] Desde ese Consejo Profesional, que supuestamente “avala la idoneidad de los profesionales de las ciencias informáticas”, este señor se dedica a dictar cursos sobre análisis y diseño orientados a objetos, UML, arquitecturas basadas en “componentes”, etc. [...]

Artículo al azar

Deja tu comentario: