Projecte/Treball Fi de Carrera



Documentos relacionados
INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Projecte/Treball Fi de Carrera

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Análisis y diseño del sistema CAPÍTULO 3

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

CÓMO CREAR UNA PÁGINA WEB

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

Gestión de Incidencias

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO

Manual del Alumno de la plataforma de e-learning.

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Instituto Politécnico Nacional. Escuela Superior de Turismo

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

ing Solution La forma más efectiva de llegar a sus clientes.

comunidades de práctica

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

App para realizar consultas al Sistema de Información Estadística de Castilla y León

CAPITULO 4. ANALISIS COMPARATIVO Y SELECCION DE LA PLATAFORMA EDUCATIVA.

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

CONCLUISIONES Y RECOMENDACIONES

Figura 4.6: Prototipo de la pantalla de inicio.

FAQ Parking PPC de SEDO. NicLine

Qué es SPIRO? Características

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total.

Está creado como un organizador y gestor de tareas personalizables para generar equipos de alto desempeño en diferentes rubros de empresas.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

CASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16)

UNIVERSIDAD DE SALAMANCA

GedicoPDA: software de preventa

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Gestión de la Configuración

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

1.- INTRODUCCIÓN 2.- PARÁMETROS

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

APLICATECA. Guía para la contratación y gestión de. Te Destaco

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA

CAPITULO I El Problema

APLICATECA. Guía para la contratación y gestión de. Hacemos Tu Web

Operación Microsoft PowerPoint 97

E Evaluación de pilotos. : Versión: 0.1 Fecha: 07/02/13 Autor: Pablo Martín Pablo.martin@logica.com

Lost Repository. Repositorio digital Perfil. Versión 1.0. Flores Zarzuri Paola Michelle Correo:

TUTORIAL PHP WEBQUEST

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Guía básica para subir vídeos a Youtube

Como Publicar Videos en YouTube. Cómo publicar en YouTube? Selecciona su idioma

La plataforma educativa Helvia.

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

MOODLE PARA ASESORES, GUIA DE APOYO.

PRESENTACIÓN DEL PRODUCTO

ADMINISTRACIÓN ELECTRÓNICA: TIENDAS VIRTUALES. Ana Belén Domínguez García Consultora Cronos Ibérica, S.A.

Desplegable. Desplegable

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Elementos requeridos para crearlos (ejemplo: el compilador)

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

SEGUIMIENTO EDUCATIVO. Comunicaciones

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Capitulo III. Diseño del Sistema.

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano

Descripción. Este Software cumple los siguientes hitos:

Introducción a las redes de computadores

Seven ERP Guía De Referencia - Imágenes

Capitulo I. Introducción

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

IMPLEMENTAMOS y GESTIONAMOS GESTOR DE CONTENIDOS. Gestiona tu propia web

CUESTIONARIO PARA LA EVALUACIÓN DE CURSOS APOYADOS EN TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

GUÍA BÁSICA USUARIO MOODLE 2.6

Lección 5: Bloc de notas Estudio de la aplicación Bloc de notas, utilizada para escribir sencillos documentos de texto de tamaño reducido.

Desarrollo de portales web con Drupal. Por Juan M. Rivero.

Qué ventajas presenta Google Drive para catedráticos y alumnos?

Manual de Usuario. Facebook

Guía de instalación de la carpeta Datos de IslaWin

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

Base de datos en Excel

#SoftwareLibre13 Reutiliza tu Antiguo PC con Linux

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

arquitectura que maneja. Encontraremos también los diferentes servidores que

David Erosa García Programador del C.G.A. de la D.G. de Innovación Educativa y Formación del Profesorado. Consejería de Educación, Junta de Andalucía

Servidores Donantonio

SCGDoc. SisConGes & Estrategia

Guía del Gestor de anuncios por Acuerdo de Publicación

ACCESO Y MANEJO DE LA PLATAFORMA DEL CENTRO REGIONAL DE FORMACIÓN DEL PROFESORADO

GUÍA BÁSICA DE INSTALACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

ALGUNAS AYUDAS PARA EL ACCESO AL AULA DIGITAL Contenido

1. INTRODUCCIÓN 2. INICIANDO EL MULTIMEDIA

Analítica para tu web

Transcripción:

Projecte/Treball Fi de Carrera Estudi: Eng. Tècn. Informàtica de Gestió. Pla 2001 Títol: Catalogador de música MP3 y reproductor de música vía Web con búsquedas de música basadas en la definición de unas observaciones y emociones personales. Document: Resumen Alumne: José Emilio Navarro Rodríguez Director/Tutor: Xavier Frigoler Departament: Informàtica i Matemàtica Aplicada Àrea: Convocatòria (mes/any): Febrer/2007

1Introducción Y Objetivos 1 Introducción Y Objetivos Hoy en día los usuarios de PC's domésticos guardan discotecas 1 de música MP3 en los discos duros de sus PC's. En muchas ocasiones los usuarios tienen dificultades para localizar la música que desean escuchar. Para poder localizarla necesitarían una aplicación que permitiera catalogar sus discotecas musicales. Además es importante que la aplicación disponga de métodos de búsqueda eficientes: por artista, álbum, género musical o título de canción. No sólo se necesita catalogar y buscar sino también poder disfrutar de ella desde cualquier punto dónde se disponga de Internet. Las características descritas en el parágrafo anteriores son suficientes para usuarios con discotecas de poco volumen o sin necesidad de una explotación de datos exigente. En cambio para los usuarios con mayores discotecas y más exigentes, los recursos de las aplicaciones actuales son escasos y es necesario encontrar nuevas maneras de organizar y buscar música. Para dar soporte a los usuarios más exigente se propone crear nuevos tipos de información que faciliten la búsqueda de música. Este tipo de información estará basada en el hecho de que la mayoría de los seres humanos recuerdan o asocian lugares, amigos con música. Además este "recuerdo" provoca en ocasiones un sentimiento o emoción. En ocasiones los usuarios exigentes o no exigentes, necesitan buscar paginas web que contengan información/noticias de artistas, álbumes. Algunos de ellos, ya sea por desconocimiento tecnológico o otros factores tienen problemas de uso con las tecnologías disponibles en Internet con lo cual no consiguen la información que desean. El principal objetivo del proyecto es romper las fronteras de las búsquedas de canciones en las discotecas de los usuarios domésticos guardada en los discos duros de sus PC's. Se pretende buscar canciones en base a unas observaciones personales (amigos, lugares, comentarios,... ) que habrán sido definidas previamente por el usuario. El segundo tipo buscará canciones en base a las "emociones personales" que también serán definidas por el usuario. Objetivos secundarios: Organizar automáticamente los archivos de audio MP3 almacenados en los ordenadores personales. Reproducir los archivos de audio MP3 mediante Streaming. Un servicio que buscará enlaces web que contengan información/noticias de artistas álbumes, etc. Una agenda musical en la cual los usuarios podrán programar el aviso de observaciones personales. 2 Tecnologías Y Herramientas Antes de iniciar la fase de análisis, diseño e implementación se ha realizado un estudio de las diferentes tecnología y herramientas a utilizar, para poder escoger la mejor en cada caso según las 1 Colección de discos musicales o sonoros. Página 1

2Tecnologías y Herramientas necesidades del proyecto. En la parte de metodología a utilizar la elección fue Iconix que es una metodología ágil y clara. Este hecho hace que se adapte perfectamente al proyecto, ya que estará compuesto por varios módulos cuya carga no será excesiva y no requieren de documentación excesiva. Las metodologías descartadas fueron: Métrica Versión 3 y Proceso unificado. Para la parte de programación, el lenguaje de programación que se adapta a las característica del proyecto es PHP. Uno de los principales motivos de su elección ha sido el soporte de objetos con lo cual se consigue crear un proyecto con componentes reutilizables, escalable y modular. Además PHP esta soportado por múltiples herramientas que ayudan al desarrollo del proyecto y un número considerable de comunidades donde se pueden realizar consultas y encontrar scripts, clases para su reutilización. Los lenguajes descartados fueron J2EE y.net. Para el servidor de base de datos la selección ha sido MySQL versión 5. Su elección ha sido sobretodo por las necesidades del proyecto (aplicación de uso particular con arquitectura sencilla). Es necesario un SGBD 2 sencillo de instalar con un consumo reducido de memoria RAM y unos recursos de CPU mínimos. Los SGBD descartadas han sido: PostgresSQL, SAP DB y Oracle Database 10g XE. Como servidor de páginas web la opción escogida ha sido Apache, versión 2. No ha sido necesario estudiar ningún otro servidor web ya que actualmente Apache es la mejor opción para PHP que existe en el mercado. Para acceder a la base de datos se ha decido utilizar un sistema de persistencia de objetos(orm). Existen varias posibilidades especificas del lenguaje PHP: The Propel Project, Metastorage y PHP Object Generator. El ORM seleccionado ha sido The Propel Project. El principal motivo de su elección han sido los servicios ofrecidos son mucho más completos que las demás alternativas. Para descubrir las carencias de las aplicaciones web de catalogación se realizó un estudio de algunas de ellas. Las aplicaciones estudiadas fueron: kplaylist (v.1.6), ampache (v.3.3.2), Jinzora (versión 2.3.7), mp3act (v1.1). Otras Herramientas: Framework MVC es la herramienta más importante utilizada, esta diseñada para implementar el patrón MVC. Smarty es un tipo de ingeniería de templates, separa el código PHP del HTML y genera contenido web utilizando sus propios tags. getid3 extrae información de los formatos de archivos multimedia: audio, video y diferentes tipos de formatos de imagen. El servicio Google SOAP Search API permite desarrollar aplicaciones que realicen consultas al buscador Google. Generador de feeds por Google. Permite realizarle peticiones sobre un tema y este devuelve 2 Sistema gestor de base de datos. Página 2

2Tecnologías y Herramientas un feed con paginas que contienen noticias del tema solicitado. Pear: Es un framework y sistema de distribución de componentes reusables de PHP. Creole: API uniforme para la conexión con la base de datos 3 Análisis Y Diseño Una vez se han presentado las característica generales de la aplicación a desarrollar y se conoce la metodología para desarrollar el proyecto (Iconix) ya se puede comenzar el proceso de análisis. Primero se van a describir los casos de uso, con ello conseguiremos conocer cuales son las situaciones que nos podemos encontrar y cuales son las funcionalidades de la futura aplicación. Para describir el escenario principal y alternativos se utilizaran las fichas de caso de uso. En los casos que sea necesario se realizaran los diagramas de actividad para dar mayor claridad a los aspectos más complicados del caso de uso. En segundo lugar se realizará un prototipo de interfaces de usuario en aquellos casos que se crea conveniente. En tercer lugar a partir de los requerimientos planteados anteriormente, se procederá a realizar los diagramas de colaboración simplificados en los casos que no queden claras las fichas de caso de uso. Con el diagrama se observará como interactuan los diferentes objetos de las clases. El cuarto y último punto consistirá en identificar los mensajes que se tienen que pasar entre los objetos, y entre los objetos y las operaciones, en el diagrama de secuencia quedaran reflejados todos estos aspectos. 4 Implementación La implementación se ha dividido en dos sistemas. El sistema principal (gestiona las principales funcionalidades) y el sistema secundario (gestiona el servidor de streaming). La arquitectura del sistema principal esta basada en el framework MVC. Los componentes que la constituyen son: Controller: Procesa todas las peticiones que llegan a través de la URL. Componente Modules:formado por el conjunto de módulos sencillos que gestionan cada una de las características de la aplicación. Componente Includes: Formado por clases del propio framework MVC y otras que dan soporte a los módulos sencillos. Interficies del tipo Smarty: Muestran los resultados del modelo negocio. La arquitectura del sistema secundario ha tomado como modelo los sistemas de streaming estudiados en las aplicaciones web existentes. Los componentes que la constituyen son: Validador de Datos: Script encargado validar la petición enviada por el cliente. Página 3

4Implementación Gestor de Logs: Registra los errores localizados por el Validador de Datos. Servidor de Streaming: Encargado de establecer la conexión con el cliente y enviar los datos solicitados. Estadísticas: Registra en la base de datos información de reproducción. La comunicación entre los dos sistemas se realiza mediante la base de datos. Los dos sistemas utilizan el sistema de persistencia Propel para tener acceso a la misma. FIG 1: Arquitectura del sistema 5 Conclusiones Podemos decir que el resultado ha sido altamente satisfactorio. Se han cumplido tanto los objetivos principales del proyecto como los secundarios que fueron planteados inicialmente. Página 4

5Conclusiones Referente a los objetivos principales se han conseguido crear dos nuevos métodos de búsqueda que pueden calificarse como naturales e intuitivos. Si se utiliza la búsqueda en base a las observaciones personales los usuarios consiguen localizar la música que desean escuchar sin tener que recordar títulos de canción o álbum, solamente necesitan el nombre de un amigo o lugar. Respecto a la búsqueda por "emociones personales" los usuarios consiguen listados de música basados en la caracterización dada a cada "emoción personal" o tag. Los listados se consiguen con tan sólo un clic lo cual agiliza la búsqueda de música. Respecto a los objetivos secundarios cumplidos se quiere destacar la experiencia de incorporar los servicios de Google, ha sido exitosa, ya que los usuarios pueden utilizarlos para recuperar enlaces con información/noticias de artistas, álbumes,... sin tener que abandonar la aplicación. Para facilitar la navegación de la aplicación se han utilizado iconos. En mi opinión estos ayudan notablemente al uso de la misma ya que permiten identificar las características y elementos de la aplicación de manera intuitiva y directa. Aunque se han conseguido los objetivos del proyecto soy consciente de que hay algunos puntos que necesitarían mejorarse. Referente al lenguaje de programación estoy muy satisfecho de haber elegido PHP, ya que he conseguido entender el funcionamiento de un lenguaje desconocido antes del inicio del proyecto. Además de aprender un lenguaje nuevo e aprendido todas las tecnologías que lo envuelven y lo soportan con lo cual me convierten en un buen profesional del lenguaje PHP. No solamente se han cumplido los objetivos del proyecto sino que los objetivos personales han sido conseguidos también con un alto grado de satisfacción personal. Sobretodo se quiere destacar la cantidad de conceptos nuevos y tecnologías que se han aprendido. Como son: el Streaming, la composición de los ficheros MP3, la creación de ficheros XML y la configuración y puesta en marcha de un servidor web. Durante el proceso de estudio de conceptos y tecnologías se ha mejorado la capacidad de aprendizaje, investigación y especialmente extraer conclusiones y tomar decisiones. Al no tener un cliente y ser yo el autor e iniciador del proyecto me ha ofrecido la oportunidad de caracterizar el mismo. Este proceso de caracterización me ha permitido entender que es muy importante definir los límites de un proyecto desde su nacimiento, sobretodo si se quiere conseguir un proyecto de calidad. Durante el desarrollo del proyecto se han estudiado tanto herramientas de trabajo como tecnologías disponibles para diferentes problemas. Este proceso ha hecho mejorar mi capacidad de análisis y toma de decisiones. Pienso que esta habilidad puede ser importante cuando forme parte de un equipo de trabajo y haya de analizar y exponer mis opiniones a los miembros del equipo. Por último decir que todo lo aprendido, experimentado y vivido será de utilidad en mi carrera profesional y personal. Página 5