/////////////////////////////////////////////////////////////////////// # Diagramas de secuencias de sistema # Lista de casos de uso: Alta de Usuario Consulta de Usuario Modificar Datos de Usuario Listar Usuarios Existentes Alta de Video Modificar Datos de Video Consulta de Video Comentar un Video Valorar un Video Seguir a un Usuario Dejar de Seguir a un Usuario Crear Lista de Reproducción Modificar Lista de Reproducción Agregar Video a Lista de Reproducción Quitar Video de Lista de Reproducción Consulta de Lista de Reproducción Alta de Categoría Consulta de Categoría Listar Categorías Existentes /////////////////////////////////////////////////////////////////////// # Diagramas: ## Alta de Usuario El administrador ingresa los datos del usuario El administrador ingresa los datos del canal IF [el correo o nickname ya esta en uso] Se avisa al administrador y se da la opcion de cancelar o modificar los datos ingresados anteriormente Se manda al sistema DataType con los datos de usuario y canal para que los cree ----------------------------------------------------------------------- ## Consulta de Usuario Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestran todos los datos básicos del usuario Se muestra la informacion basica del canal Se muestra una lista con todos los videos Se muestra una lista con todas las listas de reproduccion Se muestra una lista con los nombres de usuarios que sigue Se muestra una lista con los nombres de usuarios que lo sigueen a el IF [Selecciona un video] // Se muestra la informacion igual a caso de uso Consulta de Video IF [Selecciona una lista de reproduccion] // Se muestra la informacion igual a caso de uso Consulta de Lista de Reproducción ----------------------------------------------------------------------- ## Modificar Datos de Usuario Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) //Se selecciona una de las siguientes opciones IF [modificar datos usuario] El sistema muestra datos del usuario El sistema muestra datos del canal El administrador modifica los datos que desee (excepto nickname o email) Se confirman los cambios IF [modificar video] // se procede como en el caso de uso Modificar Datos de Video IF [modificar lista de reproduccion] // se procede como en el caso de uso Modificar Datos de lista de Reproducción ----------------------------------------------------------------------- ## Listar Usuarios Existentes Se muestra una lista con todos los usuarios (solo nickname) ----------------------------------------------------------------------- ## Alta de Video Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) El administrador ingresa los datos del video (excepto la privacidad que debe ser PRIVADO) Se confirman los cambios ----------------------------------------------------------------------- ## Modificar Datos de Video Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con los videos del usuario El administrador selecciona un video (Sistema recuerda idVideoSeleccionado) Se modifican los datos del video (incluyendo privacidad) Se confirman los cambios ----------------------------------------------------------------------- ## Consulta de Video Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con los videos del usuario El administrador selecciona un video (Sistema recuerda idVideoSeleccionado) Se muestran todos los datos del video Se muestra una lista de comentarios, Se muestra una lista de a quienes les gusto y a quienes no ----------------------------------------------------------------------- ## Comentar un Video Se muestra una lista con todos los usuarios El administrador selecciona uno, dueño del video a comentar (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con los videos del usuario El administrador selecciona un video (Sistema recuerda idVideoSeleccionado) Se muestra una lista con los comentarios del video seleccionado El administrador selecciona ingresando nickname, el usuario quen va a comentar (con seleccionarUsuarioActual()) (Sistema recuerda usuarioActual) El sistema verifica que el nickname exista, de lo contrario da error y solicita volver a ingresarlo o cancelar // el administrador puede seleccionar uno de los comentarios listados anteriormente IF [hay comentario seleccionado] Se comenta el comentario ELSE Se comenta el video seleccionado ----------------------------------------------------------------------- ## Valorar un Video Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con los videos del usuario El administrador selecciona un video (Sistema recuerda idVideoSeleccionado) El administrador selecciona ingresando nickname, el usuario quen va a realizar la valoracion (con seleccionarUsuarioActual()) (Sistema recuerda usuarioActual) El sistema verifica que el nickname exista, de lo contrario da error y solicita volver a ingresarlo o cancelar El sistema devuelve la valoracion dada por el usuario a ese video IF [valoracion retornada == NULL] El administrador ingresa la nueva valoración del video ELSE El sistema muestra la valoración dada El administrador modifica la valoración ----------------------------------------------------------------------- ## Seguir a un Usuario Se muestra dos listas con todos los usuarios El administrador selecciona el usuario que seguira a otro (con seleccionarUsuarioActual()) (Sistema recuerda usuarioActual) El administrador selecciona el usuario al que seguira (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se confirman los cambios ----------------------------------------------------------------------- ## Dejar de Seguir a un Usuario Se muestra dos listas con todos los usuarios El administrador selecciona el usuario que dejara de seguir a otro (con seleccionarUsuarioActual()) (Sistema recuerda usuarioActual) El administrador selecciona el usuario al que se dejara de seguir (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se confirman los cambios ----------------------------------------------------------------------- ## Crear Lista de Reproducción // El administrador elige si va a crear una lista por defecto, o una particular para un usuario IF [listta por defecto] El administrador ingresa el nombre de la lista (privacidad=PRIVADA, categoria=UNDEFINED) IF [existe un usuario con una lista que se llame igual] Se informa al administrador y se debe ingresar otro nombre o cancelar ELSE Se confirma la nueva lista por defecto para todos los usuarios ELSE [lista particular] Se muestra dos listas con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) El administrador ingresa los datos de la lista IF [el usuario ya posee una lista con ese nombre] Se informa al administrador y se debe ingresar otro nombre o cancelar ELSE Se confirma la nueva lista particular para el usuario ----------------------------------------------------------------------- ## Modificar Lista de Reproducción Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con las lista de reproduccion particulares del usuario El administrador selecciona una lista de reproduccion (Sistema recuerda idListaSeleccionada) El sistema muestra datos de la lista seleccionada El administrador modifica los datos que desee (excepto nickname o email) Se confirman los cambios ----------------------------------------------------------------------- ## Agregar Video a Lista de Reproducción Se muestra una lista con todos los usuarios El administrador selecciona el propietario del video (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con los videos del usuario El administrador selecciona un video (Sistema recuerda idVideoSeleccionado) Se muestra una lista con todos los usuarios El administrador selecciona el propietario de la lista (con seleccionarUsuarioActual()) (Sistema recuerda usuarioActual) Se muestra una lista con las lista de reproduccion del usuario (con parametro usuarioActual.nickname) El administrador selecciona una lista de reproduccion (Sistema recuerda idListaSeleccionada) El sistema agrega el video a la lista ----------------------------------------------------------------------- ## Quitar Video de Lista de Reproducción Se muestra una lista con todos los usuarios El administrador selecciona el propietario del video (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con las lista de reproduccion del usuario (con parametro usuarioSeleccionado.nickname) El administrador selecciona una lista de reproduccion (Sistema recuerda idListaSeleccionada) El sistema lista los datos de los videos pertenecientes a la lista El administrador selecciona un video (Sistema recuerda idVideoSeleccionado) El sistema quita el video a la lista ----------------------------------------------------------------------- ## Consulta de Lista de Reproducción Se muestra una lista con todos los usuarios El administrador selecciona uno (con seleccionarUsuario()) (Sistema recuerda usuarioSeleccionado) Se muestra una lista con las lista de reproduccion del usuario El administrador selecciona una lista de reproduccion (Sistema recuerda idListaSeleccionada) El sistema muestra datos de la lista seleccionada El sistema lista los datos de los videos pertenecientes a la lista IF [El administrador selecciona un video] // Se muestra la informacion igual a caso de uso Consulta de Video ----------------------------------------------------------------------- ## Alta de Categoría El administrador ingresa el nombre de la nueva categoria IF [la categoria ya existe en el sistema] Se notifica al administrador y este puede modificar lo ingresado o cancelar ELSE Se confirma la nueva categoria ----------------------------------------------------------------------- ## Consulta de Categoría El sistema lista todas las categorias El administrador selecciona una (esto no lo recuerda el sistema) Se muestra una lista con los videos pertenecientes a la categoria seleccionada Se muestra una lista con las lista de reproduccion pertenecientes a la categoria seleccionada ----------------------------------------------------------------------- ## Listar Categorías Existentes El sistema lista todas las categorias /////////////////////////////////////////////////////////////////////// # Firma de Operaciones agregarVideoAListaDeReproduccion():void // Agrega el video idVideoSeleccionado a la lista idListaSeleccionada altaCategoria(cat:string):void // Crea la categoria con el nombre indicado altaComentario(com:DtComentario):void // Comenta el video idVideoSeleccionado a nombre de usuarioActual altaComentario(com:DtComentario, idComPadre:int):void // Comenta el comentario con dicho ID a nombre de usuarioActual altaListaDeReproduccionParticular(lista:DtListaDeReproduccion):void // Crea la lista de reproduccion para usuarioSeleccionado altaListaDeReproduccionPorDefecto(lista:DtListaDeReproduccion):void // Crea la lista de reproduccion para todos los usuarios del sistema y la agrega listas por defecto (para que se creen al crear un usuario nuevo) altaUsuarioCanal(usr:DtUsuario, canal:DtCanal):void // Crea un usuario y su canal a partir de los datos recibidos altaValoracion(val:DtValoracion):void // Se ingresa la nueva valoracion dada por usuarioActual al video idVideoSeleccionado // Si el usuario ya habia valorado, se actualiza la valoracion dada altaVideo(video:DtVideo):void //Se crea un video nuevo en el canal de usuarioSeleccionado existeCategoria(cat:string):boolean // Verifica si existe una categoria con el nombre recibido existeEmail(mail:string):boolean // Verifica si existe un usuario con el mail recibido existeNickname(nickname:string):boolean // Verifica si existe un usuario con el nickname recibido liberarMemoriaListaDeReproduccion():void // El sistema libera la memoria de idListaSeleccionada liberarMemoriaUsuario():void // El sistema libera la memoria de usuarioSeleccionado liberarMemoriaUsuarioActual():void // El sistema libera la memoria de usuarioActual liberarMemoriaVideo():void // El sistema libera la memoria de idVideoSeleccionado listarCategorias():set<string> // Devuelve todas las categorias existentes en el sistema listarComentariosDeVideo():set<DtComentario> // Devuelve en forma ordenada (recursiva ) todos los comentarios de idVideoSeleccionado listarListasDeReproduccionEnCategoria(cat:string):set<DtVideo> // Devuelve todos las listas de reproduccion del sistema que pertenezcan a la categoria indicada listarListasDeReproduccionDeUsuario(nickname:string):set<DtListaDeReproduccion> // Devuelve todas las listas de reproduccion de usuarioSeleccionado o de usuarioActual segun el nickname indicado listarListasDeReproduccionParticularesDeUsuario() :set<DtListaDeReproduccion> // Devuelve las listas de reproduccion particulares de usuarioSeleccionado listarUsuarioSeguidores():set<DtUsuario> // Devuelve todos los usuarios que siguen a usuarioSeleccionado listarUsuarioSeguidos():set<DtUsuario> // Devuelve todos los usuarios a quienes sigue usuarioSeleccionado listarUsuarios():set<DtUsuario> // Devuelve todos los datos de todos los usuarios listarVideosEnCategoria(cat:string):set<DtVideo> // Devuelve todos los videos del sistema que pertenezcan a la categoria indicada listarVideosDeUsuario():set<DtVideo> // Devuelve todos los videos de usuarioSeleccionado listarVideosDeListaDeReproduccion():set<DtVideo> // Devuelve los videos de la lista de reproduccion idListaSeleccionada modificarListaDeReproduccion(lista:DtListaDeReproduccion):void // Se modifican los datos de la lista idListaSeleccionada modificarUsuarioYCanal(usr:DtUsuario, canal:DtCanal):void // Se modifican los datos de usuarioActual y su canal modificarVideo(video:DtVideo):void // Se modifican los datos del video idVideoSeleccionado obtenerCanalDeUsuario():DtCanal // Devuelve los datos del canal del usuario en memoria usuarioSeleccionado obtenerValoracionesDeVideo():set<DtValoraciones> // Devuelve las valoraciones de idVideoSeleccionado obtenerValoracionDada() :DtValoracion // Devuelve la valoracion dada por usuarioActual al video idVideoSeleccionado quitarVideoDeListaDeReproduccion():void // Quita el video idVideoSeleccionado de la lista idListaSeleccionada seleccionarUsuario(nickname:string):DtUsuario // El sistema recuerda un link al usuario como usuarioSeleccionado // Devuelve los datos de usuarioSeleccionado seleccionarUsuarioActual(nickname:string) :DtUsuario // El sistema recuerda un link al usuario como usuarioActual // Devuelve los datos de usuarioActual seleccionarVideo(idVideo:int):DtVideo // El sistema recuerda el ID del video como idVideoSeleccionado // Devuelve los datos del video seleccionado seleccionarListaDeReproduccion(idLista:int):DtListaDeReproduccion // El sistema recuerda el ID de la lista como idListaSeleccionada // Devuelve los datos de la lista de reproduccion seleccionada seguirUsuario() :void // El usuario usuarioActual comienza a seguir a usuarioSeleccionado // En caso de que este ya lo este siguiendo, lo deja de seguir validarNuevaListaParticular(nombre:string):bool // Devuelve true si usuarioSeleccionado posee una lista de reproducion con ese nombre validarNuevaListaPorDefecto(nombre:string):bool // Devuelve true si existe algun usuario en el sistema que posea una lista de reproduccion con ese nombre // Agregar funciones para liberar memoria Agregar ID a todas las clases Agregar nivel de Sub-Comentario Agregar Administrador al modelo de dominio El sistema tendra dos usuarios actuales El sistema tendra una coleccion de administradores se requerira login de administrador En DTCComentario va el nick del usuario que lo hizo idem para valoracion