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.
- Identificar las políticas y normativa aplicable en la distribución de Apps en tiendas virtuales:
- 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
- Identificar los modos de distribución de Apps:
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:
- En una hoja escribe la respuesta a la siguiente pregunta:
- ¿Qué esperas que se enseñe en este curso?
Tiempo de la actividad: 6 minutos.
Actividades de encuadre
Instrucciones:
- Debajo de la pregunta anterior responde la siguiente cuestión:
- ¿A qué te comprometes en este curso?
Tiempo de la actividad: 6 minutos.
Actividades de encuadre
Instrucciones:
- Debajo de la pregunta anterior responde la siguiente cuestión:
- ¿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:
- Pulsa aquí para unirte al grupo.
- Toma una foto de las respuestas que escribiste en tu libreta
- 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
- Googlea Frexus.
- Selecciona la opción: Generando Valor Agregado.
- Ve a la sección de academia.
- Busca el nombre de la materia y has clic en ella
- 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