Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIN ................................................................................................................................... 2
CAPITULO 1 ..................................................................................................................................... 2
1.1
INTRODUCCIN ............................................................................................................... 2
1.2
ANTECEDENTES ............................................................................................................... 2
INTRODUCCIN
CAPITULO 1
1.1
INTRODUCCIN
1.2
ANTECEDENTES
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.
1.6 OBJETIVOS
1.6.1 OBJETIVOS GENERALES
Desarrollar una aplicacin de catlogos de pistas de msica para los usuarios.
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.
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
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
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
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
APROBADO
IMPORTANTE
MEDIO
Registrar Usuario
Usuario
CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal
Post condiciones
Flujo Alternativo
Gestionar lbum
uc CU02
Gestionar lbum
Administrador
CASO DE USO
Descripcin
Post condiciones
Flujo Alternativo
Gestionar Genero
uc CU03
Gestionar Genero
Administrador
CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal
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
Post condiciones
Flujo Alternativo
Gestionar Cancion
uc CU05
Gestionar Cancion
Administrador
CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal
- 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
Autentificar Usuario
uc CU06
Autentificar Usuario
Usuario
CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal
Post condiciones
Flujo Alternativo
Visualizar ms descargados
uc CU07
Visualizar mas
descargados
Usuario
CASO DE USO
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
Post condiciones
Flujo Alternativo
Escribir comentario
uc CU09
Escribir comentario
Usuario
(from
Actors)
CASO DE USO
Descripcin
Actores Principales
Actores Secundario
Precondiciones
Flujo Principal
Post condiciones
Flujo Alternativo
Ninguna
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
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,
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
Sistema
Usuario
1: create()
UserController
Usuario
1.4: RedirecTo()
1.1: make()
Index
CreateUser
User
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
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
1: showCatalog()
1.1: all()
AlbumController
Usuario
1.2: make()
Catalog
Album
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
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
Arti st
1.2: j oi n()
1: i ndex()
1.1: fetchMostSeen()
Al bum
Vi stoControl l er
Usuario
1.3: make()
home
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
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
User
Index
usuario
create()
make()
store()
save()
RedirecTo()
CreateUser
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()
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()
Interface
_Entity
AlbumController
IndexCatalogo
Album
usuario
showCatalog()
all()
make()
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()
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()
Interfa...
_Enti ty
_Enti ty
Si teControl l er
home
Al bum
Arti st
Usuari o
Index()
fetchMostSeen()
j oi n()
Redi recto()
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()
usuario
SiteController
UserSession
Page
addComment()
getInstance()
save()
back()
Comment
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
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
Usuarios
Sistema
Serv icio de base
de datos MySql
use
Administracion
Serv idor w eb
Cliente
Operative System
Linux 3.2+
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
Host: localhost
Database: musicbrainz
-----------------------------------------------------Server version 5.6.20
/*!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 */;
4:32:32