35
1 CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA APPTITUD, EMPRESA PARQUESOFT PEREIRA CATHERIN ANDREA OCHOA ROJAS UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PRÁCTICAS ACADÉMICAS PEREIRA 2013

CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

1

CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA APPTITUD, EMPRESA PARQUESOFT PEREIRA

CATHERIN ANDREA OCHOA ROJAS

UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PRÁCTICAS ACADÉMICAS

PEREIRA 2013

Page 2: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

2

CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA APPTITUD, EMPRESA PARQUESOFT PEREIRA

CATHERIN ANDREA OCHOA ROJAS

PLAN DE PRÁCTICA

Tutor RICARDO ALONSO HURTADO MOSQUERA

INGENIERO DE SISTEMAS Y TELECOMUNICACIONES

UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PRÁCTICAS ACADÉMICAS

PEREIRA 2013

Page 3: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

3

TABLA DE CONTENIDO

INTRODUCCIÓN .................................................................................................... 7

1. PRESENTACIÓN DELA ORGANIZACIÓN O SITIO DE PRÁCTICA................ 8

1.1 HISTORIA DE LA EMPRESA ........................................................................ 8

1.2 MISIÓN ........................................................................................................ 10

1.3 VISIÓN ......................................................................................................... 10

1.4ESTRUCTURA ORGANIZACIONAL ............................................................. 11

1.5 NÚMERO DE EMPLEADOS ........................................................................ 11

1.6 ÁREA DE TRABAJO DEL PRACTICANTE .................................................. 11

1.7 DESCRIPCIÓN DE LA ACTIVIDAD COMERCIAL DE LA EMPRESA ......... 11

2. DEFINICIÓN DE LAS LÍNEAS DE INTERVENCIÓN ...................................... 13

3. DESCRIPCIÓN DEL PROBLEMA .................................................................. 13

4. JUSTIFICACIÓN DE LA PROPUESTA DE SOLUCIÓN ................................. 13

5. OBJETIVOS .................................................................................................... 15

5.1. OBJETIVO GENERAL ................................................................................ 15

5.2. OBJETIVOS ESPECÍFICOS. ...................................................................... 15

6. MARCO TEÓRICO ......................................................................................... 16

6.1 HISTORIA DE ANDROID ......................................................................... 16

6.2 LENGUAJE DE DESARROLLO. .............................................................. 17

6.3 WEB SERVICE ........................................................................................ 18

6.4 BASES DE DATOS .................................................................................. 19

7. CRONOGRAMA ............................................................................................. 20

8. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS ........................................ 21

8.1 LEVANTAMIENTO DE REQUERIMIENTOS. .......................................... 21

8.2 DISEÑO DE CASOS DE USO. ................................................................ 24

8.2.1 MODELO DE CASOS DE USO ......................................................... 26

8.2.2 DESCRIPCIÓN DEL CASO DE USO ................................................ 27

8.3 MODELACIÓN DE LOS DATOS .............................................................. 28

Page 4: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

4

8.3.1 MODELO ENTIDAD-RELACIÓN ....................................................... 29

8.3.2 MODELO RELACIONAL ................................................................... 29

8.4 MODELO DE INTERFACES .................................................................... 30

9. CONCLUSIONES. .......................................................................................... 33

10. RECOMENDACIONES. .............................................................................. 33

REFERENCIAS ..................................................................................................... 35

Page 5: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

5

LISTA DE ILUSTRACIONES

Pág.

FIGURA 1. Organigrama ParqueSoft 11

FIGURA 2. Esquema del web service 18

TABLA 3. Cronograma 20

FIGURA 4: Modelo de caso de uso general. Realizado en Enterprise Architect 26

TABLA 5. Descripción de caso de uso 1.1 27

FIGURA 6. Modelo E-R, realizado en la herramienta Día. 29

FIGURA 7. Modelo Relacional, realizado en la herramienta Día 29

FIGURA 8. Formulario de registro de usuario 30

FIGURA 9. Vista para iniciar sesión 31

FIGURA 10. Vista principal de la App, se muestra la publicidad geolocalizada 31

FIGURA 11. Listado de restaurantes 32

FIGURA 12. Listado de productos 32

Page 6: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

6

SÍSTESIS

ABSTRACT

This document shows the entire software engineering process done for creating a mobile application, which is intended to be a catalog that can display information of the restaurants of the city, each of its products and promotions depending on where the device is found, and how to perform client-server connection.

Keywords: Android, Mobile Devices, Catalog, Web Services, Databases, Software Engineering.

SÍNTESIS

El presente documento evidencia todo el proceso de ingeniería de software realizado para la creación de una aplicación móvil, la cual tiene como fin ser un catálogo que permita mostrar información de los restaurantes de la ciudad, cada uno de sus productos y promociones dependiendo del lugar donde se encuentre el dispositivo, además de cómo realizar la conexión cliente-servidor. Descriptores: Android, Dispositivos móviles, Catálogo, Web Services, Base de datos, Ingeniería de Sofware.

Page 7: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

7

INTRODUCCIÓN

El entorno cambiante y extremadamente competitivo del siglo XXI, dónde el

mundo se interconecta para lograr comunicarse fácilmente, ya sea en un área

local, nacional o internacional, es el gran punto de apoyo para el avance de la

tecnología móvil. Un mundo en dónde el papel está quedando en un segundo

plano,sea por el tema ambiental o por ahorrar dinero, para pasar a liderar el

mundo digital. No obstante, cada vez la tecnología nos toma más de la mano, para

facilitarnos tareas, la forma de comunicación, ahorrar costos, entre otras ventajas

que nos ofrecen las TICs.

Es gracias a esto que Apptitud, empresa ParqueSoft, decide realizar un proyecto

que permite reemplazar el catálogo físico de los restaurantes por una aplicación

móvil, de fácil manejo para sus usuarios y teniendo sus clientes la oportunidad de

administrarla mediante una plataforma web. Ésta aplicación consiste en mostrar

una lista de restaurantes de las diferentes ciudades que se encuentren registradas

en ella, por ende, ofrecer la variedad de productos entregados por los

restaurantes.

Teniendo en cuenta lo anterior y que Android, es una plataforma que está

dominando el mercado mundial de los Smartphone, muy apetecida por sus

usuarios, la aplicación se ha diseñado y desarrollado en base a ella, teniendo la

oportunidad de obtenerla mediante diversos medios como códigos QR, redes

sociales y tiendas de descarga.

Page 8: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

8

1. PRESENTACIÓN DELA ORGANIZACIÓN O SITIO DE PRÁCTICA

1.1 HISTORIA DE LA EMPRESA

En el año de 1999 surgió en Cali bajo el liderazgo de Orlando Rincón una iniciativa

cuyo objeto era la creación de un espacio para jóvenes emprendedores de la

industria del Software. Orlando Rincón, un reconocido líder de la industria, había

fundado en 1984 Open Systems Ltda., una de las empresas más representativas

de la industria de software colombiana. Durante todos estos años acumuló

experiencias y conocimiento acerca de cómo consolidar una empresa de software.

En 1997 visitó dos países transformados en líderes globales de esta industria y

con condiciones similares a Colombia: Irlanda y la India. Orlando observó que era

viable construir, con muy poca inversión, un Parque Tecnológico de Software y

que ésta podría ser una excelente oportunidad para la ciudad de Cali, sumida

entonces en una grave crisis económica y de identidad social, debido al funesto

impacto del narcotráfico. Para ello, en junio de 1999 y aprovechando el cambio de

sede de Open Systems, Orlando acordó con ésta la donación de la infraestructura

avaluada en USD $30.000 para el inicio del Parque Tecnológico de Software de

Cali.

En años anteriores, Orlando había desarrollado un proceso de incubación de dos

empresas de software: VIANet, dedicada a crear páginas y software WEB y Apedi,

empresa a la cual Open había entregado su software de propósito comercial

cuando decidió especializarse en software para servicios públicos y

telecomunicaciones, brindándoles apoyo económico, coaching y asesoría

permanente en tecnología y situaciones de negocios. En 1998 se había

Page 9: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

9

incorporado Innova Systems, especializada en el desarrollo de software para

gestión documental. Estas empresas se trasladaron en septiembre de 1999 a las

instalaciones donadas por Open Systems, en calidad de empresas base,

fundadoras de este proyecto. En diciembre de ese mismo año se creó la

Fundación Parque Tecnológico del Software con el objetivo de facilitar la creación

de empresas de software por parte de emprendedores jóvenes en la ciudad de

Cali, en ese entonces con capacidad para residenciar proyectos de

emprendimiento con espacio para tres personas por proyecto, así nació

ParqueSoft.

Actualmente consolida un corredor de ciencia y tecnología en las ciudades de Cali,

Popayán, Pasto, Buga, Tuluá, Palmira, Armenia, Manizales, Pereira,

Buenaventura, Ibagué, Villavicencio y Sincelejo.

En la ciudad de Pereira, ParqueSoft inició labores hace más de siete (7) años,

gracias al empuje de varios emprendedores de la empresa Fastec de Colombia,

quienes luego de conocer y valorar el modelo implementado en Cali, fueron

vinculados como miembros de la Fundación Parque Tecnológico de Software en

Agosto de 2002.

En el 2004, el proyecto fue vinculado al plan de desarrollo de la administración de

Juan Manuel Arango, alcalde de Pereira de ese entonces; también fue incorporado

en la Política de Desarrollo Regional del programa Ciencia, Tecnología e

innovación, bajo la cual se proporcionaron rubros económicos para los primeros

tres años de funcionamiento de ParqueSoft. En alianza entre Alcaldía de Pereira y

la Universidad Tecnológica de Pereira (UTP) se entregó en comodato a la UTP el

espacio físico en el cual a la fecha, opera la Fundación, fue así como el 15 de

Marzo de 2005, se constituyó la Fundación Parque Tecnológico de Pereira –

ParqueSoft Pereira- siguiendo los lineamientos filosóficos de ParqueSoft Cali.

Page 10: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

10

Actualmente cuenta con un total de cuarenta y ocho (48) empresas y noventa

y cuatro (94) emprendedores desarrollando proyectos de base tecnológica

e investigación en áreas de Gestión empresarial, inteligencia de negocios,

educación, media digital, medio ambiente, industria y servicios; además de esto

cuenta con diferentes reconocimiento a nivel nacional e internacional donde

algunas de sus empresas han sido ganadoras en 5 ocasiones de TIC América y 4

veces del Global TIC.

1.2 MISIÓN

Posibilitar un espacio de desarrollo y respaldo para emprendedores con ideas de

base tecnológica, que favorezca la generación de soluciones para satisfacer las

necesidades delos diferentes sectores productivos de la región, fomentando el

desarrollo tecnológico y el capital social.

1.3 VISIÓN

Para el 2013, ParqueSoft Pereira, será reconocida como la entidad líder de

fomento al emprendimiento en Risaralda, dinamizando a través de sus

emprendimientos el sector delas Tecnologías de la Información y las

Comunicaciones, bajo un modelo de desarrollo endógeno.

Page 11: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

11

1.4ESTRUCTURA ORGANIZACIONAL

FIGURA 1.Organigrama ParqueSoft

Fuente: Manual de calidad de ParqueSoft Pereira

1.5 NÚMERO DE EMPLEADOS

Actualmente ParqueSoft Pereira cuenta con 6 empleados en su campo

administrativo.

1.6 ÁREA DE TRABAJO DEL PRACTICANTE

Área de desarrollo, ejerciendo actividades como practicante en desarrollo de

software.

1.7 DESCRIPCIÓN DE LA ACTIVIDAD COMERCIAL DE LA EMPRESA

Practicante

Desarrollo de SW

Page 12: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

12

ParqueSoft es una fundación sin ánimo de lucro cuyo propósito es facilitar a

jóvenes emprendedores la creación y desarrollo de empresas de base tecnológica

que provean al mercado de productos y servicios de tecnología informática. El

proceso de crecimiento y desarrollo de la actividad empresarial de los

emprendedores está apoyada por 3 etapas, éstas con el fin de representar el nivel

de evolución y responsabilidad que va adquiriendo cada empresa según los logros

y experiencias adquiridas.

• Etapa Junior:

Tiene duración de 6 meses e inicia al momento del ingreso a la comunidad

ParqueSoft. Esla primera etapa y representa el proceso inicial de todo

emprendedor en donde se consolida, se da forma a la idea de negocio y se

desarrolla el producto o servicio.

• Etapa Advanced

Se inicia una vez culminada la etapa Junior y tiene duración de año y medio. Esta

etapa representa el nivel de evolución de la actividad empresarial, en la que se

tiene un prototipo del producto o servicio y se está preparado para realizar prueba

piloto. En esta categoría los emprendedores adquieren la obligación de pertenecer

a uno de los comités de la Fundación.

• Etapa Senior

Se considera la etapa de mayor nivel y tiene duración indefinida, ya que culmina

únicamente con la desvinculación del parque. En esta etapa, las empresas están

plenamente consolidadas, en donde su producto o servicio ya está probado y en la

que ya se cuenta con varios clientes.

Page 13: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

13

2. DEFINICIÓN DE LAS LÍNEAS DE INTERVENCIÓN

Siendo ParqueSoft una fundación sin ánimo de lucro, cuyo propósito es facilitar a

jóvenes emprendedores la creación y desarrollo de empresas de base tecnológica,

que provean al mercado de productos y servicios de tecnología informática, ésta

práctica se direcciona en la línea del desarrollo de software para crear

aplicaciones móviles.

3. DESCRIPCIÓN DEL PROBLEMA

Se realizó un estudio de mercado y se determinó la necesidad que tienen los

restaurantes y bares de la ciudad, para renovar sus catálogos impresos que

generalmente son costosos, permitiendo actualizarlos tan sólo de una a dos veces

por año, notándose el deterioro del papel; siendo de mala presentación para el

establecimiento e incómodo para sus usuarios tener que ver una carta vieja,

deteriorada, con enmendaduras y en algunos casos, rasgada y salvada con cinta.

No obstante, el restaurante y/o bar genera altos gastos en cartas y publicidad, lo

que ocasiona una gran inversión que en poco tiempo será desechada, sin

mencionar el impacto ambiental que causa tanto gasto de papel.

4. JUSTIFICACIÓN DE LA PROPUESTA DE SOLUCIÓN

El desarrollo consiste en realizar un menú/catálogo actualizable para

restaurantes, con promociones geo-localizadas. Permite consultar el menú del día,

anunciar a sus usuarios promociones, ver precios de los productos y teléfonos de

Page 14: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

14

los restaurantes, con el fin de que pueda estar enterado de la carta que se ofrece

en el restaurante al que desea asistir.

La aplicación se desarrolla para la plataforma Android, disponible para dispositivos

móviles que tengan este Sistema Operativo, ya que aporta facilidad de acceso a la

carta a través del dispositivo, teniendo como meta que ésta aplicación se convierta

en una solución móvil de fácil acceso para sus usuarios y ahorro económico para

sus clientes.

A continuación, se nombran las características de la aplicación y su contenido

como solución portable a la necesidad identificada:

Registro: los usuarios pueden registrarse en la aplicación para poder

recibir información actualizada sobre las diferentes ofertas del día y conocer

la lista de restaurantes que se encuentren cerca de él con su respectiva

carta.

Promociones: facilita información sobre las ofertas del día o la semana en

diferentes restaurantes y bares, los más cercanos al sitio donde se

encuentre ubicado con su móvil.

Consultas: permite realizar búsquedas ya sea por nombre del producto o

nombre del restaurante.

Listado: muestra un listado de restaurantes con datos principales como:

nombre, dirección, teléfono.

Productos: entrega información de los productos que se venden en el

restaurante que seleccionó, al igual que el precio y algunos comentarios de

sus consumidores.

La aplicación móvil, menú/catálogo actualizable, de productos y servicios de

restaurantes, pretende integrar restaurantes y bares de las ciudades, ofreciendo a

sus usuarios un listado de estos sitios, con información actualizada de la carta y

promociones que se brindan en días especiales, de igual manera, información del

restaurante como dirección, teléfono y ciudad. Otorgándole al usuario estos

Page 15: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

15

beneficios desde una interfaz agradable y fácil de manejar, además utilizando un

dispositivo móvil, que se ha convertido en la sombra de los ciudadanos en una

plataforma dominante del mercado a nivel mundial, economizando a sus clientes

tiempo y dinero a la hora de renovar su menú impreso.

5. OBJETIVOS

5.1. OBJETIVO GENERAL

Analizar y diseñar una aplicación cliente-servidor móvil para Android, que permita

consultar la información de ubicación y contacto de proveedores de un producto y,

al mismo tiempo, visualizar información publicitaria de proveedores aledaños a la

ubicación geográfica del móvil.

5.2. OBJETIVOS ESPECÍFICOS.

Definir las características de las imágenes publicitarias y de la información

de contacto y ubicación de los proveedores de productos.

Diseñar y desarrollar interfaces gráficas, que sigan definiciones básicas de

usabilidad para dispositivos móviles, de tal forma que estas sean sencillas

de entender y fáciles de utilizar.

Identificar las técnicas, herramientas y metodologías más adecuadas para

el desarrollo de la aplicación.

Realizar el levantamiento de requerimientos asociados al proyecto.

Page 16: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

16

6. MARCO TEÓRICO

En este mundo de tecnología, que avanza cada día más en el sector de las aplicaciones para dispositivos móviles, cuenta con diversas plataformasdedesarrollocomo lo son Windows Phone, iOS, Blackberry OS, Symbian y el más popular en este momento a nivel mundial Android, que a su vez es la plataforma que resalta este documento.

Android es un sistema operativo creado por Google, pensado inicialmente para los dispositivos móviles. Básicamente, convierte el dispositivo móvil en un ordenador de bolsillo, se puede navegar por internet igual que con un computador tradicional, además de ser un software de código libre, lo que significa que no solo pueden mejorarlo los desarrolladores de Google, sino que también se nutre de aportaciones de desarrolladores externos.

6.1 HISTORIA DE ANDROID

Android era inicialmente una empresa joven, que desarrollaba un sistema

operativo para dispositivos móviles y en el año 2005 fue comprada por Google.

Desde entonces, varios rumores anunciaban la aparición de un teléfono Google

llamado Gphone. No obstante Google preparaba algo mucho más que eso. El 5 de

noviembre de 2007, se anunció la creación del OHA (Open Handset Alliance): un

consorcio creado por iniciavita de Google que reunía en su comienzo una treintena

de empresas, la mayoría eran operadores móviles, fabricantes de dispositivos,

empresas industriales y fabricantes de software.

El mismo día, el OHA presenta oficialmente Android: la primera plataforma

completa y abierta para dispositivos móviles. Esta plataforma incluye un sistema

operativo, el middleware (aplicaciones intermedias), una interfaz de usuario y

aplicaciones de referencia. Luego, el 12 de noviembre de 2007, el OHA anuncia la

aparición del primer SDK (Software Development Kit) o kit de desarrollo de

Page 17: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

17

software Android, que permite a los desarrolladores poder crear sus propias

aplicaciones para la plataforma Android.

En noviembre de 2008 apareció el AndroidMarket, la tienda de aplicaciones de

Google que permite a los desarrolladores y fabricantes de software poner a

disposición de cualquier cliente de Android, las aplicaciones desarrolladas por

ellos.

El primer Smartphone Android apareció en octubre de 2008 en los Estados Unidos

y en marzo de 2009 en España. A mediados de 2009 aparecen las primeras

tabletas táctiles Android, pero sería necesario esperar hasta principios de 2011

para la aparición de la versión Android 3.0 concebida especialmente para las

tabletas, con el propósito de hacerlas disponibles para el gran público.

(PÉROCHON, Sébastien. ANDROID: Guía de desarrollo de aplicaciones para

Smartphone y Tabletas. Edición española: Francisco Javier PIQUERES JUAN

Barcelona, Editions ENI – Junio 2012. Pág. 18).

6.2 LENGUAJE DE DESARROLLO.

Las aplicaciones de Android pueden ser desarrolladas en Java o en C++, creando aplicaciones nativas, es decir, aplicaciones que se ejecutan directamente sobre el sistema operativo. Estas aplicaciones pueden ser publicadas en el AndroidMarket, luego de los desarrolladores haber tenido un proceso de registro.

El catálogo digital ha sido desarrollado en lenguaje Java, acompañado de Eclipse, su entorno de desarrollo para aplicaciones Android. Gracias a que Eclipse acoplado al plug-in ADT, integra numerosas funcionalidades específicas, desde el asistente para la creación de un proyecto Android, hasta la exportación de la aplicación final, el apk.

Java es a la vez un lenguaje y una plataforma de desarrollo. SUN caracteriza a Java como un lenguaje sencillo, orientado a objetos, distribuido, interpretado, robusto, securizado, independiente de las arquitecturas, portable, eficaz, multihilo y dinámico. Estas características son el resultado del libro blanco escrito en mayo

Page 18: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

18

de 1996 por James Gosling y Henry Mc Gilton, disponible en http://java.sun.com/docs/white/langenv.

6.3 WEB SERVICE

Ya cuando se tiene establecido la plataforma y el lenguaje en el que se va a

desarrollar la aplicación, el paso a seguir en el desarrollo es cómo hacer que la

aplicación se comunique con el servidor, para poder así llamar (consultar datos)

que se encuentran alojados en la base de datos y de igual forma, almacenar la

información del usuario que se registra en la aplicación.

Para obtener dicha comunicación, es necesario entonces hacer uso de los web

services, que son una forma estandarizada de integrar aplicaciones web, mediante

el uso de XML, SOAP, WSDL y UDDI sobre los protocolos de internet. XML es

usado para describir los datos, SOAP se ocupa de la transferencia de los datos,

WSDL se emplea para descubrir los servicios disponibles y UDDI se ocupa de

conocer cuáles son los servicios disponibles.

“Un web service es una interfaz, accesible por protocolos (estándar o no) usados

en Internet, que permite acceder a las funcionalidades de un objeto concreto, sin

importar las tecnologías ni plataformas implicadas en la petición” (Ribas, 2003,

10).

FIGURA 2. Esquema del web service.

Page 19: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

19

Fuente: Libro Web Services, escrito por Jean Ribas Lequerica.

La figura anterior, muestra el esquema del proceso que realizan los web services,

en este caso, un usuario hace una petición desde su computador de escritorio, no

obstante, es el mismo procedimiento si se ejecuta desde un dispositivo móvil. Con

el fin de establecer un diálogo entre cliente (Web ServiceClient), que además de

ser el que envía la petición, también recibe una respuesta, y el servidor (Web

Service), se encarga de ejecutar el proceso ante esta petición y envía la

respuesta, puede utilizar codificación basada en lenguaje XML o JSON, este

último es un formato ligero para el intercambio de datos.

Los web services ofrecen diferentes arquitecturas para el desarrollo de los

mismos, entre estas arquitecturas se encuentran SOAP y REST, la más adecuada

para este proyecto es REST; se toma esta decisión por ser un estilo de

arquitectura que ofrece un buen desempeño, escalabilidad y abstracción de

recursos, donde cada petición HTTP contiene toda la información necesaria para

responder a la petición, en un archivo JSON.

6.4 BASES DE DATOS

Este archivo JSON es recibido por el servidor, interpretado de tal forma que pueda

hacer sentencias SQL en la base de datos y resolver las solicitudes, es decir un

CRUD (Create, Read, Update and Delete).

Una petición HTTP, tiene métodos como POST, GET, PUT, DELETE, que

determinan las funciones nombradas anteriormente.

Existen diversos gestores de bases de datos, por ejemplo Oracle, SQL-Server,

MySQL, PostgreSQL, entre otros, donde los dos últimos son SGDB libres, los

demás son comerciales.

“El uso de bases de datos es parte fundamental de la gestión de la información

empresarial. Postgres surgió como una continuación del proyecto gres, para el

Page 20: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

20

desarrollo de un sistema de bases de datos, que ha continuado bajo la filosofía de

desarrollo de software libre. Ha sido descrito como un sistema de bases de datos

relacional orientado a objetos.” (Martin, 2011, 96).

Es por esto, que para la realización del catálogo digital, la base de datos que se

implementa está desarrollada en PostgreSQL. Por ser libre y orientado a objetos;

siendo este el paradigma de programación utilizado sobre el lenguaje Java para

todo el desarrollo del proyecto. Otras características importantes de PostgreSQL

es que corre en variedad de sistemas operativos: Linux, Unix, Mac OS, Windows,

etc.

7. CRONOGRAMA

TABLA 3. Cronograma

ACTIVIDADES ENERO FEBRERO MARZO ABRIL MAYO JUNIO

Diseño de interfaz (GUI)

Prototipo no funcional

Plan de negocios

Modelo de análisis

Modelo de diseño

Modelo de los datos

Modelo de la estructura web

EVALUACIÓN Y CORRECCIÓN DE LOS

MODELOS PROPUESTOS

DOCUMENTACIÓN

- Informe de ubicación

- Plan de práctica

- Informe de avance

- Borrador final

- Informe final

Page 21: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

21

8. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS

Para solventar la problemática que presenta este proyecto, sobre la necesidad que

tiene los restaurantes y bares de la ciudad, poder renovar sus catálogos de forma

digital, se escogió una metodología propia, cumpliendo con las normas básicas

para el desarrollo de un proyecto. Allí se estiman una serie de pasos a seguir,

empezando por la ingeniería de software que se le realiza al proyecto. Éste es el

estudio que se le hace a la posible solución, estructurando toda su arquitectura:

Levantamiento de requerimientos.

Diseño de casos de uso.

Modelación de los datos.

Modelo de interfaces.

8.1 LEVANTAMIENTO DE REQUERIMIENTOS.

Requerimientos del sistema.

Inicialmente el cliente define los requerimientos que él considera necesarios para

la creación de su aplicación, estos son:

1. Una aplicación que permita registrar usuarios y luego puedan iniciar sesión

con su cuenta y contraseña.

2. Una aplicación que permita mostrar información de los restaurantes de la

ciudad.

3. Una aplicación que permita mostrar el menú de cada uno de esos

restaurantes.

4. La aplicación además permitirá mostrar publicidad dependiendo de la

ubicación geoestacionaria del usuario.

5. El usuario puede hacer comentarios de los productos de cada restaurante

desde la aplicación.

Page 22: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

22

Esta definición se va refinando con el equipo de trabajo mediante entrevistas,

hasta llegar a la lista que se presenta a continuación:

1. Appetite debe permitir generar búsquedas de restaurantes o bares y platos

ofrecidos por los establecimientos.

2. Cuando el usuario realice una búsqueda de algún restaurante o producto,

se debe listar todos los restaurantes relacionados con la búsqueda.

3. Una vez que el usuario realice la búsqueda, podrá seleccionar el

restaurante del listado, y lo re-direcciona a otro listado que estará

compuesto por todos los productos correspondientes al restaurante

seleccionado.

4. Cada ítem del listado de restaurantes estará compuesto por: una imagen

que identifica el Restaurante, el Nombre del Restaurante, la dirección, la

ciudad, y el número telefónico.

5. Una vez que el usuario realice la búsqueda del producto, se listarán todos

los restaurantes relacionados con el producto, y el usuario, podrá

seleccionar el restaurante del listado; esta acción lo re-direcciona a otro

listado que estará compuesto por todos los productos correspondientes al

restaurante seleccionado.

6. Cada ítem del listado de productos estará compuesto por: una imagen que

identifica el producto, el Nombre del producto, el valor del producto, y la

opción de hacer un comentario.

7. Cuando el usuario desee hacer un comentario acerca del producto, podrá

seleccionar la opción de “comentario” en el ítem del listado de los

productos, esta acción lo re-direcciona hacia un listado de comentarios que

han realizado otros usuarios, y en esta misma sesión el usuario podrá hacer

el comentario pertinente.

8. El usuario deberá iniciar sesión, si desea hacer uso del sistema; deberá

ingresar un correo, y una contraseña. Si no posee una sesión en el sistema,

el usuario deberá hacer un registro.

Page 23: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

23

9. Cada usuario deberá registrarse en el sistema si no ha creado una sesión,

ingresando los siguientes datos: Nombre completo, Nombre de usuario,

Usuario Twitter, Correo electrónico, Ciudad, Contraseña, Confirmar

Contraseña.

10. En el Menú principal, estará ubicado el buscador; enseguida del buscador

estará una lista despegable que permitirá listar las ciudades registradas en

el sistema, e irán ubicadas cuatro (4) imágenes que ilustrarán publicidad de

promociones de los restaurantes detectados a un perímetro de 600 mts

dentro del entorno del dispositivo, esto trabajará con ubicaciones

geoestacionarias.

11. Cada restaurante, para ser detectado en el entorno del dispositivo, y poder

pautar promociones, debe estar registrado en el sistema, sin necesidad de

hacer el registro de su catálogo.

12. Toda la administración de los datos y recursos, serán manipulados desde

un sistema web.

13. El sistema web deberá permitir crear un nuevo restaurante, hacer

modificaciones al restaurante nuevo, eliminar un restaurante.

14. Cada restaurante, en el momento de crearse desde el sistema, deberá

ingresar: Nombre del restaurante, Dirección del restaurante, Ciudad,

Teléfono, Logo representativo al restaurante.

15. El sistema web deberá administrar el banner de publicidad de promociones

del restaurante que solo desee usar el sistema para pautar publicidad

16. Cada restaurante o bar creado, tendrá la opción de registrar una o más

sucursales dentro del sistema.

17. El sistema web deberá permitir crear un nuevo Producto, hacer

modificaciones al producto ingresado, eliminar un producto.

18. El restaurante podrá crear un producto nuevo y deberá ingresar: Nombre

del producto, Precios del producto, Imagen correspondiente al producto.

Page 24: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

24

8.2 DISEÑO DE CASOS DE USO.

Los casos de uso describen los pasos que deben realizarse para el desarrollo de

un proceso. Constan de actores y acciones. Los diagramas de casos de uso sirven

para especificar la comunicación y el comportamiento de un sistema, en este

sistema intervienen tres actores.

Actores.

Usuario

Cliente

Administrador.

Lista de casos de uso.

1. Ingresar al sistema.

2. Buscar Restaurante/Bar/producto.

3. Visualizar productos de restaurantes/Bar.

4. Manipular comentarios sobre productos.

5. Observar Publicidad de promociones.

6. Registrar Usuario.

7. Registrar Restaurante.

Permisos de los actores.

1. Ingresar al sistema.

a. Iniciar sesión (Usuario, Cliente, Administrador).

b. Salir (Usuario, Cliente, Administrador).

2. Buscar Restaurante/Bar/producto.

a. Hacer búsqueda (Usuario, Administrador, Cliente).

b. Seleccionar ciudad (Usuario)

3. Visualizar productos de restaurantes/Bar.

a. Listar restaurante/Bar. (Usuario, Administrador)

b. Listar producto. (Usuario, Cliente, Administrador)

Page 25: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

25

4. Manipular comentarios sobre productos.

a. Comentar sobre un producto (Usuario)

b. Visualizar otros comentarios (Administrador, Cliente, Usuario)

c. Eliminar comentario. (Administrador)

5. Observar publicidad.

a. Observar publicidad. (Usuario)

b. Pautar publicidad (Administrador).

c. Eliminar publicidad (Administrador).

6. Registrar Usuario

a. Crear Usuario (Usuario)

b. Modificar Usuario (Usuario)

c. Eliminar Usuario (Usuario)

d. Buscar usuario (Administrador).

e. Listar usuario (Administrador).

7. Registrar Restaurante.

a. Crear Restaurante (Administrador).

b. Modificar Restaurante (Administrador).

c. Eliminar Restaurante (Administrador).

d. Crear Producto (Administrador, cliente).

e. Modificar Producto (Administrador, cliente).

f. Eliminar producto (Administrador, Cliente).

Page 26: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

26

8.2.1 MODELO DE CASOS DE USO

FIGURA 4: Modelo de caso de uso general. Realizado en Enterprise

Architect.

Page 27: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

27

8.2.2 DESCRIPCIÓN DEL CASO DE USO

TABLA 5. Descripción de caso de uso 1.1

ID MCU-1.1 Prioridad Alta

Nombre Iniciar sesión

Descripción El actor ingresa al sistema ingresando los datos pertinentes para validar el inicio de

sesión.

Autor Catherin Andrea Ochoa Rojas

Fecha creación 24 de Enero 2013 Fecha última

modificación

No aplica

Fuente(s) <Persona(s) y/o documentos que suministraron la información para este caso de

uso

Actores Administrador, Usuario, Cliente.

Precondiciones Haberse registrado en el sistema

Post condiciones Hacer uso del sistema

Flujo normal de eventos

1. El actor ingresa el nombre de usuario y la contraseña de inicio se sesión. 2. El actor presiona el botón “Iniciar sesión”. 3. El sistema capturar la información de las casillas 4. El sistema verifica que no haya casillas vacías. 5. EL sistema valida los datos introducidos con los datos ya almacenados en la base de datos

correspondientes al actor. 6. El sistema inicia la sesión., y muestra al actor la página principal del sistema.

Flujos alternos

4. El sistema verifica que no haya casillas vacías.

se avisa al actor que hace falta llenar información en alguna de las casillas. 5. EL sistema valida los datos introducidos con los datos ya almacenados en la base de datos

correspondientes al actor.

Si no son los mismos datos que ya están almacenados, el sistema notifica al actor que la información introducida esta errónea o que no existe un registro con esos datos.

Excepciones

o <Excepción: cuándo se presenta>

Page 28: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

28

<Acciones>

Requerimientos No

Funcionales

<Listado de requerimientos no funcionales relacionados con este caso de

uso>

Anotaciones Caso de uso para el modulo Web, móvil

En ésta tabla se describen todas las características que puede tener un caso de

uso, en esta ocasión se toma el caso de uso 1.1 llamado “Iniciar Sesión”, de

prioridad “Alta” para tener en cuenta al momento de desarrollar, donde describe

que “El actor ingresa al sistema ingresando los datos pertinentes para validar el

inicio de sesión”, se nombra al autor, la fecha de creación y modificación (si aplica)

de este caso de uso. Así como también los “actores”, “condiciones” y “post

condiciones” para poder llevarlo a cabo. Se lista un “flujo normal de los eventos” y

“flujos alternos”, sus “excepciones” y “Requerimientos no funcionales” en caso de

que apliquen, y por ultimo unas “anotaciones” para tener en cuenta.

8.3 MODELACIÓN DE LOS DATOS

Para el almacenamiento de los datos, es necesario tener la estructura de cómo se

guardará esa información en la base. Para ello se realiza un modelo entidad-

relación y relacional. Esto dado a que se utiliza la programación orientada a

objetos.

Page 29: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

29

8.3.1 MODELO ENTIDAD-RELACIÓN FIGURA 6. Modelo E-R, realizado en la herramienta Día.

8.3.2 MODELO RELACIONAL FIGURA 7. Modelo Relacional, realizado en la herramienta Día.

Page 30: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

30

8.4 MODELO DE INTERFACES

El modelo de interfaces representa la información entre los actores y el sistema. Especifica los detalles de cómo se verán las interfaces de usuario al ejecutar cada uno de los casos de uso.(Weitzenfeld, INGENIERIA DE SOFTWARE ORIENTADA A OBJETOS CON UML. JAVA E INTERNET, 2005)

Registrarse en la aplicación

FIGURA 8. Formulario de registro de usuario, realizado en Pencil y

PhotoScape.

Page 31: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

31

Iniciar sesión

FIGURA 9. Vista para iniciar sesión, realizado en Pencil y PhotoScape.

Home (publicidad)

FIGURA 10. Vista principal de la App, donde se muestra la publicidad

geolocalizada, realizado en Pencil y PhotoScape.

Page 32: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

32

Restaurantes

FIGURA 11. Listado de restaurantes, realizado en Pencil y PhotoScape.

Productos

FIGURA 12. Listado de productos, realizado en Pencil y PhotoScape.

Page 33: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

33

9. CONCLUSIONES.

- Es importante conocer las características de la guía de diseño de Android, y así

poder diseñar una buena interfaz para el producto, teniendo en cuenta que existe

una diversidad de dispositivos móviles en el mercado, en la guía se encuentran las

propiedades para trabajar con cada uno de ellos.

- En la construcción de las interfaces es importante tener en cuenta que al cambiar

la orientación de los dispositivos (de portrait a landscape)1, cambia también la

resolución de las imágenes, por lo que es necesario tener las imágenes con las

características correspondientes a cada una de las orientaciones para no ver la

aplicación distorsionada.

- Tener en cuenta al momento de escoger una metodología de desarrollo propia,

que ésta cumpla con los requisitos mínimos requeridos para culminar la aplicación

con éxito.

- Es esencial tener claridad desde un principio sobre qué es lo que el cliente

quiere que haga la aplicación y los alcances que ésta tiene.

10. RECOMENDACIONES.

- Es importante el compromiso y apoyo del equipo de trabajo al momento de

cumplir con el cronograma asignado para el proyecto.

- Se sugiere para la realización de este tipo de proyectos o semejantes, realizar

una estimación de tiempo de desarrollo, teniendo en cuenta los requerimientos,

alcances y complejidad del mismo.

1Portrait: impresión vertical. Landscape: impresión horizontal.

Page 34: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

34

- El acompañamiento por parte de la universidad y asesor son significativos en el

proceso de aprendizaje del practicante.

Page 35: CATÁLOGO DIGITAL DESARROLLADO EN ANDROID PARA …

35

REFERENCIAS

- PÉROCHON, Sébastien. ANDROID: Guía de desarrollo de aplicaciones para

Smartphone y Tabletas. Edición española: Francisco Javier PIQUERES JUAN

Barcelona, Editions ENI – Junio 2012. Pág. 18.

-Libro blanco escrito en mayo de 1996 por James Gosling y Henry Mc Gilton, disponible en http://java.sun.com/docs/white/langenv.

- WEITZENFELD, Alfredo. Ingenieria de Software Orientada a Objetos con Uml. Java E Internet, 2005. Pág. 71.