Proyecto OnLine Live Class!

Live Class es una aplicación de coordinación de datos en tiempo real

jueves, 10 de octubre de 2013

Personalización de controles

Es común que quieras darle tu toque personal a la aplicación que estás creando. Es por ello que android permite que puedas modificar visualmente la mayoría de los controles que se proveen.
Nosotros vamos de a poco y en este caso les mostraremos un vídeo muy útil en el que enseñan a modificar visualmente un botón de manera que no se vea igual a los demás.



Configuración de layouts horizontales y verticales

Al momento de crear una aplicación, debemos tener en cuenta la capacidad de los equipos actuales de girar sus pantallas dependiendo de la orientación en la que se encuentre.
Es por ello que los programas, para que se puedan ver en su totalidad o de la mejor manera, deben ser configurados de tal manera que android elija y ordene el como se verá horizontalmente o verticalmente o bien podemos configurarlo nosotros.

Para ello, despues de crear el layout a nuestro gusto, debemos crear una carpeta a la que en esta oportunidad le pusimos "layout-land" que seria el modo landscape y en ella empezar a crear los archivos xml correspondientes.

Los archivos creados para ser usados en modo landscape deben tener el mismo nombre que los del layout normal, esto es para que se comuniquen de manera inmediata.

Al tenerlo creado, basta con copiar el codigo del layout normal al landscape y este quedará parecido al normal y solo nos quedaría mover los botones y textos a gusto.


Un ejemplo de esto seria.


Layout en modo vertical (activity_main.xml) ubicado en la carpeta layout



Layout en modo landscape (activity_main.xml) ubicado en la carpeta layout-land



Diseño de la aplicacion

Ya entrando de lleno en lo que es el diseño de la aplicación, podemos mostrar una versión preliminar de como se irá viendo LiveClass.

Algunas pantallas de la aplicación:

Pantalla de login en versión vertical

Pantalla de login en versión horizontal




Menú principal en versión vertical


Menú principal en versión horizontal



Pantalla en donde se define el estado de una clase



Pantalla de envíos de mensajes




Tutorial de actividades y pantallas de android

Es fundamental entender como trabajar con diferentes pantallas o layouts, por lo tanto les dejamos un video explicativo.



jueves, 5 de septiembre de 2013

Primera presentaci{on del semestre TPI 2

En esta primera presentación, se hará síntesis de lo ya visto, ademas de ver un nuevo diagrama que es el "diagrama de actividades".
También se mostrarán los hitos, sobre los cuales trabajaremos en el resto del semestre.

Diagrama de actividades

Con el fin de obtener un mayor entendimiento del programa, se creó un diagrama de actividades, en el cual se pueden apreciar de forma clara y sencilla las actividades por las que pasan los usuarios, administradores y docentes.

Click para mayor detalle

miércoles, 3 de julio de 2013

ANALISIS DE LA APP - ESPECIFICACIONES

 
 
 


ULTIMA PRESENTACION DEL SEMESTRE

Hoy presentamos un resumen y finalización del proyecto en cuanto a su modelado y análisis.
 
esta es el ppt que usaremos en la exposición:
 
 
 

MODELO DE DESARROLLO

Sabemos que a la hora de poder concretar un proyecto es indispensable el tener claro un modelo de trabajo y en el área del desarrollo de SW hay varios modelos ya establecidos como por ej:

Modelo Espiral

Es un modelo de desarrollo evolutivo propuesto por Barry Boehm, que utiliza prototipos como apoyo. La forma de espiral representa una iteración (repetición) de procesos que, a medida que se van entregando prototipos y éstos son revisados por los clientes o usuarios finales, el tiempo empleado para desarrollar la próxima versión es cada vez mayor. Cada división recibe el nombre de región de tareas.

Aunque el modelo espiral representa ventajas por sobre el desarrollo lineal, el cálculo de los riesgos puede ser muy complicado.



Modelo en Cascada

uno de los primeros modelos de desarrollo de software que considera las diferentes actividades como fases separadas de tal forma que para iniciar una nueva actividad debe esperarse a la finalización de la actividad anterior. El resultado de cada etapa es uno o más documentos aprobados.
Las principales actividades de este modelo son las que podemos observar en el siguiente gráfico extraído de la red:







Y EL OS ELEGIDO ES (REDOBLE DE TAMBORES)

Por supuesto que para poder desarrollar nuestro proyecto como una App es necesario comenzar en alguna de las posibles plataformas o sistemas operativos. Considerando varios factores que mas adelante explicaremos, me gustaría que analizáramos la siguiente tabla comparativa entre estos mencionados SO:





Comenzando a programar en Android

Ya hemos estado echando un vistazo a los que es programar android y nos hemos dado cuenta que si tienes conocimientos de Java te resultara todo muy familiar, lo que no significa que si sabes Java esta listos ya que hay muchos tips que entender y aprender de que manera se trabaja en Android. Es por esto mismo que les comparto este material en donde he aprendido bastante y espero les ayude:

Este vídeo explica desde la instalación del SDK hasta hacer una aplicación básica y probarla en el dispositivo virtual:



este explica un poco mas profundo el concepto y atributos de LayOuts:




con esto ya podrán hacer algo y probarlo...




miércoles, 12 de junio de 2013

Tercera Presentación de Avance del proyecto


Hoy 12 de Junio, debemos presentar el avance de nuestro proyecto que esta enfocado en el segundo hito que se definió al comienzo del proyecto, que es referente a DOCUMENTACIÓN Y MODELAMIENTO DEL SW.

A continuación dejamos la presentación que se usara para la exposición:




 

Diseño y documentación del proyecto

1. IDENTIFICARSE EN EL SISTEMA:

1.1 Breve Descripción:

        El sistema contará con una pantalla de inicio en donde se mostrarán eventos importantes que sean generales para cualquier usuario, además de tener un login en donde podrán ingresar los usuarios.
      
1.2 Flujo Básico:

      Al logearse, el sistema después de verificar que los datos de entrada sean correctos, derivará al menú correspondiente dependiendo el tipo de usuario que ingrese. Estos usuarios pueden ser:
            a) Administrador
            b) Alumno
            c) Docente


2. Dependerá el tipo de opciones que tendrá el menú directamente del tipo de usuario que ingrese. Las opciones por usuario serán:


2.1 Detalle de funciones por usuario

ADMINISTRADOR


 ALUMNO


DOCENTE


Nota: Las funciones y características pueden variar dependiendo del comportamiento del desarrollo en si y de las necesidades que se vayan planteando.

Diseño del SoftWare - Diagrama de Clases

Continuamos trabajando en el modelamiento de nuestro proyecto con el fin de poder ir puliendo en cada intervención aun mas el producto final y en esta linea es en donde presentamos a continuación el diagrama de Clases [UML]:

Click en imagen para agrandar




Para quienes aun no conocen el concepto de UML o diagramas a continuación les dejo también una pequeña reseña y un PDF completo acerca de este tema titulado "APRENDIENDO UML EN 24 HORAS":


UML




(Unified Modeling Language - Lenguaje Unificado de Modelado). UML es un popular lenguaje de modelado de sistemas de software. Se trata de un lenguaje gráfico para construir, documentar, visualizar y especificar un sistema de software. Entre otras palabras, UML se utiliza para definir un sistema de software.

Posee la riqueza suficiente como para crear un modelo del sistema, pudiendo modelar los procesos de negocios, funciones, esquemas de bases de datos, expresiones de lenguajes de programación, etc. Para ello utiliza varios tipos diferentes de diagramas, por ejemplo, en UML 2.0 hay 13 tipos de diagramas. Estos diagramas se pueden diferenciar en tres categorías:


- Diagramas de estructura:
- Diagrama de clases
- Diagrama de componentes
- Diagrama de objetos
- Diagrama de estructura compuesta (UML 2.0)
- Diagrama de despliegue
- Diagrama de paquetes

- Diagramas de comportamiento:
- Diagrama de actividades
- Diagrama de casos de uso
- Diagrama de estados

- Diagramas de interacción:
- Diagrama de secuencia
- Diagrama de comunicación
- Diagrama de tiempos (UML 2.0)
- Diagrama de vista de interacción (UML 2.0)

Algunos programas gratuitos para modelar en UML son:

ArgoUML, Dia, gModeler, MonoUML, StarUML, TCM, Umbrello Herramienta, UMLet.


fuente (http://www.alegsa.com.ar/Dic/uml.php)

Dejo también para el archivo VSD para quienes lo necesiten y quieran adaptar o modificar este diagrama de acuerdo a sus necesidades:



martes, 11 de junio de 2013

Diseño del SoftWare - Diagramas BPM del proyecto

A fin de entender mejor el proyecto, se crearon diagramas BPM separados en 3 partes, que aseguran mejor el entendimiento de éste, las cuales son Administrador, alumno y docente.

Diagrama BPM de administrador:
Click en imagen para ver en detalle



Diagrama BPM de alumno:
Click en imagen para ver en detalle

Diagrama BPM de docente:
Click en imagen para ver en detalle

martes, 14 de mayo de 2013

Segunda presentación del proyecto

Hoy se presenta la segunda evaluación del proyecto.

martes, 7 de mayo de 2013

Configuración del área de trabajo para el desarrollo


Configurando el área de trabajo
En un principio teníamos en mente trabajar en 2 plataformas móviles, que son Android y IOS. Pero buscando información nos dimos cuenta que para poder ser desarrollador de IOS, antes que todo necesitamos un equipo de Apple, entre otros requisitos que hasta incluyen pagos, por lo tanto, en primera instancia nos enfocaremos primero en la plataforma Android, que no nos dio ningún problema a la hora de querer desarrollar.

Pasos para configurar el área de trabajo para Android.
Es necesario descargar varias aplicaciones, las cuales detallaremos a continuación.
1.- Descargar e instalar Eclipse. Es necesario bajar la versión Eclipse IDE for Java EE Developers,  versión que incluye frameworks que se utilizan en Android. El link para descargar es el siguiente:


Click en imagen para ver mejor


 
2.-Descargar e instalar el SDK de Android desde este link:
 
Click en imagen para ver mejor

 Es importante crear un directorio que sea fácil de acceder, ya que se necesitará utilizar con frecuencia. En este caso utilizaremos este: D:/Android/SDK/sdk
Una vez descargado el archivo, se descomprimirá en la ruta mencionada anteriormente


3.- Ahora se necesita descargar el plugin de Android para Eclipse (ADT), el cual facilitará nuestra labor a la hora de crear aplicaciones.
Para ello nos vamos a la pestaña Help – Install new software y bastará con apretar el botón Add , le ponemos un nombre, en este caso ADT y ponemos la siguiente URL para que empiece a descargar los datos.
https://dl-ssl.google.com/android/eclipse/


Click en imagen para ver mejor


4.- Una vez completa la descarga, necesitamos configurar el ADT, para ello nos vamos a Window – Preferences – Android  y le damos la ubicación en donde dejamos el SDK, en nuestro caso fue en D:/Android/SDK/sdk

Click en imagen para ver mejor



5.-Casi ya terminando de configurar, tenemos que descargar los llamados Targets, que son las librerías necesarias para poder desarrollar en distintas versiones de Android. Lo ideal es descargar todo para luego no tener inconvenientes al querer desarrollar en una versión en específica.
Para realizar esto, nos vamos a la opción Window – Android SDK manager  y seleccionamos todo, o las versiones que queramos instalar.

 
Click en imagen para ver mejor













miércoles, 17 de abril de 2013

Introducción a Live Class

 Formulación del problema en estudio


Descripción del problema

            A través del tiempo que llevamos estudiando, nos hemos dado cuenta que en algunos momentos se ha hecho difícil o engorroso encontrar información de manera rápida respecto a las clases y demás al no tener disponible una laptop o un computador.
            Con información nos referimos a saber las salas en que nos tocan las clases sin entrar a intranet, si se está cursando o no la clase o si el docente asistió a ésta, entre otras características o problemas que se puedan presentar-descubrir en el camino.

Justificación del estudio

            Creemos que el estudio tiene una gran importancia en el ámbito de poder facilitar el acceso rápido a la información tanto para alumnos nuevos de INACAP u otra institución, como para los alumnos antiguos, ya que el programa lo que quiere lograr, es el acceso en tiempo real a la información, lo que permitirá a todos los alumnos que posean un Smartphone con sistema operativo IOS o Android, acceder a distintos tipos de datos  y a la vez lograr una coordinación optima de tiempos administrativos tanto de alumnos como docentes.

Objetivo general

            El propósito final del proyecto, como mencionábamos anteriormente, es poder crear una aplicación que permita el acceso en tiempo real a distintas situaciones del día a día en INACAP, como poder ver si es que la clase se está cursando, si el profesor asistió a clases o si se suspendieron las clases por algún evento en especial, de manera que pueda llegar una notificación a todos los celulares asociados informando que no habrán clases y así que los estudiantes eviten ir en vano.
            Obviamente se creará un programa que se pueda modificar de acuerdo a las necesidades constantes de la sociedad, pudiéndose adaptar a las solicitudes de otras instituciones o empresas en un futuro.


Referentes teóricos

            El problema se ubica básicamente en la obtención de la información de forma rápida y que esté al alcance de cualquier persona con un Smartphone y no solo con una laptop o un pc. 

Descripción técnica del proyecto

            El proyecto consistirá en una aplicación móvil específicamente, orientada tanto a IOS como a Android, en donde el alumno y docente podrán ver información en tiempo real de sus clases, horarios, pruebas, salas, etc.
            El alumno podrá ver en cualquier momento el estado de sus clases en una interfaz en donde se mostrará si ésta clase está en curso, suspendida o terminada, así como también podrá sincronizar la aplicación con su correo electrónico para poder ver todo en una sola aplicación.
            El docente, al igual que el alumno, podrá ver el estado de todas las clases, pero a la vez podrá modificar el estado de éstas, la cual contará con una interfaz sencilla para que no sea tan grande la curva de aprendizaje, ya que esta aplicación va enfocada no solo a los docentes de informática, sino de toda la institución y no necesariamente éstos se manejan bien en el ámbito computacional.
            Se tiene una idea en estado beta, que sería poder en un futuro, tomar la asistencia mediante la aplicación, la cual consistirá en que el alumno se declara presente en clases y el docente lo confirma, de ésta manera se podrá acortar bastante los tiempos de espera y desfase en la información de asistencia, que generalmente va desfasada unas 2 semanas aproximadamente.


Metodología

            En primera instancia, se investigarán y profundizarán las ideas que se tienen pensadas para el proyecto, viendo los beneficios que dará a la vida diaria del estudiante.
            Esto se podrá lograr con pequeñas entrevistas a distintos alumnos, consultando si les parece una buena idea el programa, si les facilitaría el acceso a la información o si realmente no es algo necesario de aplicar, de forma de poder cambiar un poco el rumbo de las cosas de acuerdo a las necesidades.
            Como resultado podemos decir que la metodología de investigación a utilizar será cualitativa, ya que con simples entrevistas y estudios en base a opiniones, podremos calcular la factibilidad y el éxito de la aplicación sin mayores investigaciones relacionadas con estadísticas. 



Recursos a utilizar

            Para el proyecto, los recursos a utilizar son:
  • Un Smartphone con Android o IOS.
  • Un computador para desarrollar código y desarrollar bases de datos. 
 

 

Cronograma de actividades

            En primera instancia se realizaran las investigaciones necesarias para ver la factibilidad del proyecto, ver que mejoras se podrán realizar a las ideas que se quieren realizar.
            Después se realizará la recopilación de información de tecnologías, en donde profundizaremos los conocimientos a utilizar en el proyecto (programación, bases de datos, conexiones) y se complementará con informes y avances que respalden la información.
            Cuando la información este completa, se procederá a hacer las pruebas preliminares del programa, como por ejemplo, versiones beta, conexiones a la base de datos y pruebas que vayan saliendo en camino.
            Ya después de realizados los pasos anteriores, se procederá a crear el software deseado en conjunto con la información recaudada y la experiencia ganada.


Diagrama de contexto

            En este pequeño diagrama, se pretende explicar un poco el funcionamiento de la aplicación y como se relacionan los usuarios.
            Durante el desarrollo se irán agregando más funciones que se estimen necesarias, pero básicamente la función principal es la coordinación de las clases y el acceso rápido a esta información.

Diagrama 1


La idea, como hemos mencionado, es la rápida información del alumno y administrativa, con un sistema amigable todos podrán ver sus clases y sus estados correspondientes.
Diagrama 2

Como pueden apreciar, los tiempos de acceso a información se acortan de buena manera, no será necesario ingresar al mail para revisar, la notificación será automática.