Este documento describe los conceptos fundamentales de la computación móvil, incluyendo sus principios, componentes tecnológicos y características. Explora los dispositivos móviles, aplicaciones móviles, tecnologías de acceso y redes que son pilares de la computación móvil. También cubre temas como los modelos de desarrollo, transformaciones de modelos y metodologías ágiles para el desarrollo de software móvil.
3. El continuo avance de la tecnología y las
necesidades básicas de comunicación,
han permitido el crecimiento de la computación
móvil, como un elemento de apoyo
en la cotidianidad de las personas, en la
agilización y optimización de los procesos
Llegando cada día a formar parte
de la vida de las personas, estos poseen una
gran acogida debido a las diversas
aplicaciones que traen preinstalados, con la
posibilidad de incluir muchos
programas o aplicaciones cuando el usuario
desee.
La conciencia de las personas está
evolucionando y preparándose para
enfrentarse al paradigma de la
computación móvil.
Enfréntate a la vida y vence tus temores,
porque el nuevo reto que se tiene es: La
Computación Móvil
Es por eso que el término computación
móvil, se ha convertido en una
situación
familiar en nuestra sociedad
4. Es un término genérico que se utiliza para
describir la capacidad de una persona para
usar la tecnología mientras está en
movimiento, sin necesidad de quedarse
atado a una configuración fija
La computación móvil es la utilización de
herramientas portables de computación
que permanecen conectadas a una red
mientras se está en movimiento.
La computación móvil es un término
genérico que se usa para referirse a
una variedad de dispositivos que
permiten a las personas acceder a
datos e información desde cualquier
lugar en el que se encuentren.
La computación móvil como la
utilización de dispositivos de
cómputo mientras se está en
tránsito, lo cual implica transmisión
de información por redes
inalámbricas.
COMPUTACIÓN MÓVIL
6. DISPOSITIVOS
MÓVILES
Cuyas capacidades en
términos de hardware y
software han venido
creciendo enormemente
hasta convertirse hoy en
pequeñas y livianas
herramientas con gran
poder de computación
Corren en los dispositivos,
dependiendo de las
características de éstos
Son las que hacen posible
la comunicación entre dos o
más dispositivos y que
permiten que tengan acceso
a la información de forma
remota.
APLICACIONES
MÓVILES
TECNOLOGÍAS DE
ACCESO Y LAS
REDES
7. DISPOSITIVOS MÓVILES
Es un aparato tecnológico relativamente pequeño, con capacidades de procesamiento, conexión permanente o
intermitente a alguna red en forma inalámbrica y con memoria limitada, que está diseñado para realizar funciones
específicas.
● PDAs
○ (Personal Digital Assistant) Es una computadora de mano de poco procesamiento que originalmente se diseñó
como agenda electrónica con un sistema de reconocimiento de escritura.
● Teléfonos Móviles
○ Es un dispositivo inalámbrico electrónico basado en la tecnología de ondas de radio, que tiene la misma
funcionalidad de un teléfono de línea fija.
● Computadores Portátiles
○ Es un computador que gracias a su tamaño, peso y diseño compacto pude transportarse con gran facilidad y ser
utilizado desde casi cualquier lugar sin necesidad de estar conectado a la red eléctrica todo el tiempo.
● Tabletas
○ Es un dispositivo intermedio entre un smartphone y un computador, puesto que reúne algunas de las mejores
características de ambos bandos.
8. APLICACIONES MÓVILES
Una aplicación móvil es un programa que se ejecuta en un
dispositivo móvil y que está desarrollada especialmente para
adecuarse visual y funcionalmente a las características físicas
del dispositivo sobre el cual corra.
Pueden ser desarrolladas directamente por los fabricantes de
dispositivos móviles, por los operadores celulares o por
terceros; y debe hacerse con las herramientas de desarrollo
adecuadas según el sistema operativo de los dispositivos sobre
los cuales se vayan a ejecutar.
9. Tecnologías de Acceso y Redes
Representan el canal a través del cual los dispositivos móviles pueden comunicarse entre sí o con terminales
locales. A continuación se presentan algunas de las más comunes en la actualidad:
● Red celular
○ Es aquella que provee a los celulares y otros dispositivos móviles el acceso inalámbrico a la red de telefonía
pública de los operadores móviles.
● WiFi
○ Es una de las tecnologías de comunicación inalámbrica mediante ondas más utilizada en la actualidad.
● Bluetooth
○ Es una tecnología inalámbrica que permite la comunicación entre dispositivos compatibles
● RFID
○ Es una tecnología que se utiliza para rastrear objetos mediante un lector que identifica etiquetas electrónicas
adheridas a dichos objetos, sin necesidad de tener un contacto muy cercano o visual
10. CARACTERÍSTICAS COMPUTACIÓN MÓVIL
La tecnología móvil posee dos características principales que la hacen
diferente a otras formas: movilidad y el amplio alcance.
• Movilidad
• Implica la portabilidad basada en el hecho de
que los usuarios llevan un Dispositivo móvil a
todas las partes a donde se dirigen.
• Amplio alcance
• Es la característica que describe la
accesibilidad de las personas.
14. ¿Qué es un modelo?
Son aquellos relevantes
para el desarrollo de
software.
Cuando un sistema de
software soporta un
determinado negocio, el
modelo de dicho negocio
es también relevante.
Representación
conceptual o física a
escala de un proceso o
sistema, con el fin de
analizar su naturaleza,
desarrollar o comprobar
hipótesis o supuestos y
permitir una mejor
comprensión del
fenómeno real al cual el
modelo representa y
permitir así perfeccionar
los diseños, antes de
iniciar la construcción de
las obras u objetos reales.
Son el foco central de MDD.
15. Cualidades de los modelos
- Comprensibilidad. El modelo debe ser expresado en un lenguaje que resulte accesible.
- Precisión. El modelo debe ser una fiel representación del objeto o sistema modelado.
- Consistencia. El modelo no debe contener información contradictoria.
- Completitud. El modelo debe capturar todos los requisitos necesarios.
- Re-usabilidad. El modelo de un sistema, además de describir el problema, también debe
proveer las bases para el re-uso de conceptos y construcciones.
- Flexibilidad. puedan ser fácilmente adaptados para reflejar las modificaciones en el
dominio del problema.
- Corrección. El modelo en sí debe ser analizado para asegurar que cumple con las
expectativas del usuario. Validación y verificación.
16. ¿Cómo se define un modelo?
● El modelo del sistema se construye utilizando un lenguaje de modelado (que
puede variar desde lenguaje natural o diagramas hasta fórmulas matemáticas).
● Los modelos informales son expresados utilizando lenguaje natural, figuras,
tablas u otras notaciones.
● El éxito de los lenguajes gráficos de modelado, tales como el Unified Modeling
Language (UML) se basa principalmente en el uso de construcciones gráficas que
transmiten un significado intuitivo
17. ¿Qué es una transformación?
El proceso MDD, descrito anteriormente, muestra el rol de varios mode-los, PIM, PSM y código dentro del
framework MDD. La misma herramienta u otra, tomará el PSM y lo transformará a código. En la figura se
muestra la herramienta de transformación como una caja negra, que toma un modelo de entrada y
produce otro modelo como salida.
18. Transformación (Pasos)
● Una herramienta que soporte MDD, toma un PIM como entrada y lo transforma en un PSM.
● La misma herramienta u otra, tomará el PSM y lo transformará a código.
19. Como se define una transformación
Las transformaciones podrían describirse utilizando cualquier lenguaje de programación, por ejemplo
Java. Este tema será desarrollado en detalle en el Capítulo 6.
Ejemplo:
Exhibiremos un ejemplo de una transformación de un modelo PIM escrito en UML a un modelo de
implementación escrito en Java. Transformaremos el diagrama de clases de un sistema de venta de libros
(Bookstore) en las clases de Java correspondientes a ese modelo. La figura muestra gráficamente la
transformación que se intenta realizar, la cual consta de 2 pasos: Transformaremos el PIM en un PSM y
luego transformaremos el PSM resultante a código Java.
21. PIM consiste en un conjunto de reglas. Estas reglas
son:
● Para cada clase en el PIM se genera una clase con el mismo nombre en el PSM.
● Para cada relación de composición entre una clase llamada classA y otra clase llamada classB, con
multiplicidad 1 a n, se genera un atributo en la clase classA con nombre classB de tipo Collection.
● Para cada atributo público definido como attributeName:Type en el PIM los siguientes atributos y
operaciones se generan como parte de la clase destino:
○ Un atributo privado con el mismo nombre: attributeName: Type
○ Una operación pública cuyo nombre consta del nombre del atributo precedido con “get” y el
tipo del atributo como tipo de retorno: getAttributeName(): Type
○ Una operación pública cuyo nombre consta del nombre del atributo precedido con “set” y
con el atributo como parámetro y sin valor de retorno: setAttributeName(att: Type).
22. Herramientas de soporte para MDD
● Editores gráficos para crear los modelos ya sea usando
UML como otros lenguajes de modelado específicos de
dominio.
● Repositorios para persistir los modelos y manejar sus
modificaciones y versiones.
● Herramientas para validar los modelos (consistencia,
completitud, etc.).
● Editores de transformaciones de modelos que den
soporte a los distintos lenguajes de transformación, como
QVT o ATL.
● Compiladores de transformaciones, debuggers de
transformaciones.
● Herramientas para verificar y/o testear las
transformaciones.
24. 3. El proceso de desarrollo de software
24
En el desarrollo de software nos
encontramos con la siguiente situación
Ciclos de
Vida del
SOFTWARE
Metodologías de
Desarrollo del
SOFTWARE
25. Waterfall
El modelo en cascada es un proceso de desarrollo secuencial, en el que el desarrollo de software se
concibe como un conjunto de etapas que se ejecutan una tras otra. Se le denomina así por las posiciones
que ocupan las diferentes fases que componen el proyecto, colocadas una encima de otra, y siguiendo un
flujo de ejecución de arriba hacia abajo, como una cascada.
26. Fases método waterfall
● Requisitos del software
○ Se hace un análisis de las necesidades del cliente para determinar las características del software a desarrollar, y
se especifica todo lo que debe hacer el sistema sin entrar en detalles técnicos.
● Diseño
○ Se describe la estructura interna del software, y las relaciones entre las entidades que lo componen.
● Implementación
○ Se programan los requisitos especificados haciendo uso de las estructuras de datos diseñadas en la fase anterior.
● Verificación
○ Una vez se termina la fase de implementación se verifica que todos los componentes del sistema funcionen
correctamente y cumplen con los requisitos.
● Mantenimiento
○ El mantenimiento del software consiste en la modificación del producto después de haber sido entregado al
cliente, ya sea para corregir errores o para mejorar el rendimiento o las características.
27. Fast
Framework for the Application of System Thinking
FAST es un marco que es lo suficientemente flexible para varios tipos de proyectos y estrategias.
El FAST o Marco para la Aplicación del Pensamiento del Sistema es una hipótesis creada con fines de
aprendizaje. La metodología utilizada para desarrollar y mantener sistemas de información.
28. Mobile-D
Es una metodología para el desarrollo ágil de software, que no solamente está orientada al desarrollo de
aplicaciones móviles, también se puede usar en aplicaciones de seguridad, financieras, de logística, y de
simulación.
29. Agil
Las metodologías ágiles son aquellas que permiten adaptar la forma de trabajo a las
condiciones del proyecto, consiguiendo flexibilidad e inmediatez en la respuesta para
amoldar el proyecto y su desarrollo a las circunstancias específicas del entorno.
30. Metodología ágil más usadas
● Extreme Programming XP
Esta herramienta es muy útil sobre todo para startups o empresas que están en proceso de
consolidación, puesto que su principal objetivo es ayudar en las relaciones entre los empleados y
clientes. Sus principales fases son:
o Planificación del proyecto con el cliente
o Diseño del proyecto
o Codificación
o Pruebas
● SCRUM
Se caracteriza por ser la «metodología del caos» que se basa en una estructura de desarrollo
incremental, esto es, cualquier ciclo de desarrollo del producto y/o servicio se desgrana en «pequeños
proyectos» divididos en distintas etapas: análisis, desarrollo y testing. En la etapa de desarrollo
encontramos lo que se conoce como interacciones del proceso o Sprint, es decir, entregas regulares y
parciales del producto final.
31. Fases Mobile-D
El desarrollo siguiendo el enfoque de Mobile-D se compone de 5 fases
● Exploración
○ El propósito de la fase de exploración es planear y establecer el proyecto.
● Inicialización
○ El propósito de la fase de inicialización es posibilitar el éxito de las siguientes fases del proyecto preparando y
verificando todos los problemas críticos del desarrollo
● Producción
○ La fase de producción tiene como propósito implementar la funcionalidad requerida en el producto aplicando un ciclo
de desarrollo iterativo e incremental.
● Estabilización
○ El propósito de la fase de estabilización tiene como propósito asegurar la calidad de la implementación el proyecto.
● Pruebas del sistema
○ El propósito de la fase de pruebas del sistema es comprobar si el producto implementa las funcionalidades requeridas
correctamente, y corregir los errores encontrados.
33. Arquitectura de aplicaciones móviles
Las arquitecturas implementadas en el desarrollo de aplicaciones móviles, se debe a el tipo de
información el cual se valla a impartir; recordando que a la hora de desarrollar aplicaciones móviles, hay
que tener lo que la escalabilidad y todas sus ventajas. las aplicaciones móviles según la información que
imparten se dividen en dos grupos, aplicaciones móviles autocontenidas y las aplicaciones con conexión a
Internet.