SlideShare una empresa de Scribd logo
1 de 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 iterativo e incremental:
◦ No se realiza una sola entrega del sistema sino
una serie de entregas, cada una con sus
funcionalidades incrementadas.
+ + =
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
 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
 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
 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.
 ¿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.
 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.
 Soluciones a los problemas del
desarrollo:
◦ Facilita la detección de inconsistencias.
◦ Utilizando la herramienta adecuada es posible
mantener un repositorio de requerimientos.
 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
 Una arquitectura basada
en componentes define:
◦ La organización de una
aplicación o conjunto
de aplicaciones.
◦ Elementos
estructurales e
interfaces entre ellos.
 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.
 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.
 Modelo:
◦ Simplificación de la realidad que describe un
sistema desde una perspectiva particular.
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
 Modelado desde distintas perspectivas:
 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.
 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.
 Arreglar los problemas del software se torna más
caro cuanto más tarde se los trate:
 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.
 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.
 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.
 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 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.

Más contenido relacionado

La actualidad más candente

Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Cascada con subproyectos
Cascada con subproyectosCascada con subproyectos
Cascada con subproyectos
Diego Porras
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
Julio Pari
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
Juan Ravi
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!
Cristian Sánchez
 

La actualidad más candente (20)

Reglas de Oro
Reglas de OroReglas de Oro
Reglas de Oro
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptx
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
8.realizacion de pruebas
8.realizacion de pruebas8.realizacion de pruebas
8.realizacion de pruebas
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Programación Extrema - XP
Programación Extrema - XPProgramación Extrema - XP
Programación Extrema - XP
 
Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Cascada con subproyectos
Cascada con subproyectosCascada con subproyectos
Cascada con subproyectos
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
Caja blanca
Caja blancaCaja blanca
Caja blanca
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Métodos Formales
Métodos FormalesMétodos Formales
Métodos Formales
 
Prueba de Caja Blanca
Prueba de Caja BlancaPrueba de Caja Blanca
Prueba de Caja Blanca
 
La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!
 
Ciclo de vida clasico
Ciclo de vida clasicoCiclo de vida clasico
Ciclo de vida clasico
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de software
 
Desarrollo de software orientado a objetos
Desarrollo de software orientado a objetosDesarrollo de software orientado a objetos
Desarrollo de software orientado a objetos
 

Destacado

Competencia no.7 calidad
Competencia no.7   calidadCompetencia no.7   calidad
Competencia no.7 calidad
mileing
 
Buenas Practicas De Programacion Vb 6
Buenas Practicas De Programacion Vb 6Buenas Practicas De Programacion Vb 6
Buenas Practicas De Programacion Vb 6
UVM
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
Reivaj Sagarv
 
Qué es ITIL
Qué es ITILQué es ITIL
Qué es ITIL
Tecnofor
 
La tecnología a través del tiempo
La tecnología a través del tiempoLa tecnología a través del tiempo
La tecnología a través del tiempo
NicoLl Carrasquilla
 

Destacado (20)

Buenas practicas para el desarrollo de software
Buenas practicas para el desarrollo de softwareBuenas practicas para el desarrollo de software
Buenas practicas para el desarrollo de software
 
Buenas prácticas para la construcción de software
Buenas prácticas para la construcción de softwareBuenas prácticas para la construcción de software
Buenas prácticas para la construcción de software
 
Guía de buenas prácticas para desarrolladores web
Guía de buenas prácticas para desarrolladores webGuía de buenas prácticas para desarrolladores web
Guía de buenas prácticas para desarrolladores web
 
Competencia no.7 calidad
Competencia no.7   calidadCompetencia no.7   calidad
Competencia no.7 calidad
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TI
 
TI en negocios de servicio
TI en negocios de servicioTI en negocios de servicio
TI en negocios de servicio
 
Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Buenas Practicas De Programacion Vb 6
Buenas Practicas De Programacion Vb 6Buenas Practicas De Programacion Vb 6
Buenas Practicas De Programacion Vb 6
 
Analisis de sistemas: nucleo 2
Analisis de sistemas: nucleo 2Analisis de sistemas: nucleo 2
Analisis de sistemas: nucleo 2
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBA
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Estandares de Codigo (Emanuel)
Estandares de Codigo (Emanuel)Estandares de Codigo (Emanuel)
Estandares de Codigo (Emanuel)
 
Modelo Incremental, victor mamani catachura, boreasH
Modelo Incremental, victor mamani catachura, boreasHModelo Incremental, victor mamani catachura, boreasH
Modelo Incremental, victor mamani catachura, boreasH
 
Especificacion De Requerimentos De Software
Especificacion De  Requerimentos De SoftwareEspecificacion De  Requerimentos De Software
Especificacion De Requerimentos De Software
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
 
Qué es ITIL
Qué es ITILQué es ITIL
Qué es ITIL
 
Mejores Prácticas en la Gestión Estratégica de TI
Mejores Prácticas en la Gestión Estratégica de TIMejores Prácticas en la Gestión Estratégica de TI
Mejores Prácticas en la Gestión Estratégica de TI
 
ITIL
ITILITIL
ITIL
 
ITIL
ITILITIL
ITIL
 
La tecnología a través del tiempo
La tecnología a través del tiempoLa tecnología a través del tiempo
La tecnología a través del tiempo
 

Similar a Mejores Prácticas en el Desarrollo del Software

Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo V
VivitaGranizo
 
Emilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo vEmilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo v
VivitaGranizo
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo v
VivitaGranizo
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
Miguel Castro
 

Similar a Mejores Prácticas en el Desarrollo del Software (20)

Desarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidorDesarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidor
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo V
 
Emilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo vEmilio granizo proceso unificado y modelo v
Emilio granizo proceso unificado y modelo v
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo v
 
Proceso unificado y modelo v
Proceso unificado y modelo vProceso unificado y modelo v
Proceso unificado y modelo v
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
 
-Irina
-Irina-Irina
-Irina
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de software
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
Proceso software
Proceso softwareProceso software
Proceso software
 
Proceso unificado de desarrollo de software
Proceso unificado de desarrollo de softwareProceso unificado de desarrollo de software
Proceso unificado de desarrollo de software
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Analisis y diseño de sistemas proceso unificado henriquez malla santiago alberto
Analisis y diseño de sistemas proceso unificado henriquez malla santiago albertoAnalisis y diseño de sistemas proceso unificado henriquez malla santiago alberto
Analisis y diseño de sistemas proceso unificado henriquez malla santiago alberto
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 
Semana11.pdf
Semana11.pdfSemana11.pdf
Semana11.pdf
 
Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4
 
Modelos de procesos de software(completo)
Modelos de procesos de software(completo)Modelos de procesos de software(completo)
Modelos de procesos de software(completo)
 

Más de Jorge Alberto Lorenzo Losada

Más de Jorge Alberto Lorenzo Losada (20)

Kanban - Tercera Parte - Visualizar - Tablero Kanban
Kanban - Tercera Parte - Visualizar - Tablero KanbanKanban - Tercera Parte - Visualizar - Tablero Kanban
Kanban - Tercera Parte - Visualizar - Tablero Kanban
 
Kanban Segunda Parte
Kanban Segunda ParteKanban Segunda Parte
Kanban Segunda Parte
 
Kanban
KanbanKanban
Kanban
 
EAI - Patrones de Integración
EAI - Patrones de IntegraciónEAI - Patrones de Integración
EAI - Patrones de Integración
 
EAI Segunda parte
EAI Segunda parteEAI Segunda parte
EAI Segunda parte
 
Enterprise Application integration
Enterprise Application integrationEnterprise Application integration
Enterprise Application integration
 
ESB
ESBESB
ESB
 
SOA ciclo de vida
SOA ciclo de vidaSOA ciclo de vida
SOA ciclo de vida
 
SOA - Introducción
SOA - IntroducciónSOA - Introducción
SOA - Introducción
 
Orientación a Servicios
Orientación a ServiciosOrientación a Servicios
Orientación a Servicios
 
Spring
SpringSpring
Spring
 
Integración continua y Jenkins
Integración continua y JenkinsIntegración continua y Jenkins
Integración continua y Jenkins
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
JSON
JSONJSON
JSON
 
Microservicios, primera parte
Microservicios, primera parteMicroservicios, primera parte
Microservicios, primera parte
 
Rest
RestRest
Rest
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
JSON
JSONJSON
JSON
 
Desarrollo Orientado a Objetos
Desarrollo Orientado a ObjetosDesarrollo Orientado a Objetos
Desarrollo Orientado a Objetos
 
Estructura de las organizaciones
Estructura de las organizacionesEstructura de las organizaciones
Estructura de las organizaciones
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Mejores Prácticas en el Desarrollo del Software

  • 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.  Desarrollo iterativo e incremental: ◦ No se realiza una sola entrega del sistema sino una serie de entregas, cada una con sus funcionalidades incrementadas. + + =
  • 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.  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.  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.  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.  ¿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.  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.  Soluciones a los problemas del desarrollo: ◦ Facilita la detección de inconsistencias. ◦ Utilizando la herramienta adecuada es posible mantener un repositorio de requerimientos.
  • 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.  Una arquitectura basada en componentes define: ◦ La organización de una aplicación o conjunto de aplicaciones. ◦ Elementos estructurales e interfaces entre ellos.
  • 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.  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.  Modelo: ◦ Simplificación de la realidad que describe un sistema desde una perspectiva particular.
  • 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.  Modelado desde distintas perspectivas:
  • 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.  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.  Arreglar los problemas del software se torna más caro cuanto más tarde se los trate:
  • 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.  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.  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.  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.  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.