You are on page 1of 28

Ingeniera multimedia ANALISIS Y ESPECIFICACION DE SISTEMAS MULTIMEDIA

PRCTICA 6

Modelado con UML

Carlos Javier Lpez Lpez Rubn Martnez Vilar Cristina Palomares Crespo Vctor Puche Leal Grupo: Mircoles 17:00 19:00

INDICE DE CONTENIDOS
INTRODUCCIN....................................................................................................................................... 3 HERRAMIENTA CASE: MICROSOFT VISIO 2010 ....................................................................................... 3 DIAGRAMAS DE CASOS DE USO .............................................................................................................. 4 ESQUEMA DE CASOS DE USO.................................................................................................................. 6 DIAGRAMA DE CLASES ............................................................................................................................ 7 DIAGRAMAS DE INTERACCIN: SECUENCIA ......................................................................................... 10 DIAGRAMAS DE INTERACCIN: COLABORACIN ................................................................................. 16 DIAGRAMA DE ESTADO......................................................................................................................... 20 DIAGRAMAS DE ACTIVIDAD .................................................................................................................. 21

Prctica 6: Modelado con UML

INTRODUCCIN
En este documento se incluyen los diagramas UML tal y como se indican en el ndice de contenidos acompaados cada uno con una descripcin y notas aclaratorias. Debido al poco espacio horizontal en el documento, cada diagrama enlaza a la imagen de tamao real de este, siempre que el documento se abra en el mismo directorio donde se encuentra la carpeta Diagramas. Adems, acompaando a los diagramas de casos de uso y de clases, se incluye un esquema con distintos enlaces a sus respectivos diagramas de interaccin y actividad.

HERRAMIENTA CASE: MICROSOFT VISIO 2010


Para la realizacin de los diagramas hemos empleado la herramienta CASE Microsoft Visio 2010 ya que es una herramienta sencilla de utilizar, que incluye todos los diagramas UML necesarios para la realizacin de esta prctica y que podemos obtener gratuitamente gracias al acuerdo entre la Universidad de Alicante y Microsoft. Microsoft Visio 2010 incluye la especificacin UML 2.2, que a pesar de no ser la ltima hay que decir que no tiene ms de 3 aos y solo ha habido 2 versiones posteriores, por lo que sigue siendo relativamente actual.

Prctica 6: Modelado con UML

DIAGRAMAS DE CASOS DE USO


Esta red social presenta tres roles distintos:

ADMINISTRADOR
Ser el que gestione la red social en su totalidad. Podr eliminar comentarios del muro, eliminar a usuarios que no presenten un comportamiento adecuado y no cumpla las condiciones de uso, gestionar los grupos, y editar el calendario.

USUARIO NO REGISTRADO
Tendr un caso de uso: Registro. El registro de un nuevo usuario conlleva que el sistema realice una validacin de su nombre de usuario, de la contrasea y que adems enve a dicho usuario un email de confirmacin.

Prctica 6: Modelado con UML

USUARIO REGISTRADO
El Login incluye una validacin de usuario (comprobando que existe en la base de datos).Tras iniciar sesin en la red social, podr hacer uso de cualquiera de los recursos. En caso de olvidar contrasea el sistema enviar un email de confirmacin para que el usuario demuestre que el perfil es suyo y tras el cambio de contrasea el sistema la validar o no. El usuario registrado puede recibir peticiones de amistad, que aceptar o rechazar. Buscar amigos y los aadir, comentar en sus muros y visitar sus perfiles. La informacin personal que proporciona al registrarse la podr modificar en cualquier momento. El usuario editar el calendario de conciertos, aadiendo, votando y apuntndose a ellos. Tambin est la posibilidad de compartirlo con otras redes sociales, esto incluye una comprobacin de la conexin con la red social (el usuario tendr que iniciar sesin en la otra red). Crear grupos o se unir a los ya creados, aadir amigos y escribir comentarios y podr compartir fotografas y vdeos del momento. Existe una pestaa Tweets en la que el usuario leer los tweets enviados de la red social y sobre ella. Por ltimo el usuario registrado publicar comentarios, pginas, fotos y vdeos.

Prctica 6: Modelado con UML

ESQUEMA DE CASOS DE USO


A continuacin se presenta el esquema de casos de uso junto con sus respectivos enlaces a los diagramas de interaccin. No registrado o Registro (Secuencia, Colaboracin y Actividad) Usuario registrado o Login (Secuencia, Colaboracin y Actividad) Olvidar contrasea o Ver tweets o Ver perfil personal Modificar perfil (Secuencia, Colaboracin y Actividad) o Ir a amigos Comentar en muro(Secuencia, Colaboracin y Actividad) Ver perfil de amigo (Actividad) Buscar amigos Aadir (Secuencia, Colaboracin y Actividad) Recibir peticin de amistad (Actividad) o Editar calendario Aadir evento y compartir (Secuencia, Colaboracin y Actividad) Editar evento (Secuencia y Colaboracin) Votar evento (Actividad) Apuntarse a evento y compartir (Estado y Actividad) o Grupo Crear grupo y aadir amigos (Secuencia, Colaboracin y Actividad) Editar grupo(Secuencia y Colaboracin) Unirse a grupo Compartir grupo o Publicar (Secuencia, Colaboracin y Actividad) Administrador o Editar muro o Banear usuarios (Secuencia y Colaboracin) o Gestionar grupos o Editar calendario

Prctica 6: Modelado con UML

DIAGRAMA DE CLASES

La mayor parte de los contenidos de una red social son creados y manipulados por los usuarios. Como bien se puede observar en el diagrama de clases de nuestra red social la clase principal corresponde a los usuarios (USUARIO) y todas las dems se encuentran asociada a ella. Tambin hay que destacar que esta clase es la que realiza la mayora de las operaciones, a parte claro, de las funciones de los administradores. De las dems acciones se encarga el sistema.

Prctica 6: Modelado con UML

TABLA RESUMEN
De
USUARIO PAGINA EVENTO GRUPO MURO USUARIO USUARIO USUARIO USUARIO USUARIO USUARIO ALBUM ALBUM ALBUM ALBUM ALBUM USUARIO USUARIO

Hacia
MURO MURO MURO MURO COMENTARIO PAGINA EVENTO GRUPO PAGINA EVENTO GRUPO PAGINA EVENTO GRUPO USUARIO IMAGEN_FOTO COMENTARIO USUARIO

Asociacin
tiene tiene tiene tiene tiene seguir seguir seguir administrar administrar administrar pertenece pertenece pertenece pertenece

Multiplicidad
1|1 1|1 1|1 1|1 1 | 0..* 1..* | 0..* 1..* | 0..* 1..* | 0..* 1..* | 0..* 1..* | 0..* 1..* | 0..* 0..* | 1 0..* | 1 0..* | 1 0..* | 1 1|*

Observaciones

composicin

administrar amigo_de

1 | 0..* 1|1 reflexiva

ACLARACIONES
Tal y como se indica en el diagrama de casos de uso, la operacin/asociacin administrar engloba a las funciones crear, editar y eliminar. Se ha plasmado as en el diagrama para ahorrar espacio. Internamente hay un LBUM genrico, invisible para los usuarios, en cada una de las clases USUARIO, PGINA, EVENTO y GRUPO. El sistema lo crea con la primera imagen que se sube sin un lbum especfico. La clase ADMINISTRADOR no est asociado con ninguna otra por cuestiones de espacio. Esta clase puede administrar (descrito en este apartado) a cualquier otra de las presentes clases en el diagrama as como a otros administradores. La clase PETICION_AMIS (peticin de amistad) surge de la asociacin entre dos usuarios (clase USUARIO, asociacin reflexiva). Sera un registro en la base de datos que se crea cuando un usuario manda a otro una peticin de amistad. El sistema se encarga de la gestin. Hay que decir que las peticiones de amistad son revisables y puede cambiar su estado en cualquier momento.

Prctica 6: Modelado con UML

Puede que la terminologa usada en el diagrama no se corresponda con otros diagramas del documento. No obstante se mantiene su significado. Por ejemplo en el diagrama de casos de uso aparece concierto su equivalente en este diagrama (diagrama de clases) sera evento.

ESQUEMA DE CLASES
A continuacin se presentan algunas clases enlazadas con sus respectivos diagramas de casos de uso, colaboracin y estado. ADMINISTRADOR o Diagrama de casos de uso de administrador o Diagrama de colaboracin (Banear usuario) USUARIO o Diagrama de casos de uso de usuario registrado o Diagramas de colaboracin Registro Login Editar perfil Crear evento Crea grupo Editar evento/grupo Agregar amigo Publicacin Banear usuario EVENTO o Diagrama de estado COMENTARIO o Diagrama de colaboracin (Publicacin)

Prctica 6: Modelado con UML

DIAGRAMAS DE INTERACCIN: SECUENCIA


Para los diagramas de secuencia nos hemos centrado en los casos de usos ms importantes y que requieren ms interacciones.Son los siguientes: - Registro. - Login. - Edicin de perfil. - Creacin de eventos. - Modificacin/Eliminacin de eventos/grupos. - Agregar amigos. - Creacin de grupos. - Publicar comentarios. - Banear usuarios. El resto de casos no se han realizado ya que apenas requieres interaccin, como pueden ser Ver tweets o Votar concierto, el primero solo requiere visitar el perfil del usuario y el segundo es simplemente una accin de clic. Las clases que intervienen en las acciones son: - USUARIO: el que solicita las acciones, y espera respuesta, usando el interfaz web. - ADMINISTRADOR - INTERFAZ/CONTROLADOR: con esto nos referimos a la interfaz web, lo que ve el usuario, as como a la tecnologa que realiza las peticiones al SGBD y otras acciones. Esto puede referirse a PHP, javascript, etc. o Esta clase engloba las que aparecen el diagrama de clases como MURO, EVENTO o GRUPO. - SGBD: el sistema gestor de bases de datos, aunque no aparezca, evidentemente realiza las operaciones en la base de datos. Segn la simbologa de Microsoft Visio y mi adaptacin a lo visto en teora, tenemos lo siguiente: Muestra la instancia y/o la clase del objeto. La lnea discontinua indica la lnea de vida del objeto. Sobre esta lnea se muestran los rectngulos de activacin, tiempo durante el cual ese objeto realiza acciones. Se enva un mensaje y se espera respuesta antes de seguir. Se enva un mensaje pero no es necesario esperar respuesta para seguir trabajando. Devuelve un valor como respuesta a un mensaje.

OBJETOS

MENSAJES SNCRONOS MENSAJES ASNCRONOS RETORNO

Prctica 6: Modelado con UML

10

CREACIN

<<create>>

DESTRUCCIN

<<destroy>>

Una accin que tiene como resultado la creacin de una nueva clase o una instancia de clase. Una accin que tiene como resultado la eliminacin de una clase o una instancia de clase.

Otras cosas a tener en cuenta sobre los diagramas de secuencia realizados: - Cada vez que se enva un mensaje, se debe devolver una respuesta, pero para mayor claridad en los diagramas hay algunos casos en los que no se ha puesto, como puede ser despus de alguna accin del sistema gestor de bases de datos (SGBD). - En relacin a lo anterior, cuando un objeto enva un mensaje sncrono, su cuadro de activacin debera aparecer hasta que recibe respuesta pero, para mayor claridad, en algunas ocasiones no es as, como cuando se divide la lnea de tiempo para representar el mejor y peor caso. - Han sido marcadas en rojo las activaciones finales. A continuacin explico un poco que es lo que podemos encontrar en cada diagrama:

REGISTRO
Es el proceso de registro de una persona que no es miembro de la red social, por lo que no tiene una clase asociada. Esta persona realiza el proceso de registro mediante un formulario web y si todo ha salido bien se crea una instancia de la clase USUARIO.

Prctica 6: Modelado con UML

11

LOGIN
Proceso de identificacin de un usuario ya registrado para acceder a la red. Tambin se incluye el caso en el que si el usuario no recuerda la contrasea, pueda solicitar una nueva mediante el email con el que se registr.

EDITAR PERFIL
Los usuarios pueden modificar las preferencias de su propia cuenta/perfil, aqu se describe el proceso que comienza una vez que el usuario ha accedido a la pgina de edicin desde el acceso de su propio perfil. Una vez que ha realizado los cambios, pulsa el botn de guardar cambios y el controlador verifica los campos y opciones modificadas y enva las operaciones de modificacin al SGBD o avisa al usuario de algn error.

Prctica 6: Modelado con UML

12

CREAR EVENTO
Proceso de creacin de un evento, es el mismo usuario que lo crea el que administra el evento.

CREAR GRUPO
Proceso de creacin de un grupo. Adems se incluye un paso final en el que se le pregunta al usuario si desea invitar a amigos. Podemos observar cmo se introduce un mensaje asncrono, ya que cuando el usuario selecciona los amigos no tiene que esperar a que estos contesten a la peticin para seguir realizando acciones en la red.

Prctica 6: Modelado con UML

13

EDITAR EVENTO/GRUPO
El usuario creador del evento o grupo puede realizar modificaciones en este. Tambin se introduce la opcin de eliminar.

AGREGAR AMIGO
Proceso de agregacin de amigo. Como se puede ver, en su mayor parte es asncrono, ya que tanto el usuario como el controlador pueden seguir realizando acciones una vez enviados sus respectivos mensajes.

Prctica 6: Modelado con UML

14

PUBLICACIN
Proceso de publicacin de algn contenido (como comentario) en el muro de un evento, amigo, grupo o perfil propio. Estas publicaciones o comentarios pueden incluir algn enlace a contenido multimedia, o alguna foto que se guardar en su respectivo lbum.

BANEAR USUARIO
Proceso de baneo de usuario por parte de algn administrador despus de recibir la denuncia o aviso de otros usuarios. El administrador evala las denuncias y decide si marcar como inactivo a este usuario.

Prctica 6: Modelado con UML

15

DIAGRAMAS DE INTERACCIN: COLABORACIN


Utilizando como referencia los diagramas de secuencia, hemos realizado estos diagramas de colaboracin utilizando los mejores casos, ya que son suficientes para indicar las relaciones de interaccin entre los distintos objetos.

REGISTRO
Proceso simple mediante el cual una persona interacta con el formulario de registro y el motor web lo verifica y enva las operaciones al SGBD.

LOGIN
Al igual que el anterior, pero esta vez es un formulario de identificacin.

Prctica 6: Modelado con UML

16

EDITAR PERFIL
En este el usuario realiza los cambios necesarios desde su propio perfil (en modo edicin), ya sean cambio de avatar, campos de formulario, checkboxes, etc. Cuando termina y hace clic en guardar cambios el sistema verifica los campos modificados.

CREAR EVENTO
Despus de hacer clic en agregar eventos desde la interfaz de calendario de eventos, al usuario se le presenta con un formulario que rellena y los enva al sistema mediante la opcin Crear evento.

Prctica 6: Modelado con UML

17

CREAR GRUPO
El usuario introduce los datos del nuevo grupo, el sistema los verifica y lo crea sobre la base de datos y a continuacin el usuario invita a varios amigos (multiobjeto USUARIO) al grupo.

EDITAR EVENTO/GRUPO
Sigue el mismo proceso que para editar un perfil. Hay que tener en cuenta que solo un usuario creador del evento o grupo puede realizar cambios.

AGREGAR AMIGO
Aqu podemos ver la interaccin entre dos usuarios por medio de la interfaz/controlador, en este caso sern los perfiles de usuario.

Prctica 6: Modelado con UML

18

PUBLICACIN
Interaccin entre el usuario y el muro de publicacin, que puedes ser el suyo propio, el de un amigo o el de un grupo. El usuario escribe/enva el contenido a publicar a la interfaz de muro, y el controlador la enva al SGBD para guardarla en la BD, finalmente confirma al usuario (mostrando la publicacin) que todo ha ido bien.

BANEAR USUARIO
Aqu interviene cuatro tipos de objetos. Un conjunto de usuarios denuncian a otro usuario desde el perfil de este, el cul avisa al administrador que se encarga de evaluar las denuncias y desactivar al usuario denunciado en la base de datos, notificndole posteriormente.

Prctica 6: Modelado con UML

19

DIAGRAMA DE ESTADO
EVENTO
Un evento se mantendr en estado de Espera mientras se comprueba la fecha en que comienza. En esta red social un evento ser un concierto o festival. En el momento en que se cumpla la fecha de inicio, el evento pasar a estado Activo. Durante este estado se comprueba la fecha de finalizacin, pues es posible que un evento dure varios das. El ltimo estado ser el de Archivado, al que llegar el evento cuando se alcance la fecha fin.

Prctica 6: Modelado con UML

20

DIAGRAMAS DE ACTIVIDAD
LOGIN/REGISTRO
Cuando un usuario accede a la pgina debe registrarse y rellenar los datos o, en el caso de estar registrado, proceder a identificarse para acceder a la web. Ambos caminos finalizan en la pgina principal.

Prctica 6: Modelado con UML

21

ACTUALIZAR PERFIL
Cuando un usuario entra a su perfil tiene la opcin de editar su informacin personal. Una vez editada se valida la informacin. Si es incorrecto el usuario debe volver a editar la informacin, y si se produce un error se vuelve a validar. Seguidamente el usuario vuelve a su perfil con la informacin actualizada.

Prctica 6: Modelado con UML

22

AMIGOS
Cuando el usuario procede a la bsqueda de un amigo tiene la posibilidad de llegar hasta su perfil y, adems de poder visualizarlo, puede comentar en su muro. Si se produce un error el usuario debe volver a escribir el comentario.

Prctica 6: Modelado con UML

23

PETICIN DE AMISTAD
El usuario emisor busca al amigo que desea agregar y una vez encontrado le enva la peticin de amistad, que es recibida por el usuario receptor, pudiendo aceptarla o rechazarla.

Prctica 6: Modelado con UML

24

EVENTO
Para la difusin de un evento, el usuario emisor debe crearlo y seguidamente procede a su comparticin sealando a los amigos con los que desea compartirlos. As, el usuario receptor recibe el evento y decide aceptarlo o rechazarlo.

Prctica 6: Modelado con UML

25

PUBLICAR
Un usuario puede realizar diferentes publicaciones, como escribir en su muro y compartir videos y fotos. Si se produce un error automticamente se vuelve a compartir.

Prctica 6: Modelado con UML

26

CALENDARIO
Cuando un usuario desea editar un calendario puede votar un concierto y aadir o apuntarse a un concierto. En estas dos ltimas acciones el usuario tiene la posibilidad de finalizar la accin o compartirla a travs de diferentes redes sociales.

Prctica 6: Modelado con UML

27

GRUPO
Cuando un usuario crea un grupo tiene la posibilidad de aadir amigos al grupo, compartir fotos o videos en el grupo, o escribir en el muro del grupo.

Prctica 6: Modelado con UML

28

You might also like