Está en la página 1de 43

Contenido

INTRODUCCIN ................................................................................................................................... 2
CAPITULO 1 ..................................................................................................................................... 2
1.1

INTRODUCCIN ............................................................................................................... 2

1.2

ANTECEDENTES ............................................................................................................... 2

1.3 DESCRIPCIN DEL PROBLEMA............................................................................................... 3


1.4 SITUACIN PROBLEMTICA .................................................................................................. 3
1.5 SITUACIN DESEADA............................................................................................................. 3
1.6 OBJETIVOS ............................................................................................................................. 4
1.7 ALCANCE ................................................................................................................................ 4
MARCO TERICO ................................................................................................................................. 5
CAPITULO 2 CONCEPTOS ................................................................................................................. 5
IMPLEMENTACIN .............................................................................................................................. 6
CAPITULO 3 REQUISITOS ................................................................................................................. 6
3.1 CONTEXTO DEL PROYECTO.................................................................................................... 6
3.2 IDENTIFICACIN DE ACTORES Y CASOS DE USO ................................................................... 7
3.3 PRIORIZACIN DE CASOS DE USO ......................................................................................... 8
3.4 DETALLE DE CASOS DE USO Y PROTOTIPO DE INTERFAZ DE USUARIO ................................. 9
3.5 MODELO GENERAL DE CASOS DE USO ................................................................................ 18
CAPITULO 4 ANLISIS ........................................................................................................................ 19
4.1 ANLISIS DE ARQUITECTURA .................................................................................................. 19
4.1.2 IDENTIFICACIN DE PAQUETES ........................................................................................ 19
4.1.2 DESCRIPCIN DE PAQUETES ............................................................................................ 19
4.1.3 IDENTIFICACIN DE PAQUETES A PARTIR DE CASOS DE USO .......................................... 20
4.1.4 DEPENDENCIA ENTRE PAQUETES ..................................................................................... 22
4.2 ANLISIS DE CASOS DE USO ................................................................................................ 22
CAPTITULO 5 DISEO .................................................................................................................... 28
5.1 DISEO DE LA ARQUITECURA ............................................................................................. 28
5.1 DISEO DE CASOS DE USO .................................................................................................. 28
5.2 DISEO DE CLASES.............................................................................................................. 36
5.3 DISEO CONCEPTUAL DE BASE DE DATOS .......................................................................... 37

5.4 DISEO LGICO DE BASE DE DATOS ................................................................................... 38


CAPITULO 6 CONSTRUCCIN ........................................................................................................ 39
6.1 IMPLEMENTACIN DE ARQUITECTURA .............................................................................. 39
6.1 SCRIPT DE LA BASE DE DATOS ............................................................................................. 40

INTRODUCCIN
CAPITULO 1
1.1

INTRODUCCIN

Para entender fcilmente de que trata el presente proyecto de aplicacin necesitamos


comprender primero a los que harn uso y se beneficiaran de esta ello describiremos primero a los
usuarios que buscan un mejor servicio.
Los usuarios de cualquier ndole como por ejemplo adultos, adolescentes, hombres o mujeres
estn en busca de entretenimiento en sus tiempos libres. Son una variedad de personas a los que
les interesa conocer y ver los xitos musicales ms escuchados que ofrecen de forma actualizada y
fcil, los sitios que se decidirn de a distribuir un sinfn de pistas y temas musicales por internet.
Una manera de que los clientes puedan acceder de forma muy fcil y rpida a los temas que estn
de moda es que dicho acceso cuente con una aplicacin en la que se pueda mostrar una variedad
de pistas y ofrecerlos ,promocionarlos, desde donde los clientes podrn apreciar los mejor en
cualquier hora del da, cualquier lugar e incluso desde un dispositivo mvil.
Entendido lo anterior es que podemos decir que justo es ah a donde apunta el presente
proyecto, a ofrecer a los usuarios una forma fcil de estar actualizado con los temas ms
escuchados a travs de una aplicacin sencilla sin necesidad de tener que crear que buscar otras
maneras que no son muy determinantes ni entretenidas esto implicara para dicho usuario prdida
de tiempo.
En sntesis los usuarios que requieran una manera alternativa y novedosa de entretenimiento,
podrn hacerlo de forma sencilla creando su perfil y agregando sus propias listas de
reproducciones en una plataforma donde los clientes podrn acceder a todos los lbumes y
gneros de msica de artistas, para poder elegir entre ellos y comprar si es de su conveniencia.
Apuntando as a ser no solo una solucin para entretenimiento sino tambin para que los clientes
puedan buscaren un una mejor plataforma.

1.2

ANTECEDENTES

Antes de que la tecnologa streaming apareciera en abril de 1995 (con el lanzamiento de


RealAudio 1.0), la reproduccin de contenido Multimedia a travs de internet necesariamente
implicaba tener que descargar completamente el "archivo contenedor" al disco duro local. Como

los archivos de audio y especialmente los de vdeo tienden a ser enormes, su descarga y
acceso como paquetes completos se vuelven una operacin muy lenta.

Desde la dcada de los noventa, Internet ha revolucionado las industrias culturales,


desestabilizando la dicotoma entre los medios de masas y la comunicacin interpersonal
(Luders, 2008:683). Se puede decir que Internet se ha convertido en un medio que nos
proporciona experiencias dentro de nuestra vida cotidiana, tanto de consumo, como de ocio y que
ha entrado en una fase de desarrollo y de madurez a lo largo de los ltimos aos con la ayuda de
la tecnologa.

Internet en general y el consumo de Televisin y entretenimiento a travs de la red en concreto,


han supuesto un paso decisivo en la historia de la humanidad donde el complejo escenario lo
constituyen nuevos usuarios que da a da ingresan a la web con la finalidad de encontrar cosas
nuevas y entretenerse.

1.3 DESCRIPCIN DEL PROBLEMA


De un tiempo a esta parte, la discusin acerca de la legalidad de las redes peer-to-peer y el
intercambio de archivos mantuvo en vilo a las redes sociales y las desarrolladoras de contenidos.
Desde hace algunos meses este tema fue perdiendo vigencia hasta casi quedar en un segundo
plano. La progresiva toma de conciencia de unas (es imposible hacer frente a millones de usuarios
que decidieron tomar el control de la web) y el crecimiento de algunos novedosos servicios fue
morigerando esta situacin.
Estas novedades que descomprimieron una situacin que, aparentemente no tena salida, fueron
los servicios de streaming de msica online y algunas plataformas de promocin de la industria
musical.
Si bien hay demasiadas la mayora de las aplicaciones ofrecen un servicio poco especifico y a veces
no seguro o informacin defectuosa es por este motivo que hemos decidido desarrollar una
aplicacin que se integre con los envios de correo para tener una interaccion sencilla con el
usuario.

1.4 SITUACIN PROBLEMTICA


Hay muchos sitios que ofrecen el servicio de msica online pero pocos son sencillos y estn libres
de spam , adems cabe destacar que estos servicios son un poco saturados y lentos en ocasiones
es por este motivo que se tom viable este proyecto.

1.5 SITUACIN DESEADA


EL Usuario tiene una manera sencilla y segura de escuchar msica atra ves de internet usando un
men sencillo e interactivo

1.6 OBJETIVOS
1.6.1 OBJETIVOS GENERALES
Desarrollar una aplicacin de catlogos de pistas de msica para los usuarios.

1.6.2 OBJETIVOS ESPECFICOS

Recolectar los requisitos como las necesidades de los usuarios en funcin al


servicio, tomando como referencia los medios de promocin y difusin de otras
aplicaciones: aplicaciones web youtube, snico , etc.
Realizar el proceso de desarrollo usando el lenguaje unificado de modelado UML.
Disear la BD usando el SGBD MySql.
Realizar e modelado UML con la herramienta Enterprise Architect.
Implementar la aplicacin usando PHP5.
Persistir los datos usando JPA en la BD de la aplicacin.

1.7 ALCANCE
1.7.1 REQUERIMIENTOS FUNCIONALES

Gestionar Usuario.
Registrar Pistas musicales.
Registrar Gneros.
Administrar listas de reproduccin.
Bsqueda de canciones.
Compra de msica.

1.7.2 REQUERIMIENTOS NO FUNCIONALES

Funciona en los plataformas Linux y Windows.


No requiere plugins adicionales.

MARCO TERICO
CAPITULO 2 CONCEPTOS
Explicacin del proyecto de aplicacin, que es una aplicacin, que son los usuarios, que es un
catlogo, de qu forma se exhiben las pistas en catlogos, cuales son las caractersticas ms
relevantes para una msica a la hora de realizar una compra.
Un catlogo musical o catlogo temtico es una serie de obras de un determinado compositor
ordenadas y numeradas de acuerdo con distintos criterios. Puede seguirse un orden cronolgico,
en funcin de la fecha de composicin (o de estreno), segn el tipo de composicin o ambos
criterios. Tambin sirve para ordenar las obras presentes en colecciones bibliotecarias o
particulares.
En informtica, una aplicacin es un tipo de programa informtico diseado como herramienta
para permitir a un usuario realizar uno o diversos tipos de trabajos. Esto lo diferencia
principalmente de otros tipos de programas como los sistemas operativos (que hacen funcionar al
ordenador), las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes
de programacin (con el cual se crean los programas informticos).
La msica, como toda manifestacin artstica, es un producto cultural. El fin de este arte es
suscitar una experiencia esttica en el oyente, y expresar sentimientos, circunstancias,
pensamientos o ideas. La msica es un estmulo que afecta el campo perceptivo del individuo; as,
el flujo sonoro puede cumplir con variadas funciones (entretenimiento, comunicacin,
ambientacin, etc.).
ID3 es un estndar de facto para incluir metadatos (etiquetas) en un archivo contenedor
audiovisual, tales como lbum, ttulo o artista. Se utiliza principalmente en ficheros sonoros como
MP3.
ID3 versin 1
Esta primera especificacin es muy simple. Consiste en adjuntar un bloque de tamao fijo de 128
bytes al final del fichero en cuestin. Este bloque contiene las siguientes etiquetas:
Una cabecera que identifica la presencia del bloque ID3 y su versin. En concreto, dicha cabecera
consta de los caracteres TAG.

Ttulo: 30 caracteres.
Artista: 30 caracteres.
lbum: 30 caracteres.
Ao: 4 caracteres.
Un comentario: 30 caracteres.
Gnero (musical): un carcter.
Todas las etiquetas usan caracteres ASCII, excepto el gnero, que es un nmero entero
almacenado en un nico byte. El gnero musical asociado a cada byte est predefinido en el
estndar e incluye definiciones de 80 gneros, numerados del 0 al 79. Determinados programas de
reproduccin han ampliado por su cuenta los gneros definidos (a partir del nmero 80).

IMPLEMENTACIN
CAPITULO 3 REQUISITOS
3.1 CONTEXTO DEL PROYECTO
3.1.1 MODELO DE DOMINIO

class Domain Obj ects

Genero

Album

Administrador

tiene
-

Descripcion
fecha creacion 1

1..*
-

descripcion
fecha creacion
nro de pistas

nick
password

Pertenece

1..*
Musica

DetalleFactura
-

cantidad
subtotal

1 -

1..*

DetalleMusica

cantante o grupo
fecha creacion
1
precio
tema

1..* -

1..*

cantidad
fecha
valoracion
1..*

1
1
Usuario

Factura
-

fecha
NIT
1..*
nombre completo
precio total

tiene

1 -

correo
fecha registro
1
nick
nombre completo
password

0..*

CarroDeCompras
crea
1..* -

cantidad de pistas
fecha
nomrbe

tiene

3.2 IDENTIFICACIN DE ACTORES Y CASOS DE USO


3.2.1 ACTORES

Usuario: La persona que podr registrarse y solicitar comprar un cancin y ver los
ltimos xitos por lbumes o gneros de manera interactiva.
Sistema: Encargado de brindar todas las funciones requeridas por los usuarios
adems de revisar el correo para responder a las peticiones de lo usuarios.
Administrador: El que est a cargo de la aplicacin actualizando con lo ltimo de
xitos musicales y gestionando los gneros y los lbumes.

uc Actores

Sistema

Usuario

Administrador

3.2.2 CASOS DE USO

CU01 Registrar Usuario


CU02 Gestionar lbum
CU03 Gestionar Genero
CU04 Mostrar Catlogo
CU05 Gestionar Cancin
CU06 Autentificar Usuario
CU07 Visualizar ms descargados
CU08 Gestionar Artista
CU09 Escribir comentario

3.3 PRIORIZACIN DE CASOS DE USO


CASO DE USO
CU01 Registrar Usuario
CU02 Gestionar lbum
CU03 Gestionar Genero
CU04 Mostrar Catlogo
CU05 Gestionar Cancion
CU06 Autentificar Usuario
CU07 Visualizar ms
descargados
CU08 Gestionar artista

ESTADO
APROBADO
APROBADO
APROBADO
PROPUESTO
APROBADO
APROBADO
PROPUESTO

PRIORIDAD
IMPORTANTE
IMPORTANTE
CRITICO
UTIL
IMPORTANTE
IMPORTANTE
UTIL

RIESGO
MEDIO
MEDIO
ALTO
BAJO
ALTO
ALTO
BAJO

APROBADO

IMPORTANTE

ALTO

CU09 Escribir comentario

APROBADO

IMPORTANTE

MEDIO

3.4 DETALLE DE CASOS DE USO Y PROTOTIPO DE INTERFAZ DE


USUARIO
Registrar usuario
uc CU01

Registrar Usuario

Usuario

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

Post condiciones
Flujo Alternativo

Gestionar lbum

CU1: REGISTRAR USUARIO


Los usuarios podrn registrarse para usar las funciones de la
aplicacin.
Usuario
Ninguno
Ninguno
1. El Usuario se registra.
1.1.Se registrara los siguientes datos:
Nombre
Apellidos
Email
Contrasea
1.2.Se verifica que todos los datos introducidos sean vlidos,
que no existan datos nulos o que no se repitan.
1.3.Si todos los datos son correctos se enviara a la pgina
principal para poder loquearse.
1.4.
Ninguna
1.4. Si sucede un error ya sea por datos invlidos o nulos se
emitir un aviso de error al Usuario.

uc CU02

Gestionar lbum
Administrador

CASO DE USO
Descripcin

CU2: GESTIONAR ALBUM


El Administrador podr aadir lbum de los distintos cantantes o
grupos musicales.
Actores Principales Administrador de Sistemas
Ninguno
Actores
Secundario
Ninguno
Precondiciones
1. El Administrador de Sistemas selecciona Crear
Flujo Principal
1.1.Se registrara los siguientes datos:
Nombre
Artista al que pertenece
Descripcin corta
Descripcin larga
Puntuacin
Ao de lanzamiento
Gneros al que pertenece
Formato
Cover (Imagen del lbum)
1.2.Se verifica que todos los datos introducidos sean
vlidos, que no existan datos nulos o que no se repitan.
1.3.Si todos los datos son correctos se emitir re
direccionara al ndex del mdulo lbum.
2. El Administrador de Sistemas selecciona Modificar
2.1.El obtendr una lista del cual se seleccionara el lbum
que posteriormente se modificaran sus Datos.
2.2.Los datos a modificar sern:
Nombre
Artista al que pertenece
Descripcin corta
Descripcin larga
Puntuacin
Ao de lanzamiento

Gneros al que pertenece


Formato
Cover(Imagen de lbum)
2.3.Se verifica que todos los datos introducidos sean vlidos
o que no existan datos nulos.
2.4.Si todos los datos son correctos se re direccionara al
ndex del mdulo lbum.
3. El Administrador de Sistemas selecciona Listar
3.1.Se obtendr una lista con todos los lbumes con sus
respectivos Datos.
4. El Administrador de Sistemas selecciona Ver
4.1.Se Mostrar en una pgina toda la informacin relevante
al lbum.
Ninguna
1.4. 2.5. Si sucede un error ya sea por datos invlidos o nulos
se emitir un mensaje de error al Administrador de Sistemas.
1.5 2.6. El Administrador de Sistemas cancela la creacin de
la materia.

Post condiciones
Flujo Alternativo

Gestionar Genero
uc CU03

Gestionar Genero

Administrador

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

CU03: GESTIONAR GENERO


El Administrador podr crear, modificar y eliminar Gneros.
Administrador de Sistemas
Ninguno
Ninguno
1. El Administrador del Sistema selecciona Crear
1.1. Se registrara los siguientes datos:
Nombre del Genero
1.2. Si todos los datos son correctos se emitir re direccionara
al ndex del mdulo gnero.
2. El Administrador del Sistema selecciona Modificar
2.1. El administrador seleccionara un Gnero que
posteriormente se modificara.
2.2. Los datos a modificar sern:
Nombre del Genero
2.3 .Si todos los datos son correctos se emitir un mensaje de
confirmacin y se guardara.
3. El Administrador del Sistema selecciona Eliminar
3.1. Se actualizara el index del modulo genero.

Post condiciones
Flujo Alternativo

Ninguna
1.4. . Si sucede un error ya sea por datos invlidos o nulos se
emitir un mensaje de error al Administrador del Sistema.

Mostrar Catlogo
uc CU04

Mostrar Catlogo
sistema

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

CU04: MOSTRAR CATALOGO


El Usuario podr visualizar los precios de las canciones
Usuario
Ninguno
1. El Usuario podr selecciona Mostrar Catlogos
1.1. El usuario podr visualizar los lbum de cada cantante y
con las canciones ms escuchadas por los oyentes dando
tambin as a visualizar el precio de cada cancin segn el
gnero de ella.
.
2. El Usuario podr selecciona Buscar el cantante y lbum
deseado
3.1. Se introducir el parmetro de bsqueda (Nombre de la
Cantante y el lbum ).
Ninguna
Ninguna

Post condiciones
Flujo Alternativo

Gestionar Cancion
uc CU05

Gestionar Cancion
Administrador

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

CU05: GESTIONAR CANCION


El administrador podr registrar las temas musicales
Administrador
Ninguno
Login de administrador
1. El Administrador podr Registrar Msicas
1.1. El Administrador insertara los siguientes datos al
registras una pista.

- Cantante o grupo
- Tema
- Precio
1.2 Si los datos estn correctos el sistema guardara los datos e insertar
la fecha en la que se guarda
2. El Administrador podr selecciona modificar los datos de una
pista y modificara los siguientes datos:
2.1. El sistema listara las pistas para modificar
2.2. El Administrador ingresara los siguientes datos al
seleccionar una pista:
- Cantante o grupo
- Tema
- Precio
2.3 Si los datos son correctos el sistema guardar los datos e
insertara la fecha de modificacin.
3. El Administrador selecciona eliminar
3.1 El sistema listar las pistas para eliminar
3.1.El Administrador selecciona una pista y se elimina del sistema

Post condiciones
Flujo Alternativo

4. El Administrador selecciona Buscar


4.1 Se introducir el parmetro de bsqueda (Nombre ).
4.2 Si Existe el tema el sistema mostrara los datos de la pista.
Ninguna
Ninguna

Autentificar Usuario

uc CU06

Autentificar Usuario

Usuario

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

CU06: AUTENTIFICAR USUARIO


El Usuario podr autentificarse para poder usar las funciones que
brinda la aplicacin
Usuario
Sistema
Ninguno
1. El Usuario Selecciona Autentificarse
1.1. El usuario Ingresara los siguientes datos
- Correo
- Contrasea
1.2 Si los datos son correctos el sistema enviara un correo con
el men de opciones al usuario.
.
Ninguna
Ninguna

Post condiciones
Flujo Alternativo

Visualizar ms descargados
uc CU07

Visualizar mas
descargados
Usuario

CASO DE USO

CU07: VISUALIZAR MAS DESCARGADOS

El Usuario podr visualizar los temas musicales ms descargados


Usuario
Sistema
Ninguno
1. El Usuario podr selecciona Mostrar mas descargados
1.1. El usuario Enva la solicitud de los mas descargados
1.2 El sistema carga una lista de los temas mas descargados
tomando en cuenta su valoracin.
.
Se Muestra una lista con los ms descargados
Ninguna

Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

Post condiciones
Flujo Alternativo

Gestionar Artista
uc CU08

Gestionar Artista
Administrador

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

CU08: GESTIONAR ARTISTA


El administrador podr gestionar las informacin de un artista.
Administrador
Ninguno
Login de administrador
1. El Administrador podr Registrar Artistas
1.2. El Administrador insertara los siguientes datos al
registras un artista.
- Nombre
- Nacionalidad
- Descripcin
1.3 Si los datos estn correctos el sistema guardara los datos e insertar
la fecha en la que se guarda
2. El Administrador podr selecciona modificar los datos de un
artista:
2.1. El sistema listara las pistas para modificar

2.2. El Administrador ingresara los siguientes datos al


seleccionar una pista:
- Nombre
- Nacionalidad
- Descripcin
2.4 Si los datos son correctos el sistema guardar los datos e
insertara la fecha de modificacin.
3. El Administrador selecciona eliminar
3.2 El sistema listar los artistas para eliminar
3.1.El Administrador selecciona un artista y se elimina del
sistema
4. El Administrador selecciona Buscar
4.1 Se introducir el parmetro de bsqueda (Nombre).
4.2 Si Existe el tema el sistema mostrara los datos del artista
Ninguna
Ninguna

Post condiciones
Flujo Alternativo

Escribir comentario
uc CU09

Escribir comentario
Usuario
(from
Actors)

CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal

CU9: ESCRIBIR COMENTARIO


Los usuarios podrn escribir comentarios para describir cada album.
Usuario
Ninguno
Ninguno
1. El Usuario escribir su mensaje.
1.1.Se registrara los siguientes datos:
Mensaje
1.2. Se enva una peticin al servidor conteniendo el mensaje,
el id del lbum y del usuario.
1.3. Se guardan los datos

Post condiciones
Flujo Alternativo

Ninguna

3.5 MODELO GENERAL DE CASOS DE USO


uc Casos de Uso Principales
Sistema
Autentificar Usuario

Gestionar Artista

Gestionar lbum

Administrador
Registrar Usuario

Gestionar Genero
Usuario

Visualizar mas
descargados
Gestionar Cancion

sistema
Mostrar Catlogo
Escribir comentario

CAPITULO 4 ANLISIS
4.1 ANLISIS DE ARQUITECTURA
4.1.2 IDENTIFICACIN DE PAQUETES
pkg Analisis de la arquitectura
Sistema

Administracion

Mdulo de las operaciones que


puede realizar el administrador
sobre la aplicacin, entre ellas
puede crear lbumes y gestionar
Gneros y Registrar Canciones.

Usuario

Mdulo de las
operaciones en la que el
sistema realiza de
operaciones casi
automticas, despus de
una peticin del cliente
o usuario realizar factura
o mostrar catalogo.

Mdulo de las
operaciones en las que
el usuario puede realizar
distintas funciones como
ser registrarse, comprar
msica y gestionar sus
contactos,

4.1.2 DESCRIPCIN DE PAQUETES


Administracin: Mdulo de las operaciones que puede realizar el administrador sobre la
aplicacin, entre ellas puede crear lbumes y gestionar Gneros y Registrar Canciones.
Sistema: Mdulo de las operaciones en la que el sistema realiza de operaciones casi automticas,
despus de una peticin del cliente o usuario realizar factura o mostrar catlogo.
Clientes: Mdulo de las operaciones en las que el usuario puede realizar distintas funciones como
ser registrarse, comprar msica y gestionar sus contactos,

4.1.3 IDENTIFICACIN DE PAQUETES A PARTIR DE CASOS DE USO


Administracin
pkg Administracion
Administracion

Gestionar Genero
Gestionar Cancion

extend

Gestionar lbum

Administrador
Gestionar Artista

Sistema
pkg Sistema
Sistema

Mostrar Catlogo
sistema

Usuario
pkg Usuario
Usuario

Registrar Usuario
Escribir comentario

Autentificar Usuario
Usuario

Visualizar mas
descargados

4.1.4 DEPENDENCIA ENTRE PAQUETES


pkg Dependencias de paquetes
Administracion

Sistema

Usuario

4.2 ANLISIS DE CASOS DE USO


CU01 Registrar Usuario
sd Registrar usuario
1.2: store()
1.3: save()

1: create()

UserController
Usuario

1.4: RedirecTo()

1.1: make()

Index

CreateUser

User

CU02 Gestionar lbum


sd Gestionar Album
4.7: save()

5: destroy()
4.8: *Gender()

4.5: update()

4.6: find()

2.6: *Gender()

4.1: find()

4: edit()

3.1: find()

3: show()

2.5: save()

2.4: store()

1.1: all()

2: create()
Album

1: index()
4.2: all()

5.5: RedirecTo()
Usuario

AlbumController

2.1: all()

2.8: RedirecTo()
4.3: all()

4.10: RedirecTo()

2.2: all()
Artist

1.2: make()

4.9: save()
IndexAlbum

5.1: Album()

2.7: save()

2.3: make()

Gender

5.3: deleteByAlbum()
3.2: make()
CreateAlbum

AlbumGender
5.4: destroy()
4.4: make()
ShowAlbum
DestroyFacade
5.2: deleteByAlbum()
EditAlbum

Song

CU03 Gestionar Genero


sd Gestiona Genero
4: destroy()
3.5: update()
3.2: save()
3: edit()
3.1: find()
2.2: store()
2.3: save()

2: create()

1.1: all()

1: index()
4.4: RedirecTo()

GenderController

Gender

3.3: RedirecTo()
Usuario

2.4: RedirecTo()
4.1: gender()

1.2: make()

4.3: destroy()

IndexGender

2.1: make()
4.2: deleteByGender()
DestroyFacade

3.4: make()

AlbumGender

CreateGender

EditGender

CU04 Mostrar Catlogo


sd Mostrar Catalogo

1: showCatalog()

1.1: all()

AlbumController
Usuario
1.2: make()

Catalog

Album

CU05 Gestionar Cancin


sd Gestionar Cancion
5: destroy()
4.3: update()
4: edit()
3: show()
2.2: store()
1.1: all()

2: create()
1: index()

Album

SongController

Usuario

4.5: save()
4.4: find()
4.1: find()
5.1: destroy()

4.6: RedirecTo()

2.3: save()

1.2: make()

2.1: make()
indexSong

Song
5.2: RedirecTo()
2.4: RedirecTo()

CreateSong

3.1: make()
4.2: make()

SongAlbum
showSong

EditSong

CU06 Autentificar Usuario


sd Autentificar Usuario

1: auth()

Usuario

1.2: Login()

User

UserController

1.4: getInstance()
1.1: [user=true]:RedirecTo()

index
UserSession
1.3: [user=true && sFirstName=lanstat]:Redirect()

IndexArtist

CU07 Visualizar ms descargados


sd Visualizar Mas Descargados

Arti st

1.2: j oi n()

1: i ndex()
1.1: fetchMostSeen()
Al bum

Vi stoControl l er

Usuario

1.3: make()

home

CU08 Gestionar Artista


sd Gestionar artista
4.5: save()
5: destroy()

4.4: find()

4.3: update()

4.1: find()

4: edit()

3.1: find()

3: show()

2.3: save()

2.2: store()

1.1: all()
Artist

2: create()
1: index()

5.5: destroy()
5.3.3: destroy()
5.1: artist()

ArtistController
Usuario

5.2: fetchByArtist()

5.4: redirectTo()

Album

4.6: redirectTo()
5.3.1: deleteByAlbum()

2.4: redirectTo()

DestroyFacade

1.2: make()
2.1: make()

Song
5.3.2: deleteByAlbum()

3.2: make()

5.3: *album()

IndexArtist
4.2: make()

AlbumGender

CreateArtist

ShowArtist
EditArtist

CU09 Escribir comentario


sd Escribir comentario

1.2: save()

1: addComment()

Comment

SiteController

Usuario

1.3: back()

1.1: getInstance()

UserSession
Page

CAPTITULO 5 DISEO
5.1 DISEO DE LA ARQUITECURA
pkg Dependencias de paquetes
Administracion

Sistema

Usuario

5.1 DISEO DE CASOS DE USO


CU01 Registrar Usuario
sd Registrar usuario
UserController

User

Index

usuario

create()

make()

store()

save()

RedirecTo()

CreateUser

CU02 Gestionar lbum


sd Gestionar Album
Controller

Controller

_Entity

_Entity

_Entity

_Entity

_Entity

Interface

Interface

Interface

Interface

AlbumController

DestroyFacade

Album

Gender

Artist

AlbumGender

Song

Index

CreateAlbum

ShowAlbum

Editalbum

usuario

index()

all()

make()

create()

all()

all()

make()

store()

save()

loop Gender
[chk="true"]

save()

RedirecTo()

show()

find()

make()

edit()

find()

all()

all()

make()

update()

find()

save()

loop *Gender
[chk=true]
save()

RediredTo()

destroy()

Album()

deleteByAlbum()

deleteByAlbum()

destroy()

Redirecto()

CU03 Gestionar Genero


sd Gestiona Genero
Controller

Controller

_Entity

_Entity

Interface

Interface

Interface

GenderController

DestroyFacade

Gender

AlbumGender

IndexGender

CreateGender

EditGender

usuario

Index()

all()

make()

create()

make()

store()

save()

RedirecTo()

edit()

find()

make()

update()

find()

save()

RedirecTo()

destroy()

Gender()

deleteByGender()

destroy()

RedirecTo()

CU04 Mostrar Catlogo


sd Mostrar Catalogo
Controller

Interface

_Entity

AlbumController

IndexCatalogo

Album

usuario

showCatalog()

all()

make()

CU05 Gestionar cancin

sd Gestionar Cancion
Controller

_Entity

Interfa...

Interface

Interface

Interf...

SongController

Song

indexSong

CreateSong

showSong

EditArtista

Usuario

Index()

all()

make()

create()

make()

store()

save()

RedirecTo()

show()

make()

Edit()

find()

make()

update()

find()

save()

destroy()

Destroy()

CU06 Autentificar Usuario


sd Autentificar Usuario
Controller

Interfa...

Interfa...

_Entity

_Ent...

UserController

Index

indexArtist

User

UserSession

Usuario

auth()

Login(email, password)

UserExists()
alt Si existe

getInstance()

alt Si es administrador

redirectTo
()

redirectTo()

redirectTo()

CU07 Visualizar ms descargados


sd Visualizar Mas Descargados
Control l er

Interfa...

_Enti ty

_Enti ty

Si teControl l er

home

Al bum

Arti st

Usuari o

Index()

fetchMostSeen()

j oi n()

Redi recto()

CU08 Gestionar Artista


sd CU13;GestionarArtistax
Controller

Interface

Interface

Interface

Interface

Controller

_Entity

_Entity

_Entity

_Entity

ArtistController

indexArtista

CreateArtist

Show

EditArtist

DestroyFacade

Song

Album

AlbumGender

Artista

Usuario

index()

all()

make()

create()
make()

store()

save()

Redirecto()

show()
find()

make()

Edit()

find()

make()

update()

find()

save()

destroy()

artist()

fechByArtist()

Album()

loop
deleteByAlbum()

deleteByAlbum()

Destroy()

RedirectTO()

CU09 Escribir comentario


sd Escribir comentario

usuario
SiteController

UserSession

Page

addComment()

getInstance()

save()

back()

Comment

5.2 DISEO DE CLASES

5.3 DISEO CONCEPTUAL DE BASE DE DATOS


class Domain Obj ects

Genero

Album

Administrador

tiene
-

Descripcion
fecha creacion 1

1..*
-

descripcion
fecha creacion
nro de pistas

nick
password

Pertenece

1..*
Musica

DetalleFactura
-

cantidad
subtotal

1 -

1..*

DetalleMusica

cantante o grupo
fecha creacion
1
precio
tema

1..* -

1..*

cantidad
fecha
valoracion
1..*

1
1
Usuario

Factura
-

fecha
NIT
1..*
nombre completo
precio total

tiene

1 -

correo
fecha registro
1
nick
nombre completo
password

0..*

tiene

CarroDeCompras
crea
1..* -

cantidad de pistas
fecha
nomrbe

5.4 DISEO LGICO DE BASE DE DATOS


class Estaticas

Artist
column
*PK nId
sName
sDescription
sCover
sMembers
1
created_at
updated_at

Album
column
*PK nId
sName
nRating
sShortDescription
sDescription
*
nYear
1
sFormat
nSeen
1
nDownloaded
created_at
updated_at

PK
PK_Artist()

Comment
column
*PK nId
sMessage
created_at
updated_at

Song
column
*PK nId
sName
nPrice
sTime
*
sFile
updated_at

PK
PK_Song()

PK
PK_Album()

PK
PK_Comment()
*
*
albumgender
Gender

column
*PK nId
created_at
updated_at
*

User
column
*PK nId
sFirstName
sLastName
sEmail
sPassword
created_at
updated_at

PK
PK_Artist()

PK
+
PK_albumgender()

column
*PK nId
sName
created_at
1
updated_at

PK
PK_Gender()

CAPITULO 6 CONSTRUCCIN
6.1 IMPLEMENTACIN DE ARQUITECTURA
6.1.1 DIAGRAMA DE COMPONENTES
cmp Componentes

Sistema operativ o linux

Usuarios

Sistema
Serv icio de base
de datos MySql
use

Administracion

6.1.2 DIAGRAMA DE DESPLIEGUE

deployment Modelo de despliegue

Serv idor w eb
Cliente
Operative System
Linux 3.2+

Serv idor de Base de Datos

Operative System
Linux / Window s / Mac /
Android
http

WebServer
Apache 2.3+

Browser
Chrome /
Firefox / Safari
PHP 5.4+

tcp/ip

SGBD
MySql 5.6

6.1 SCRIPT DE LA BASE DE DATOS


------

MySQL dump 10.13

Distrib 5.6.20, for Win32 (x86)

Host: localhost
Database: musicbrainz
-----------------------------------------------------Server version 5.6.20

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;


/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'
*/;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--- Table structure for table `album`
-DROP TABLE IF EXISTS `album`;
/*!40101 SET @saved_cs_client
= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `album` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`nRating` int(11) NOT NULL,
`sShortDescription` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sDescription` text COLLATE utf8_unicode_ci NOT NULL,
`nYear` int(11) NOT NULL,
`sFormat` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sCover` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`nArtistId` int(11) NOT NULL,
`nSeen` int(11) NOT NULL,
`nDownloaded` int(11) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Table structure for table `albumgender`
-DROP TABLE IF EXISTS `albumgender`;
/*!40101 SET @saved_cs_client
= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `albumgender` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,

`nAlbumId` int(11) NOT NULL,


`nGenderId` int(11) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Table structure for table `artist`
-DROP TABLE IF EXISTS `artist`;
/*!40101 SET @saved_cs_client
= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `artist` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sDescription` text COLLATE utf8_unicode_ci NOT NULL,
`sCover` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sMembers` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Dumping data for table `artist`
---- Table structure for table `comment`
-DROP TABLE IF EXISTS `comment`;
/*!40101 SET @saved_cs_client
= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `comment` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sMessage` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`nUserId` int(11) NOT NULL,
`nPageId` int(11) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Table structure for table `gender`
-DROP TABLE IF EXISTS `gender`;

/*!40101 SET @saved_cs_client


= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `gender` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Table structure for table `song`
-DROP TABLE IF EXISTS `song`;
/*!40101 SET @saved_cs_client
= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `song` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`nPrice` float(8,2) NOT NULL,
`sTime` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sFile` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`nAlbumId` int(11) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--- Table structure for table `user`
-DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client
= @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user` (
`nId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sFirstName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sLastName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sEmail` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sPassword` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`nId`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014
/*!40101
/*!40101
/*!40101
/*!40111

SET
SET
SET
SET
SET

UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2014-12-01

4:32:32

También podría gustarte