tag:blogger.com,1999:blog-8758579.post1298270374608645934..comments2023-05-25T14:22:53.627+02:00Comments on Hacia la Cuarta Generacion del Software: Construcción de software, Fábricas de SoftwareJorge Ubedahttp://www.blogger.com/profile/16457542679928501488noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-8758579.post-44747825563736599332007-05-25T20:46:00.000+02:002007-05-25T20:46:00.000+02:00Bueno...el artículo referido fue uno de los primer...Bueno...el artículo referido fue uno de los primeros de la serie sostenida por Microsoft en defensa de su punto de vista sobre Software Factories. <A HREF="http://www.google.com.ar/search?hl=es&q=uml%20vs%20dsl&btnG=Buscar&meta=lr%3Dlang_es" REL="nofollow">Una búsqueda en Google</A> da una idea de esta actividad. El artículo trabaja en la dirección de promover las herramientas de Visual Studio diseñadas dentro de esta orientación: <BR/><STRONG>While all of this conjecture sounds wonderful for the future, many developers will be asking themselves what they can do now to utilize Software Factory techniques in their organizations today. Well, the good news is that a lot of functionality already exists with Visual Studio.NET. Products like Enterprise Templates, Project Item Templates, and Nant allow for the creation of standard artifacts that a team or organization can utilize today.</STRONG>.<BR/>Siendo la iniciativa de verdadero interés, en varias ocasiones debí sin embargo señalar mi desacuerdo con el otro aspecto de esta iniciativa, no muy visible en esta nota todavía, pero <A HREF="http://www.microsoft.com/spanish/msdn/articulos/archivo/191005/voices/vstsmodel.mspx" REL="nofollow">bien expresada luego</A> , que consiste en desacreditar las iniciativas de la OMG.<BR/>Considero que el tema no está cerrado ni mucho menos, sino que recién se abre, y queda camino por recorrer, que probablemente tome elementos de una y otra visión.<BR/>En cuanto a la "visión fabril", en mi parecer es sumamente interesante, y en realidad es una derivación necesaria de varias líneas confluyentes: el uso de componentes (el mercado de activex existe desde hace años), MDA, DLS, SPL. <A HREF="http://www.sei.cmu.edu/productlines/index.html" REL="nofollow">Software Product Lines</A> en todo caso no puedo asimilarlo a una planta de ensamblaje automotriz, pero sí creo que se puede llevar a lo que es un proyecto de ingeniería, digamos la construcción de una represa y o un puente.Jorge Ubedahttps://www.blogger.com/profile/16457542679928501488noreply@blogger.comtag:blogger.com,1999:blog-8758579.post-22721804579596670452007-05-25T15:53:00.000+02:002007-05-25T15:53:00.000+02:00Creo que yo apuntaba justamente al punto 2.(Hasta ...Creo que yo apuntaba justamente al punto 2.<BR/>(Hasta donde yo entiendo) los DSL y MDA elevan el nivel de abstraccion, permitiendo concentrarnos en lo que realmente importa, obviando los detalles "mundanos", logrando que el trabajo sea mas productivo. Y si, ademas requiere una vision un poco mas global del problema. <BR/>Mi critica al articulo original es que me parece que la "industrializacion" del software si no es una fantasia, es una metafora que se queda corta. Con MDA/DSLs o sin, el software se trata de diseñar un producto, no de fabricarlo (en el peor de los casos, es configurar un producto existente a las necesidades particulares). Una fabrica tiene una economia de escala en el momento de la produccion, pero cuanto tiempo y dinero se gasta en diseñar el producto? Que pasaria si esa fabrica tuviera que ajustar cada producto a las necesidades particulares de cada cliente?. En el corto o mediano plazo, no veo una solucion que evite depender de "pequeños grupos de artesanos altamente especializados" (aunque estos usen MDA y DSLs).<BR/>Estoy totalmente convencido de que debemos movernos hacia "la 4ta generacion" con MDA y DSLs (me encantaria tener la oportunidad de probarlos) pero me parecio que el articulo era medio "engañoso" (y no queria desaprovechar la oportunidad de participar ;-) )...Anonymoushttps://www.blogger.com/profile/17525961934302794120noreply@blogger.comtag:blogger.com,1999:blog-8758579.post-74631486372571192442007-05-24T21:14:00.000+02:002007-05-24T21:14:00.000+02:00Gabriel, gracias por reponer aquí lo que conversár...Gabriel, gracias por reponer aquí lo que conversáramos por correo. Brevemente, repito y amplío lo que ya conversamos.<BR/>1. El desarrollo del estilo de MDA no debiera ser rígido. Las posibilidades de definir un modelo a alto nivel permitiría describir un problema con toda la riqueza necesaria. Simplemente, no lo haremos en términos de escritura en un lenguaje (Java, C++, o lo que sea), sino en términos más abstractos,sean visuales o no.<BR/>2. Por esta misma razón, un desarrollador trabajando en este terreno afronta una tarea más rica y compleja, aunque mucho más productiva. De ninguna manera el uso de estas herramientas implica despersonalizar el trabajo, sino, por el contrario, exige de los desarrolladores una actitud de mayor visualización sobre su trabajo. No es tan importante la construcción de un algoritmo, como la visión estratégica del modelo en construcción.<BR/>Esto es lo que trato de transmitir...Jorge Ubedahttps://www.blogger.com/profile/16457542679928501488noreply@blogger.comtag:blogger.com,1999:blog-8758579.post-72642388577366990142007-05-22T04:30:00.000+02:002007-05-22T04:30:00.000+02:00Me imagine que era por accidente :-)Todavia estoy ...Me imagine que era por accidente :-)<BR/>Todavia estoy trantado de entrarle al tema de DSL y MDA.<BR/>Igual creo que la analogia "artesania-industrializacion" es media engañosa:<BR/>en particular, con los sastres y zapateros, los nivles de complejidad<BR/>no parcen ser muy comparables, tal vez los fabricantes de relojes y<BR/>aparatos a cuerda tuvieran un nivel de complejidad similar aunque el<BR/>software es mucho mas critico para la economia.<BR/>(aunque conozco gente que programa como si estuviera fabricando zapatos :-) )<BR/>No creo que el software pueda escapar facilmente a la necesidad de<BR/>ajustarse a los requermientos particulares de los clientes, con la<BR/>exepcion de cosas genericas como sistemas operativos, procesadores de<BR/>texto, etc (en gral, lo que apunta al "end-user").<BR/>Cada empresa tiene una forma diferente de hacer las cosas, y eso es lo<BR/>que le permite competir con otras empresas que hacen lo mismo. Si el<BR/>software es uniforme y no se puede adaptar a eso, las empresas no creo<BR/>que lo adopten (ej. SAP es muy generico y configurable, pero<BR/>implantarlo no es facil, requiere mucho trabajo para adaptarlo a la<BR/>empresa).<BR/>Seguro, podemos abstraer el dominio(o la arquitectura) usando DSLs o<BR/>MDA, pero al final igual se necesita un grupo de artesanos altamente<BR/>especializados para interpretar las necesidades y codificarlas.<BR/>Estamos logrando avances al subir cada vez mas el nivel de<BR/>abstraccion, pero crear software sigue siendo esencialmente dificil (y<BR/>"No Silver Bullet" de Frederick Brooks sigue vigente :-) )<BR/><BR/>Saludos<BR/><BR/>Gabriel<BR/>http://gabrielsw.blogspot.comAnonymoushttps://www.blogger.com/profile/17525961934302794120noreply@blogger.comtag:blogger.com,1999:blog-8758579.post-83125584473892375282007-05-21T23:04:00.000+02:002007-05-21T23:04:00.000+02:00Gabriel, gracias por advertirme...debe haber inhab...<A HREF="http://gabrielsw.blogspot.com/" REL="nofollow">Gabriel</A>, gracias por advertirme...debe haber inhabilitado los comentarios sin darme cuenta. Sin embargo, son bienvenidos...Activado de nuevo. Tendré que revisar todos los posts. Es un problema de los defaults de las opciones de posteo.Jorge Ubedahttps://www.blogger.com/profile/16457542679928501488noreply@blogger.com