Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Ver Resultados de Encuesta: ¿Que metodología/Lenguaje usa para el análisis y diseño?
Analisis Estructurado Moderno 6 25,00%
UML/USDP 6 25,00%
Una "propia" 11 45,83%
Otra 3 12,50%
Encuesta de Elección Múltiple. Votantes: 24. Tú no puedes votar en esta encuesta

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2005
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Post ¿Que metodologías usas para el analisis y diseño?

Como dice el título: que ¿Metodología usas para el analisis y diseño?

Estuve pensando desde la segunda mitad del año pasado si es posible vencer la frase: "No hay metodología cien por cien exacta y aplicable para un software específico". Y esto me llevó a buscar un tema para mi futura tesis (que deberé presentar el año que viene): una metodolgía para el análisis y diseño de software que sea lo más flexible y adaptable a cualquier software por desarrollar. Mi profe de la cátedra de Sistemas II (cursada el año pasado) nos dijo: "el 40% de los software fracasan por un mal análisis y diseño". ¿Tanta verdad tiene?Lo dudo... esto me reforzó la idea de tratar de buscar una manera de lograr esa metodología "flexible"; obvio: diferente a las actuales pero con vista hacia el presente y el futuro.

En dicha cátedra sólo tuve la oportunidad de ver el Analisis Estructurado Moderno y este año en Ingeniería de Software ando viendo UML (algo que yo por cuenta propia ya había empezado a investigar), pero creo que tengo la astucia mental como para entender y lograr una metodología por lo menos básica.

Actualmente llevo ya unas 16 hojas ( y todavía falta volcar lo que tengo en mente y en borrador) sobre mi idea: todo basado de lo que pude investigar hasta el presente y sumando de la experiencia (poca pero con excelentes resultados) que he tenido en dicha área.

Como ya dije anteriormente, ahora estoy viendo UML y acabo de darme cuenta (a mi entender, al Salir de Clases de Ingeniería de Software) que acabo de reinvertar tanto UML como USDP.¡Mi metodología y lenguaje sin similares; si bien tienen sus diferencias, presiento que si sigo tirando más ideas llegaré a lo mismo!

Entonces, para evitarme el embrollo y gastos de neuronas en buscar una solución o de lograr "reinventar la rueda" he decido lanzar esta pregunta/encuesta para ver si sigo con esto... o busco otra cosa en que pensar (todavía no he presentado la propuesta).

Lo ideal sería que esta encuesta la respondan aquellas personas que tiene una larga formación profesional o que entiendan mucho del asunto, de todas formas esto es libre y puede responder cualquier persona que esté interesado en esto.

Encuesta:
A. ¿Que metodología/Lenguaje usa para el análisis y diseño?
1. Analisis Estructurado Moderno
2. UML/USDP
3. Una "propia"
4. Otra

Si respondió afirmativamente a la opción 2, responda:
1. ¿Cree que UML vino para quedarse?
2. ¿Si existiese otra metodología (supuestamente flexible y adaptable a cualquier tipo software a desarrollar), la pondría a prueba?

B. ¿Cree que sea posible desarrollar dicha metodología?.

Gracias a todos los foristas que hayan dedicado un poco de su valioso tiempo para leer este hilo.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 12-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
¿Cree que UML vino para quedarse?
UML ya esta aqui y ya se quedo...

Cita:
¿Si existiese otra metodología (supuestamente flexible y adaptable a cualquier tipo software a desarrollar), la pondría a prueba?
Creo que la clave no es adaptarla a un tipo/cualquier tipo de software, sino a la GENTE. Y como eso es dificil nadie va a lograrlo.

Aunque me parece que Extremme Programing y Agile son dos faciles de adaptar a un grupo pequeño. En mi caso saque ideas de ambos y las estoy usando... poco a poco mientras acomodo.

Teniendo como base el enfoque que Borland y MS le estan dando a las futuras (y en el caso de Borland, presentes) herramientas de software, yo diria que la idea es una mezcla entre XP/Agile junto a esto

Meterle la filosofia de una metodologia de desarrollo a la gente, simple y llanamente, no da el resultado esperado... Como rayos va un equipo de desarrollo a tirar UML cuando NISIQUIERA puede manejar sus propias versiones de codigo?

ANTES de la metodologia, un desarrollador/equipo debe tener funcionando de forma controlada o cotidiana:

1- Control de codigo fuente. Recomiendo bastante usar Subversion junto con TortoiseSVN. Pero lo que sea, mientras se use tambien es valido

2- Ser capaza de hacer un release del codigo tan rapido y eficiente como se pueda, sin pasos manuales (del codigo al instalador en 1 click). Para hacer esto bien, OBLIGATORIAMENTE hay que hacer lo primero y OJALA en un equipo distinto a la maquina de desarrollo (en su defecto, como es mi caso, al menos en un disco/directorio diferente). Yo uso NAnt por razones de mi contratista aunque si pudiera usaria FinaBuilder. Usar batch tambien cuenta.

3- Tener una lista de errores/tareas por hacer. Hay muchas herramientas y todavia no me decido... Aunque ya uso una y de verdad ayuda bastante. NO HAY FORMA de trabajar sin un TODO-LIST y un BUG-List.

4- Tener un desarrollo que este enfocado a eliminar errores y corrobore la funcionalidad. Como uso Delphi 2005 ya esta todo integrado pero no es para nada dificil usar Dunit con Delphi 5-7. O sea, para que UML si no se tiene la certeza si el codigo es bueno o no?

El punto es, hay que limpiar la casa ANTES de traerle nuevo decorado. Los puntos anteriores son los mas minimos que un desarrollador/empresa debe tener... sin estos cualquier otra metodologia falla.

Pero !ojo! eso es sola la infraestructura/plataforma de trabajo. ANTES que eso esta:

1- El programador debe ser capaz de escribir codigo que:

- Sea claro y conciso. Nombrado correcto de variables, procedimientos, funciones, propiedades.
- Este bien documentado (nada de i:=0 //Inicializa i a 0) De hecho una excelente documentacion se confirma con un codigo casi SIN documentacion pero que se lea de pe a pa sin estorbos.
- Una organizacion decente de directorios. A parte de utilidades o pruebas, ningun programa debe tener sus archivos todos juntos en un directorio. En mi caso lo hago asi:

Proyectos/Programa (archivo de proyecto)
bin - Ejecutables
Formas
Clases
Otros
dcu - units compilados


Una vez se pasa este punto, ahora si la metodologia va a ayudar. Sin esto, de nada va a servir....
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 16-04-2005
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Gracias por tu aporte

Gracias por tu aporte...
Resulta muy interesante tu punto de vista (del cual estoy de acuerdo, en gran parte) ....

Esperaba que esta encuesta/hilo fuera mas enriquecedora (y participativa). El objetivo de esto era poder ver que tan factible es este sector de la informática (pues allí quisiera especializarme).

Se que para lograr UML se requierió de años, y yo no voy a lograr lo que lograron estos 3 gurus.... pero sigo soñando que con la experiencia que pueda adquirir logre encontrar algo (no pido que sea mejor) pero que ofrezca otra alternativa aparte de UML.

El año pasado fue a una jornada que se realizan todos los años(JAIIO) y me llamó algo la atención: programación orientada a aspectos. ¡Algo nuevo para mi! ¿Porqué no buscar algo una metodología que basada en el modelo OA (orientado a aspectos)? quien sabe... a lo mejor ese es el futuro. UML -> OO, ¿porqué no "ALGO" -> OA.?

Se que en definitiva depende de la persona y que muchas veces imponerle a las personas una forma de hacer las cosas no traen las mejores soluciones, pero creo que el objetivo no es de imponerle algo sino de ofrecerle un punto base, entendible, estandar, un protocolo que todos entendamos para que el intercambio de información, manejo, etc sea más fácil....
¿Que acaso no es eso lo que se espera: FACILIDAD?

Bueno, así es como lo veo... no quiero ponerme en contra tuya... es sólo una opiníon.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 16-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Entones la gracia es como hacer para que la gente se motive a hacer algo y que no lo sientan como una imposicion.

Es dificil vender la idea de usar UML... siesque muchos se resienten a DISEÑAR antes de codificar! Lo que pasa es que falta integracion. Lo que hace Borland ahora con together tiene mucha gracia... el programador NO hace el UML, el uml se saca en vivo del codigo y si se altera el diseño, se altera el codigo. COsas integradas y automatizadas si llaman la atencion...

Por ejemplo, estan los bugs. Hay que usar una herramienta de bugs, pero salir del IDE? No es dificil pero es inconveniente... ahora si estuviera dentro como un TODO LIST...

Me parece que para entrar con cualquier metodologia hay que hacerlo por etapas... Si se tiene la meta de llegar a un desarrollo estructurado en vez de espantar a la gente, es empezar generando un cambio a lavez.

Primero, vender el control de codio fuente... una vez hecho, el paso a builds diarios es casi directo. De hay a unit testing... luego UML. Es ir mostrando como mejora la productividad sin introducir de golpe todo..
__________________
El malabarista.
Responder Con Cita
  #5  
Antiguo 17-04-2005
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Thumbs up Ya veo...

Cita:
mamcx
Es dificil vender la idea de usar UML... siesque muchos se resienten a DISEÑAR antes de codificar!
A la manera en que lo dices, parece que el trabajo del añalista está de moño. No creo que sea tan así, me parece obvio que todo software sigue una línea (en línea generales): análisis, diseño, codificación, prueba, manteniminento. ¿Como es posible que se llegue entonces a la codificación si no hubo una etapa anterior de diseño aunque sea mínima?
¿Entonces para que gastaron años estos 3 locos si nadie la usa desde un principio?
Cita:
mamcx
el programador NO hace el UML, el uml se saca en vivo del codigo
Me parece fabuloso, pero no le veo sentido hacer UML del código cuando en realidad lo que debería hacerse es el paso inverso: de UML al código.

Cita:
mamx
Me parece que para entrar con cualquier metodologia hay que hacerlo por etapas... Si se tiene la meta de llegar a un desarrollo estructurado en vez de espantar a la gente, es empezar generando un cambio a lavez.

Primero, vender el control de codio fuente... una vez hecho, el paso a builds diarios es casi directo. De hay a unit testing... luego UML. Es ir mostrando como mejora la productividad sin introducir de golpe todo..
Se supone que este cambio no debería producirse. ¿Que acaso no se le enseña a usar UML en las universidades?¿Si realmente se les enseñaron estos conceptos, a que tanto le tienen miedo?
En todo caso lo que falta no es la integración, sino la enseñanza. ¿Si se enseñaran bien las cosas, no habría golpes no crees?
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 18-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Delphius
A la manera en que lo dices, parece que el trabajo del añalista está de moño.
No creo que sea tan así, me parece obvio que todo software sigue una línea (en línea generales): análisis, diseño, codificación, prueba, manteniminento. ¿Como es posible que se llegue entonces a la codificación si no hubo una etapa anterior de diseño aunque sea mínima?
No deberia ser asi, lo se. Pero es la realidad. Una vez alguien tiene una idea (ej: Haz un software de facturacion) la gran mayoria inmediatamente nos sentamos a codificar sin hacer ninguno tipo de analisis serio, confiando en que en el camino se resolveran las cosas. Y digo "nos sentamos" porque en lineas generales es mi propia experiencia y de lo que conozco de la mayoria de la gente en varias empresas de software. De hecho, es la tendencia mundial.

Cita:
Empezado por Delphius
¿Entonces para que gastaron años estos 3 locos si nadie la usa desde un principio?
Precisamente, porque nadie lo hace y por eso Rational es una empresa que gana millones de dolares vendiendo un modelo, unas herramientas y consultorias.

Cita:
Empezado por Delphius
Me parece fabuloso, pero no le veo sentido hacer UML del código cuando en realidad lo que debería hacerse es el paso inverso: de UML al código.
Es lo ideal, pero la mayoria del codigo ya esta hecho y se necesita comprenderlo. Sin una ayuda automatica, queda muy dicil documentar un desarrollo existente.

Por otro lado, si miras las ideas que propone la programacion extrema, el orden es codigo y si hay tiempo, UML. El UML no es absolutamente indispensable y se puede diseñar directamente en codigo... pero si es una excelente y mejor herramienta para hacerlo. Obvio que habra quienes piensen otra cosa y ese es el problema...

Cita:
Empezado por Delphius
Se supone que este cambio no debería producirse. ¿Que acaso no se le enseña a usar UML en las universidades?¿Si realmente se les enseñaron estos conceptos, a que tanto le tienen miedo?
En todo caso lo que falta no es la integración, sino la enseñanza. ¿Si se enseñaran bien las cosas, no habría golpes no crees?
Desafortunadamente la enseñanza al respecto no es muy buena. Y el punto es, estamos hablando de quienes, programadores o analistas o ingenieros o??? Si como es el caso de muchos, que iniciamos como programadores, si tenemos de forma caotica los procesos mas elementales, como la manera de mantener las versiones de nuestro propio codigo, de poco o nada sirve el UML.

Haciendo una analogia, es como construir una casa. Obvio que tener los planos es indispensable, pero si los albañiles no saben organizar las herramientas y cada cual tiene su "estilo" de pegar ladrillos, el beneficio de tenerlos se diluira.

A lo que voy con todo esto y apuntando al objetivo que tienes, es reconocer que el desarrollo de software es en general, muy caotico. No se cumplen los tiempos pactados, la mayoria no sabe como estimarlos, no se satisfacen los requerimientos del cliente y muchas veces, ni siquiera los tecnicos. La calidad de los desarrollos es variable pero no es muy comun un programa de buena calidad de primera vez, y asi por el estilo.

El tener las herramientas es indispensable. Mantener:

- El codigo
- Lo que ese codigo debe hacer (requerimientos)
- El diseño del codigo, en otro lenguaje (UML)
- Lo que ese codigo no hace bien (bugs)
- Los archivos anexos, como manejo de los clientes
- etc...

de forma manual es muy tediosa...y ante el problema, la mayoria de los codificadores elegirian solo mantener el codigo. Agrava el hecho que muchas empresas se NIEGAN a "gastar" tiempo diseñando y se NIEGAN a tener requerimientos por ESCRITO y actualizar los mismos.

En mi experiencia en varias empresas de desarrollo, es lo que se ve. De hecho en una que estoy de consultor ahora, practicamente a la fuerza he puesto en marcha el manejo de codigo fuente, una base de datos de bugs y hacer releases en un click. Aun estando en el proceso de certificacion ISO 9000, la administracion NO quiere pagar para tener un proceso mejor... no hay herramienta gratuita que soporte todo lo que la ISO exige y que lo haga bien (y si la hay, diganmelo!).

Y sabes? mi persona ha estado en varios simposios de esto, de ISO, de CMM y de calidad. Mi equipo de desarrollo sabe muy bien UML y todo lo demas. Y sin embargo.. no es suficiente.

Por otro lado, ten en cuenta que la mayoria de las personas que usan UML se limitan a hacer diagramas de clases, y los que medianamente entendemos para que sirven los otros, no es que le veamos tanta aplicabilidad. Y estoy hablando de gente con capacitacion.

Pero Delphius, eso es una gran oportunidad. El UML es parte de un proceso, y hacer que tengo un rol importante seria muy bueno, pero es dificil. De hecho Borland, MS e IBM esperan obtener GRANDES dividendos con sus respectivas plataformas que integran todo eso.

En mi opinion, el UML tiene una aplicacion limitada a la hora de diseñar... o sea, haciendo la analogia con la arquitectura, de hecho un plano no lo cuenta todo y hay varios tipos de planos necesarios para hacer un panorama mas completo y aun asi, se requiere de experiencia practica para unirlo todo.

Para mi diseñar un software reune:

1- Una lista detallada y desmenuzada de requerimientos funcionales. Al menos deberian estar los conocidos, porque obviamente muchos no estan.
2- Un cronograma
3- Una lista de errores
4- Una suite de testing
5- Una representacion de a)Las clases b)Los procesos en tiempo de ejecucion y la interaccion y c)Como se comunican las clases

Hacer solo una de esta sin las otras hace el proceso muy debil. De hecho contra la arquitectura creo que es parecido

1- Que es lo que se va a construir y cuales son los recursos
2- El cronograma
3- Los planos
__________________
El malabarista.
Responder Con Cita
  #7  
Antiguo 23-04-2005
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Muchas gracias.... mas dudas

Gracias por tu enriquecedor aporte mamx, me has dejado sin palabras... bueno casi sin palabras.

Pensaba que esto no sería productivo ni enriquecedor, pero resulto todo lo contrario: aprendí de tus escritos algo que yo no veía: la práctica y la visión real. Lo que me ha pasado es que hasta el momento no tuve oportunidad de ver como es la actividad en una empresa/consultora en forma práctica, sino más bien en un ambiente controlado y simulado durante las horas de clases.

Dentro de poco tiempo tengo que ir a realizar una práctica laboral en una empresa muy reconocida en Salta (Argentina), y lo bueno del puesto (si es que me lo dan) es que voy a tener que ver cómo elaborar las políticas, ver el desarrollo de la actividad, controlar, analizar su ritmo, su cultura, etc... etc... en pocas: Analizar el proceso productivo.

Espero que en esta práctica pueda ver lo que tu brindaste a traves de este hilo. Veo que tu experiencia en el ámbito te ha permitido comprender muy bien a lo que me voy a enfrentar dentro de unos años (¡Que pensamiento tan optimista!).

He leído los enlaces que has expuesto y me gustó muchísimo su contenido. Me tomé el tiempo (obligadamente por cuestiones de salud) para analizar y comprender lo que es realmente la Ingeniería de Software, y me gusta mucho... y estoy más decido que nunca que quiero especializarme en ello.

Bueno, disculpa pero tengo algunas opiniones, que hacerte. Mas que opiniones son dudas:

Cita:
Empezado por mamx
No deberia ser asi, lo se. Pero es la realidad. Una vez alguien tiene una idea (ej: Haz un software de facturacion) la gran mayoria inmediatamente nos sentamos a codificar sin hacer ninguno tipo de analisis serio, confiando en que en el camino se resolveran las cosas. Y digo "nos sentamos" porque en lineas generales es mi propia experiencia y de lo que conozco de la mayoria de la gente en varias empresas de software. De hecho, es la tendencia mundial.
Yo siempre, desde que tuve Lenguajes I, cada vez que se me ha dicho que "hagan este software", he buscado la manera de analizar y comprender muy bien lo que debe hacer y no lo que debo hacer antes de sentarme a programar. ¿Esto cambiará cuando entre a trabajar a alguna empresa?

Decir tendencia mundial, a mi me suena algo exagerado. No creo que en varios lugares sea así, para mí esto de "Programación sin análisis" sólo se produce en aquellos lugares en donde se valora (y por tanto tienen poder de mercado, de mano de obra, herramientas, conocimientos, y disponibilidades) la programación rápida y en donde el software tiene ciclos de ciclo de vida de entre tres y seis meses. Es decir que la tendencia a elaborar productos a la máxima velocidad y donde lo que vale es el tiempo ante del análisis es en países desarrollados: el Hemisferio Norte (y estoy siendo generoso). En el hemisferio sur no creo que sea así la cosa: ¡América del Sur apenas está entrando en el mercado!

Cita:
Empezado por mamx
Precisamente, porque nadie lo hace y por eso Rational es una empresa que gana millones de dolares vendiendo un modelo, unas herramientas y consultorias.
Cita:
Empezado por mamx
Es lo ideal, pero la mayoria del codigo ya esta hecho y se necesita comprenderlo. Sin una ayuda automatica, queda muy dicil documentar un desarrollo existente.

Por otro lado, si miras las ideas que propone la programacion extrema, el orden es codigo y si hay tiempo, UML. El UML no es absolutamente indispensable y se puede diseñar directamente en codigo... pero si es una excelente y mejor herramienta para hacerlo. Obvio que habra quienes piensen otra cosa y ese es el problema...
Rational es Rational, y no cualquier empresa tiene para pagar lo que ofrece Rational. ¿Que hay de aquellas empresas que apenas tienen lo necesario para sobrevivir? Si es muy difícil que éstas apliquen UML, pero si quieren tener un producto de calidad que pueda competir lo mas seguro es que busquen la manera de llegar a ello, ¿A que recurren si no tienen experiencia?Lo más seguro es que tiendan a usar algo comprobado: UML/USDP un poco de CMM o MSF, no creo que se las pasen intentando poner a diseñar un método propio ya que en definitiva esto les terminan perjudicando (tanto en dinero, como en tiempo).

¿Entiendes mi punto de vista? Lo que tu manifiestas, es muy aplicable (de hecho lo obvio es que sea así) para aquellas empresas que tienen dominio, experiencia y poder. ¿Que hay para las otras?¿A que recurren?

Cita:
Empezado por mamx
Desafortunadamente la enseñanza al respecto no es muy buena. Y el punto es, estamos hablando de quienes, programadores o analistas o ingenieros o??? Si como es el caso de muchos, que iniciamos como programadores, si tenemos de forma caotica los procesos mas elementales, como la manera de mantener las versiones de nuestro propio codigo, de poco o nada sirve el UML.
Tienes razón, la enseñanza no es muy buena. Precisamente por ello, lo que mejor aprendí es lo que investigué por cuenta propia más que por lo que me enseñaron. ¿De quién es la culpa? Pues tanto del establecimiento educativo, de los profesores, de los alumnos, de todos. Si se desea que hayan PROFESIONALES, todos deben poner el 200% de su ganas y fuerzas para conseguirlo. El mayor problema no es que se enseña mal, sino que el estudiante aprende mal (sin olvidar de que es este quien debe poner el máximo empeño, el esfuerzo). No olvidemos también que son los estudiantes quienes deben exigir que se les enseñe bien. Te doy un ejemplo que yo he vivido: En la facultad de ingeniería e informática de mi universidad no se tenía un concurso de profesores desde hace años, y los mismos se limitaban a enseñar menos que lo básico. ¿Que hicimos? Exigimos que se llamen a concursos, que se cambien a los profesores, que las exigiencias sean más duras. Hoy, me siento orgulloso de ser parte del equipo que está haciendo que se enseñe como se debe en una universidad. Si muchos estudiantes (los ingresantes) se están quejando de las exigencias, pero es que hacía falta una mano dura.
Si no se pone orden a lo enseñado, obvio que no sirve de nada aplicar UML.
Cita:
Empezado por mamx
Haciendo una analogia, es como construir una casa. Obvio que tener los planos es indispensable, pero si los albañiles no saben organizar las herramientas y cada cual tiene su "estilo" de pegar ladrillos, el beneficio de tenerlos se diluira.
Precisamente para ello está UML, para impedir que haya varios estilos. Que haya algo que todos entendamos. Volviendo a lo anterior, si los futuros profesionales han aprendido a organizarse como se debe, aplicar UML desde un principio resulta más útil.
Que existan las herramientas para obtener UML desde el código, se debió (a mi entender) a la falta de cohesión que yo ya he comentado, mas que a ayudar a la optimización/automatización. ¿Realmente es necesario buscar herramientas automáticas para desarrollar el análisis (obvio, descartando el Unit Testing)?

Cita:
Empezado por mamx
A lo que voy con todo esto y apuntando al objetivo que tienes, es reconocer que el desarrollo de software es en general, muy caotico. No se cumplen los tiempos pactados, la mayoria no sabe como estimarlos, no se satisfacen los requerimientos del cliente y muchas veces, ni siquiera los tecnicos. La calidad de los desarrollos es variable pero no es muy comun un programa de buena calidad de primera vez, y asi por el estilo.
Obvio, Nadie dijo que es fácil, de hecho nada lo es. Yo nunca dije que sea fácil, es más la poca práctica que tuve me ha vastado para darme cuenta de que esto requiere de dedicación de equipo, tiempo, organización y muchas cosas más.

Cita:
Empezado por mamx
El tener las herramientas es indispensable. Mantener:

- El codigo
- Lo que ese codigo debe hacer (requerimientos)
- El diseño del codigo, en otro lenguaje (UML)
- Lo que ese codigo no hace bien (bugs)
- Los archivos anexos, como manejo de los clientes
- etc...

de forma manual es muy tediosa...y ante el problema, la mayoria de los codificadores elegirian solo mantener el codigo. Agrava el hecho que muchas empresas se NIEGAN a "gastar" tiempo diseñando y se NIEGAN a tener requerimientos por ESCRITO y actualizar los mismos.
Entiendo bien que es tedioso, pero es NECESARIO. Si las empresas quieren tener productos de buena calidad, dentro de sus políticas DEBERÍAN figurar lo que tu expresas. ¿Entonces de que sirve que pongan ganas en buscar algo que no figuran dentro de sus planes?

Cita:
Empezado por mamx
Y sabes? mi persona ha estado en varios simposios de esto, de ISO, de CMM y de calidad. Mi equipo de desarrollo sabe muy bien UML y todo lo demas. Y sin embargo.. no es suficiente.

Pero Delphius, eso es una gran oportunidad. El UML es parte de un proceso, y hacer que tengo un rol importante seria muy bueno, pero es dificil. De hecho Borland, MS e IBM esperan obtener GRANDES dividendos con sus respectivas plataformas que integran todo eso.

En mi opinion, el UML tiene una aplicacion limitada a la hora de diseñar... o sea, haciendo la analogia con la arquitectura, de hecho un plano no lo cuenta todo y hay varios tipos de planos necesarios para hacer un panorama mas completo y aun asi, se requiere de experiencia practica para unirlo todo.
¿No es suficiente o es que les cuesta sacarle provecho?
Claro que UML es parte de un proceso. La ingeniería de Software evoluciona, y si... UML es sólo una de las tantas herramientas que hay.
A lo que voy es que no es que UML no sirva, sino que hace falta sacarle mucho mas provecho. Por eso es que busco una metodología/lenguaje, ofrecer lo que UML no puede ofrecer al 100%. Lo que estan haciendo Borland, MS e IBM es dar una solución parcial y rápida al asunto: ¿Que crees que pase cuando se descubra que sus plataformas ya no sirvan?¿Haran otras?¿No crees que resulte mas barato hacer una metodología/lenguaje que sea mas sutil, flexible a los cambios, evolutiva y con la capacidad de ampliarse; antes que gastar más en diseñar plataformas?

Se que lo que pretendo es difícil, ¿imposible? no lo se. Otra cuestión es como hacer que lo que pretendo realizar sea reconocido y aceptado por todos.
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 23-04-2005 a las 21:30:27. Razón: corrección de etiquetas
Responder Con Cita
  #8  
Antiguo 28-08-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
5 años despues... GRACIAS por compartir sus puntos de vista, experiencias y conocimientos en este tema.

me lo volveré a leer mañana con menos sueño...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #9  
Antiguo 28-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No me había dado cuenta de la fecha
No recuerdo haber visto este tema, qué pena.
Pero por si acaso el amigo Delphius sigue todavía dándole vueltas al asunto, yo soy partidario de una metodología "propia". Cuando iniciamos un nuevo proyecto lo que hacemos es tomar notas muy claras y detalladas de TODO el programa, hablamos sobre cada cosa que pueda surgir, de cada campo, de qué tipo de ser, por qué, qué casos pueden darse que no sean "los normales", qué problemas y beneficios, etc.
O sea, el análisis y diseño es primordial, obligatorio, necesario, decisivo, capital, principal, básico, crucial, fundamental... a la hora de desarrollar un software, es como los planos de un arquitecto que tienen que estar listos antes de hacer el edificio.
En mi experiencia puedo poner un ejemplo de proyecto:
Anáilsis y diseño 3 meses
Desarrollo del programa hasta tener una versión funcional: 4 meses
Finalización y entrega del mismo: 2 meses.
O sea, de 9 meses total, los 3 primeros fueron de análisis y diseño.

Estoy de acuerdo en muchísimas cosas que ha comentado el amigo mamcx, salvo en uml, me parece que es un embrollo terrible y estoy convencido que desaparecerá.
Responder Con Cita
  #10  
Antiguo 28-08-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¡Hola!

Vaya que se han puesto a revivir un hilo viejo. Ya estaba acumulando polvo

Les comento que con el tiempo me di cuenta de que es inútil intentar buscar el modo de formar un nuevo lenguaje genérico... lo único que veía es que estaba reinventando la rueda.

En estos últimos años he cambiado la forma de ver esto, al comienzo iba con la idea de que se empleaban paradigmas puros como USDP pero luego empecé a darme cuenta que resulta mucho más valioso el conseguir un proceso que vaya madurando y que sea constante. Este proceso se establece y se desarrolla en base a la propia experiencia del equipo por tanto es un modelo único y propio.

Es mucho más probable un enfoque mixto de diversos paradigmas, y agregarle condimentos propios... a esa conclusión he llegado. Después de todo en realidad los paradigmas de desarrollo no establecen paso a paso como han de hacerse las cosas sino más bien que PROPONEN un esquema o marco de trabajo en general y en como han de ordenarse las macro-actividades. Las actividades reales se definen teniendo en cuenta cada proyecto en forma particular.

Las herramientas con que cuenten es de menos, mientras con ellas puedan llegar al producto final.

Disculpa que te lleve la contraria Casimiro, pero al igual que Mario considero que UML llegó para quedarse. No va a desaparecer... más bien evolucionará, de no ser ser así no existiría UML 2.0 y tengo entendido que ya están en proceso de borrador de 2.5.

UML está hecho para quienes deseen hacerlo. No a todos les gusta, ni les resulta. En lo particular considero que es una buena herramienta de trabajo.

No es fácil adoptar UML, sobre todo si uno lleva años sobreviviendo sin él. Debe haber una total puesta de conciencia: si vas a utilizarlo, utilízalo bien sino déjalo. Esta misma idea va para cualquier otra cosa: si vas a encarar un proceso de control de versión hazlo bien, no a medias... sino mejor ahórrate el trabajo.
El cambio no debe hacerse obligadamente brusco, puede ser gradual. Pero la idea tras esto es que si uno quiere adoptar una herramienta que la use, pero no porque quiera probar si con ello tendrá más suerte y logrará aumentar la productividad y la calidad... sino porque tiene la confianza suficiente de que con su uso su trabajo le resulta ventajoso.

Con el tiempo, consciente o inconscientemente, uno va desarrollando un proceso gradual y toma nota de las armas que les agrada y le resulta útil.

A mi me gusta UML, defiendo su uso. He estado llevando (y llevo) un proceso de aprendizaje y de maduración. Del mismo modo estoy en una fase en donde estoy aprendiendo y asimilando ideas de como ordenar la casa: en lo que hace a organización de actividades, de documentación, de testeo, etc.
No interesa si haces código o UML primero, eso dependerá de las necesidades y la forma en como uno encara el proyecto. El asunto está en que si utilizas UML, le saques el provecho.

Y no es para volverse loco haciendo mil diagramas, no... así no es... ¡haz lo que consideres que te ayudan a aclarar ideas! Ni más ni menos.

Al comienzo tenía la idea de que todo debía hacerse bien formal, estructurado, rígido, con pasos bien definidos... "que debía hacerse si o si de esa forma". Pero luego empecé a relajarme de esta idea... y entiendo que no necesariamente hay que hacer todo y de todo. Actividades más sueltas, ligeras, flexibles, dinámicas pueden ofrecer mejores resultados sin estar presionando demasiado. Lo importante es lograr un proceso que nos lleve a los resultados, empleando las herramientas que nos aporten utilidad.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 28-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amigo Delphius, te aconsejo que leas esto (por qué uml no sirve) cuando puedas, es de Javier Smaldone, un paisano tuyo al que admiro bastante.
Yo también andaba con la idea de aprender a usar uml, lo pedían en todos los trabajos que veía, debe ser algo fabuloso... pensé. Pero estuve echándole un vistazo, haciendo pruebas, leyendo documentación, etc. y me parecia que algo no encajaba "con la vida real". La lectura de ese documento me hizo desistir de uml
Responder Con Cita
  #12  
Antiguo 28-08-2010
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Bueno, desde entonces aplico casi al 80% todo lo que dije.

Ahora sigo mas bien las ideas de http://gettingreal.37signals.com/.

Para lo de los bugs/ideas estoy usando www.pivotaltracker.com y la verdad es muy intuitivo. Junto a la metodologia scrum (lo mas importante: Se planea a maximo 1/2 semanas al futuro).

Al iniciar estoy haciendo wireframing & sketchs basicos en un tablero de esos que se escriben con marcador.

Sin embargo, creo que este metodo funciona mas para quienes creamos productos que no son tomados de un cliente (o sea, creamos productos desde 0 sin consultar a nadie).

Para cuando es un desarrollo a la medida, no se que tan valido sea...
__________________
El malabarista.
Responder Con Cita
  #13  
Antiguo 28-08-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Amigo Delphius, te aconsejo que leas esto (por qué uml no sirve) cuando puedas, es de Javier Smaldone, un paisano tuyo al que admiro bastante.
Yo también andaba con la idea de aprender a usar uml, lo pedían en todos los trabajos que veía, debe ser algo fabuloso... pensé. Pero estuve echándole un vistazo, haciendo pruebas, leyendo documentación, etc. y me parecia que algo no encajaba "con la vida real". La lectura de ese documento me hizo desistir de uml
Me voy a poner a leer el enlace. No te prometo que cambie mi visión, estoy muy convencido de UML.
Se que no debería sacar conclusión apresurada pero me voy a aventurar el porqué UML no funciona (y es en parte algo de lo he dicho en el post anterior): UML, como cualquier otra herramienta de trabajo, funciona si uno le pone trabajo y le da valor agregado. Está consciente de ello, puede sacarle provecho.
Si uno no lo toma con total seguridad, seriedad y dedicación entonces... ¿de que manera puede llegar a sacar una buena conclusión?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #14  
Antiguo 29-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cuéntame cuando lo leas
Responder Con Cita
  #15  
Antiguo 29-08-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola,
Bueno, me he leído el artículo... es un tanto viejo.

Con todo respeto amigo, si yo fuera el profesor de Javier lo mando a primer año de la carrera.... ¡no pudo haber dicho lo que dijo! Confundir y mezclar UML con el Proceso Unificado es... no se, no se me ocurren palabras. Admito que es común equivocarse cuando uno recién está estudiando el tema... pero... de alguien que ya lo conoce y lo ha estudiado... ¡no tiene perdón!

De allí en adelante no tiene sentido seguir avanzando... el Mencino en sus comentarios lo ha puesto muy en claro. Quizá de una forma un tanto brusca, pero en fin... aclara todo... no tengo más que corregir porque el se encargó de explicar punto a punto los temas.

Hay que tener en cuenta que la carta del dichoso estudiante también se ha expresado teniendo como base a UML 0.8 y 0.9 cuando recién se estaba formalizando... inicialmente tuvo sus fallas, lo reconozco, pero en la 1.0 ya salio maduro y tuvo una amplia revisión en la 1.5. Al día de hoy quizá su opinión al respecto ha cambiado. El artículo de Javier es del año 2006... para ese entonces ya estaba la versión 1.5... Es totalmente incongruente que haya dicho semejante cosa.

Quizá Javier sepa mucho, pero en ese artículo orinó muy fuera del tarro, con todo respeto.

UML es muy bueno, si alguien lo usa y aprende a usarlo.

Habrá gusto para todo, si alguien lo usa y le sirve, perfecto... si alguien prefiere no utilizarlo y le va bien... perfecto. Esto vengo diciendo desde hace dos post. Pero de aquí no me venderán la idea de que no sirve.

Por ello digo, y sostengo, con toda seguridad, de que uno debe ir encontrando las herramientas que le sean de ayuda.

Admito que UML ofrece un amplio abanico de diagramas, una semántica rica y eso lo puede hacer parecer bastante complejo y amplio pero el propósito de ello es brindar la mayor posibilidades de expresión de las ideas. Ideas que nacieron para ayudar al programador. Luego queda en el programador en saber elegir cuando, como y cuanto utilizarlas.
Dicho sea de paso, UML es lo suficientemente flexible como para no indundar de redundancias a nuestros diagramas. Muchos elementos de los diagramas son opcionales, y se le deja la posibilidad al diseñador de utilizarlos cuando este lo crea conveniente para aclarar algunos puntos que pueden introducir ciertas ambiguedades.

UML quizá no sea perfecto, pero es una herramienta más que uno está en la absoluta libertad de usarla o no.

Si Javier, en el momento de escribir ese artículo no lo ha entendido, es problema suyo. Me falta terminar de leer los últimos comentarios, voy por el comentario de Sam del 25 de junio del 2008... voy a ver si ha respondido a sus críticas.

Lo siento Casi si te molesta que haya tirado algunos palos a esa persona que estimas amigo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #16  
Antiguo 29-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Delphius Ver Mensaje
[..] Lo siento Casi si te molesta que haya tirado algunos palos a esa persona que estimas amigo.
Saludos,
No te preocupes, nadie puede estar de acuerdo en todo... con todos

Yo te considero amigo... aunque te guste windows
Responder Con Cita
  #17  
Antiguo 29-08-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No te preocupes, nadie puede estar de acuerdo en todo... con todos

Yo te considero amigo... aunque te guste windows
Es bueno saber que no estás enojado.

Respecto a Windows... bueno, no se si me gusta... pero es el que me presentaron y me resulta sencillo de utilizar. Quizá si me hubieran introducido al mundillo de la informática con Linux la cosa posiblemente hubiera sido distinta la cosa.

Tengo cuentas pendientes de aprender Linux, que tarde o temprano, tengo que aprender a utilizarlo... en lo personal y profesional.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #18  
Antiguo 29-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Delphius Ver Mensaje
[..] Respecto a Windows... bueno, no se si me gusta... pero es el que me presentaron y me resulta sencillo de utilizar. Quizá si me hubieran introducido al mundillo de la informática con Linux la cosa posiblemente hubiera sido distinta la cosa. [..]
Mi historia fue muy distinta, lo primero que conocí, en informática, fue el sistema operativo Oasis, (que después le cambiaron el nombre a THEOS) era un sistema multiusuario para micros z80 y se usaba en las medianas empresas como sustituto "barato" de los mainframes porque era mucho más económico. Si se le puede llamar barato a algo así como 20.000 euros de hace 25 años .
Después me fui moviendo entre OS9, amigaOS (estilo mac), CPM y varios sistemas similares a Unix, hasta que llegué al propio Unix. Cuando conocí el MSDOS me pareció "simpático", era una especie de versión muy reducida de un sistema Unix de aquella época, no tenía casi nada, era lo más básico que podía tener para funcionar, monousuario, monotarea, sólo manejaba 640 Kb, discos de 20 Megas, sin gráficos, sin sonidos, sin colores, sin nada
Luego llegó windows y de entrada no me gustó todas las máquinas donde se instalaba windows, no sé lo que les pasaba, pero se convertían de golpe en cacharros leeeeeeentos que no paraban de dar errores incontrolables e incomprensibles Acabé odiando windows
Por eso, al principio de usar Linux lo hacía siempre sin entorno gráfico, me costó mucho dejar la consola porque me daba la sensación de que iba a "petar" por todos lados... pero no, por suerte no tiene nada que ver

Cita:
Empezado por Delphius
[..]Tengo cuentas pendientes de aprender Linux, que tarde o temprano, tengo que aprender a utilizarlo... en lo personal y profesional.
Saludos
Seguro que te gustará
Responder Con Cita
  #19  
Antiguo 24-09-2010
Avatar de PepeLolo
PepeLolo PepeLolo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Fuenlabrada - Madrid - Espagna
Posts: 265
Poder: 21
PepeLolo Va por buen camino
Solo un apunte. La suma de los porcentajes nunca puede ser > 100
__________________
PepeLolo
El hombre el único virus que mide más de unas cuantas micras
Responder Con Cita
  #20  
Antiguo 24-09-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por PepeLolo Ver Mensaje
Solo un apunte. La suma de los porcentajes nunca puede ser > 100
No sabía a que te referías, pero casualmente dí con el asunto

Cita:
Analisis Estructurado Moderno--5----23,81%
UML/USDP---------------------5----23,81%
Una "propia"------------------10----47,62%
Otra--------------------------2----14,29%
saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:33:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi