mejores prácticas en el desarrollo del software

24
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. Desarrollo del software

Upload: jorge-alberto-lorenzo-losada

Post on 15-Apr-2017

298 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Mejores Prácticas en el Desarrollo del Software

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.

Desarrollo del software

Page 2: Mejores Prácticas en el Desarrollo del Software

Mejores prácticasDesarrollo iterativo

Desarrollo iterativo e incremental:

◦ No se realiza una sola entrega del sistema sino una serie de entregas, cada una con sus funcionalidades incrementadas.

+ + =

Page 3: Mejores Prácticas en el Desarrollo del Software

Mejores prácticasDesarrollo iterativoAná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

Page 4: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasDesarrollo iterativo

Análisis DiseñoCodificación

Prueba de integracion

Entrega

Page 5: Mejores Prácticas en el Desarrollo del Software

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).

Mejores prácticasDesarrollo iterativo

Análisis DiseñoCodificación

Prueba de integracion

Entrega

Page 6: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasGestión de los requerimientos

Page 7: Mejores Prácticas en el Desarrollo del Software

¿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.

Mejores prácticasGestión de los requerimientos

Page 8: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasGestión de los requerimientos

Page 9: Mejores Prácticas en el Desarrollo del Software

Soluciones a los problemas del desarrollo:

◦ Facilita la detección de inconsistencias.◦ Utilizando la herramienta adecuada es

posible mantener un repositorio de requerimientos.

Mejores prácticasGestión de los requerimientos

Page 10: Mejores Prácticas en el Desarrollo del Software

Componente: ◦ Pieza de software que encapsula funcionalidad.

Mejores prácticasUso de arquitecturas basadas en

componentes.

Gestión de Clientes

UML 1.x y reconocido en UML 2.0 por compatibilidad hacia atrás UML 2.0

Page 11: Mejores Prácticas en el Desarrollo del Software

Una arquitectura basada en componentes define:

◦ La organización de una aplicación o conjunto de aplicaciones.

◦ Elementos estructurales e interfaces entre ellos.

Mejores prácticasUso de arquitecturas basadas en

componentes.

Page 12: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasUso de arquitecturas basadas en

componentes.

Page 13: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasUso de arquitecturas basadas en

componentes.

Page 14: Mejores Prácticas en el Desarrollo del Software

Modelo:

◦ Simplificación de la realidad que describe un sistema desde una perspectiva particular.

Mejores prácticasModelado visual.

Page 15: Mejores Prácticas en el Desarrollo del Software

Octubre 2009Jorge Alberto Lorenzo Losada

[email protected]

Mejores prácticasModelado visual.

Modelo

Ayuda a razonar y sacar conclusiones

Puede extenderse para abarcar otros modelos posibles

Permite compartir el conocimiento acerca de una situación real

Page 16: Mejores Prácticas en el Desarrollo del Software

Modelado desde distintas perspectivas:

Mejores prácticasModelado visual.

Page 17: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasModelado visual.

Page 18: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasModelado visual.

Page 19: Mejores Prácticas en el Desarrollo del Software

Arreglar los problemas del software se torna más caro cuanto más tarde se los trate:

Mejores prácticasComprobación continua de la

calidad

Page 20: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasComprobación continua de la

calidad

Page 21: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasComprobación continua de la

calidad

Page 22: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticasControl de los cambios.

Page 23: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticas Control de los cambios.

Page 24: Mejores Prácticas en el Desarrollo del Software

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.

Mejores prácticas Resumen