La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Software Libre para Ambientes Móviles M.C. Juan Carlos Olivares Rojas Pátzcuaro, Michoacán, 29 de abril de 2014.

Presentaciones similares


Presentación del tema: "Ingeniería de Software Libre para Ambientes Móviles M.C. Juan Carlos Olivares Rojas Pátzcuaro, Michoacán, 29 de abril de 2014."— Transcripción de la presentación:

1 Ingeniería de Software Libre para Ambientes Móviles M.C. Juan Carlos Olivares Rojas Pátzcuaro, Michoacán, 29 de abril de 2014

2 Agenda Introducción Aplicación de Ingeniería de Software Cierre

3 Tecnología Móvil El mundo jamás se quedará quieto… Tecnología Disruptiva

4 Computación… Vivimos en la era Post-PC…

5 ¿Qué es esto?

6 Drones https://www.youtube.com/watch?v=aGqvEE-oxkA

7 Ambientes Móviles

8 ¿Ambiente Móvil?

9 Ambientes Móviles Los dispositivos móviles son una extensión más de nosotros

10 Ambientes Móviles Dispositivos “Smart” e Interconectados Siempre

11 Cómputo Ubicuo

12 Cómputo en todo

13 Cómputo “Vestible”

14 Ambientes Dinámicos

15 Software is Eating the World

16 Tendencias Tecnológicas “En los próximos 10 años habrá muchos mas cambios que en los últimos 100 años” Bill Gates

17 Estadísticos… 5,200 millones de teléfonos celulares por 6,900 millones de personas. Más teléfonos móviles que cepillos de dientes. 1,000 millones de personas tienen Internet en casa 1,600 millones de personas tienen Internet en dispositivos móviles

18 Crecimiento de 2010 a 2020 Fuente: U.S. Bureau of Labor Statistics’ 2012-2013 Occupational Outlook Handbook

19 Tendencias 2014 Gartner Web-Scale IT Smart Machines 3D Printing The Era of Personal Cloud Software-Defined Anything

20 Tendencias 2014 Gartner Mobile Device Diversity and Management (BYOD) Mobile Apps and Applications The Internet of Everything Hybrid Cloud & IT as a Services Broker Cloud/Client Architecture

21 Tendencias Tecnológicas

22 Evolución de las Interfaces de Usuario

23 Innovación… 1999 Blackberry Pager 2000 Primer Smartphone En 2010 tenía el 43% del mercado… El año pasado (2013) solo el 4%

24 Adaptación

25 Agenda Introducción Aplicación de Ingeniería de Software Cierre

26 Ing. de Software Herramientas Métodos Procesos Enfoque de Calidad

27 Software La suma total de los programas de cómputo, procedimientos, reglas de documentación y datos asociados que forman parte de las operaciones de un sistema de cómputo [IEEE Computer Society Press, 1993].

28 ¿Cómo es nuestro Software?

29 Ing. de Software

30 Software hoy en día Mito: los programadores de ahora ya no programan como los de antes. Herramientas más fáciles y productivas El software es cada día más complejo

31 Negocio del Desarrollo de Software 80% Desarrollo de Software es para mantenimiento. 90% del Desarrollo de Software es hecho a la medida. Por lo tanto se necesita de un código simple, legible y bien diseñado para que en un futuro pueda ser extensible.

32 ¿Por qué programamos Objetos? Permite un mayor reuso El reuso evita programar de más Programando menos se cometen menos errores Teniendo menos errores se logra calidad

33 Los modelos no tienen la culpa… “Los culpables son los que los eligen sin saber para qué… pensando en cumplir con la certificación” Los procesos no están peleados con la innovación.

34 Problemática “Casas de Perros” Proyectos Escolares SIN ARQUITECTURA Poco $ Casas Proyecto de PyMES ARQUITECTURAS SIMPLES Rentable $ Edificios Grandes Corporativos ARQUITECTURAS COMPLEJAS Mucho $$$$

35 Ing. de Software para Ambientes Móviles Los bibliografía especializada apenas empieza a tratatar este tópico. Ya empieza a haber cursos específicos del tema.

36 Ing. de Software Libre Mucho del paradigma de Desarrollo de Software Libre se ha integrado a las “mejores prácticas” de la Ing. de Software Tradicional

37 Malas Prácticas Ventanas Rotas “Código mutante” “Diseño roto”

38 Malos Olores BAD SMELLREFACTORING PROPUESTO CODIGO DUPLICADOEXTRAER EL MÉTODO SUBIR VARIABLES SUSTITUIR EL ALGORITMO MÉTODOS LARGOSEXTRAER EL MÉTODO INTRODUCIR OBJETOS COMO PARÁMETROS REEMPLAZAR EL MÉTODO CON UN OBJETO MÉTODO CLASES GRANDESEXTRAER CLASES EXTRAER SUBCLASES CARACTERÍSTICA DE LA “ENVIDIA”MOVER MÉTODO CLASES “PEREZOSAS”COLAPSAR JERARQUÍAS

39 Metodologías Historias de Usuario Criterios de pruebas de aceptación Plan de Iteraciones Diseño simple Tarjetas CRC Spikes Prototipos Programación en pares Pruebas de Unidad Entregas de Software Incrementales Velocidad del Proyecto Medible PlaneaciónDiseño Pruebas Pruebas de Aceptación Codificación Refactoring Integración Contínua

40 Consideraciones del Entorno

41 Herramientas Nativas Híbridas Web

42 Diseño El diseño no es cómo se ve… es como funciona Algoritmos Estructura de Datos Programas 9. Las estructuras de datos inteligentes y el código burdo funcionan mucho mejor que el caso inverso.

43 Pruebas de Software Especificación Formal Código Mundo Real Validación Verificación 8.Ley de Linus

44 Pruebas de Software Utilizar la nube. Usar datos de prueba reales. Utilizar dispositivos reales

45 Especificación Formal OCL (Lenguaje de Restricción de Objetos)

46 Mejores Prácticas Entornos de Desarrollo Integrados Control de Versiones Pruebas Automatizadas Documentación Funcional

47 Agilidad Documentación rápida

48 Modelado 13. “La perfección (en diseño) se alcanza cuando ya no hay nada que agregar, sino cuando ya no hay nada que quitar”.

49 Arquitecturas y Patrones Patrón Arquitectónico MVC (Modelo- Vista- Controlador) 2. Los buenos programadores saben que escribir. Los mejores, qué reescribir (y reutilizar).

50 Mejores Prácticas Diseño de la Experiencia del Usuario (UX) Utilización de Lenguajes de Modelado y especificaciones formales Código Limpio

51 Tomar en consideración todos los warnigs, de preferencia tratarlos como errores. Codificar con propósito. Realizar funciones que se van a ocupar. No realizar código de más.

52 Código Claro ¿qué hay de malo en el siguiente código? for(int i=0; i<size(); i++) a = (b+c) / i; Eliminar evaluaciones innecesarias: int tmp = b+c; int s = size(); for(int i=0; i<s; i++) a = tmp / i; 52

53 Código Claro ¿Que hay de malo en el siguiente código? b = Math.abs(a) * c; d = e / (Math.abs(a) + b); Eliminar subexpresiones comunes: int tmp = Math.abs(a); b = tmp * c; d = e / (tmp + b); 53

54 Código Claro ¿Qué hay de malo en el siguiente código? for (int i=0; i <1000; i++) a = obj.b * i; Aprovechar las variables locales: int localb = obj.b; for (int i=0; i <1000; i++) a = localb * i; 54

55 Agenda Introducción Aplicación de Ingeniería de Software Cierre

56 Retos Sistemas Embebidos Sistemas de Tiempo Real Sistemas Distribuidos Sensibles al Contexto 17. Un sistema de seguridad es tan seguro como secreto. Cuídese de los secretos a medias.

57 Consciencia del dispositivo Sistemas Conscientes del Contexto ¿Donde? WHERE ¿Quién? WHO Realizar servicios solos Realizar servicios coordinados ¿Cuándo? WHEN ¿Qué? WHAT ¿Cómo? HOW

58 RETOS

59 LBS Sistemas Basados en Localización ¿Dónde estoy? ¿Qué está cerca de?¿Cómo puedo ir a?

60 Tópicos de Interés Entornos de Desarrollos de Sw (PSP/TCP/CMMI/COBIT/ITIL) Desarrollo de Software Ágil (Metodologías de Desarrollo Adaptativas) Patrones de Análisis y Diseño

61 Tópicos de Interés Reingeniería y Reuso de Software Pruebas y Mantenimiento de Software Seguridad en el Desarrollo de Software Métricas y Estimación de Software

62 Conclusiones El mercado de TI requiere profesionistas competentes en el desarrollo de software para ambientes dinámicos. ¿Estamos preparados para enfrentar los retos tecnológicos? La Ingeniería de Software es vital!!!

63 Conclusiones Se ocupa adaptar el proceso de Desarrollo de Software a cualquier tipo de ambiente. Es importante innovar pero también es importante documentar dichas mejoras. Se ocupan de habilidades adicionales: lengua extranjera, liderazgo, relaciones humanas, …

64 ¿Preguntas? jcolivares@itmorelia.edu.mx MSN: juancarlosolivares@hotmail.comjuancarlosolivares@hotmail.com /juancarlosolivaresrojas @jcolivares http://dsc.itmorelia.edu.mx/~jcolivares


Descargar ppt "Ingeniería de Software Libre para Ambientes Móviles M.C. Juan Carlos Olivares Rojas Pátzcuaro, Michoacán, 29 de abril de 2014."

Presentaciones similares


Anuncios Google