Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Alcance de Proyecto Ejemplo, Apuntes de Gestión de Costes

Ejemplo de Guia para crear un alcance de proyecto como en el PMbook

Tipo: Apuntes

2018/2019

Subido el 22/11/2019

carlos-ruiz-23
carlos-ruiz-23 🇳🇮

5

(1)

1 documento

1 / 63

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
DESARROLLO APLICACIONES
PARA DISPOSITIVOS MOVILES
autor: Mario romero
Autor: Mario Romero
Consultores: Marc Domingo Prieto y Antonio Rodríguez Gutiérrez
TFG Grado Ingeniería Informática
Desarrollo de aplicaciones para dispositivos móviles
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f

Vista previa parcial del texto

¡Descarga Alcance de Proyecto Ejemplo y más Apuntes en PDF de Gestión de Costes solo en Docsity!

DESARROLLO APLICACIONES

PARA DISPOSITIVOS MOVILES

autor: Mario romero

Autor: Mario Romero

Consultores: Marc Domingo Prieto y Antonio Rodríguez Gutiérrez

TFG – Grado Ingeniería Informática

Desarrollo de aplicaciones para dispositivos móviles

Agradecimientos: A mi mujer , por el apoyo durante todos estos semestres, sin ella hubiera sido prácticamente imposible compaginar estudios con trabajo. A los compañeros y consultores de la UOC , por ser en ciertos momentos la luz al final del túnel, cuando una asignatura se resistía siempre he conseguido a alguien que me explicará de una manera diferente el temario, sin desvelar resultados de ejercicios ni soluciones a PACs.

  • 1 INTRODUCCION
  • 2 DEFINICION DEL PROYECTO
    • 2 .1 OBJETIVOS
    • 2 .2 FUNCIONALIDADES
    1. CALENDARIO DEL PROYECTO - 3 .1 ENTREGAS
      • 3.2 DETALLE DE ENTREGAS
      • 3.3 CRONOGRAMA
    1. INFRAESTRUCTURA - 4 .1 ELEMENTOS HARDWARE - 4 .2 ELEMENTOS SOFTWARE - 4 .3 RECURSOS WEB
    1. LENGUAJES INCLUIDOS
    1. POSIBLES RIESGOS
  • 7 DOCUMENTACIÓN - 7.1 SISTEMA OPERATIVO: ANDROID - 7.2 REQUERIMIENTO FUNCIONALES - 7.2.1 DESCRIPCION BASICA - 7.2.2 SEGURIDAD - 7.3 REQUERIMIENTO NO FUNCIONALES - 7.3.1 DISPONIBILIDAD - 7.3.2 INTERFAZ GRAFICA
    • 7.4 CASOS DE USO
    • 7.5 DISEÑO TECNICO - 7.5.1 ARQUITECTURA DEL SERVICIO - 7.5.2 ARQUITECTURA FISICA - 7.5.3 ARQUITECTURA LOGICA - 7.5.3.1 CAPA DE PRESENTACION - 7.5.3.2 CAPA DE NEGOCIO - 7.5.3.3 CAPA DE DATOS - 7.5.4 ARQUITECTURA DE BASES DE DATOS - 7.5.5 DIAGRAMA DE SECUENCIA - 7.5. 6 PROTOTIPO - 7.5.6.1 BOCETO INICIAL - DE ALTA CALIDAD 7.5.6.2 PROTOTIPO HORIZONTAL - 7.5.6.2.1 PANTALLA PRINCIPAL - 7.5.6.2.2 INFORMACION - 7.5.6.2.3 VER ARTICULOS - 7.5.6.2.4 BUSQUEDA ARTICULO - 7.5.6.2.5 INSERTAR ARTICULO - 7.5.6.2.6 ACTUALIZA ARTICULO - 7.5.6.2.7 BORRAR ARTICULO - 7.5.6.2.8 PAGOS - 7.5.6.2.9 CHAT - 7.5.6.2.10 UBICACION - 7.5.6.2.11 COMPARTIR
    1. IMPLEMENTACION
    • 8.1 PREMISAS Y JUSTIFICACON - 8.1.1 ENCRIPTACION DE DATOS - 8.1.2 OPTIMIZACION DE PANTALLA - 8.1.3 COMENTARIOS EN EL CODIGO
      • 8.2 IMPLEMENTACION DE LA BBDD
      • 8.3 IMPLEMENTACION DE LA APLICACIÓN MOVIL
      • 8.3.1 ARBOL DEL PROYECTO
      • 8.3.2 COMUNICACIÓN CON LOS SERVICIOS WEB
      • 8.4 HERRAMIENTAS DE TERCEROS
        • 8.4.1 GOOGLE FIREBASE
        • 8.4.1.1 FIREBASE AUTHENTICATION
        • 8.4.1.2 FIREBASE DATABASE
        • 8.4.2 HOSTINGER
        • 8.4.3 GOOGLE MAPS
        • 8.4.4 FACEBOOK
      • 8.5 FUNCIONAMIENTO DE LA APLICACION - 8.5.1 VER LISTADO DE ARTICULOS - 8.5.2 INSERTAR UN ARTICULO - 8.5.3 PAGO - 8.5.4 CHAT
        • 8.5.5 UBICACION
    1. CONCLUSIONES Y MEJORAS
    1. GLOSARIO
  • 11 BIBLIOGRAFIA........................................................................

En nuestro pais es incluso mayor, donde se concentra más del 90% de los terminales con sistema Android. Mas adelante, una vez asentada la app en el mercado, se prevee distribuir diferentes versiones en las restantes plataformas de dispositivos (IOS, TIZEN,Windows,etc.)

2. DEFINICION DEL PROYECTO

Como he comentado muy por encima en el punto anterior, el proyecto consiste en la creación de una app de compraventa y subasta online entre particulares de lo que llamamos GAGDGETS ( Smartphones, Tablets, Relojes inteligentes, Portatiles, Camaras.. ). En la actualidad disponemos en internet de diferentes páginas web tipo eBay y de aplicaciones móviles estilo Wallapop, en ambos casos cubren una variedad considerable de productos (desde vehículos, moda, tecnología.. hasta incluso servicios profesionales), pero todas ellas en distintos formatos y funcionalidades.

Muchas de estas aplicaciones ofrecen los productos en venta directa con precio fijo y otras en modo subasta, en el caso de las primeras además facilitan la mensajeria instantanea para la comunicación entre usuarios y busqueda de articulos por localización geografica. En el caso de la app a desarrollar, se basará exclusivamente en los aparatos electronicos ya citados, en donde se facilitará información detallada de los dispositivos mediante enlaces a la web de fabricante, y así analizar y comparar entre distintas marcas y modelos. El usuario tendrá la posibilidad de visualizar los articulos que han incluido otras personas y ponerse en contacto con ellas mediante un chat y si llegan a un acuerdo realizar el pago por la plataforma o utilizar la opción de localización para conocer la distancia entre los interesados, además puede dar de alta tantos productos como necesite. Despues de bastantes años como usuario activo de este tipo de aplicaciones, considero que no hay nada similar en el mercado que reuna todas las funcionalides descritas en un solo espacio. A continuación muestro una grafica con el número de descarga de aplicaciones de este mismo segmento hasta Marzo de 2017 en nuestro pais.

Y por último, se realizarán diferentes test de esfuerzo que consiste en una batería de pruebas para comprobar que la aplicación se comporta adecuadamente en todos los posibles escenarios La distribución en Google Play queda como hito pendiente de análisis, a la espera entre otras cosas de considerar si el producto sale a coste cero y si se publicita en redes sociales. 2.2. FUNCIONALIDADES El proyecto, como ya se ha indicado, consiste en una plataforma de informacion y compraventa de productos electronicos de pequeñas proporcionados llamados conmumente Gadgets. La aplicación que se va a desarrollar tendrá las siguientes funcionalidades: ✓ Registro y login de usuario a través de correo electronico y contraseña. ✓ Consulta de diferentes productos por marca y modelo. ✓ Consulta de todos los articulos dados de alta por los usuarios. ✓ Consulta por identificador de un articulo. ✓ Insertar nuevos articulos con los siguientes datos: Articulo, Categoria, Modo, Precio, Provincia y Contacto. ✓ Actualizar un articulo ya incluido con los datos indicados en el anterior punto. ✓ Borrar un articulo ya insertado. ✓ Pago de un anuncio a un usuario registrado. ✓ Chat online con usuarios de la aplicación. ✓ Localizar y calcular distancia entre usuarios. ✓ Compartir app por redes sociales (en concreto Facebook).

Para la interfaz grafica se utilizará distintos patrones de diseño y herramientas, al igual que para el registro de usuarios y base de datos de anuncios, entre otras de las funcionalidades mencionadas.

3. CALENDARIO DEL PROYECTO

El proyecto esta dividido según el metodo de evaluación continua en 4 hitos que corresponden a 4 PECs, siendo la primera, un plan de trabajo, la segunda, el diseño y la arquitectura del proyecto, la tercera, la implementación del codigo y la cuarta y última, la entrega final con la memoria, aplicación con su codigo y video de presentación.

  1. 1 ENTREGAS Las fechas de entregas fijadas coinciden con las 4 PEC que se indican en el calendario y son:
  • Plantear la evaluación del prototipo del sistema mediante un test con usuarios.
  • Mantener la visión de conjunto en todas las etapas de la elaboración de la práctica, identificando los aspectos a mejorar en cada iteración del proceso de DCU. PEC3: IMPLEMENTACIÓN Inicio: 06/04/17 Entrega: 17/05/ Los objetivos concretos de esta PEC son:
  • Poner en práctica los conocimientos adquiridos a lo largo de toda la titulación.
  • Conocer el proceso de desarrollo de una app desde su concepción hasta su distribución.
  • Saber implementar funcionalidades concretas en una aplicación móvil utilizando los lenguajes de programación y las herramientas disponibles según la plataforma o plataformas escogidas.
  • Saber testear el correcto funcionamiento de una aplicación móvil y depurar los posibles errores.
  • Ser capaz de documentar y justificar las decisiones tomadas en el desarrollo y los resultados logrados.
  • Adquirir experiencia al afrontar los retos que supone sacar adelante un proyecto completo. ENTREGA FINAL Inicio: 18/05/17 Entrega: 14/06/ Los objetivos concretos de esta PEC son:
  • Poner en práctica los conocimientos adquiridos a lo largo de toda la titulación.
  • Adquirir experiencia en afrontar los retos que supone llevar a cabo un proyecto completo.
  • Saber completar el desarrollo de una aplicación móvil y preparar su distribución para un usuario final.
  • Ser capaz de documentar y justificar las decisiones tomadas en el desarrollo y los resultados obtenidos.
  • Ser capaz de presentar el trabajo realizado a un público no especializado.

3.3 CRONOGRAMA A continuación, pasó a detallar las tareas y planificación con sus correspondientes hitos con entregas parciales. El tiempo a dedicar se ha medido en horas y por tipo de día (laboral o festivo), en el primero siendo 2 h/día laboral y en el segundo 5h/día festivo.

4. INFRAESTRUCTURA

Para el proyecto se usarán distintos recursos, una parte con infraestructura propia y otra con herramientas en cloud o freeware, en los dos casos además en: 4.1 ELEMENTOS HARDWARE En este sentido a lo largo del proyecto se han utilizado diferentes componentes, desde un ordenador portátil hasta dispositivos móviles. A continuación, se describen cada uno de ellos:

Microsoft Paint Aplicación nativa de Windows de dibujo. Microsoft Office 2016 Suite de ofimática para el desarrollo de la documentación. Adobe Acrobat Reader Lector de documentos en PDF. Google Chrome Navegador web para búsqueda de información. 7 - Zip File Manager Compresor de archivos en varios formatos. ArgoUML Aplicación de diagramado de UML escrita en Java. Genymotion Emulador de terceros, que puede usar para crear un entorno virtual para Android. FileZilla Software cliente gratuito que permite a los usuarios conectar un ordenador local con un servidor remoto de Internet para el intercambio de archivos. Postman Extensión gratuita para el navegador Google Chrome que permite probar servicios web. Movie Maker Editor de vídeo que permite editar y compartir vídeos. 4 .3 RECURSOS WEB Por último, se detallan los medios externos proporcionados mediante diferentes páginas de reconocido prestigio, se indica a continuación: Herramienta Tareas Google Firebase Plataforma para el desarrollo de apps para Android que facilita entre otras cosas, mensajería en la nube, autenticación, base de datos en tiempo real, almacenamiento, hosting, configuración remota, testeo o también informes de incidencias.

Hostinger Servicio de hosting con soporte PHP y MySQL. Google Maps Servidor de aplicaciones de mapas y geolocalización. Paypal Plataforma de pagos segura que funciona como una billetera electrónica.

5. LENGUAJES INCLUIDOS

En este caso el lenguaje utilizado es Java, orientado a objetos y uno de los más populares en uso, particularmente para aplicaciones de cliente-servidor de web. Esté será la base del aplicativo, se usarán librerias propias del lenguaje como las que suministra Android. XML es otro lenguaje a emplear en el proyecto, muy similar a HTML pero su función principal es describir datos, es un formato que posibilita la lectura de datos a través de diferentes aplicaciones, para este proyecto servirá de interfaz gráfica para la configuración de las activities.

6. POSIBLES RIESGOS

En cualquier proyecto pueden surgir eventualidades, por ello hay que preveer y adelantarse a un problema que origine un paron y no nos deje llegar a la finalización de nuestro cometido. Estos riesgos pueden ser por factores internos, relacionados con el desarrollo de la propia aplicación y su dificultad, o pueden ser externos, como situaciones procedentes del entorno familar, laboral,etc.. En ese sentido, se incluye una tabla con una relación de riesgos clasificados por su importancia: Riesgo Detalle Probabilidad Impacto Acciones a realizar Falta de conocimientos Una o varias de las tareas no han sido realizadas anteriormente y requiere un aprendizaje Media-Alta Alto Revisar con anterioridad cada una de las funcionalidades para formarse si es necesario de esa tarea.

Otras causas Pueden aparecer diferentes circustancias que retrasen el proyecto, por ejemplo, problemas de conexión a internet, compromisos varios,etc. Media-Baja Media- Baja Aplica lo mismo que en el punto de jornadas laborales.

7. DOCUMENTACION

En este punto se facilitará con detalle un analisis del proyecto, se empezará con la arquitectura del sistema base, los requerimientos funcionales y no funcionales, con los casos de uso, diseño técnico y por último, con el prototipo. 7.1 SISTEMA OPERATIVO: ANDROID Android es un grupo de herramientas y aplicaciones ligadas a una distribución Linux para dispositivos móviles, es de código abierto, gratuito y no requiere pago de licencias, se trata de un conjunto de software para dispositivos móviles que incorpora un sistema operativo, middleware y aplicaciones de base

A continuación, los componentes del sistema operativo: Aplicaciones Se incluyen distintos tipos de aplicativos, desde gestores de correo hasta navegadores, calendarios, mapas,etc. Todas ellas son escritas en el lenguaje de programación Java. Framework de Aplicaciones Los desarrolladores tienen acceso completo a los APIS del framework que se usan por las aplicaciones base. La arquitectura está diseñada para ayudar y sintetizar la reutilización de componentes; todas las aplicaciones pueden difundir sus capacidades y gracias a esto favorecer a otros programadores. Android Runtime Android incorpora una serie de librerías que proporciona una gran parte de las funcionalidades que hay disponibles en las librerías base del lenguaje de programación Java. Cada aplicación Android lanza su proceso, con su instancia de la máquina virtual Dalvik. Dalkiv fue escrito para que un dispositivo pueda correr en distintas máquinas virtuales de la manera mas eficaz. Librerías Android tiene un monton de librerías C/C++ utilizadas por diversos componentes del sistema Android. Algunas son: implementación librería C standard, librerías de medios, librerías de gráficos, 3d, SQLite, entre muchas otras. Núcleo - Linux Android es un sistema basado en Linux, da servicios base como seguridad, gestión de procesos y de memoria, de red y de drivers. El núcleo hace de capa de abstracción entre el hardware y el resto del stack de software.