Desarrollo

Móvil

Integral

>

_

Dr. Alfredo de Jesús Gutiérrez Gómez

Presentación

Instrucciones para la presentación

1.  Piense en el nombre de un animal que inicie con la primera letra de su nombre.

2. Este no deberá repetirse.

3. Al presentarse deberá completar la siguiente frase: Mi nombre es: _______ y he venido sobre un/a: _______ a la escuela desde _____

4. Dar respuesta a las preguntas:

4.1  ¿Porqué estudio está carrera?

4.2  ¿Qué me ha gustado de la carrera hasta ahora?

Temas del curso

Unidad 1. Definición del proceso de desarrollo móvil

  • Selección de metodología ágil.
    • Reconocer las características de las metodologías de desarrollo ágiles.
  • Especificación de la arquitectura.
    • Reconocer los modelos de arquitecturas de software.
    • Reconocer las herramientas de modelado de software.
  • Selección de patrones de diseño.
    • Reconocer las características de los patrones de diseño.
  • Selección de frameworks.
    • Reconocer los principales frameworks de desarrollo móvil.

Temas del curso

Unidad 1. Definición del proceso de desarrollo móvil

  • Estrategia de versionamiento
    • Reconocer las características de los sistemas de control de versiones.
    • Reconocer las plataformas y herramientas de versionamiento a utilizar.
    • Reconocer los flujos de trabajo y sus características  para el control de versiones.

Temas del curso

Unidad 2. Integración de servicios en la nube

  • Especificación de principios de codificación segura.
    • Reconocer los lineamientos de la protección de datos personales en aplicaciones móviles.
    • Reconocer los principios de codificación segura en el desarrollo de aplicaciones móviles.
    • Identificar los puntos de vulnerabilidad en aplicaciones móviles.
    • Identificar mecanismos de cifrado de datos en el intercambio de información.

Temas del curso

Unidad 2. Integración de servicios en la nube

  • Integración de aplicaciones móviles con servicios en la nube.
  • Reconocer los conceptos de servicios en la nube aplicables al desarrollo móvil.
  • Identificar API’s de terceros aplicables al desarrollo móvil.
  • Identificar los mecanismos de integración segura con servicios en la nube:
  • - Consumo de datos
  • - Envío de datos
  • - Autentificación remota

Temas del curso

Unidad 3. Pruebas y liberación del desarrollo móvil

  • Pruebas de software en aplicaciones móviles.
  • Reconocer los tipos de pruebas de software.
  • Identificar los esquemas de pruebas en modo debug y release.
  • Permisos de las aplicaciones.
  • Identificar las políticas de permisos de las plataformas móviles:
    • Cámara.
    • Micrófono.
    • GPS.
    • Almacenamiento.
    • Contactos.
    • SMS.
    • Llamadas.

Temas del curso

Unidad 3. Pruebas y liberación del desarrollo móvil

  • Distribución de aplicaciones móviles.
    • Identificar las políticas y normativa aplicable en la distribución de Apps en tiendas virtuales:
      • Play Store.
      • App Store.
      • App Gallery.
  • Diferenciar las herramientas de liberación del software en servidores propios y tiendas virtuales.
    • Identificar los modos de distribución de Apps:
      • Interno
      • Privado
      • Público

Políticas de clase

  • Teléfono móvil en modo silencio.
  • Las llamadas urgentes /prio se contestan fuera del salón.
  • Turnos de una sola persona para ir al WC.
  • Dos faltas a la semana sin justificante perderían derecho a las cuestiones de aprendizaje.
  • Levantar la mano para participar.
  • Respetar la participación de cada alumno.

Lineamientos de clase

  • Mantenerse informado acerca de las lecturas, actividades y tareas del curso asistiendo por lo menos dos veces por semana, durante la duración del curso.
  • Cumplir dentro del aula virtual con todas las tareas, foros y actividades detalladas por el programa académico y el profesor, en el tiempo y forma establecidos.
  • El incumplimiento de las tareas en tiempo y forma llevarán a una no aprobación del curso.

Lineamientos de clase

  • Mantenerse informado acerca de las actividades del curso asistiendo mínimo dos veces por semana, durante la duración del curso.
  • Cumplir dentro del aula virtual con todas las tareas, en el tiempo y forma establecidos.
  • El incumplimiento de las tareas en tiempo y forma llevarán a una no aprobación del curso.

  • Realizar el seguimiento personal desde el Aula Virtual.

  • Estar pendiente de los resultados de las evaluacion/es parcial/es y final/es.

  • Notificar al tutor por escrito, con copia a la coordinación académica, si, por alguna razón excepcional, se encontrara en una circunstancia especial que le impidiera continuar con el curso y recibir así indicaciones de cómo proceder a partir de ese momento.

Descripción de las actividades

Unidad 1. Definición del proceso de desarrollo móvil

  • Trabajo
  • Asistencia
  • Propuesta de proyect
  • Cuestionamientos de aprendizaje

Descripción de las actividades

Unidad 2. Integración de servicios en la nube

  • Asistencia
  • Trabajo
  • Avance proyecto
  • Cuestionamientos de aprendizaje

Descripción de las actividades

Unidad 3. Pruebas y liberación del desarrollo móvil

  • Trabajos
  • Asistencias
  • presentación proyecto
  • documentación proyecto
  • ranking de proyecto
  • Cuestionamientos de aprendizaje

Actividades de encuadre

Actividades de encuadre

Instrucciones:

  1.  En una hoja escribe la respuesta a la siguiente pregunta:
    1. ¿Qué esperas que se enseñe en este curso?

Tiempo de la actividad: 6 minutos.

Actividades de encuadre

Instrucciones:

  1.  Debajo de la pregunta anterior responde la siguiente cuestión:
    1. ¿A qué te comprometes en este curso?

Tiempo de la actividad: 6 minutos.

Actividades de encuadre

Instrucciones:

  1.  Debajo de la pregunta anterior responde la siguiente cuestión:
    1. ¿Qué deseas aprender en este curso?

Tiempo de la actividad: 6 minutos.

Actividades de encuadre

Una vez contestadas las preguntas anteriores, sigue los siguientes pasos:

  1.  Pulsa aquí para unirte al grupo.
  2. Toma una foto de las respuestas que escribiste en tu libreta
  3. Sube la foto al apartado de la actividad en el grupo.

Recomendaciones para las actividades

Trabajos:

  • Presentación / portada
  • Introducción
  • Conclusión

Párrafos:

  • Mayores a tres líneas
  • Menores a ocho líneas
  • Coherencia entre párrafos

Ortografía - Gramática

  • Acentuación.
  • Evitar redundancia.
  • Pleonasmos.
  • Mínimo tres errores.

Recomendaciones para las actividades

Referencias bibliográfica

  • Al menos tres citas dentro del trabajo.
  • En formato APA 7ma edición.

Lista referencia bibliográfica

  • Al menos tres fuentes de diversos autores.
  • Con sangría francesa al inicio de cuatro espacios.
  • Fuente Times New Roman.
  • 12 puntos.
  • Sin enlaces activos.

Recomendaciones para las actividades

Introducción y conclusión

  • Al menos tres párrafos.

Formato del trabajo

  • Fuente Arial.
  • Tamaño de título: 14 puntos.
  • Tamaño de texto: 12 puntos.
  • Interlineado 1.5
  • Alineación justificada del texto.
  • Los títulos alineados a la izquierda.
  • En el encabezado del documento colocar el logotipo del instituto alineado a la derecha. Nombre de la carrera a la izquierda.

Recomendaciones para las actividades

Diagramas:

  • Hacerlos en día.
  • Exportarlos a jpg / png

Códigos fuentes:

  • Colocarlos en github.
  • En el documento a entregar, colocar el enlace al código.

Tablas:

  • Colocarle al pie de la tabla un nombre a la tabla, bajo el siguiente formato:  <nombre_tabla numero consecutivo>. <nombre_tabla> <fuente:> <donde_fue_tomada> .
  • Colocar un párrafo descriptivo

Recomendaciones para las actividades

Imagenes / diagramas / gráficas:

  • Colocarle al pie de la imagen / diagrama / gráfica un nombre, bajo el siguiente formato:  <nombre_objeto numero consecutivo>. <nombre_objeto> <fuente:> <donde_fue_tomada> .
  • Colocar un párrafo donde se describa la imagen / diagrama / gráfica

¿Dudas / Preguntas / comentarios?

Metodologías 

Ágiles

¿Qué es la metodología Agíl?

  • Es un conjunto de técnicas aplicadas en ciclos de trabajo cortos, con el objetivo de que el proceso de entrega de un proyecto sea más eficiente.
  • Así, con cada etapa completada, ya se pueden entregar avances y se deja de lado la necesidad de esperar hasta el término del proyecto.

¿para qué sirve metodología Agíl?

  • optimización del flujo de trabajo; 
  • aumento de la productividad del equipo; 
  • mayor satisfacción del cliente. 

¿en qué usarla metodología Agíl?

  • proyectos cuya solución técnica se desconoce:
    • suele pasar con aquellas tareas que los equipos no han emprendido antes o cuando se trata de innovaciones;
  • proyectos de alta complejidad y que requieren del trabajo cooperativo de varias personas o departamentos;
  • proyectos urgentes y que necesitan de un flujo de trabajo dinámico y donde los cambios constantes sean bienvenidos.

Tipos de M. Agil

Kanban

  • Es un seguimiento visual del progreso del proyecto en un panel de tareas.
    • Mediante tarjetas de señalización (Post-It® o plataformas online) es posible identificar de forma clara y rápida el estado actual de las tareas, lo que se debe hacer y lo que ya se ha terminado.

Tipos de M. Agil

Kanban

  • No se propone un cambio en los procesos o estrategias que el negocio está acostumbrado a desempeñar.
  • La organización de todas las tareas y subtareas del proyecto, de forma visual, ayuda a que todos tengan claro cuál es el flujo de trabajo a seguir y que cada proceso se realice en el orden correcto.

Tipos de M. Agil

Scrum

  • Se basa en ciclos de trabajo o sprints –que pueden durar desde semanas hasta meses– en los que se entrega alguna parte del proyecto.

  • En cada nuevo sprint se genera una versión del producto que supera a la anterior.

  • El pilar fundamental es que todas las decisiones se toman en función de la información existente y de la propia experiencia de los integrantes del equipo.

  • Este método, incluye la realización de reuniones periódicas para motivar al equipo, así como para realizar los ajustes necesarios

Tipos de M. Agil

Xtreme Programing

  • Concebida específicamente para desarrollar software. Para este fin, todo proyecto que funcione con base en XP cuenta con los roles:

    • de líder ágil,

    • cliente,

    • programador y

    • tester;

  • cada uno de ellos con papeles indispensables.

  • XP se asemeja a Scrum en que plantea cambios frecuentes y ciclos breves en los cuales se entregan nuevas versiones de un proyecto

Tipos de M. Agil

Lean

  • Utiliza únicamente las herramientas que sean necesarias para la evolución del proyecto.

    • ¿Para qué? Para maximizar el valor para el cliente y minimizar el desperdicio de tiempo y recursos de la organización.

       

Tipos de M. Agil

Nexus

  • Complementaria que contribuye a la implementación de Scrum.
  • Está orientada al desarrollo de software y soporte de productos escalables que necesitan que un personal amplio se involucre.
  • Con Nexus, es posible entrelazar múltiples equipos Scrum que trabajan de forma colaborativa sobre un solo portafolio de productos. 

Tipos de M. Agil

Cabe destacar que, una vez que se domine las metodologías ágiles y se entienda su correcta aplicación, no tienes por qué limitarte a solo una de ellas. Es normal que las empresas opten por híbridos donde se combinen elementos de diferentes metodologías.

Actividad de aprendizaje

Resuelve el siguiente ejercicio haciendo clic aqui

Especificación de la Arq.

  • Es la definición de la estructura de un sistema de software, incluyendo los componentes principales, las relaciones entre ellos, y cómo interactúan para cumplir con los requisitos.
  • La especificación de la arquitectura asegura que el diseño sea adecuado para los objetivos del proyecto y las restricciones técnicas, como el rendimiento, la escalabilidad, y la seguridad.

Especificación de la Arq. | Aspectos Claves

Recolección de requisitos

Define claramente los objetivos del sistema y los requisitos funcionales y no funcionales (rendimiento, seguridad, escalabilidad).

Identificación de componentes clave

Determina los módulos o servicios principales que conformarán el sistema (bases de datos, interfaces, APIs, etc.).

Especificación de la Arq. | Aspectos Claves

Definir interacciones y dependencias

Especifica cómo interactúan los componentes entre sí y con usuarios externos o sistemas.

Elección de patrones arquitectónicos

Elige un modelo adecuado (monolítico, cliente-servidor, microservicios, etc.).

Especificación de la Arq. | Aspectos Claves

Consideraciones tecnológicas

Selecciona las tecnologías y herramientas que mejor se adapten a los requisitos.

Documentación y diagrama

Representa visualmente la arquitectura y documenta las decisiones tomadas.

Validación y revisión

Revisa y valida la arquitectura con el equipo y partes interesadas.

Reconocer los modelos de arq. de software

Monolítica

Toda la funcionalidad se encuentra en una sola unidad de software.

Cliente-Servidor

La interacción ocurre entre un cliente y un servidor.

Reconocer los modelos de arq. de software

Microservicios

El sistema se divide en pequeños servicios independientes que se comunican entre sí.

Capas

Separación de responsabilidades en capas (presentación, lógica de negocio, acceso a datos).

Reconocer los modelos de arq. de software

Microservicios

El sistema se divide en pequeños servicios independientes que se comunican entre sí.

Capas

Separación de responsabilidades en capas (presentación, lógica de negocio, acceso a datos).

Herramientas para el modelado de software

Instrucciones

  1. Googlea Frexus.
  2. Selecciona la opción: Generando Valor Agregado.
  3. Ve a la sección de academia.
  4. Busca el nombre de la materia y has clic en ella
  5. En la sección de recursos lee el que tiene el nombre de: Herramientas.

Herramientas para el modelado de software

StarUml

Soporta diagramas UML (Unified Modeling Language) y otras notaciones de modelado como SysML y ERD.

Descripción

  • GUI moderna y personalizable.
  • Soporta extensiones para agregar funcionalidades.

Características

No es totalmente libre, pero tiene una versión accesible para uso personal.

Licencia

Herramientas para el modelado de software

Modelio

Herramienta gratuita y de código abierto para modelado de software.

Descripción

  • Soporta UML, BPMN, y casos de uso.
  • Permite modelado de bases de datos.
  • Tiene soporte para generación de código y documentación.

Características

No es totalmente libre, pero tiene una versión accesible para uso personal.

Licencia

Herramientas para el modelado de software

Modelio

Herramienta gratuita y de código abierto para modelado de software.

Descripción

  • Soporta UML, BPMN, y casos de uso.
  • Permite modelado de bases de datos.
  • Tiene soporte para generación de código y documentación.

Características

GPLv3

Licencia

Herramientas para el modelado de software

ArgoUML

Herramientas UML más antiguas y populares en la comunidad de código abierto.

Descripción

  • Soporta la mayoría de los diagramas UML 1.4.
  • Disponible para múltiples plataformas.

Características

Open Source (BSD).

Licencia

Herramientas para el modelado de software

Umbrello

Herramienta para diagramas UML integrada con el entorno de desarrollo KDE.

Descripción

  • Soporta UML 2.0.
  • Compatible con Linux y Windows.
  • Útil para desarrolladores que usan entornos KDE o similares.

Características

GPL

Licencia

Herramientas para el modelado de software

Dia

Herramienta general para crear diagramas, incluidos los diagramas UML.

Descripción

  • Ligera y fácil de usar.
  • Soporta múltiples tipos de diagramas: UML, diagramas de flujo, ERD.

Características

GPL

Licencia

Herramientas para el modelado de software

PlantUML

Herramienta de modelado basada en texto que convierte especificaciones de texto en diagramas UML.

Descripción

  • Integraciones con control de versiones y generación de diagramas automáticos.
  • Compatible: IntelliJ IDEA, Eclipse, y VS Code.

Características

Open Source (GPL).

Licencia

Herramientas para el modelado de software

Graphviz

Herramienta de visualización de gráficos que es utilizada para generar diagramas de flujo y otras representaciones visuales de datos.

Descripción

  • Basada en texto para describir los gráficos.
  • Se utiliza para diagramas de dependencias y relaciones.

Características

EPL

Licencia

Herramientas para el modelado de software

OpenModelica

Herramienta para modelado y simulación de sistemas dinámicos.

Descripción

  • Orientada a simulaciones y modelado de sistemas físicos complejos.

Características

OSMC Public License.

Licencia

Herramientas para el modelado de software

Papyrus

Herramienta para modelado UML basada en Eclipse

Descripción

  • Extensible mediante plugins.
  • Compatible con estándares UML2 y SysML.

Características

Eclipse Public License.

Licencia

Herramientas para el modelado de software

BOUML

Herramienta de modelado UML y generación de código

Descripción

  • Ligero y muy rápido.
  • Soporta extensiones y generación de código para múltiples lenguajes.

Características

GPL

Licencia

Herramientas para el modelado de software

Actividad de aprendizaje

Pulsa aquí para resolver la siguiente actividad