Universidad Cesar Vallejo

Universidad Cesar Vallejo
Filial (Lima - este)

lunes, 21 de noviembre de 2011

Creación de Aplicaciones Móviles con Netbeans 7.0.1

( Youtube 2011 - Autor : Luis Miguel Cartolin - Ing.Sistemas IV - UCV Lima este)

Autores : Christian Anthony
          Carlos Villegas 
Breve Reseña Histórica:
Los primeros en lograr un éxito rotundo con este tipo de ecosistema fue Apple, y pronto el resto de empresas se fueron dando cuenta de que ya no es suficiente con fabricar un hardware atractivo, si no que los usuarios quieren algo más: quieren funcionalidades específicas para su teléfono, algo más allá de lo material que defina la experiencia.
Esto, además de beneficiar principalmente a las propias empresas creadoras del hardware y de los sistemas operativos, también ha repercutido muy positivamente en los desarrolladores de aplicaciones. Creo que a estas alturas de la película toda conocemos al menos un par de apps exitosas que se han terminado convirtiendo en el principal sustento para muchas personas y/o empresas.
Aunque pudiese parecer que el mercado de las aplicaciones es ya bastante maduro en la actualidad, lo cierto es que son muchos los analistas que afirman que todavía queda mucho por crecer y aún quedan muchas oportunidades para aquellos que tengan una buena idea aplicable a los terminales móviles.
 Nociones básicas
¿Qué es una aplicación móvil?
Una aplicación móvil es un programa que usted puede descargar y al que puede acceder directamente desde su teléfono o desde algún otro aparato móvil – como por ejemplo una tablet o un reproductor MP3.
¿Qué necesito para descargar y usar una aplicación?
Usted necesita un Smartphone o algún otro aparato móvil con acceso a internet. No todas las aplicaciones funcionan en todos los aparatos móviles. Cuando usted compra uno de estos aparatos debe usar el sistema operativo y el tipo de aplicaciones que corresponde a ese aparato. Los sistemas operativos móviles Android, Apple, Microsoft y BlackBerry tienen tiendas de aplicaciones que operan en línea en las cuales usted puede buscar, descargar e instalar las aplicaciones. Algunos comerciantes minoristas también operan tiendas de aplicaciones en internet. Usted tendrá que usar una tienda que le ofrezca las aplicaciones que funcionen con el sistema operativo de su aparato. Para establecer una cuenta, es posible que tenga que suministrar el número de una tarjeta de crédito, especialmente si va a descargar una aplicación que no es gratis.
J2ME
La arquitectura Java 2 Micro Edition esta orientada a pequeños dispositivos y sistemas embebidos como son telefonos moviles, PDAs, Set-Top Boxes, maquinas expendedoras y un largo de productos existentes o futuros.
Al igual que sucede con J2EETM, que esta orientado a entornos corporativos o J2SETM, orientado a sistemas de sobremesa, la arquitectura J2ME esta formada por un conjunto de APIs estandares que permiten que las aplicaciones desarrolladas se beneficien de las caracteristicas multiplataforma de Java y que abren la puerta a la distribucion de aplicaciones a millones de dispositivos. 

Como podemos ver en el siguiente diagrama, la arquitectura J2ME se puede dividir en dos grandes bloques de arquitecturas que dependen del tipo de dispositivo y las caracteristicas de los mismos. En funcion de la familia de dispositivos se toma una u otra opcion. 


Metodología para el desarrollo de aplicaciones móviles



1. Modelo Waterfall (en cascada)

Clásico. Sólo aplicable cuando están totalmente cerrados los requisitos y no van a cambiar. No hay retroalimentación entre las fases en que se divide el proyecto. Por lo que cada fase se va cerrando de forma secuencial. Todo el proceso está fijado por fechas límites y presupuestos. Este modelo sólo es aconsejable para proyectos móviles muy controlados y previsibles, no existe incertidumbre por lo que se quiere hacer ni influyen los cambios en la industria.



2 Desarrollo rápido de aplicaciones


Se da énfasis a la obtención de un prototipo funcional de una aplicación para posteriormente ir mejorandolo incluyendo más funcionalidades y complejidad. Es recomendable el uso de patrones de diseño bien conocidos para adaptarse a los cambios de requisitos.
Se suele usar cuando los plazos de entrega son muy cortos y se precisa tener un entregable de forma inmediata. No se descarta utilizar otras metodologías de forma posterior, ya que este tipo de desarrollo puede ser usado para mostrar un esbozo de la aplicación a un cliente, generalmente en un par de días.

3 Desarrollo ágil
Las metodologías ágiles son muy adecuadas para el desarrollo de aplicaciones móviles:
En primer lugar, la alta volatilidad del entorno hace que constantemente el equipo de desarrollo se deba adaptar a nuevos terminales, cambios en la plataforma o en el entorno de desarrollo. Un ritmo cambiante que requiere una alta respuesta al cambio más que al seguimiento de un plan concreto.
Como hemos indicado, al menos actualmente, los equipos de desarrollo móvil suelen se integrados por pocas personas. No más de ocho o diez desarrolladores entorno a un misma aplicación o, incluso, un único desarrollador. Las interacciones en el proceso y las herramientas son más controlables y es posible una fluida comunicación entre los miembros del equipo.
Una aplicación se suele realizar en periodos de desarrollo cortos entorno a un mes a seis meses. Con el propósito de una realimentación rápida es posibles realizar varias actualizaciones de un aplicación según se van entregando funcionalidades. Un tema demandados por los usuarios en los distintos markets de aplicaciones que aprecian la frecuente mejora de la aplicación para mantenerla viva, e incluso ayuda a su propio marketing al tener más visibilidad cada vez que se realiza la actualización.

4 Mobile-D

El objetivo de este método es conseguir ciclos de desarrollo muy rápidos en equipos muy pequeños. Fue creado en un proyecto finlandés en 2005, pero sigue estando vigente. Basado en metodologías conocidas pero aplicadas de forma estricta como: extreme programming, Crystal Methodologies y Rational Unified Process.
Se compone de distintas fases: exploración, inicialización, fase de producto, fase de estabilización y la fase de pruebas. Cada una tiene un día de planificación y otro de entrega.
En la fase de exploración se centra la atención en la planificación y a los conceptos básicos del proyecto. Aquí es donde hacemos una definición del alcance del proyecto y su establecimiento con las funcionalidades donde queremos llegar.

En la iniciación configuramos el proyecto identificando y preparando todos los recursos necesarios como hemos comentado anteriormente en esta fase la dedicaremos un día a la planificación y el resto al trabajo y publicación.
En la fase de producto se repiten interativamente las subfases. Se usa el desarrollo dirigido por pruebas (TDD), antes de iniciar el desarrollo de una funcionalidad debe existir una pueba que verifique su funcionamiento. En esta fase podemos decir que se lleva a acabo toda la implementación.
Después de la fase de producto llega la fase de estabilización en la que se realizan las acciones de integración para enganchar los posibles módulos separados en una única aplicación.
Fase de pruebas. Una vez parado totalmente el desarrollo se pasa una fase de testeo hasta llegar a una versión estable según lo establecido en las primeras fases por el cliente. Si es necesario se reparan los errores, pero no se desarrolla nada nuevo.
Una vez acabada todas las fases deberíamos tener una aplicación publicable y entregable al cliente.
Parafraseo : (Ing.Sistemas  UCV lima-este)
Fuente: Google.com





domingo, 20 de noviembre de 2011

“El pensamiento Humano” vs “El procesamiento en la Computadoras.”

(Fuente : Google 2011)
Autor: Christian Anthony
Durante el transcurso de los años hasta la actualidad hemos podido observar como la tecnología avanza cada vez más; innovando sus diseños y re potenciando sus características.
Ante esto: ¿No cree usted que algún día estas máquinas pudieran llegar a pensar igual que un ser humano? Podríamos decir que existe una similitud con el cerebro humano y una computadora solo que con la única diferencia que el ser humano no tiene la cualidad de pensar de manera instantánea, a comparación de una computadora que procesa de información de forma rápida.
Por lo cual damos por presentado este tema que fomenta un breve debate en nuestro ensayo, ya  que en la sociedad estamos acostumbrados a escuchar este tipo de preguntas sobre si ¿En verdad podríamos llamar al procesamiento de datos pensar?
No sería necesario plasmarnos en el futuro, porque en la actualidad existen computadoras que tienen mayor rapidez en el procesamiento de datos. ¿Pero qué tiene que ver con pensar?, podríamos decir que tienen un grado de similitud  cuando nos referimos en procesar y pensar.
Si nos podemos en el simple hecho de que ¿Las computadoras piensen? No lo podríamos afirmar, debido que es una simple máquina que ha sido creada por el hombre para hacerle la vida manera más fácil, dándole respuesta de forma instantánea a lo que le pida procesar. ¿Será esta la razón por la cual no piensan? En realidad viéndolo por el lado del ser humano la respuesta es sí. Porque son simples maquinas que solo obedecen órdenes programadas. Pero plasmándonos en el lado tecnológico sería lo contrario, debido que el procesar es simulado a pensar en una máquina.
Este es un tema muy interesante y discutido debido a las innovaciones de la electrónica en las computadoras. Estas siguen evolucionándose poniendo en duda nuestro tema principal. Por lo consiguiente en la actualidad se está empleando muchos experimentos con la “Inteligencia Artificial” obteniendo resultados que nos podrían en duda, toda nuestra información presentada.
Podríamos Inferir que las computadoras no solo podrían procesar sino que también sentir ¿Pero usted se preguntará pero como puede sentir una maquina? Los especialistas lo han logrado mediante sensores electrónicos, ya que estos pueden detectar algún contacto con la maquina emitiendo algún sonido o señal visual que plasmándonos en los humanos esto viene a ser un grito o mejor dicho un medio de comunicación.
Como podemos observar nada está dicho, solo se puede deducir que hay la  existencia de similitud entre nosotros los humanos con las computadoras.
Pero si nos ponemos en el simple hecho ¿Que es pensar? , Obtendríamos que pensar “Es una capacidad que todos tenemos en tanto que seres humanos, ejercemos esta facultad - de la misma manera que cualquier otra capacidad humana - solamente cuando algo nos inclina a usarla; esto es, pensamos sólo si algo nos da que pensar”(Heidegger, ¿Qué Significa Pensar?, Alemania).
La cualidad de pensar es mi importante para un ser humano prácticamente es el decir “todo de un ser humano”, debido que si esta cualidad no podría hacer nada. Ya que el pensar no lleva al pensamiento denominado como un  medio de planificación de una acción y de superación de  los obstáculos entre lo que hay y lo que se proyecta realizar.
Y, por el otro lado, se denomina procesar como la acción que realizan las maquinas computadoras, se entiende habitualmente las técnicas eléctricas, electrónicas o mecánicas usadas para manipular datos para el empleo humano o de máquinas. Ante las muchas comparaciones realizadas entre computadoras y cerebros, ¿por qué no invertir la situación? y afirmar que el cerebro es capaz de procesar datos.
Esa respuesta sería algo que no tendríamos por qué negarlo debido que las computadoras fueron creadas con la finalidad de que cada vez sean más parecidas al cerebro del humano, pero en la actualidad se está utilizando la Inteligencia artificial. Ésta es aquella que subraya las analogías entre el funcionamiento del cerebro y el funcionamiento de las computadoras digitales. De acuerdo con la versión más extrema, el cerebro es solamente un computador digital y la mente es solamente un programa de computador.
Sobre la Inteligencia artificial “La mente es al cerebro lo que el programa es al hardware del computador” (Dr. John Searle, La Mente, EE.UU).
Puesto que todo aquello en lo que consiste tener pensamientos y sensaciones no puede ser comparado con el procesar de una maquina computadora.
En conclusión general del tema podríamos afirmar que el pensar con el procesamiento son cosas totalmente distintas aunque los avances tecnológicos puedan ponernos en duda. Nosotros somos humanos compuestos biológicamente en cambio las computadoras son simples máquinas que está compuesta por partes electrónicas. Dado que no pueden pensar solo procesar información programada.
Y sobre la pregunta planteada al iniciar el tema si ¿Podrían llegar a pensar las computadoras? Se afirmaría que no por el simple hecho que las computadoras no piensan solo están programadas por el ser humano para procesar datos y hacerle la vida de manera más fácil mediante algoritmos, lo cual no se podría llamarle pensar a esta acción.