Está en la página 1de 28

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No.

201493_2

TRABAJO COLABORATIVO 2 ETAPA 2 DEL DESARROLLO APLICACIN MOVIL

Presentado a: GABRIEL RAMIREZ

Por: OSVALDO GAMARRA MONTIEN Cdigo 79671436

CURSO DE PROFUNDIZACIN EN COMPUTACIN MVIL UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Bogot, 2014

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

TABLA DE CONTENIDOS INTRODUCCIN .......................................................................................................................................................... 4 CAPITULO 1 PROBLEMA DE INVESTIGACIN ............................................................................................ 5 TITULO DEL PROYECTO ................................................................................................................................. 5 PLANTEAMIENTO DEL PROBLEMA .............................................................................................................. 5 FORMULACIN DEL PROBLEMA .................................................................................................................. 6 OBJETIVO GENERAL ....................................................................................................................................... 6 OBJETIVOS ESPECFICOS ............................................................................................................................... 6 JUSTIFICACIN ................................................................................................................................................. 6 CAPITULO 1 REVISIN DE LA LITERATURA ............................................................................................... 7 MARCO CONCEPTUAL ..................................................................................................................................... 7 MARCO TERICO ............................................................................................................................................. 9 CAPITULO 3 METODOLOGIA ............................................................................................................ 12 CAPITULO 4 ANALISIS DIDEO E IMPLEMENTACIN ............................................................... 14 ANLISIS Y DISEO DE LA APLICACIN ................................................................................................... 15 INTRODUCCIN ................................................................................................................................. 15 CASOS DE USO .................................................................................................................................... 15 MODELO DE CLASES ....................................................................................................................... 17 MODELO DE LA BASE DE DATOS................................................................................................... 19 DESARROLLO E IMPLEMENTACIN DE LA APLICACIN ...................................................................... 20 DIAGRAMA DE ESTADOS ................................................................................................................. 20 DIAGRAMA DE ACTIVIDADES ........................................................................................................ 21 DIAGRAMA DE COLABORACIN ................................................................................................... 24 DIAGRAMA DE SECUENCIAS ........................................................................................................... 26 BIBLIOGRAFIA .....................................................................................................................................28

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

TABLA DE FIGURAS
Diagrama de Casos de Uso ..................................................................................................................................... 3 Diagrama de Clases ................................................................................................................................................ 4 Modelo de la Base de Datos .................................................................................................................................. 4 Diagrama de Estados ............................................................................................................................................. 4 Diagrama de Actividades ...................................................................................................................................... 5 Diagrama de Colaboracin .................................................................................................................................... 5 Diagrama de Secuencias ........................................................................................................................................ 5

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

INTRODUCCIN

Dentro de un mundo completamente saturado de actividades personales y con serias limitaciones de tiempo, el poder controlar las actividades escolares de nuestros hijos y las nuestra propias se convierten en un verdadero problema. Hace algunos aos la nica herramienta que tenamos para poder recordar eventos, reuniones, trabajos escolares, fechas de evaluaciones y hasta reuniones de padres, era colocar papelitos sobre la nevera o anotaciones en una vieja agenda de papel la cual al finalizar un semestre, tena tantas notas que era imposible encontrar lo que se necesitaba. Con el pasar de los aos, la tecnologa nos ha brindado soluciones a este y otros problemas de nuestra vida diaria, esto con la ayuda de asistentes electrnicos o agendas electrnicas que desafortunadamente no estaban al alcance de todos. En los ltimos aos con el desarrollo de aplicaciones para los Smartphone y la masificacin de los mismos, hemos conseguido un nuevo aliado, y con el desarrollo del presente proyecto quiero implementar una aplicacin que contribuya a hacer ms fcil la vida de las personas, organizando las actividades escolares de sus hijos como de las propias. Gracias a las diferentes herramientas con las que hoy en da podemos contar en nuestros dispositivos mviles, cada vez son ms las personas que han optimizado al mximo su tiempo y pos supuesto han dejado a un lado la agendas de papel, y a brindado a los usuarios la posibilidad de disponer de su informacin en cualquier momento y lugar, con una simple pulsacin sobre la pantalla del dispositivo. Precisamente, eso es lo que pretendo con el desarrollo de la presente aplicacin para o Android, la cual permitir en trminos generales llevar a cabo un seguimiento de todas las actividades escolares de nuestros hijos y las propias. Para ello, la herramienta podra se sincronizada con la pagina del colegio o universidad, adicionalmente nos brindara la posibilidad de editar, aadir, borrar, crear alarmas y alertas desde nuestro dispositivo Android.

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

1. CAPITULO 1 PROBLEMA DE INVESTIGACIN

1.1.Titulo del proyecto Desarrollo de aplicacin mvil gratuita que permita la organizacin de horarios para estudiantes de todo tipo, controlando horarios, evaluaciones y trabajos pendientes, la aplicacin llevara el nombre de Mi Compaero de Clases

1.2.Planteamiento del problema Desde siempre ha sido un problema la organizacin y seguimiento de nuestras actividades diarias y el seguimiento a las actividades escolares de nuestros hijos, hoy con ayuda de la computacin mvil, esto podra ser una tarea mucho ms sencilla. El contar con un sistema de agenda de actividades en un PC convencional nos conlleva a tener que recurrir a aquellos lugares donde se puede encontrar un ordenador el cual servir al alumno para poder acceder programa esto demanda un costo en tiempo y dinero, originando en los alumnos una insatisfaccin y posiblemente pereza para acceder a este servicio de informacin y esto repercute en bajas calificaciones. El problema radica fundamentalmente, en que debido a la falta de tiempo y en algunos casos falta de inters por las actividades escolares propias o de un ser querido, no hacemos el debido seguimiento a las mismas, esto conlleva a bajas calificaciones y poca o nula optimizacin de tiempos de estudio. Lo que nos lleva a pensar que basados en las nuevas tecnologas de computacin mvil, podemos aportar a la optimizacin de tiempos de estudio, seguimiento de tareas y actividades escolares y organizacin de horarios. En la actualidad la gran mayora de las personas cuentan con acceso un dispositivo de computacin mvil, apoyndonos en esta afirmacin, podemos pensar fcilmente en el desarrollo de una aplicacin que tenga como objetivo ayudar en el da a da del estudiante promedio en cualquiera de los niveles educativos, desde bsica primaria hasta universitario. Dentro de sus funciones esta calendario de acadmico, horarios de clases, calendario de actividades pendientes y organizacin de tiempos de estudio, gestin y control de notas, notificaciones de eventos prximos, visualizacin de eventos del da, semana y mes

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

1.3.Formulacin del Problema Cul sera el nivel se optimizacin de los tiempos de estudio y mejora en sus calificaciones de los estudiantes de nuestro pas al poder contar con una aplicacin mvil que ayude a la organizacin y seguimiento de todas sus actividades acadmicas? 1.4.Objetivo General Desarrollar una aplicacin mvil, que permita la organizacin y gestin de las actividades de los estudiantes de cualquier nivel educativo.

1.5.Objetivos Especficos Identificar los requerimientos funcionales y no funcionales de la aplicacin. Elaboracin de estructura lgica de la aplicacin. Diseo de la interfaz grafica y sistemas de ayuda, Ya que la aplicacin debe ser de fcil uso y con una interfaz amigable Validacin del modelo propuesto. Implementacin y pruebas de la aplicacin. 1.6.Justificacin El mundo se mueve a un ritmo sper acelerado, los altos tiempos de desplazamiento y las grandes exigencias en nuestros trabajos, hacen que no contemos con el tiempo suficiente para hacer seguimiento de las actividades escolares de nuestros hijos ni de las propias. Se hace necesaria una aplicacin para poder colaborar con esta problemtica. Con el desarrollo de las aplicaciones mviles y el fcil acceso a ellas, se han convertido en herramientas indispensables en nuestras vidas. Ahora es indispensable contar con la herramientas que realmente nos sean tiles para hacer ms fcil nuestra vidas y de los que nos rodean. Gracias al fcil acceso a la computacin mvil, podemos llegar con nuestra aplicacin a ms personas que la necesitan, es por ello que se vuelve indispensable que cuente con una interfaz muy intuitiva que permita al usuario navegar fcilmente entre las pantallas y hacer entradas con facilidad. Este tipo de aplicaciones tiene gran acogida, no solo dentro de los estudiantes sino tambin dentro de los padres, para los cuales es indispensable contar con herramientas de monitoreo y seguimiento de las actividades acadmicas de sus hijos, todo dentro de un entorno informtico.

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

2. CAPITULO 2 REVISIN DE LA LITERATURA 2.1 Marco Conceptual La computacin mvil trata sobre una serie de artefactos y equipos porttiles que utilizan la computacin para lograr su funcionamiento, esta se basa en los principios de los sistemas distribuidos que interrumpe en la integracin de dispositivos a travs de clientes mviles. Actualmente, la computacin mvil se ha convertido en una parte fundamental en nuestras vidas. Hoy podemos conectarnos a internet casi desde cualquier sitio y ejecutar aplicaciones web. Sin embargo debemos tener en cuenta las limitaciones de procesamiento de la gran mayora de dispositivos mviles, lo cual hace necesario la construccin de aplicaciones lite, tambin llamadas aplicaciones Mobile Web, las cuales de forma mucho ms liviana permiten interactuar con el usuario en cualquier parte del mundo a travs de sus telfonos celulares con conectividad a internet. Las conexiones a la red a travs de dispositivos inalmbricos cada vez se producen con ms frecuencia, gracias a: Nuevas tecnologas de conexin como GPRS y UMTS, ms rpidas y fiables. Las compaas de Telecomunicaciones han ampliado sus ofertas de este tipo de servicios. Auge de las redes inalmbricas WIFI. Las aplicaciones mviles interactivas poco a poco han revolucionado la forma de utilizar los dispositivos mviles, evolucionando de contenido esttico a un contenido rico e interactivo, por lo tanto escalable. Actualmente, existe una demanda cada vez mayor por parte de los usuarios en lo referente a una disponibilidad a aplicaciones mviles que sean tiles para agilizar nuestras labores diarias. Tengamos en cuenta que la oferta de dispositivos mviles est creciendo de forma asombrosa en los ltimos aos, ofrecindonos infinidad de dispositivos desde los que llevan a cabo operaciones que normalmente se realizaban desde el equipo de mesa, pero aun existen limitaciones a la hora de acceder a los servicios desde esos dispositivos mviles 2.1.1 Elementos Tecnolgicos Presentes Android [1] Android es un sistema operativo para dispositivos mviles como telfonos inteligentes y tabletas basado en el ncleo Linux. Es desarrollado por la Open Handset Alliance, la cual es liderada por Google, usando diversos conjuntos de herramientas de software de cdigo abierto para dispositivos mviles. Fue construido para permitir a los desarrolladores la creacin de aplicaciones mviles que aprovechan al mximo el uso de todas las herramientas que un dispositivo como este puede ofrecer.

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Implementa una arquitectura en la que cualquier aplicacin puede obtener acceso a las capacidades del telfono mvil. Por ejemplo, una aplicacin puede llamar una o varias de las funcionalidades bsicas de los dispositivos mviles, tales como realizar llamadas, enviar mensajes de texto, o utilizar la cmara, facilitando a los desarrolladores crear experiencias ms ricas y con ms coherencia para los usuarios Est construido sobre el kernel de Linux. Adems, se utiliza una mquina personalizada virtual que fue diseada para optimizarlos recursos de memoria y de hardware en un entorno mvil. Android es de cdigo abierto, y adems puede ser libremente ampliado para incorporar nuevas tecnologas de vanguardia que van surgiendo. La plataforma continuar evolucionando a medida que la comunidad de desarrolladores trabajando juntos puedan crear aplicaciones mviles innovadoras La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java en una mquina virtual Dalvik con compilacin en tiempo de ejecucin. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz grfica (surface manager), un frameworkOpenCore, una base de datos relacional SQLite, una API grfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor grfico SGL, SSL y una biblioteca estndar de C Bionic. El sistema operativo est compuesto por 12 millones de lneas de cdigo, incluyendo 3 millones de lneas de XML, 2,8 millones de lneas de lenguaje C, 2,1 millones de lneas de Java y 1,75 millones de lneas de C++ Sistemas operativos de mviles. [2] Un sistema operativo mvil o SO mvil es un sistema operativo que controla un dispositivo mvil al igual que las computadoras utilizan Windows o Linux entre otros. Sin embargo, los sistemas operativos mviles son mucho ms simples y estn ms orientados a la conectividad inalmbrica, los formatos multimedia para mviles y las diferentes maneras de introducir informacin en ellos Caractersticas del sistema operativo Android. [3] A continuacin una breve descripcin de los componentes principales del sistema operativo de Android: Aplicaciones.- Las aplicaciones base incluyen un cliente de correo electrnico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones estn escritas en lenguaje de programacin Java. Marco de trabajo de aplicaciones.- Los desarrolladores tienen acceso completo a las mismas Apis del framework usadas por las aplicaciones base. La arquitectura est diseada para simplificar la reutilizacin de componentes. Cualquier aplicacin puede publicar sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean remplazados por el usuario. Bibliotecas.-Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas caractersticas se exponen a los desarrolladores a travs del

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

marco de traba jo de aplicaciones de Android. Algunas son: System C Library (implementacin biblioteca C estndar), bibliotecas de medios, bibliotecas de grficos, 3D y SQLite, entre otras. Runtime de Android.-Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicacin Android corre su propio proceso, con su propia instancia de la mquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr mltiples mquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato DalvikExecutable (.dex), el cual est optimizad o para memoria mnima. La Mquina Virtual est basada en registros y corre clases compiladas por el compilador de Java que se transformaron al formato .dex por la herramienta incluida "dx". Ncleo Linux.-Android depende de Linux para los servicios base del sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y modelo de controladores. El ncleo tambin acta como una capa de abstraccin entre el hardware y el resto de la pila de software. La estructura de Android est formada por varias capas: Kernel de Linux,

2.2 Marco Terico Ciclo De Vida De Una Actividad El hecho de que cada aplicacin se ejecuta en su propio proceso aporta beneficios en cuestiones bsicas como seguridad, gestin de memoria, o la ocupacin de la CPU del dispositivo mvil. Android se ocupa de lanzar y parar todos estos procesos, gestionar su ejecucin y decidir qu hacer en funcin de los recursos disponibles y de las rdenes dadas por el usuario. El usuario desconoce este comportamiento de Android. Simplemente es consciente de que mediante un simple clic pasa de una a otra aplicacin y puede volver a cualquiera de ellas en el momento que lo desee. No debe preocuparse sobre cul es la aplicacin que realmente est activa, cunta memoria est consumiendo, ni si existen o no recursos suficientes para abrir una aplicacin adicional. Todo eso son tareas propias del sistema operativo Estructura de un proyecto Android Para poder trabajar con Android se tiene que instalar el entorno de desarrollo Eclipse y el SDK de Android. Para poder comprender cmo se construye una aplicacin Android vamos a revisar como es la estructura general de un proyecto. Cuando creamos un nuevo proyecto Android en Eclipse se genera automticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicacin, esta estructura ser comn a cualquier aplicacin, independientemente de su tamao y complejidad. Carpeta /src/

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Contiene todo el cdigo fuente de la aplicacin, cdigo de la interfaz grfica, clases auxiliares, etc. Inicialmente, Eclipse crear por nosotros el cdigo bsico de la pantalla (Activity) principal de la aplicacin, siempre bajo la estructura del paquete java definido. Carpeta /res/ Contiene los ficheros de recursos necesarios para el proyecto: imgenes, vdeos, cadenas de texto, etc. Los diferentes tipos de recursos se distribuyen en las siguientes carpetas: o /res/drawable/. Contiene las imgenes de la aplicacin. Se puede dividir en /drawable-ldpi, /drawable-mdpi y /drawable-hdpi, para utilizar diferentes recursos dependiendo de la resolucin del dispositivo. o /res/layout/. Contiene los ficheros de definicin de las diferentes pantallas de la interfaz grfica. Se puede dividir en /layout y /layout-land, para definir distintos layouts dependiendo de la orientacin del dispositivo. o /res/anim/. Contiene la definicin de las animaciones utilizadas por la aplicacin. o /res/men/. Contiene la definicin de los mens de la aplicacin. o /res/values/. Contiene otros recursos de la aplicacin como por ejemplo cadenas de texto, estilos, colores, etc. o /res/xml/. Contiene los ficheros XML utilizados por la aplicacin. o /res/raw/. Contiene recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos. Carpeta /gen/ Contiene una serie de elementos de cdigo generados automticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilacin de Android genera por nosotros una serie de ficheros fuente en java dirigido al control de los recursos de la aplicacin. El ms importante es el fichero R.java, y la case R. Esta clase R contendr en todo momento una serie de constantes con los ID de todos los recursos de la aplicacin incluidos en la carpeta /res/, de forma que podamos acceder fcilmente a estos recursos desde nuestro cdigo a travs de este dato. As, por ejemplo, la constante R.drawable.icon contendr el ID de la imagen icon.png contenida en la carpeta /res/drawable. Carpeta /assets/ Contiene todos los dems ficheros auxiliares necesarios para la aplicacin, como ficheros de configuracin, de datos, etc. La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/ es que para los primeros se generar un ID en la clase R y se deber acceder a ellos con los diferentes mtodos de acceso a recursos. Para los segundos sin embargo no se generarn ID y se pondr acceder a ellos por su ruta como a cualquier otro fichero del sistema. Se usar uno u otro segn las necesidades de la aplicacin. Fichero AndroidManifest.xml Contiene la definicin en XML5 de los aspectos principales de la aplicacin, como por ejemplo su identificacin (nombre, versin, icono), sus componentes (pantallas, mensajes, etc.), o los permisos necesarios para su ejecucin. Algunas de las opciones que se pueden definir en el manifest son: o Package: Situacin de los ficheros que se ejecutan. o Uses-permission: Permisos que se le otorgan a la aplicacin que por defecto no tiene. o Uses-library: Libreras de Google.
10

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

o Activity: Permite que se inicie una actividad. Todas las activities deben estar especificadas en el AndroidManifest.xml.

Desarrollo De Aplicaciones Para Android El desarrollo de aplicaciones para dispositivos con Android se facilita con un grupo de herramientas que se proveen con el kit de desarrollo de software (SDK). Se puede acceder a estas herramientas a travs del plugin para el IDE Eclipse llamado Android Development Tools (ADT) o desde lnea de comandos. Desarrollar con eclipse es el mtodo recomendado porque este puede invocar directamente las herramientas que se necesitan en el desarrollo de aplicaciones. Sin embargo, se puede elegir otro IDE o un editor de texto simple e invocar las herramientas desde la lnea de comandos o mediante scripts. Pautas Para Las Interfaces De Usuario El sistema operativo Android fue adoptado con gran rapidez por mltiples fabricantes de dispositivos mviles, que lo adoptaron como plataforma debido a su carcter ms abierto. Esto potenci a Android, y su tienda de aplicaciones (el AndroidMarket) comenz a contar con una cantidad enorme de desarrollos (a la fecha, ms de 900.000). Sin embargo, esto mismo gener en Android una falta de estandarizacin en las diferentes aplicaciones, que ha generado tambin ligeras incompatibilidades entre las distintas implementaciones del sistema operativo de los fabricantes. El AndroidMarket tambin ha sido criticado en varias ocasiones por su flexibilidad a la hora de aceptar aplicaciones a ser incluidas (en contraposicin a la rigidez de, por ejemplo, la AppStore de Apple), ya que las interfaces de usuario no suelen ser unificadas, y con un diseo estandarizado. Sobre El Emulador De Android [5] El SDK de Android incluye un emulador de un dispositivo mvil virtual que se ejecuta en una computadora, y que puede ser utilizado para el prototipo, desarrollo y pruebas de aplicaciones para dispositivos Android, previamente a la ejecucin en un dispositivo real. El emulador imita todas las caractersticas de un dispositivo real, tanto de hardware, como de software, siendo capaz adems, de utilizas diferentes versiones del sistema operativo, al igual que diferentes configuraciones de hardware. La nica excepcin, es que el emulador carece de la capacidad de realizar llamadas reales (aunque es capaz de emular los eventos que estas producen)

11

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

3. CAPITULO 3 METODOLOGA El desarrollo de aplicaciones destinadas a dispositivos mviles, desde el punto de vista de la Ingeniera del Software, no debe diferir sustancialmente de los pasos a dar cuando se construyen aplicaciones para ordenadores de mesa o estaciones de trabajo. As, podramos establecer los siguientes pasos previos: Anlisis de requerimientos. El analista de turno deber determinar, normalmente con varias entrevistas con los usuarios, las necesidades que estos tienen y los requerimientos que se les pedirn a la aplicacin. Por ejemplo, en el caso de un anlisis para una aplicacin que se ejecutar en un dispositivo mvil, algunos de estos requerimientos generales pueden ser la facilidad de uso, que se pueda ejecutar en telfonos mviles, PDAs y paginadores, que permita una conexin a una entidad mayor para obtener datos actualizados o devolver otros, o tambin, que sea capaz de almacenar cierta informacin de manera persistente. Nivel de Investigacin El nivel de la investigacin es descriptivo ya que analizaremos como objeto de estudio un sistema de agenda acadmica, buscando las mejores prcticas en cuanto a organizacin y optimizacin de tiempos, maximizando la eficiencia e identificando sus ventajas y desventajas. Adems se describir el comportamiento de las variables. Diseo de la aplicacin. Es muy importante en este tipo de aplicaciones el crear programas separados por cada uno de los posibles usos que se le d a la aplicacin. De esta manera cada programa ser ms pequeo y se adaptar mucho mejor a las caractersticas de los dispositivos mviles. Por tanto, a la hora del diseo nos plantearemos esta tarea seriamente, pues finalmente sern varias las ventajas de hacerlo as. Ya en la fase de implementacin se tendr que establecer un mecanismo que controle las diferentes aplicaciones. En el desarrollo del proyecto se har uso de la metodologa RUP para documentar los artefactos del sistema. RUP (Rational Unified Process en ingls, Proceso Unificado Racional en espaol) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos.(Wikimedia Foundation, Inc., 2009). Tcnicas e Instrumentos Para el diseo de la aplicacin mvil se emplear la metodologa orientada a objetos (UML) Lenguaje de Modelado Unificado, debido a que esta metodologa se puede aplicar a diversos lenguajes como Java, .NET, Visual Basic.

12

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

UML se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de hardware, y organizaciones del mundo real. UML ofrece los siguientes diagramas para modelar un sistema: o Diagramas de Casos de Uso o Diagramas de Secuencia para modelar el paso de mensajes entre objetos. o Diagramas de Colaboracin para modelar interacciones entre objetos. o Diagramas de Clases para modelar la estructura esttica de las clases en el sistema. UML es una consolidacin de muchas de las notaciones y conceptos ms usados orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologas adaptables al contexto y necesidades de cada organizacin. La metodologa consta de 4 fases: Fase De Inicio: En esta fase se desarrollan los requisitos del producto desde la perspectiva de los usuarios, los cuales son establecidos en el artefacto Visin. Los principales casos de uso sern identificados y se har un refinamiento del Plan de Desarrollo del Proyecto. La aceptacin cliente/usuario del artefacto Visin y el Plan de Desarrollo marcan el final de esta fase. Fase de elaboracin: En esta fase se analizan los requisitos y se desarrolla un prototipo de arquitectura (incluyendo las partes ms relevantes y/o crticas del sistema). Al final de esta fase, todos los casos de uso correspondientes a requisitos que sern implementados en la primera fase de Construccin deben estar analizados y diseados (en el Modelo de Anlisis/Diseo). La revisin y aceptacin del prototipo de la arquitectura del sistema marca el final de esta fase. Fase De Construccin: Durante la fase de construccin se terminan de analizar y disear todos los casos de uso, refinando el Modelo de Anlisis / Diseo. El producto se construye en base a iteraciones, cada una produciendo una release a la cual se le aplican las pruebas y se valida con el cliente / usuario. Se comienza la elaboracin de material de apoyo al usuario, en la cual se le aplican las pruebas y se valida con el cliente / usuario. Se comienza la elaboracin de material de apoyo al usuario. Fase de transicin: En esta fase se prepararn los releases para distribucin, asegurando una implantacin y cambio del sistema previo de manera adecuada, incluyendo el pruebas con usuarios potenciales. El hito que marca el fin de esta fase incluye, la entrega de toda la documentacin del proyecto y todo el material de apoyo al usuario, el soporte a posibles debug de la aplicacin y puesta en produccin

13

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

4. CAPITULO 4 ANLISIS DISEO E IMPLEMATACION DE AGENDA ESCOLAR MI COMPAERO DE CLASES A continuacin explico paso a paso el desarrollo completo de nuestra Agenda Escolar, una aplicacin mvil, que permita la organizacin y gestin de las actividades de los estudiantes de cualquier nivel educativo, aadiendo una serie de funcionalidades adicionales. Mediante este desarrollo se busca ilustrar de una forma ms prctica las caractersticas principales que ofrece Android y que hace que el desarrollo de aplicaciones para este sistema sea de fcil desarrollo. Caractersticas de Android que debemos tener en cuenta: Cdigo abierto (open source) Jerarqua de las aplicaciones: todas las aplicaciones estn al mismo nivel, y pueden acceder al hardware del dispositivo mvil a travs de las APIs de Android Acceso a la Web: Android combina informacin de la web (servicios web) con datos almacenados localmente en la memoria del dispositivo mvil Programacin en Java: las aplicaciones para Android se codifican en lenguaje Java, el cual es una herramienta con una gran comunidad de programadores Android APIs [6] Android incluye un conjunto de libreras o APIs desarrolladas en lenguaje C/C++ que son usadas por varios de los componentes de la plataforma. Algunas de estas libreras son: libc - la librera estndar del lenguaje C. SSL - seguridad en Internet. OpenGL - grficos 2D y 3D. SQLite (bases de datos relacionales) FreeType - mapa de bits y vectores de la renderizacin de fuentes. Media Framework - reproduccin de medios (video, sonido. WebKit - motor de renderizacin de contenidos web Solicitudes a travs de Intents. Utilizacin de los servicios de Google Maps. Comunicaciones por HTTP. Acceso a la informacin de los contactos. Acceso a informacin sobre el propio dispositivo. Declaracin y uso de recursos externos. Composicin grfica de elementos en pantalla. Gestin de opciones de men. Llamadas telefnicas. Envo de SMS. Envo de correo electrnico
14

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Lenguaje de Programacin Las aplicaciones para Android se pueden desarrollar usando Java y se ejecutan en una mquina virtual denominada Dalvik, que fue creada especialmente por Google En Android todas las aplicaciones tienen las mismas condiciones, y tanto las aplicaciones de terceros como las nativas, se construye usando las mismas APIs y son ejecutadas en el mismo entorno de ejecucin (run time) Por seguridad, cada aplicacin se ejecuta en su propio espacio, aunque pueden comunicarse con otras aplicaciones y acceder a datos almacenados en el dispositivo. Para el desarrollo de nuestra aplicacin usaremos las herramientas de desarrollo Eclipse y el SDK de Android. 4.1 Anlisis y diseo de la aplicacin. 4.1.1 Introduccin: Mi Compaero de Clases es una aplicacin mvil que tiene como objetivo la organizacin y gestin de las actividades de los estudiantes de cualquier nivel educativo, para lograr este objetivo utiliza los servicios de Agenda del dispositivo, utiliza conexin a internet para el envo de alertas a travs de correo electrnico y mensajes SMS si as se quiere. Para que la aplicacin funcione debe ser alimentada en primera instancia por el usuario quien debe registrar los eventos relevantes de su agenda acadmica, junto con las fechas importantes que posteriormente sern gestionadas por la aplicacin, en una segunda fase se espera poder contar con una conexin directa con las pginas de los colegios y universidades, recibiendo de estas la alimentacin de datos requerido y as poder desmontar la captura manual de datos. 4.1.2 Casos de Uso En este punto se utilizan los casos de uso como forma de analizar las funcionalidades que la aplicacin Mi Compaero de Clases va a desempear frente al usuario. Si recordamos un caso de uso representa un uso tpico que se le da al sistema. La tcnica de los casos de uso permite capturar y definir los requisitos que debe cumplir una aplicacin, y describe las tpicas interacciones que hay entre el usuario y esta. Dicha tcnica es utilizada con frecuencia por los ingenieros del software para, entre otras cosas, mostrar al cliente de forma clara y sencilla qu tipo de acciones podr realizar su futuro sistema. A continuacin el diagrama con los casos de uso asociados a nuestra aplicacin, utilizando el estndar UML 2.0 [7].

15

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Diagrama de Casos De Uso

En diagrama mostrado en la Figura anterior, el sistema, est representado por una caja que contiene los casos de uso. Cada caso de uso consiste en un valo con un nombre descriptivo en su interior. Fuera del sistema se encuentra los actores que pueden interactuar con l. En este caso existe un nico actor de nombre Estudiante que es el que realiza todos los casos de uso A continuacin se ofrece una breve descripcin del cometido de cada uno de los casos de uso mostrados en el diagrama Autenticacin: El sistema permite que en un dispositivo ingrese ms de un usuario, es por esta razn que cada usuario debe autenticarse en el sistema y as poder mostrar al mismo su perfil personalizado.

16

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Matricular Materia: en una etapa inicial la captura de las materias es manual y es la primera opcin que se le despliega al usuario en su primer ingreso, esta opcin es prerrequisito para poder acceder a los dems mens . Asignar Horarios: despus de que se hayan inscrito una o ms materias se debe asignar horarios de clase y de estudio independiente, esto con el objetivo de tener control sobre el tiempo que se le asigna a cada una. Registrar Calificaciones: con el prerrequisito de haber inscrito materias en este caso de uso podemos controlar la evolucin de las calificaciones en cada materia, esta captura de datos tambin es manual. Inscribir Eventos: Adicional a los horarios de clase y estudio, en este caso se pueden inscribir reuniones, evaluacin y fechas lmites para la entrega de trabajos para cada una de las materias. Crear Alertas: despus de crear un evento nuevo y/o asignar los diferentes horarios, existe este caso de uso que nos permite crear alertas sonoras o a travs de correos electrnicos. Revisin de Calendarios: este caso de uso nos permite tener una visual por da, semana o mes de los eventos pendientes o prximos a vencer, a travs de una interfaz tipo calendario. Configuracin del sistema: en este caso de uso podemos configurar los tipos de alerta, configurar cuentas de correo para el envi de mensajes etc.

4.1.3 Modelo de clases Las clases utilizadas para resolver un determinado problema, sus atributos y mtodos, la visibilidad que de estos tienen las dems clases, as como las relaciones que existen entre ellas y sus colaboraciones, constituyen el modelo de clases. Mediante este tipo de modelos se expresa, con mayor o menor nivel de detalle, la futura implementacin del sistema, as como permite dar una idea bastante cercana a la forma en la que se ha abordado el problema. A continuacin hago una descripcin de cul es el modelo de clases utilizado en la aplicacin Mi Compaero de Clases. En la siguiente Figura se ensea el diagrama correspondiente al modelo de clases utilizado, siguiendo el estndar UML 2.0 [7].

17

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Diagrama de Clases

Las clases presentes en el anterior diagrama, as como su naturaleza y cometido principal dentro de la aplicacin, las resumo a continuacin: Usuario: Mediante esta clase se puede realizar mantenimiento a los posibles usuarios de la aplicacin dentro de un dispositivo dado. Materias: Esta clase nos permite capturar y realizar mantenimiento a las materias a las cuales vamos a realizar el seguimiento, esta clase es indispensable para poder alimentar las dems clases de la aplicacin.

18

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Horarios: Esta clase est ligada con la clase materias, esta nos permite asignar horarios a cada una de las materias que son administradas por la clase materias. Esta Clase permite tener control sobre las actividades de cada materia. Calificaciones: esta clase se usa para capturar y hacer seguimiento a las calificaciones de cada una de las materias capturadas y almacenadas en la clase Materias Alertas: Esta clase nos permite programar y configurar las alertas ya sean audibles como por correo de los eventos importantes que afectan el normal desempeo en cada una de las materias que hemos capturado en la clase Materias. Evento: Esta clase nos permite captura y administrar alertas sobre diferentes eventos de cada una de las materias, pueden ser evaluaciones, trabajos o compromisos con cada uno de los profesores. Calendario: Esta clase nos permite adems de visualizar los eventos y alertas que se han capturado en las clases anteriores, tambin nos permite crear y administrar nuevos eventos 4.1.4 Modelo de Base de Datos

19

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

4.3 Desarrollo e Implementacin de la aplicacin. 4.3.1 Diagrama de Estados

Diagrama de estados

Como podemos observar el diagrama a de estados, sistema es bastante simple, y presenta 6 estados, cada uno estos estados los describo a continuacin: Autenticacin: Este es el estado inicial de nuestra aplicacin y es necesario pues nuestra aplicacin permite que en mismo dispositivo haya mas de un perfil de usuario, cada uno con sus materias y eventos independientes. Captura Evento: Este estado es independiente de la captura de materias, al contrario de los dems eventos de la aplicacin. Este evento nos permite la inclusin de recordatorios no solo de las materias que tengamos en seguimiento dentro de la aplicacin sino eventos de ndole personal. Captura Materias: Este estado es indispensable para el proceso de seguimiento que pretende nuestra aplicacin y solo depende de la autenticacin inicial. Para poder iniciar con las labores de seguimiento escolar se debe inscribir al menos 1 Materia.

20

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Horarios: Este estado depende de la inscripcin de por lo menos una materia en el evento Captura Materias, aqu se deben registrar los horarios de clases y de estudios independientes, que deseamos tener para cada una de las materias inscritas. Calendarios: Este estado depende de la inscripcin de por lo menos una materia en el evento Captura Materias, aqu se pueden visualizar los horarios de las materias y los eventos que tengamos definidos, en este estado tambin podemos agendar nuevas actividades o borrar las que estn presentes. Alertas: Este estado depende de la inscripcin de por lo menos una materia en el evento Captura Materias y la generacin de por lo menos un evento, aqu podemos programar el tipo de alertas que deseamos recibir, ya sea sonoras, correos electrnicos o sms. Fin: Desde cualquier punto de la aplicacin podemos llegar al estado final, el cual nos permite salir de la aplicacin. 4.3.2 Diagrama de Actividades

21

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

Diagrama de Actividades

Como podemos observar el diagrama de actividades, para el ingreso al sistema es necesario un login inicial, las diferentes actividades las explico a continuacin: Autenticacin: Esta es la actividad inicial de nuestra aplicacin, en esta primera actividad nos permite el ingreso al sistema con un perfil determinado, en caso de ser exitosa esta actividad nos presenta el men principal, y su no estamos registrado en el sistema no permite realizar el respectivo registro.. Registro nuevo usuario: Esta actividad nos permite crear un nuevo usuario en la base de datos de usuario, esto le permitir al usuario tener su propio perfil dentro de la aplicacin.. Men principal: Esta actividad nos permite el acceso a cada una de las dems actividades principales del la aplicacin. Desde esta poder tener acceso a la inscripcin de materias, alertas, eventos y calendario. Registra Materia: Esta actividad nos permite visualizar las materias que hemos registrado previamente en la base de datos, nos permite inscribir nuevas materias a las cuales se les realizara mantenimiento. Asigna Horarios: Esta actividad nos permite asignar los horarios de clases y de estudio independiente de cada una de las materias que tenemos inscritas, para poder acceder a esta actividad es necesario tener materias inscritas. Revisa Calendario: Esta actividad nos permite visualizar el calendario donde aparecen las actividades previamente registradas aso como los horarios de la materias que tenemos inscritas. Crear Eventos: Esta actividad nos permite ingresar a la base de datos nuevas actividades relacionadas con las materias inscritas como evaluaciones, presentacin de trabajos y ms. Fin: Esta actividad es la salida de la aplicacin, a ella podemos acceder desde cualquier punto de la aplicacin..

22

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

4.3.3 Diagrama de Colaboracin

Diagrama de Colaboracin

A continuacin hago una descripcin de la secuencia de acciones que est ilustrada en el anterior diagrama de colaboracin: 1. Login: El usuario accede a la aplicacin usando usuario y password. 2. Valida Datos: La aplicacin enva consulta de los dados digitados por el usuario a la base de datos. 3. Verifica Datos: la aplicacin hace comparacin de los datos digitados por el usuario y los compara con los almacenados en la base. 4. Denegacin de Acceso al Sistema: Si los datos digitados por el usuario no coinciden con los guardados en la base de datos la aplicacin deniega el acceso al sistema.
23

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

5. Permite Acceso: En caso de que los datos digitados por el usuario coinciden con los guardados en la base de datos la aplicacin concede el acceso al sistema. 6. Muestra Men Principal: despus de conceder acceso al sistema la aplicacin muestra al usuario el men principal desde donde puede acceder a las opciones disponibles en la aplicacin. 7. Matricular Materia: la primera accin que deber realizar el usuario es matricular materias dentro de la aplicacin, si la tabla de materias de la base de datos est vaca, la aplicacin solicitara la matricula de al menos una materia. 8. Guarda Materia en Base de Datos: despus de diligenciar los campos solicitados para la creacin de una materia, el usuario solicitara a la aplicacin que la guarde en la base de datos. 9. Mensaje de Guardado Ok: Cuando la aplicacin realiza el guardado de la informacin de la nueva materia matriculada muestra al usuario mensaje de creacin exitosa. 10. Crear nuevo evento o alarma: Teniendo como base la existencia de materias guardadas en las tablas de la base de datos de la aplicacin, el sistema permite la creacin de actividades y alarmas de eventos vinculados a las materias existentes. 11. Guarda Nuevo Evento o Alarma en Base de Datos: despus de diligenciar los campos solicitados para la creacin de un nuevo evento y/o alarma, el usuario solicitara a la aplicacin que la guarde en la base de datos. 12. Mensaje de Guardado Ok: Cuando la aplicacin realiza el insercin de la informacin de la nueva alarma y/o evento con los datos digitados por el usuario en la base de datos, muestra al usuario mensaje de creacin exitosa. 13. Consulta Calendario: Cuando el usuario selecciona esta actividad, espera ver un calendario que contenga los eventos, materias, horarios y alarmas que a registrado previamente. 14. Consulta Materias, Evento, alarma y horarios en Base de Datos: La aplicacin al recibir la solicitud del usuario de mostrar el calendario realiza una consulta a la base de datos de las materias, eventos y alarmas que el usuario a registrado en la base de datos. Esta consulta se devuelve a la aplicacin. 15. Muestra Calendarios con Materias, Eventos, alarmas y horarios de la Base de Datos: La aplicacin despus de realizada ala consulta a la base de datos despliega un calendario donde estn registrados los datos extrados de la base de datos.

24

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

16. LogOut: Cuando el usuario selecciona esta opcin se pide una confirmacin por parte de la aplicacin. 17. Sale de la aplicacin: La aplicacin recibe orden de cerrarse, solicita confirmacin al usuario y de ser afirmativa la respuesta se cierra.

25

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

4.3.4 Diagrama de Secuencias

Diagrama de Secuencias

26

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

En el anterior diagrama de secuencias podemos observar como la aplicacin esta en el centro de toda la actividad del usuario y la base de datos quien es quien administra toda la informacin que ha guardado el usuario, a continuacin describo dichas secuencias: 1. Autenticacin: El usuario digita, la aplicacin consulta la base de datos y da respuesta, afirmativa concede acceso o negativa denegacin de acceso. 2. Matricula Materia: El usuario llena campos requeridos para matricular materia, la aplicacin enva requerimiento de adicin de informacin a la base de datos, la aplicacin muestra mensaje de xito o fracaso en esta actividad. 3. Crear Horario o Evento: El usuario llena campos requeridos para crear horario y/o evento, la aplicacin enva requerimiento de adicin de informacin a la base de datos, la aplicacin muestra mensaje de xito o fracaso en esta actividad 4. Mostar Calendario: El usuario realiza la solicitud de mostrar el calendario, la aplicacin enva consulta de las materias, eventos y horarios almacenados en la base de datos, la aplicacin muestra el calendario con la informacin que devolvi la consulta realizada. Como vemos la aplicacin sirve de interface entre el usuario y la base de datos.

27

ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 201493-Curso de Profundizacin en Computacin Mvil Trabajo Colaborativo 2 Grupo No. 201493_2

BIBLIOGRAFIA

[1]Android, Gabriel Quiroga Maldonado, http://es.scribd.com/doc/212213277/Android [2]Sistema operativo mvil http://es.wikipedia.org/wiki/Sistema_operativo_m%C3%B3vil [3]Omar de Jesus Aquino, Sitio Web Informativo Para El Consejo Comunal Los Vencedores Del Barrio La Toma Ciudad Bolivar Estado Bolivar. http://consejocomunallatoma.host22.com/descargas/weblatoma%20teoria.doc [5]Android Developers. Emulator.
http://developer.android.com/guide/developing/devices/emulator.html

[6]Desarrollo De Aplicaciones Para Dispositivos Mviles Sobre La Plataforma Android De Google , Jaime Aranaz Tudela, 2009
http://e-archivo.uc3m.es/bitstream/handle/10016/6506/PFC_Jaime_Aranaz_Tudela_2010116132629.pdf

[7] UML Distilled. A brief guide to the standard object modelling languague, Martin Fowler. Tercera edicin, editorial Addison-Wesley.

Mtodos aplicables para el desarrollo de aplicaciones mviles - 2011 http://www.genbetadev.com/desarrollo-aplicaciones-moviles/metodos-aplicables-para-el-desarrollo-deaplicaciones-moviles Metodologa de desarrollo gil para sistemas mviles Introduccin al desarrollo con Android y el iPhone - 2009 http://www.adamwesterski.com/wp-content/files/docsCursos/Agile_doc_TemasAnv.pdf Desarrollo de aplicaciones para dispostivos mviles 2006 http://leo.ugr.es/J2ME/INTRO/intro_9.htm

Florian Degregori, Katherine - Proyectos de ingeniera de sistemas Per -2012 Jacobo Hernandez - Desarrollo de aplicaciones para Android - 1: Primeros pasos 2010 http://es.scribd.com/doc/36529064/Desarrollo-de-aplicaciones-para-Android-1-Primeros-pasos

28

También podría gustarte