UML (Lenguaje Unificado de Modelado en sus siglas en inglés)

Diseño y paso a paso del desarrollo de un videojuego en grupo.

UML (Lenguaje Unificado de Modelado en sus siglas en inglés)

Notapor Dokan » Mié Jul 15, 2009 8:36 pm

Como comenté en otro mensaje he estado buscando información sobre UML para ver si puedo aprender algo que aporte en la organización del proyecto. Concretamente estoy leyendo un libro[1] (todavía no pasé del capítulo 2) sobre este tema del que su introducción me parece muy interesante. Por ello quiero citar dos párrafos de la misma:

«Para poner un poco de orden, sobre todo en lo que respecta a la modelización de sistemas software, aparece UML (Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende unificar las tres metodologías más difundidas (OMT, Bootch y OOSE) e intentar que la industria software termine su maduración como Ingeniería . Y lo consigue en tal manera que lo que UML proporciona son las herramientas necesarias para poder obtener los planos del software equivalentes a los que se utilizan en la construcción, la mecánica o la industria aeroespacial. UML abarca todas las fases del ciclo de vida de un proyecto, soporta diferentes maneras de visualización dependiendo de quién tenga que interpretar los planos y en que fase del proyecto se encuentre.»

«¿Qué es un modelo?. La respuesta es bien sencilla, un modelo es una simplificación de la realidad. El modelo nos proporciona los planos de un sistema, desde los más generales, que proporcionan una visión general del sistema, hasta los más detallados. En un modelo se han de incluir los elementos que tengan más relevancia y omitir los que no son interesantes para el nivel de abstracción que se ha elegido. A través del modelado conseguimos cuatro objetivos:
• Los modelos nos ayudan a visualizar cómo es o queremos que sea un sistema.
• Los modelos nos permiten especificar la estructura o el comportamiento de un sistema.
Los modelos nos proporcionan plantillas que nos guían en la construcción de un sistema.
• Los modelos documentan las decisiones que hemos adoptado.»

Destacar que UML está diseñado para trabajar en POO, y aprovechando que en Python todo es un objeto creo que no hay mejor manera de empezar el diagrama UML del proyecto (ya me direis si de forma acertada) que como se ve en esta imagen.
Se puede empezar desde cosas concretas hacia algo general o desde algo general e ir concretando, detallando. En la imagen se ve que he optado por la segunda opción, pero ya me direis que es lo que teneis en mente. El diagrama siempre será tan detallado como se quiera pudiendo llegar al extremo de representar todo el juego o ser un simple esbozo del mismo.
Como habeis visto en la imagen además de www.gliffy.com se puede trabajar con programas como Umbrello que funcionan a nivel local para crear los diagramas que nos facilitarán la vida.

¿Habeis estudiado UML anteriormente? Si es así una buena forma de colaborar me parece que sería aportando algunos ejemplos de su uso aplicados a éste proyecto, a ser posible un modelo mejor que el hecho por mi. :oops:
Incluso se me ocurre que para empezar cada uno debería hacer su modelo y entre todos votamos el mejor. A lo mejor aquí me he pasado... xD



[1] Diseño orientado a objetos con UML. Raúl Alarcón. Grupo Eidos.
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor thepoi » Mié Jul 15, 2009 9:07 pm

¿Habeis estudiado UML anteriormente? Si es así una buena forma de colaborar me parece que sería aportando algunos ejemplos de su uso aplicados a éste proyecto, a ser posible un modelo mejor que el hecho por mi. Embarassed
Incluso se me ocurre que para empezar cada uno debería hacer su modelo y entre todos votamos el mejor. A lo mejor aquí me he pasado... xD


Jejejeje, yo por suerte terminé la ingenieria en informatica este año. Para bien o para mal los ultimos años son pura ingenieria del software, UML para arriba y UML para abajo (entre otras cosas).
Decir que ,UML como tu bien dices, es un lenguaje, pero que si no sabes lo que quieres decir, saber como decirlo es un sin sentido. Aprender UML sin nociones basicas de analisis y diseño es como construir la casa por el tejado.
Es mas, leer eso de "estudiar UML" me choco un poco.

Bueno, si tienes alguna duda o algo espero poder resolvertela, si no tiraré mi titulo por la ventana ^^
thepoi
 
Mensajes: 17
Registrado: Sab May 31, 2008 9:41 pm

Notapor Dokan » Jue Jul 16, 2009 7:27 am

¡Claro que sí! Pero abrela antes no vaya a ser que se rompa algo... xD
Yo soy de los que se dejaron la carrera para buscar trabajo seguro el primer año al ver el panorama. Ahora ya tengo el trabajo y la carrera me la sopla dicho mal y pronto, pero sí que me gustaría aprender algunas cosas a nivel amateur.
No creo que sea conveniente convertir esto en un debate sobre el lenguaje, ¿Qué fue primero, el huevo o la gallina? ¿Qué aprende primero un niño, a organizar las ideas que quiere expresar o a expresar las ideas que tiene aunque estén desordenadas? Entre otras cosas porque creo que o empezamos estando de acuerdo o no lo estaríamos nunca. :P
Igual que ayuda una madre a su bebe a aprender hablandole no estaría de más un poco de ayuda para coger práctica con UML, qué dices, ¿Te animas?

Aprender UML sin nociones basicas de analisis y diseño es como construir la casa por el tejado.

No puedes decir eso y dejarnos así. Explíquese señor ilustrado que no se le entiende nada. (Perdona la broma)
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm

Notapor thepoi » Jue Jul 16, 2009 1:43 pm

Al ver el panorama? Explica eso xd

mucho tio y pocas tias?
mucho "friki"?
muchas matematicas y fisica?
muchos suspensos?
mucho trabajo mal pagado?

Es que se me ocurren mil y un motivos por los que dejar la carrera xd

Respecto a tu duda
En el desarrollo de software se sigue un orden

analisis
diseño
implementacion (codificacion)
mantenimiento

En analisis y diseño es donde se usa UML, y el resultado de esas etapas es un plano.
Cada una de esas dos etapas tiene sus propios diagramas UML.
No tiene sentido ponerse a crear "modelos" como tu dices asi por que si, hay que seguir un orden, ya que cada diagrama sirve para ir creando los siguientes.
Por eso digo que aprender UML sin saber para que sirve ni cuando ni como se usa es un sin sentido.

En proyectos pequeños (como estos) es posible prescindir de algunos diagramas por su trivialidad, por eso mucha gente con cierta experiencia va directamente a los diagramas de clases y usa patrones directamente en la etapa de codificacion.


[/b]
thepoi
 
Mensajes: 17
Registrado: Sab May 31, 2008 9:41 pm

Notapor Dokan » Vie Jul 17, 2009 10:02 am

El panorama que comentaba antes son todas esas razones que se nos pasan por la cabeza y que nos echan para atrás. Los mil y un motivos que se te ocurren, aunque puede que los mios cambien un poco. Por ejemplo tenía otras oportunidades mejores a corto plazo y me arriesgué.

Gracias por la información.

Entonces, como conocedor de UML que eres, ¿Crees que vale la pena que hagamos algunos diagramas (de clases, de estados, de lo que sea) para aclarar un poco el proyecto de cara a los que no sabemos (los que estamos ahora y los que vendrán)?
Avatar de Usuario
Dokan
 
Mensajes: 143
Registrado: Lun Dic 03, 2007 10:40 pm


Volver a Asadetris

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados