Foros del Web » Programación para mayores de 30 ;) » Programación General »

UML - Diagramas Colaboracion

Estas en el tema de UML - Diagramas Colaboracion en el foro de Programación General en Foros del Web. Para empezar esta pregunta va para los "gurus del UML" que existan en este foro y empieza asi ... En los casos de uso se ...
  #1 (permalink)  
Antiguo 15/07/2006, 13:11
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta UML - Diagramas Colaboracion

Para empezar esta pregunta va para los "gurus del UML" que existan en este foro y empieza asi ...

En los casos de uso se puede usar lo que se llama generalización - especialización, los includes y también los extends.

1. La primera pregunta que tengo es la siguiente, cuando uno usa generalización, el caso de uso BASE es siempre abstracto?

2. Es válido, por ejemplo en el caso de una videoclub, crear un caso de uso que se llame registrar y otros casos de uso que hereden y se llamen "registrar VCD" , "registrar VHS", "registrar DVD" ????

3. Como represento mediante un diagrama de colaboración los casos de uso que son abstractos ???
  #2 (permalink)  
Antiguo 16/07/2006, 19:17
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
1. La primera pregunta que tengo es la siguiente, cuando uno usa generalización, el caso de uso BASE es siempre abstracto?

Segun la teoria de uml,. no siempre es abstracto, pero hasta ahora, no he visto nunca un caso en el que este caso de usa base, no sea abstracto.


2. Es válido, por ejemplo en el caso de una videoclub, crear un caso de uso que se llame registrar y otros casos de uso que hereden y se llamen "registrar VCD" , "registrar VHS", "registrar DVD" ????

Es valido, pero no te lo recomendaria. A simple vista podria decirte que hagas un soloc aso de uso, por ejemplo "registrar pelicula". y que ese caso de uso se encargue de registrar los 3 tipos de peliculas.
Ademas, si lo haces en casos de usos separados, y en un futuro tenes que agregar un nuevo tipod e pelicula, tendrias que modificar el modelo de Casos de uso, en cambio si lo haces como un solo caso de uso, lo unico que tendrias que hacer es agregar en tu sistema, el nuevo tipo de pelicula mediante otro caso de uso llamado "registrar nuevo tipo de pelicula".

3. Como represento mediante un diagrama de colaboración los casos de uso que son abstractos ???

Si el caso de uso es abstracto entonces no es recomendable hacer undiagrama de colaboración, y personalmente nunca me he tomado el trabajo de hacerlo, ya que no le veo el el sentido a hacer una colaboraciond e objetos de algo que es abstracto y que no tiene un reflejo real en el sistema, salvo el hecho de que agrupa funcionalidades comunes.

Espero haber contestado satisfactoriamente tus preguntas.

Saludos
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #3 (permalink)  
Antiguo 16/07/2006, 22:15
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta RE:UML - Diagramas Colaboracion

Estimado TolaWare, muchas gracias amigo por tomarte la molestia de responder en el foro.

Bueno,sigamos con este tema, sobre los casos de uso abstractos estoy totalmente de acuerdo contigo, ya que en el libro de UML (el de los 3 amigos) explica aunque no muy claro que si existen cuando se aplica la generalización.

Aunque, hay algo que no me queda muy claro, en el caso de uso del video club, tu me aconsejas realizar un solo caso de uso, pero lo que no entiendo es como lo represento con un diagrama de colaboración, osea como puedo representar que ese caso de uso tiene varios tipos de formatos de peliculas,osea VHS, VCD, DVD, etc ????

Ademas otra cosa que aun no me queda muy claro, que me sugieres realizar en este ejemplo que te pondré a continuación:

tengo un caso de uso BASE llamado registrar pelicula, y tengo asociado (estoy exagerando en la cantidad) 6 casos de usos asociados, por el ejemplo
1. "registrar VHS"
2. "registrar VCD"
3. "registrar CD"
4. "registrar DVD"
5. ...........
6. ...........

hasta ahí no hay problema, todo está en orden, pero como puedo hacer si los 3 primeros casos de uso tienen atributos comunes, y los ultimos 3 tienen atributos comunes entre ellos y el caso 1 con el 5 tienen atributos que se relacionan. espero que puedas entenderme

por ejemplo el caso de uso 2 con el 4 podrían tener atributos comunes como "Director de Pelicula" mientras que el 1 con 3 podrían tener otros

en este ejemplo, que es en realidad en el que me encuentro y no puedo modelarlo, es valido crear esa herencia???
o solamente basta crear un solo caso de uso???
y si solo se representa 1 solo caso de uso, en el diagrama de colaboración como lo puedo representar? no saldrá muy grande el diagrama?

gracias.
  #4 (permalink)  
Antiguo 17/07/2006, 08:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 110
Antigüedad: 18 años, 7 meses
Puntos: 0
Coincido con Tolaware, pondria un solo caso de uso y algunos flujos alternos.
Por que?
Pienso que coincide con la forma de trabajar del videoclub, o existe una forma diferente de como rentar un vhs a un dvd?
Fijate que aqui en la empresa usamos los casos de uso para comunicarnos con los clientes, el hecho de que sean en texto ayuda a eso, a lo que voy es que si complicas mucho metiendo casos de uso abstractos, extensiones y cosas "abstractas" en general, puede perder la idea original.
Supongo que mi recomendacion es: Siempre busca la solución mas sencilla.

Saludos
  #5 (permalink)  
Antiguo 17/07/2006, 08:30
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 17 años, 9 meses
Puntos: 0
muchas gracias por sus respuestas, la verdad que ya terminé mis casos de uso, pero tengo varios que son los llamados Gestion o Mantenimiento o lo que en ingles se conocen como los casos de uso CRUD (Create, Read, Update, Delete)

estas 4 funciones CRUD debo representarlas en 1 solo diagrama de colaboración, o debo representarlas por separado? porque mi forma de verlo es que debería representarse en 1 solo ya que es de 1 solo caso de uso.
  #6 (permalink)  
Antiguo 17/07/2006, 10:28
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
El caso de uso CRUD, lo podes tratar como un CU abstracto, y cada operacion del CRUD (crear/recuperar/modificar/borrar), los tratas de como sobcasos de uso del caso de uso principal, por ejemplo:



De esa manera podes desarrollar una colaboracion para cada subcaso de uso.

Saludos
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #7 (permalink)  
Antiguo 18/07/2006, 07:45
 
Fecha de Ingreso: septiembre-2005
Mensajes: 110
Antigüedad: 18 años, 7 meses
Puntos: 0
Otra forma es usando Subflujos, esto es:
1 Flujo principal.
4 Subflujos, 1 para cada parte del CRUD
X Flujos alternativos

Esta es la manera que usamos nosotros para los casos de uso tipo CRUD.
  #8 (permalink)  
Antiguo 18/07/2006, 08:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 110
Antigüedad: 18 años, 7 meses
Puntos: 0
Fijate en esta plantilla que es la que generalmente se usan en proyectos que usan RUP.
http://www.humbertocervantes.net/cur...rup_ucspec.htm

Saludos
  #9 (permalink)  
Antiguo 13/10/2006, 17:21
Avatar de CLABESITA  
Fecha de Ingreso: octubre-2006
Mensajes: 4
Antigüedad: 17 años, 6 meses
Puntos: 0
Saludos a todos, desearía obtener ayuda acerca de los estereotipos de UML, como extend e include, por favor si pudieran darme ejemplos claros, les agradecería, ¿Cuando usar extend y cuando include?
  #10 (permalink)  
Antiguo 21/11/2006, 15:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Se puede usar extend hacia mas de un caso de uso base?

Primero que nada quiero disculparme si es que no he colocado la pregunta donde deberia estar, pero la verdad me parecio que va un poco con el tema.

Resulta que tengo un caso de uso base "RegistrarCliente" y se extiende a "Registrar nueva forma de contacto".


Tambien tengo el caso de uso base "Administrar Forma de contacto" y se extiende a "Registrar nueva forma de contacto.".

La pregunta es: ¿Es valido usar "Registrar nueva forma de contacto" como extend tanto para "Administrar Forma de contacto" como para "RegistrarCliente"
  #11 (permalink)  
Antiguo 18/12/2007, 19:18
 
Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
Sonrisa Re: Se puede usar extend hacia mas de un caso de uso base?

hola, bueno por los conocimientos que tengo sobre uml, bueno te dire que si es posible que mas de un CU base tenga un mismo <extends> como tambien puede darse la situacion que varios CU tengan a un mismo <include>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:13.