Skip to content
Snippets Groups Projects
01- Modelo de dominio.txt 1.66 KiB
# Primeros apuntes para construir el Modelo de Dominio


Persona
	nombre
	apellido
	contrasnia
	
	> Administrador // Subclase de Persona
		idAdmin
	> Usuario // Subclase de Persona
		nickname (unico)
		correo (unico)
		fechaNacimiento
		imagen (opcional)
		seguidores (contador)
		/*posee un canal*/
		/*lista de usuario a los que sigue*/
		/*lista de usuario a los que lo siguen*/
		/*lista de videos a los que le dio likes o dislike (InteraccionLike)*/

Canal
	id
	nombre (default = usuario.nickname)
	descripcion
	privacidad (PUBLICO, PRIVADO)
	/*contiene videos de interes para el usuario*/
	/*contiene listas de reproduccion*/
	
Video
	id
	nombre (unico dentro del canal)
	descripcion
	duracion
	fechaPublicacion
	urlVideoOriginal
	privacidad (PUBLICO, PRIVADO)
	categoria (Categoria)
	likes (contador)
	disLikes (contador)
	/*lista de comentarios*/
	/*Lista de interacciones (InteraccionLike)*/

ListaDeReproduccion /*perteneciente a un canal de usuario*/
	id
	nombre (unico dentro del canal)
	privacidad (PUBLICO, PRIVADO)
	tipo (DEFAULT, PARTICULAR)
	categoria (Categoria)
	/*contiene videos*/


Comentario
	/* realizado por un usuario sobre un video*/
	id
	fecha
	texto
	/*lista de respuestas*/


ValoracionDeVideo // usuario le da like o dislike a un video
	valoracion (LIKE, DISLIKE)


// Sistema (no aparece en el modelo de dominio)
enum extensible Categoria {UNDEFINED, Musica, Deporte...}
	


-------------------------------------------------------------------------------
En el DCD el sistema va a tener:
Categorias:set(string)
usuarioActual:Usuario			// Usuario logueado o que realizara las acciones
usuarioSeleccionado:Usuario		// Usuario sobre el que se realizaran acciones