Informe de Práctica Profesional de Sergio Bruni

download Informe de Práctica Profesional de Sergio Bruni

of 33

Transcript of Informe de Práctica Profesional de Sergio Bruni

Bruni G.; Sergio A.

UNITEC 1

RESUMEN RESUMEN

El movimiento de la tecnologa mvil da a da est abarcando todos los aspectos de la vida cotidiana, de una manera significativa ya que, se est implementando en un solo dispositivo todos los aspectos que antes estaban por separados: el telfono, la agenda y la computadora son ejemplo de esta circunstancia. Lo cual se puede evidenciar con el caso del Smartphone el cual adems de ser una agenda digital y telfono mvil, permite realizar la mayora de las operaciones o procesos que ejecutbamos estando en una computadora personal. El presente proyecto busca desarrollar un prototipo que brinde otra alternativa de aplicacin mvil para la empresa BMAS, C.A. implementando el sistema operativo Android. Para ello se planteo como objetivo general: Desarrollar un prototipo de aplicacin sobre la plataforma Android que permita demostrar su factibilidad en la implementacin de esta plataforma como va alterna de la empresa BMAS, C.A.

A lo largo de la investigacin se implementaron diversas estrategias para determinar si es factible o no la aplicacin de dicho sistema como va alterna en los servicios que presta la compaa BMAS, C.A.

Bruni G., Sergio A.

UNITEC 2

INTRODUCCINEl verdadero progreso es el que pone la tecnologa al alcance de todos. Henry FordEl mundo est en constante evolucin y as con l, la tecnologa, tanto es as que cada uno de nosotros puede llevar consigo una especia de computadora porttil con los llamados Smartphone, los cuales nos brindan herramientas multimedia y conectividad con internet, entre otras cosas. Adems de brindar a los usuarios la libertad de poder instalar cualquier programa adicional que sea de su gusto. BMAS, C.A, es una empresa desarrolladora de software que se encarga de dar soporte a compaas, distribuidoras, pequeas empresas brindando soluciones que optimizan los procesos y ayuda a gestionar la informacin de sus datos de una manera ms competente y eficaz. El presente proyecto busca desarrollar un prototipo que brinde otra alternativa de aplicacin mvil para la empresa BMAS, C.A. implementando el sistema operativo Android, el cual es un sistema operativo relativamente nuevo que est impactando tanto a las personas como el mercado a la vez que cada da aumenta su importancia pues, las grandes compaas evalan su podero para tomarlo como va alterna y/o proyecto dentro de sus procesos. La presente investigacin est dividida de la siguiente manera: En el primer captulo se desarrolla la estructura organizacional de la empresa donde se aplicar el sistema operativo Android; mientras que la informacin relevante del departamento con el cual se trabajar especficamente est en el segundo captulo. En el tercer est todo lo relacionado con el planteamiento del problema junto con los objetivos y, en el cuarto captulo, se mencionan los antecedentes relacionados con la presente investigacin. Finalmente, en el quinto, sexto y sptimo captulo estn las actividades que se desarrollarn en el proyecto, los resultados y las recomendaciones, respectivamente.

Bruni G., Sergio A.

UNITEC 3

CAPTULO I: DESCRIPCION DE LA EMPRESA 1.1 . Misin, visin y valores Misin Ser la empresa lder en el rea de soporte a nivel de desarrollo de soluciones que aporten el mejoramiento continuo de los procesos de gestin de informacin que requieren nuestros clientes. Visin Mantener la bsqueda constante de mtodos y procesos innovadores que nos permitan desarrollar soluciones a nivel local, mvil e Internet para integrarlos como una sola plataforma al servicio de nuestros clientes. Valores Honestidad Respeto y Justicia Responsabilidad y compromiso Innovacin Pasin y trabajo en equipo Pertenencia e identificacin

1.2 . Estructura Organizativa La estructura organizativa de la empresa BMAS, C.A. como se muestra en la figura N 1 de la pgina siguiente, se caracteriza por poseer un organigrama vertical el cual facilita la comprensin del funcionamiento interno de la empresa, siendo encabezado por la presidencia, desagregando dos niveles jerrquicos, el departamento de automatizacin y el departamento de desarrollo.

Bruni G., Sergio A.

UNITEC 4

Bruni G., Sergio A.

UNITEC 5

Figura N 1. Estructura Organizativa de la Empresa BMAS, C.A.

Presidencia

Gerencia de Automatizacin Ing. Armando Mendoza

Gerencia de Desarrollo Ing. Alcides Bata

Coord. Soporte

Administracin

Consultores de Soporte

Consultores de desarrollo

Bruni G., Sergio A.

UNITEC 6

Presidencia: Se encuentra a cargo del Presidente del grupo, quien es el jefe ejecutivo de la organizacin. Su principal funcin es velar por que las lneas de accin establecidas por la junta directiva sean ejecutadas y analiza los resultados obtenidos en dicho proceso. Gerencia de Automatizacin: Es el responsable del entrenamiento y reclutamiento del personal de soporte, al igual que de las relaciones laborales con los trabajadores y clientes. A su vez se encarga de dirigir las operaciones de soporte sobre las aplicaciones implementadas por el rea de desarrollo. Coordinacin de Soporte: Maneja la atencin al cliente en la post-venta de los productos ofrecidos, distribuye manuales, atiende inquietudes las cuales de acuerdo a su importancia sern transferidas para el rea de desarrollo y crear nuevas implementaciones. Administracin: Se encarga de manejar la informacin financiera de la empresa, contabilidad, ventas e inversiones. Consultores de Soporte: Se encargan de mantener una relacin directa con los clientes en la post-venta, por medio de comunicacin telefnica y directa, a la hora de entrenar a los clientes al buen uso de la aplicacin por medio de manuales. Gerencia de Desarrollo: Es el responsable del entrenamiento y reclutamiento del personal de desarrollo. A su vez se encarga de dirigir y documentar las operaciones de investigacin desarrollo. Consultores de Desarrollo: Son el personal responsable del desarrollo de las aplicaciones y de la prueba de las mismas para comprobar su aplicabilidad y buen funcionamiento. Tambin se encargan de probar los diferentes equipos en los cuales sern implementadas las aplicaciones o equipos complementarios.

1.3. Descripcin de los Productos que ofrece la empresa B.M.AS, C.A. Es una compaa que se inici en el ao 2001, fundada por Ingenieros de Sistemas con aos de experiencia en el rea de Desarrollo de Sistemas de Informacin bajo ambiente Windows, Web y Mvil, Redes y Telecomunicaciones. Cata Suite es su principal producto, un sistema que brinda la posibilidad de administrar su distribuidora e integrar toda la cadena de abastecimiento, con mejoras notables en el control de las ventas, exactitud en los despachos y eficiencias operativas. Cata Suite consta de varios subproductos siendo estos detallados a continuacin: Cata Distribuidoras: Es un Sistema de Gestin Administrativa para el manejo eficaz de una distribuidora. Cata Comisiones: Es un novedoso sistema de Comisiones el cual extrae toda la informacin necesaria del sistema de distribuidora.

Bruni G., Sergio A.

UNITEC 7

Cata Internet: Es un sitio web que permite establecer el intercambio de informacin electrnica en Internet, entre la fuerza de ventas y su empresa. Cata Mvil: Es un sistema basado en Windows Mobile que permite al igual que www.catasuite.com intercambiar informacin electrnica en Internet, entre la fuerza de ventas y su empresa.

1.4. Mercado objetivo BMAS, C.A. actualmente est enfocado en el mercado nacional, contando con un grupo de clientes, altamente satisfechos por las bondades que les brinda Cata Suite:

Carvica, C.A. (Valencia Edo. Carabobo) Distribuidora de Materiales El Carmen (San Joaqun Edo. Carabobo) Corporacin Ricardo (Valencia Edo. Carabobo) Distribuidora Alicar (Barquisimeto Edo. Lara) Distribuidora Alicar (Valera Edo. Trujillo) Unicar Valera, C.A. (Valera Edo. Trujillo) Distribuciones Integrales (San Cristbal Edo. Tchira) Distribuidora de Vveres 57 (San Cristbal Edo. Tchira) Dovenca Distribuciones (San Cristbal Edo. Tchira) Premier Andina, C.A. (San Cristbal Edo. Tchira) Dovenca Distribuciones (Mrida Edo. Mrida) Corporacin Wolfmar (Maturn Edo. Monagas) Inversiones Fernndez & Fernndez (Upata Edo. Bolvar) Premier Distribuciones (Barinas, Edo Barinas) Productos y Alimentos GR, C.A. (Barcelona Edo. Anzotegui) Servia Alimentos Oriente (Maturn, Edo Monagas) Unidas, C.A. (Acarigua Edo. Portuguesa) Venedisca (Maracay Edo. Aragua)

Bruni G., Sergio A.

UNITEC 8

CAPTULO II: DESCRIPCIN DE LA UNIDAD ORGANIZACIONAL

2.2. Objetivos y Funciones Objetivo La misin fundamental del Departamento de Desarrollo es el diseo y mantenimiento de los elementos que conforman la bolsa de productos que ofrece la empresa, as tambin como la prueba de equipos que sern utilizados en conjunto con los sistemas, para asegurar que su funcionalidad sea ptima. Funciones:

Analizar, disear, programar, implementar, evaluar, documentar y mantener permanentemente todos los procesos automatizados, as como garantizar el buen funcionamiento de estos procesos. Adecuar los sistemas existentes a las necesidades de los clientes. Administrar la base de datos en forma ptima, evaluando el rendimiento de misma y la confiabilidad de los datos. Mantener el flujo de datos efectiva y eficientemente, y, proporcionar el mantenimiento de la Base de Datos de acuerdo a los parmetros de seguridad que se han establecido.

3.3. Equipo de Trabajo El equipo de trabajo para la realizacin de este proyecto se encuentra constituido por el Ing. Alcides Bata (Gerencia de Desarrollo) y el pasante Roberto von Schoettler (Consultor de Desarrollo). El organigrama de este departamento se presenta a continuacin en la figura nmero 2.Figura N 2. Estructura Organizativa del Departamento de Desarrollo

Gerencia de Desarrollo Ing. Alcides Bata

Consultores de Desarrollo

Bruni G., Sergio A.

UNITEC 9

Gerente de Desarrollo: Planificar, Organizar, Controlar y dirigir todas las actividades relacionadas con los aspectos legales, contables y financieros y de implementacin de proyectos de sistemas, realizados por la empresa, con el fin de garantizar el adecuado cumplimiento de stas. Consultores de Desarrollo: Apoyar el funcionamiento efectivo de controles contables y presupuestarios, as como las actividades relacionadas con el ISLR y dems obligaciones tributarias, a travs de la preparacin y mantenimiento de los registros segn los PPCA, con el fin de garantizar la optimizacin de los mismos.

Bruni G., Sergio A.

UNITEC 10

CAPTULO III: DEFINICIN DEL PROYECTO 3.1 Descripcin del problema

3.1.1 Planteamiento del Problema BMAS C.A., es una empresa nacional la cual se ha dedicado al desarrollo de aplicaciones administrativas divididas en mdulos desde el ao 2001, ubicada en Direccin: Av. Sabana Larga, Centro Comercial Trinidad Plaza, P.B. Local 2C (11) Cagua, Edo. Aragua. Dicha empresa se est posicionando en el mercado gracias a su especial atencin al cliente, donde el producto es personalizado para cada cliente de una manera diferente de acuerdo a sus exigencias. Algunos clientes necesitaban de la disponibilidad de muchos equipos de Windows Mobile, la cual escaseaba en el mercado venezolano, sumndole a esa problemtica el elevado precio de los dispositivos. Adicionalmente, el sistema operativo correspondiente a esos smartphone (Windows Phone) presenta limitaciones en cuanto a rendimiento. Es necesario para ciertos clientes manejar muchos datos que al intentar ser procesados por la plataforma de Windows, ocasiona inconvenientes en la aplicacin. A finales del ao 2007, se hizo pblico el lanzamiento de la plataforma Android junto con la creacin de la Open Handset Alliance, un consorcio de 78 compaas de hardware, software y telecomunicaciones dedicadas al desarrollo de estndares abiertos para dispositivos mviles. Android es un sistema operativo mvil basado en Linux, que junto con aplicaciones middleware, est enfocado para ser utilizado en dispositivos mviles como telfonos inteligentes y tablets. Podra considerarse una segunda opcin, adems de usar la plataforma de Windows Phone, incluir a Android en sus productos, ya que sta basada en Linux (el cual posee mayor rendimiento y estabilidad que Windows), como tambin est asociado con muchas compaas de fabricacin de equipos tales como Samsung, Motorola, etc. 3.1.2 Formulacin del Problema Por todo lo anteriormente mencionado surge la siguiente interrogante Cmo desarrollar un prototipo de aplicativo en Android que brinde una solucin a la compaa BMAS cumpliendo este con las caractersticas y bondades que aplica su producto?

Bruni G., Sergio A.

UNITEC 11

3.2 Objetivos del proyecto

Objetivo generalDesarrollar un prototipo de aplicacin sobre la plataforma Android que brinde las caractersticas y bondades del producto ya existente de BMAS, C.A, mediante el uso de lenguajes de programacin Java y XML.

Objetivos especficos

Investigar todo lo necesario para la correcta ambientacin de Android adems de ejemplos y tutoriales, mediante la bsqueda de foros digitales, para el desarrollo de aplicaciones de Android. Desarrollar micro aplicaciones, mediante las herramientas de informacin, con la finalidad de comprender el funcionamiento de la interfaz de Android.

Aplicar los resultados del modelo aplicado con UML por el pasante Roberto von Schoettler, utilizando los resultados obtenidos, para entender las caractersticas principales que debe de tener el sistema. Desarrollar la interfaz del prototipo de la aplicacin, mediante las herramientas de informacin, realizando las pruebas pertinentes con la correccin de errores, para la culminacin de la etapa de desarrollo. 3.3 Restricciones Asesoramiento: Al no haber ningn experto en el rea de Android, la investigacin y desarrollo del proyecto cae en manos de los pasantes, Sergio Bruni y Roberto von Schoettler, quienes realizaron el proyecto. Escasez y poca fiabilidad de la informacin: Android al ser un sistema operativo relativamente nuevo, la existencia de la informacin es altamente escasa adems de no ser en ciertas oportunidades confiable o til. Tutoriales de enseanza para desarrollar en la plataforma son escasos y en su mayora incompletas.

Bruni G., Sergio A.

UNITEC 12

CAPTULO IV: ANLISIS TERICO

4.1. ANTECEDENTES BMAS, C.A. (2006), Desarrollaron un sistema mvil en Windows Phone denominado Cata Movil, capaz de crear facturas y cobranzas, atreves de una conexin de datos permitiendo una visualizacin de la informacin que posee el vendedor en tiempo real adems de la posibilidad de consultar todo su catalogo de productos y su cartera de clientes de una manera sencilla y eficaz. Este modelo fue el utilizado para obtener una vista previa de cmo y que debera de ser el prototipo del sistema a desarrollar en Android.

4.2. BASES TERICAS 4.2.1. Android en la Empresa En este Libro Digital o eBook se habla de los beneficios que trae Android a las empresas y se explica porque es optimo implementarlo, desde lo ms interno que es su sistema base hasta lo ms externo siento esto la interfaz que es lo que hace amigable para el usuario el uso de dispositivos que empleen este sistema y adems de dar 10 motivos que explican porque usar este sistema operativo nos manifiesta el gran crecimiento que est teniendo Android tanto en funcionalidad como en el mercado. 4.2.2. Herramientas Para el desarrollo del prototipo de la aplicacin se requirieron ciertas herramientas que se especifican a continuacin. 4.2.2.1. Java Es un lenguaje de programacin orientado a objetos, desarrollado por Sun Microsystems a principios de los aos 90. El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros a memoria. Con respecto a la memoria, su gestin no es un problema ya que sta es gestionada por el propio lenguaje y no por el programador. Las aplicaciones Java estn tpicamente compiladas en un bytecode, aunque la compilacin en cdigo mquina nativo tambin es posible. En el tiempo de ejecucin, el bytecode es

Bruni G., Sergio A.

UNITEC 13

normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque la ejecucin directa por hardware del bytecode por un procesador Java tambin es posible. La implementacin original y de referencia del compilador, la mquina virtual y las bibliotecas de clases de Java fueron desarrolladas por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolucin del lenguaje a travs del Java Community Process, si bien otros han desarrollado tambin implementaciones alternativas de estas tecnologas de Sun, algunas incluso bajo licencias de software libre. Se utilizo este lenguaje de programacin para el desarrollo del sistema de almacenamiento. Fuente: Wikipedia.com, (2011). 4.2.2.2. XML XML, siglas en ingls de eXtensible Markup Language ('lenguaje de marcas extensible'), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificacin y adaptacin del SGML y permite definir la gramtica de lenguajes especficos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades, de ah que se le denomine metalenguaje. Algunos de estos lenguajes que usan XML para su definicin son XHTML, SVG, MathML. XML no ha nacido slo para su aplicacin en Internet, sino que se propone como un estndar para el intercambio de informacin estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de clculo y casi cualquier cosa imaginable. XML es una tecnologa sencilla que tiene a su alrededor otras que la complementan y la hacen mucho ms grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la informacin de una manera segura, fiable y fcil. Fuente: Wikipedia.com, (2011). 4.2.2.3. IDE Un entorno de desarrollo integrado, llamado tambin IDE (sigla en ingls de integrated development environment), es un programa informtico compuesto por un conjunto de herramientas de programacin. Puede dedicarse en exclusiva a un solo lenguaje de programacin o bien poder utilizarse para varios. Un IDE es un entorno de programacin que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfaz grfica (GUI). Los IDEs pueden ser aplicaciones por s solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro

Bruni G., Sergio A.

UNITEC 14

de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word. Fuente: Wikipedia.com, (2011). 4.2.2.4. Eclipse Eclipse es un entorno de desarrollo integrado de cdigo abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, tpicamente ha sido usada para desarrollar entornos de desarrollo integrados (del ingls IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados tambin para desarrollar el mismo Eclipse). Sin embargo, tambin se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus. Eclipse es tambin una comunidad de usuarios, extendiendo constantemente las reas de aplicacin cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las reas de Model Driven Engineering. Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundacin Eclipse, una organizacin independiente sin nimo de lucro que fomenta una comunidad de cdigo abierto y un conjunto de productos complementarios, capacidades y servicios. Eclipse fue liberado originalmente bajo la Common Public License, pero despus fue relicenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pblica general de GNU (GNU GPL). Fuente: Wikipedia.com, (2011). 4.2.2.5 Java Development Kit (JDK) Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creacin de programas en Java. Puede instalarse en una computadora local o en una unidad de red.Fuente: Wikipedia.com, (2011).

4.2.2.5. Android Software Development Kit (SDK) El SDK (Software Development Kit) de Android, son un conjunto de herramientas de desarrollo. Comprende un depurador de cdigo, libreras, un simulador de telfono basado en QEMU, documentacin, ejemplos de cdigo y tutoriales. Las plataformas de desarrollo soportadas incluyen Linux (cualquier distribucin moderna), Max OS X 10.4.9 o posterior, y Windows XP o posterior. La plataforma integral de desarrollo (IDE, Integrated Development

Bruni G., Sergio A.

UNITEC 15

Environment) soportada oficialmente es Eclipse junto con el complemento ADT (Android Development Tools plugin), aunque tambin puede utilizarse un editor de texto para escribir ficheros Java y Xml y utilizar comandos en un terminal (se necesitan los paquetes JDK, Java Development Kit y Apache Ant) para crear y depurar aplicaciones. Adems, pueden controlarse dispositivos Android que estn conectados (e.g. reiniciarlos, instalar aplicaciones en remoto). Las Actualizaciones del SDK estn coordinadas con el desarrollo general de Android. El SDK soporta tambien versiones antiguas de Android, por si los programadores necesitan instalar aplicaciones en dispositivos ya obsoletos o ms antiguos. Las herramientas de desarrollo son componentes descargables, de modo que una vez instalada la ltima versin, pueden instalarse versiones anteriores y hacer pruebas de compatibilidad. Una aplicacin Android est compuesta por un conjunto de ficheros empaquetados en formato .apk y guardada en el directorio /data/app del sistema operativo Android (este directorio necesita permisos de superusuario , root, por razones de securidad). Un paquete APK incluye ficheros .dex (ejecutables Dalvik, un cdigo intermedio compilado), recursos, etc. Fuente: Wikipedia.com, (2011). 4.2.2.6. Android Development Tools (ADT) Herramientas de desarrollo de Android (ADT) es un plugin para el IDE de Eclipse que est diseado para darle un ambiente potente e integrado en el cual crear aplicaciones para Android. ADT ampla las capacidades de Eclipse para que pueda configurar rpidamente nuevos proyectos de Android, crear una interfaz de usuario de aplicacin, agregue los paquetes basados en la API de la infraestructura digital o Framework de Android, depurar sus aplicaciones utilizando las herramientas del SDK de Android, e incluso exportar firmado (o sin firmar) archivos .apk con el fin de distribuir la aplicacin. El desarrollo en Eclipse con ADT es muy recomendable y es la manera ms rpida para empezar. Con la configuracin del proyecto guiada que ofrece, as como la integracin de herramientas, los editores de XML personalizados, y el panel de salida de depuracin, ADT le da un impulso increble en el desarrollo de aplicaciones de Android. Fuente: Area de Desarrolladores de Android.com, (2011). 4.2.2.7. Adobe Photoshop Adobe Photoshop es el nombre o marca comercial oficial que recibe uno de los programas ms populares de la casa Adobe Systems, junto con sus programas hermanos Adobe Illustrator y Adobe Flash, y que se trata esencialmente de una aplicacin informtica en forma de taller de pintura y fotografa que trabaja sobre un "lienzo" y que est destinado para la

Bruni G., Sergio A.

UNITEC 16

edicin, retoque fotogrfico y pintura a base de imgenes de mapa de bits (o grficos rasterizados). Su nombre en espaol significa literalmente "tienda de Fotos" pero puede interpretarse como "taller de foto". Su capacidad de retoque y modificacin de fotografas le ha dado el rubro de ser el programa de edicin de imgenes ms famoso del mundo. Photoshop en sus versiones iniciales trabajaba en un espacio bitmap formado por una sola capa, donde se podan aplicar toda una serie de efectos, textos, marcas y tratamientos. En cierto modo tena mucho parecido con las tradicionales ampliadoras. En la actualidad lo hace con mltiples capas. Fuente: Wikipedia.com, (2011). 4.2.2.8 UML. Es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad; est respaldado por el OMG (Object Management Group). Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes reutilizables. Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo. Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodologa de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en s mismo qu metodologa o proceso usar. UML no puede compararse con la programacin estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de una utilizacin en un requerimiento. Mientras que, programacin estructurada, es una forma de programar como lo es la orientacin a objetos, sin embargo, la programacin orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML slo para lenguajes orientados a objetos. Mediante al Uml y sus diagramas se llevaron a cabo el diseo de las clases dentro del sistemapara mejorar as el funcionamiento del mismo. Fuente: Wikipedia, (2011).

Bruni G., Sergio A.

UNITEC 17

CAPTULO V: PLAN DE TRABAJO Y CRONOGRAMA DE ACTIVIDADES 5.1. FASES / ACTIVIDADES FASE I: investigar y obtener todo lo necesario para la correcta ambientacin adems del conocimiento para el desarrollo de aplicaciones Android En esta fase se buscan todas las herramientas que se necesitarn para tener un ambiente ideal para el desarrollo de aplicaciones de Android en Windows adems de comprender cmo trabajar en el desarrollo de las aplicaciones. Actividades: 1. Buscar y analizar cul es el IDE ms acorde para trabajar con Android y aplicar sus herramientas. 2. Buscar tutoriales y ejemplos para la comprensin del desarrollo de aplicaciones. FASE II: desarrollar un micro aplicativo. En esta fase se desarrollar un primer modelo de aplicacin para estudiar y determinar todas las funcionalidades y el comportamiento de la interfaz de las aplicaciones de Android, para la creacin de un prototipo que obtenga una interfaz que cumpla con los requerimientos cabalmente. Actividades: 1. Desarrollar el modelo del micro aplicativo. FASE III: obtener los resultados del modelo del prototipo en UML. En esta fase se obtendrn los resultados del modelo de Casos de Uso para comprender el funcionamiento de la aplicacin para as llevar a cabo el desarrollo sin complicaciones. Actividades: 1. Obtener los resultados del modelo diseado por el pasante Roberto von Schoettler. FASE IV: desarrollar la interfaz del prototipo de la aplicacin En esta fase se llevara a cabo todo el proceso de desarrollo del prototipo de la aplicacin que se realizaran las pruebas de factibilidad para determinar si es una va ptima alternativa.

Bruni G., Sergio A.

UNITEC 18

Actividades:1. Desarrollar las diferentes clases en Java y estructura grafica con XML que

contendr el prototipo de aplicativo en el IDE Eclipse.

5.2. RECURSOS DE LA INVESTIGACIN 5.2.1. Institucionales. Para la elaboracin de esta aplicacin, se cuenta con el apoyo de la Universidad Tecnolgica del Centro (UNITEC), pues facilita la consulta a travs del tutor de pasanta, el cual ayuda al correcto desarrollo de las mismas; as mismo, BMAS C.A. facilit los recursos necesarios para el correcto desarrollo del aplicativo. 5.2.2. Materiales. Para el correcto desarrollo de este trabajo de investigacin se tendrn los siguientes materiales: equipo de computadora con total acceso a Internet, papelera, software necesario para la elaboracin de la aplicacin (Eclipse, Windows Server 2000, Adobe Photoshop). 5.3. TIEMPO Diagrama N 1 Diagrama de Gantt FaseFASE I

Actividad 1Buscar y analizar cul es el IDE ms acorde para trabajar con Android y aplicar sus herramientas. Buscar tutoriales y ejemplos para la comprensin del desarrollo de aplicaciones. Desarrollar el modelo del micro aplicativo.

2

Semanas 3 4 5

6

7

8

FASE II FASE III

Obtener los resultados del modelo de Casos de Uso con la informacin recolectada. FASE IV Desarrollar las diferentes clases en Java y estructura grafica con XML que contendr el prototipo de aplicativo en el IDE Eclipse Fuente: Bruni G., Sergio A. (2011)

Bruni G., Sergio A.

UNITEC 19

Es importante sealar que la realizacin de este Informe de prctica profesional se inicia el lunes 25 de julio de 2011, siendo esta la primera fecha que abarca la semana N 1, y se culmina el da viernes 16 de septiembre del mismo ao, que corresponde al ltimo da de la semana 8 expresada en el Diagrama de Gantt.

Bruni G., Sergio A.

UNITEC 20

CAPTULO VI. RESULTADOS

6.1. FASE I: INVESTIGAR Y OBTENER TODO LO NECESARIO PARA LA CORRECTA AMBIENTACIN ADEMAS DEL CONOCIMIENTO PARA EL DESARROLLO DE APLICACIONES ANDROID A continuacin se muestran los resultados obtenidos, despus de conocer las caractersticas de cada uno de los IDE o ambientes de programacin para as determinar cul es el ms apropiado para desarrollar aplicaciones Android 6.1.1. Diagnstico del IDE En esta fase se utiliz un Cuadro Comparativo, con el cual se pueden identificar las caractersticas ms relevantes que nos darn las respuestas para tomar la mejor opcin. Cuadro N 1Cuadro Comparativo

Eclipse Es de instalacin muy sencilla Eclipse como entorno posee todos sus complementos integrados. Los emuladores en Eclipse consumen una gran cantidad de memoria grafica Eclipse cuenta con una gran cantidad de herramientas de desarrollo para Android como el visualizador de XML La conectividad con dispositivos externos es buena

Fuente: www.demalagana.es (2011).

NetBeans NetBeans presenta ciertas complicaciones al momento de su instalacin. Para NetBeans hay que ejecutar externamente los complementos. En NetBeans los emuladores corren ligeramente por lo que no necesita de un equipo altamente capacitado NetBeans cuando hablamos de herramientas es un punto bastante pobre La conectividad con dispositivos externos es buena

Con esta herramienta, logramos definir que el mejor ambiente aunque para la corrida de aplicaciones en el emulador requiere de una buena capacidad grafica, es Eclipse el ms indicado para el desarrollo de aplicaciones Android ya que cuenta con un sinfn de herramientas que nos facilitaran el trabajo.

Bruni G., Sergio A.

UNITEC 21

6.1.2. Investigacin para la implementacin del IDE Una vez definido el ambiente a utilizar para el desarrollo del aplicativo, seguimos con la investigacin para la implementacin del mismo ya que para desarrollar aplicaciones Android se requieren ciertas herramientas. Para desarrollar aplicaciones Android, lo primero que tenemos que hacer es recolectar las herramientas necesarias e implementarlas en el ambiente apropiado en este caso Eclipse, no importa cul sea el sistema operativo en el que estemos trabajando, necesitaremos el mismo conjunto de herramientas:

Eclipse IDE Oracle's Java Development Kit (JDK) Android Software Developer's Kit (SDK) Un plug in especial para Eclipse: Android Developer Tool (ADT)

6.1.3. Implementando las diferentes herramientas para el desarrollo de aplicaciones Una vez teniendo cada herramienta a la mano refirindome a esto con cada herramienta descargada en el sistema, procedemos a su implementacin paso a paso para poder desarrollar sin ningn inconveniente. Eclipse La implementacin de Eclipse es sumamente sencillo ya que viene en un archivo comprimido .zip que al descomprimir en la ubicacin donde deseamos que este, viene listo para ser utilizado sin tener que instalar algn paquete o algo. JDK El SDK de Android requiere JDK versin 5 o versin 6. En lo que ejecutamos el archivo el instalador de Windows se iniciar y pasaremos a travs de un dilogo para instalar el JDK en su PC de una manera sencilla y sin problemas. Android SDK El archivo que se descarga es otro archivo de almacenamiento, al igual que con Eclipse: un archivo .zip, hacemos lo mismo que para Eclipse: extraer el archivo en un directorio donde desea instalar Android. La extraccin crear un rbol de directorios que contiene un varios sub-directorios, incluyendo uno llamado tools (herramientas).

Bruni G., Sergio A.

UNITEC 22

ADT La instalacin de esta herramienta es diferente a las dems ya que esta se hace directamente desde Eclipse de la siguiente manera: Desde la barra de men, seleccionamos " Help -> Install New Software, en el siguiente dialogo, seleccionamos el botn "Add", lo que nos dirigir a otro dialogo en donde colocaremos el nombre del repositorio que es a gusto propio, y luego la direccin del repositorio ADT https://dl-ssl.google.com/android/eclipse y aceptamos. Una vez que regresamos al dialogo anterior seleccionamos el repositorio recientemente agregado y continuamos, y aqu se convierte en un dialogo de instalacin y hacemos lo mismo que en el JDK con lo que finalizamos con la instalacin e implementacin de las herramientas.Fuente:

people.oreilly.com (2011).

6.1.3. Investigacin para el desarrollo de aplicaciones Android Ya que tenemos todo listo para empezar a desarrollar solo nos queda entender la lgica de Android, por lo que buscamos los principios y como trabaja obteniendo asi los siguientes resultados:

Android trabaja en base a Actividades (Activities), esto quiere decir que cada pantalla que veamos es una clase de llama en la que se implementa Activity. Android hace llamados de Intentos (Intents) para iniciar las actividades o para la comunicacin entre distintas partes del sistema Android. Al ser un lenguaje orientado a objetos, por cada elemento utilizado en las aplicaciones se deber importar su respectiva librera para que funcione a cabalidad por lo que una actividad podra contener mltiples importaciones. Android emplea XML para crear las vistas graficas de las pantallas.

Bruni G., Sergio A.

UNITEC 23

6.2. FASE II: DESARROLLAR UNA MICRO APLICACION. Conociendo esto se desarrollo una micro aplicacin para conocer cmo trabajar en Android en la prctica implementando los controles bsicos para aprender su funcionamiento. Para comprender su funcionamiento se creo una micro aplicacin de administracin de libros que contuviera lo siguiente: Una clase tabulador donde se contuvieran las otras clases principales Una clase para agregar libros en la base de datos del dispositivo Una clase para buscar libros en la base de datos del dispositivo Una clase para visualizar todos los libros en una lista 6.2.1. Desarrollo de interfaz grafica con XML Empezamos con la vista (View) del tabulador ya que ser la clase que contendr a las otras. Su diseo es bastante sencillo

Siendo los componentes importantes TabHost que es el contenedor de tabulares y TabWidget que ser cada tabular por actividad. Ya que tenemos el contenedor de las actividades proseguimos con la creacin de las mismas. La actividad siguiente vista ser la pantalla de agregar libros

Bruni G., Sergio A.

UNITEC 24

Siendo los componentes a resaltar tres EditText que sern los campos en donde introduciremos el serial del libro, el titulo y el autor, Spinner donde seleccionaremos la categora del libro y Button que ser el botn que ejecutara la accin de agregar libro. La siguiente vista ser la de la lista de libros donde se mostraran todos los libros que almacena la base de datos de la aplicacin en el dispositivo

Elemento a destacar ListView que representa la lista de libros, dejan para el final pero no menos importante la vista de buscar libros.

6.2.1. Desarrollo programtico con java Una vez tenemos las vistas creadas proseguimos con la programacin de las clases lo que le dara accion a esos componentes implementados en las vistas. Siguiendo el mismo orden empezamos con el Tabularpublic class TabBarExample extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab); TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost); TabSpec mainTabSpec = tabHost.newTabSpec("tid1"); TabSpec addTabSpec = tabHost.newTabSpec("tid1"); TabSpec viewTabSpec = tabHost.newTabSpec("tid1"); mainTabSpec.setIndicator("Main", this.getResources().getDrawable(android.R.drawable.ic_menu_sort_by_size)); mainTabSpec.setContent(new Intent(this,AY001Activity.class)); addTabSpec.setIndicator("Add", this.getResources().getDrawable(android.R.drawable.ic_menu_add)); addTabSpec.setContent(new Intent(this,AddActivity.class)); viewTabSpec.setIndicator("View", this.getResources().getDrawable(android.R.drawable.ic_menu_view)); viewTabSpec.setContent(new Intent(this,ViewActivity.class)); tabHost.addTab(mainTabSpec); tabHost.addTab(addTabSpec); tabHost.addTab(viewTabSpec); }

Bruni G., Sergio A.

UNITEC 26

Creando la clase TabBarExample le indicamos que ser una Actividad de Tabular (extends TabActivity), y cuando se cree la actividad utilice la vista XML tab creada anteriormente y aada al TabHost 3 tabulares que contendrn mis clases a utilizar. La clase agregar libros se le indicara que extiende a una actividad y al crearse tendr la vista XML add adems de el mtodo insertBook() que se encargara de guardar el libro en la base de datos.public class AddActivity extends Activity @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.add); Button addBook_button = (Button)findViewById(R.id.addBook_btn); addBook_button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if (c.getCount() == 0) insertBook(); }}); public void insertBook(){ DBAdapter db = final EditText final EditText final EditText

new DBAdapter(this); isbn_tb = (EditText)findViewById(R.id.isbn_tb); name_tb = (EditText)findViewById(R.id.name_tb); author_tb = (EditText)findViewById(R.id.author_tb);

ContentValues initialValues = new ContentValues(); initialValues.put(db.KEY_ISBN, isbn_tb.getText().toString()); initialValues.put(db.KEY_TITLE, name_tb.getText().toString()); initialValues.put(db.KEY_PUBLISHER, author_tb.getText().toString()); db.open(); db.insertData(db.DATABASE_TABLE, initialValues); db.close();}

La clase lista de libros se le indicara que extiende a una actividad y al crearse tendr la vista XML view adems de el mtodo updateList() que se encargara de mostrar la lista de libros actualizada.public class ViewActivity extends Activity @Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.view); db.open(); updateList(); db.close();

Bruni G., Sergio A.

UNITEC 27

private void updateList() { cursor = DBManager.getAllTitles(); lista = (ListView)findViewById(R.id.listaLibros_lv); startManagingCursor(cursor); final String[] from = new String[] {DBAdapter.KEY_TITLE, DBAdapter.KEY_PUBLISHER}; int[] to = new int[]{R.id.item_title, R.id.item_author}; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.rows,cursor,from,to); lista.setAdapter(adapter);}

Y por ltimo la clase lista de bsqueda libros se le indicara que extiende a una actividad y al crearse tendr la vista XML main ya que ser la pantalla inicial adems de los mtodos showTitlesLike() showAuthorLike() que se encargara de mostrar los libros por ttulo o autor a travs del mtodo DisplayTitle() en un mensaje emergente.public class SearchActivity extends Activity @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); Button search_button = (Button)findViewById(R.id.search_button); RadioButton title_radButton = (RadioButton)findViewById(R.id.title_radBtn); RadioButton author_radButton = (RadioButton)findViewById(R.id.author_radBtn); search_button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { if(title_radButton.isChecked() == true){ String titleLike = search_tb.getText().toString(); showTitlesLike(titleLike); } else if(author_radButton.isChecked() == true){ String authorLike = search_tb.getText().toString(); showAuthorLike(authorLike); }}}); private void showTitlesLike(String titleLike){ DBAdapter db = new DBAdapter(this); db.open(); Cursor c = db.getTitlesLike(titleLike); if (c.moveToFirst()) { do {DisplayTitle(c);} while (c.moveToNext()); } db.close(); }

Bruni G., Sergio A.

UNITEC 28

private void showAuthorLike(String authorLike){ DBAdapter db = new DBAdapter(this); db.open(); Cursor c = db.getAuthorLike(authorLike); if (c.moveToFirst()) { do {DisplayTitle(c);} while (c.moveToNext()); } db.close(); } public void DisplayTitle(Cursor c) { Toast.makeText(this, "id: " + c.getString(0) + "\n" + "CODE: " + c.getString(1) + "\n TITLE: " + c.getString(2) + "\n" + "AUTHOR: " + c.getString(3), Toast.LENGTH_LONG).show(); }

Obteniendo los resultados representados en las siguientes figuras, siendo esto cada pantalla con sus respectivas funciones, mostrndose cada una en el Tabulador. Figura N 3. Vista de SearchActivity

Fuente: Bruni G., Sergio A. (2011).

Bruni G., Sergio A.

UNITEC 29

Figura N 4. Vista de ViewActivity

Fuente: Bruni G., Sergio A. (2011).

Figura N 5. Vista de ViewActivity

Fuente: Bruni G., Sergio A. (2011).

Bruni G., Sergio A.

UNITEC 30

6.3. FASE III: DISEAR EL MODELO DEL PROTOTIPO EN UML. 6.3.1. Recolectando los requerimientos bsicos del aplicativo Para tener la idea bsica de lo que se debera de hacer en el prototipo se solicitaron los requerimientos bsicos del aplicativo obteniendo los siguientes puntos: El usuario debe iniciar sesin El usuario debe recibir la informacin de clientes y productos del servidor. El usuario puede consultar lista de clientes y lista de productos El usuario puede crear facturas El usuario puede consultar lista de facturas creadas El usuario debe enviar la informacin de las facturas creadas 6.3.2. Diseo del prototipo de aplicacin con los resultados obtenidos Para comprender los requerimientos bsicos de este prototipo obtenidos del departamento de desarrollo, se implement el lenguaje de modelado de datos llamado UML mediante el cual se pudo realizar un diagrama con los requerimientos para este sistema como se muestra en la figura N 3. Figura N 6. Diagrama de casos de usos.

Fuente: Bruni G., Sergio A. (2011)

Bruni G., Sergio A.

UNITEC 31

Mediante este diagrama de casos de uso se comprendieron los requerimientos para el desarrollo del aplicativo en el cual el usuario siento este un Vendedor de X empresa utilizara las herramientas de iniciar sesin, recibir y enviar datos, consultar en las diferentes reas, y crear facturas, mientras otro usuario este siendo el servidor de datos recibir los datos que el vendedor enve y enviara los datos que el vendedor solicite. FASE IV: DESARROLLAR LA INTERFAZ DEL PROTOTIPO DE LA APLICACINYa que comprendemos los requerimientos del aplicativo y dominamos los componentes bsicos procedemos al desarrollo del prototipo

Bruni G., Sergio A.

UNITEC 32

CAPTULO VII. RECOMENDACIONES 7.1. IDEAS DE PROYECTOS DE TRABAJO DE GRADO Realizar prototipos de aplicaciones empresariales para dispositivos mviles Apple. Realizar prototipos de aplicaciones empresariales para dispositivos mviles Blackberry Realizar aplicacin empresarial de administracin de informacin Desktop.

7.2. IDEAS DE PROYECTOS PARA LOS EQUIPOS Realizar un manual de instalacin del ambiente y documentacin del prototipo.

7.3. CAPITAL RELACIONAL Alcides Bata. Gerente de Desarrollo. 0424-4246885 [email protected]

Cargo Telfono Correo

Armando Mendoza. Gerente de Automatizacin. 0424 4246894 [email protected]

Cargo Telfono Correo

Bruni G., Sergio A.

UNITEC 33

REFERENCIAS BIBLIOGRFICAS

GLOSARIO