Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Mejores Prácticas en el Desarrollo del Software

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 24 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (20)

Anzeige

Ähnlich wie Mejores Prácticas en el Desarrollo del Software (20)

Weitere von Jorge Alberto Lorenzo Losada (20)

Anzeige

Aktuellste (20)

Mejores Prácticas en el Desarrollo del Software

  1. 1.  Seis mejores prácticas: 1. Desarrollo iterativo. 2. Gestión de los requerimientos. 3. Uso de arquitecturas basadas en componentes. 4. Modelado visual. 5. Comprobación continua de la calidad. 6. Control de los cambios.
  2. 2.  Desarrollo iterativo e incremental: ◦ No se realiza una sola entrega del sistema sino una serie de entregas, cada una con sus funcionalidades incrementadas. + + =
  3. 3. Análisis Diseño Codificación Prueba de integración Entrega Iteración 1 Iteración n Cada iteración implementa un subconjunto de la funcionalidad total. Cada iteración debe tener definida su planificación de tiempos
  4. 4.  Soluciones a los problemas del desarrollo: ◦ Los malentendidos se hacen evidentes al principio del ciclo de vida, cuando es posible reaccionar a ellos. ◦ Incentiva el feedback con el usuario permitiendo ahondar en los requerimientos. ◦ Las pruebas continuas permiten un mejor conocimiento del estado del proyecto. Análisis Diseño Codificación Prueba de integracio n Entrega
  5. 5.  Soluciones a los problemas del desarrollo: ◦ Detección temprana de inconsistencias entre los requerimientos, el diseño y la implementación. ◦ Balanceo de la distribución de la carga de trabajo en el equipo (por ejemplo equipo de pruebas). Análisis Diseño Codificación Prueba de integracio n Entrega
  6. 6.  Requerimientos: ◦ Condición o capacidad que debe cumplir una aplicación. ◦ Son “dinámicos”, cambian durante el ciclo de vida del desarrollo. ◦ La detección de los requerimientos fundamentales es un proceso continuo, no es posible completar esta tarea al comienzo del desarrollo.
  7. 7.  ¿En qué consiste la gestión de los requerimientos? ◦ Recabar ◦ Organizar ◦ Documentar ◦ Evaluar los cambios y su impacto. ◦ Documentar análisis de costo-beneficio y decisiones tomadas.
  8. 8.  Soluciones a los problemas del desarrollo: ◦ Las comunicaciones en el equipo se basan en requerimientos definidos. ◦ Facilita la priorización y filtrado de los requerimientos. ◦ Posibilita la valoración objetiva de las funcionalidades y el desempeño de la aplicación.
  9. 9.  Soluciones a los problemas del desarrollo: ◦ Facilita la detección de inconsistencias. ◦ Utilizando la herramienta adecuada es posible mantener un repositorio de requerimientos.
  10. 10.  Componente: ◦ Pieza de software que encapsula funcionalidad. Gestión de Clientes UML 1.x y reconocido en UML 2.0 por compatibilidad hacia atrás UML 2.0
  11. 11.  Una arquitectura basada en componentes define: ◦ La organización de una aplicación o conjunto de aplicaciones. ◦ Elementos estructurales e interfaces entre ellos.
  12. 12.  La definición de la arquitectura de un sistema : ◦ Permite gestionar los distintos puntos de vista existentes en un proyecto (usuarios, analistas, desarrolladores, etc.). ◦ Facilita el control del proceso de desarrollo iterativo e incremental.
  13. 13.  Soluciones a los problemas del desarrollo: ◦ La utilización de componentes facilita la creación de arquitecturas robustas. ◦ La modularidad permite una clara división de responsabilidades entre los elementos del sistema. ◦ Se favorece la reutilización del software a través de la utilización de componentes comerciales.
  14. 14.  Modelo: ◦ Simplificación de la realidad que describe un sistema desde una perspectiva particular.
  15. 15. Octubre 2009 Jorge Alberto Lorenzo Losada jorge.lorenzo@ono.com Modelo Ayuda a razonar y sacar conclusiones Puede extenderse para abarcar otros modelos posibles Permite compartir el conocimiento acerca de una situación real
  16. 16.  Modelado desde distintas perspectivas:
  17. 17.  Modelo visual: ◦ Facilita la gestión de los distintos modelos permitiendo exponer los detalles necesarios. ◦ Mejora la capacidad del equipo de gestionar la complejidad del software. ◦ Combinado con el desarrollo iterativo permite exponer, valorar y comunicar los cambios en la arquitectura. ◦ Con herramientas adecuadas es posible sincronizar los modelos con el código fuente en cada iteración.
  18. 18.  Soluciones a los problemas del desarrollo: ◦ Los diagramas de casos de uso permiten especificar el comportamiento de una no ambigua. ◦ Se captura el diseño sin ambigüedades. ◦ Quedan en evidencia las arquitecturas no modulares o rígidas. ◦ Es posible ocultar los detalles cuando es necesario.
  19. 19.  Arreglar los problemas del software se torna más caro cuanto más tarde se los trate:
  20. 20.  En cada iteración del desarrollo: ◦ Crear un plan de pruebas para cada uno de los escenarios clave. ◦ Evaluar la funcionalidad del sistema recabando los escenarios donde se han producido fallos.
  21. 21.  Soluciones a los problemas del desarrollo: ◦ La valoración del estado del proyecto se hace objetiva al basarse en los resultados de las pruebas. ◦ Se exponen las inconsistencias en los requerimientos, diseños e implementaciones. ◦ Detección temprana de los defectos del software, reduciendo el coste de arreglarlo.
  22. 22.  Coordinación de las actividades de los desarrolladores y sus equipos estableciendo workflows para la gestión de los cambios.  La coordinación permite la mejor asignación de los recursos basada en la prioridades del proyecto y sus riesgos.
  23. 23.  Soluciones a los problemas del desarrollo: ◦ Los requerimientos de cambios facilitan las comunicaciones claras. ◦ Las estadísticas de cambios proveen buenas métricas para valorar objetivamente el estado del proyecto. ◦ Permite valorar y controlar la propagación de los cambios.
  24. 24.  Mejores prácticas que permiten atacar las causas principales de los problemas en el desarrollo del software: 1. Desarrollo iterativo. 2. Gestión de los requerimientos. 3. Uso de arquitecturas basadas en componentes. 4. Modelado visual. 5. Comprobación continua de la calidad. 6. Control de los cambios.

×