Sistemas de Información: Metodos, técnicas y metodologías
Proceso de Desarrollo de Software
Proceso <ul><li>Un proceso define quien hace que cuando y como para alcanzar cierto objetivo </li></ul><ul><li>El éxito de...
Modelo de Proceso <ul><li>Define como solucionar la problemática </li></ul><ul><li>Para desarrollar SW se requiere resolve...
Modelo de proceso <ul><li>El modelo depende de un tipo de proyecto </li></ul><ul><ul><li>Primer proyecto de su tipo </li><...
Modelo de Proceso(3) <ul><li>Componentes de un modelo </li></ul><ul><ul><li>Arquitectura </li></ul></ul><ul><ul><li>Activi...
Arquitectura <ul><li>Una arquitectura de SW define la estructura general de un sistema </li></ul><ul><li>Ejemplos: </li></...
Actividad <ul><li>Una actividad es una unidad o paso básico de un proceso </li></ul><ul><li>Son las pasos necesarios para ...
Actividad(1) <ul><li>Requisitos </li></ul><ul><ul><li>Sirve para especificar los aspectos funcionales </li></ul></ul><ul><...
Actividad(2) <ul><li>Implementacion </li></ul><ul><ul><li>Codificar el sistema </li></ul></ul><ul><li>Integracion </li></u...
Métodos y Metodologías <ul><li>Los métodos definen las reglas para las transformaciones internas de las actividades </li><...
Métodos y Metodologías(1) <ul><li>Existe una gran variedad de métodos y metodologías  </li></ul><ul><li>Metodologias: </li...
Métodos y Metodologías(2) <ul><li>Estructuradas </li></ul><ul><ul><li>Descomposición funcional </li></ul></ul><ul><ul><li>...
Métodos y Metodologías(3) <ul><li>Orientadas a objetos </li></ul><ul><ul><li>Modelado de un sistema en términos de objetos...
Métodos y Metodologías(4) <ul><li>Son distintos actividad, metodo y notacion </li></ul><ul><li>Actividad: Requisitos </li>...
Estrategias <ul><li>Un plan para lograr un objetivo </li></ul><ul><li>Afectan a: La arquitectura del sistema, Orden de las...
Estrategias(1) <ul><li>Estrategias aceptadas actualmente: </li></ul><ul><ul><li>Prototipos </li></ul></ul><ul><ul><ul><li>...
Herramientas <ul><li>Aplicaciones que apoyan la administracion del proceso de software. </li></ul><ul><li>Herramientas CAS...
MODELOS DE DESARROLLO
Modelos Clásicos <ul><li>Creencias u opiniones de personas involucradas en el proyecto </li></ul><ul><li>Son: </li></ul><u...
Modelos Clásicos(1) <ul><li>Cascada </li></ul><ul><ul><li>Secuencia de actividades </li></ul></ul><ul><ul><li>Seguir hacia...
Modelos Clásicos(2) <ul><li>Incremental </li></ul><ul><ul><li>Es un desarrollo inicial de la arquitectura completa del sis...
Modelos Clásicos(3) <ul><li>Evolucionario </li></ul><ul><ul><li>Extensión del incremental </li></ul></ul><ul><ul><li>Los i...
Modelos Clásicos(4) <ul><li>Espiral </li></ul><ul><ul><li>Extensión del modelo de cascada </li></ul></ul><ul><ul><li>Se ba...
Modelos Recientes <ul><li>Ganar-Ganar </li></ul><ul><ul><li>Extiende el modelo de espiral </li></ul></ul><ul><ul><li>Consi...
Modelos Recientes(1) <ul><li>Programación extrema(XP) </li></ul><ul><ul><li>Toma los principios y practicas de programació...
Modelos Recientes(2) <ul><li>Proceso Unificado </li></ul><ul><ul><li>Basado en casos de uso </li></ul></ul><ul><ul><li>Cen...
Calidad de Software y modelos de madurez del proceso <ul><li>Calidad directamente relacionado con su proceso </li></ul><ul...
Modelos de madurez del Proceso <ul><li>Modelo de Madurez de Capacidades(CMM) </li></ul><ul><ul><li>Evaluar los procesos en...
Modelos de madurez del Proceso <ul><li>Organizacion Internacional De la Estandarizacion(ISO) </li></ul><ul><ul><li>ISO 900...
Modelos de madurez del Proceso <ul><li>Modelo de Madurez de Ingenieria de Desempeño(PEMM) </li></ul><ul><ul><li>Evaluar ni...
Modelos de madurez del Proceso <ul><li>Proceso de Software Personal(PSP) </li></ul><ul><ul><li>Esta basado en la creencia ...
Modelos de madurez del Proceso <ul><li>Proceso de Software de Equipos(TSP) </li></ul><ul><ul><li>Extiende el modelo PSP e ...
Upcoming SlideShare
Loading in …5
×

Proceso de desarrollo de software

2,555 views

Published on

  • Be the first to comment

Proceso de desarrollo de software

  1. 1. Sistemas de Información: Metodos, técnicas y metodologías
  2. 2. Proceso de Desarrollo de Software
  3. 3. Proceso <ul><li>Un proceso define quien hace que cuando y como para alcanzar cierto objetivo </li></ul><ul><li>El éxito de una empresa depende en gran medida de la definición y seguimiento de sus procesos. </li></ul><ul><li>Los sistemas software pueden llegar a ser extremadamente complejos </li></ul><ul><li>Por lo tanto es necesario contar con modelos de proceso y tecnologías adecuadas. </li></ul>
  4. 4. Modelo de Proceso <ul><li>Define como solucionar la problemática </li></ul><ul><li>Para desarrollar SW se requiere resolver ciertas fases de su proceso(ciclo de vida) </li></ul><ul><li>Aspectos a considerar: </li></ul><ul><ul><li>Conjunto de personas </li></ul></ul><ul><ul><li>Estructuras organizacionales </li></ul></ul><ul><ul><li>Reglas </li></ul></ul><ul><ul><li>Politicas </li></ul></ul><ul><ul><li>Actividades </li></ul></ul><ul><ul><li>Componentes SW </li></ul></ul><ul><ul><li>Metodologías y Herramientas </li></ul></ul>
  5. 5. Modelo de proceso <ul><li>El modelo depende de un tipo de proyecto </li></ul><ul><ul><li>Primer proyecto de su tipo </li></ul></ul><ul><ul><li>Segundo proyecto de su tipo </li></ul></ul><ul><ul><li>Variación de un proyecto </li></ul></ul><ul><ul><li>Proyecto de reescritura de legado(legacy) </li></ul></ul><ul><ul><li>Proyecto de creacion de software reutilizable </li></ul></ul><ul><ul><li>Proyecto de mejora de sistema o mantenimiento </li></ul></ul>
  6. 6. Modelo de Proceso(3) <ul><li>Componentes de un modelo </li></ul><ul><ul><li>Arquitectura </li></ul></ul><ul><ul><li>Actividad </li></ul></ul><ul><ul><li>Metodos </li></ul></ul><ul><ul><li>Estrategia </li></ul></ul><ul><ul><li>Herramientas </li></ul></ul>
  7. 7. Arquitectura <ul><li>Una arquitectura de SW define la estructura general de un sistema </li></ul><ul><li>Ejemplos: </li></ul><ul><ul><li>Transformacion en lote </li></ul></ul><ul><ul><li>Transformacion continua </li></ul></ul><ul><ul><li>Sistemas interactivos </li></ul></ul><ul><ul><li>Simulacion dinamica </li></ul></ul><ul><ul><li>Sistemas de tiempo real </li></ul></ul><ul><ul><li>Administracion de transaccion </li></ul></ul>
  8. 8. Actividad <ul><li>Una actividad es una unidad o paso básico de un proceso </li></ul><ul><li>Son las pasos necesarios para lograr la meta </li></ul><ul><li>Las actividades básicas se conocen como el ciclo de vida del software </li></ul>
  9. 9. Actividad(1) <ul><li>Requisitos </li></ul><ul><ul><li>Sirve para especificar los aspectos funcionales </li></ul></ul><ul><ul><li>Modelo de requisitos </li></ul></ul><ul><li>Analisis </li></ul><ul><ul><li>Permite dar una estructura robusta y extensible </li></ul></ul><ul><li>Diseño </li></ul><ul><ul><li>Adoptar y refinar una arquitectura y adaptarla al ambiente </li></ul></ul>
  10. 10. Actividad(2) <ul><li>Implementacion </li></ul><ul><ul><li>Codificar el sistema </li></ul></ul><ul><li>Integracion </li></ul><ul><ul><li>Combinar componentes </li></ul></ul><ul><li>Pruebas </li></ul><ul><ul><li>Validar y verificar el sistema </li></ul></ul><ul><li>Documentacion </li></ul><ul><ul><li>Describir el sistema </li></ul></ul><ul><li>Mantenimiento </li></ul><ul><ul><li>Extender la funcionalidad del sistema </li></ul></ul>
  11. 11. Métodos y Metodologías <ul><li>Los métodos definen las reglas para las transformaciones internas de las actividades </li></ul><ul><li>Las metodologías definen un conjunto de métodos. </li></ul><ul><li>Método es un procedimiento que define tareas o acciones a realizar </li></ul>
  12. 12. Métodos y Metodologías(1) <ul><li>Existe una gran variedad de métodos y metodologías </li></ul><ul><li>Metodologias: </li></ul><ul><ul><li>Estructuradas o tradicionales </li></ul></ul><ul><ul><li>Orientadas a objetos </li></ul></ul>
  13. 13. Métodos y Metodologías(2) <ul><li>Estructuradas </li></ul><ul><ul><li>Descomposición funcional </li></ul></ul><ul><ul><li>Definir en forma de funciones, y estableciendo los datos de entrada y salida </li></ul></ul><ul><ul><li>Herramientas </li></ul></ul><ul><ul><ul><li>Diagramas de flujos de datos </li></ul></ul></ul><ul><ul><ul><li>Diagramas de transición de estados </li></ul></ul></ul><ul><ul><ul><li>Diagramas Entidad-Relación </li></ul></ul></ul>
  14. 14. Métodos y Metodologías(3) <ul><li>Orientadas a objetos </li></ul><ul><ul><li>Modelado de un sistema en términos de objetos </li></ul></ul><ul><ul><li>Se identifican objetos, para luego especificar su comportamiento </li></ul></ul><ul><ul><li>Hay una gran variedad </li></ul></ul><ul><ul><li>Herramientas </li></ul></ul><ul><ul><ul><li>Diagramas de clases </li></ul></ul></ul><ul><ul><ul><li>Diagramas de casos de uso </li></ul></ul></ul><ul><ul><ul><li>Diagramas de transición/estado </li></ul></ul></ul><ul><ul><ul><li>Diagrama de secuencia </li></ul></ul></ul><ul><ul><ul><li>Diagrama de colaboracion </li></ul></ul></ul>
  15. 15. Métodos y Metodologías(4) <ul><li>Son distintos actividad, metodo y notacion </li></ul><ul><li>Actividad: Requisitos </li></ul><ul><li>Metodos de requisitos: </li></ul><ul><ul><li>OBA </li></ul></ul><ul><ul><li>FUSION </li></ul></ul><ul><ul><li>UP </li></ul></ul><ul><li>Notación </li></ul><ul><ul><li>Caso de uso </li></ul></ul>
  16. 16. Estrategias <ul><li>Un plan para lograr un objetivo </li></ul><ul><li>Afectan a: La arquitectura del sistema, Orden de las actividades, Metodologías a usarse. </li></ul><ul><li>Decisiones sobre: </li></ul><ul><ul><li>Tipo de proyecto </li></ul></ul><ul><ul><li>Tecnologia </li></ul></ul><ul><ul><li>Herramientas </li></ul></ul>
  17. 17. Estrategias(1) <ul><li>Estrategias aceptadas actualmente: </li></ul><ul><ul><li>Prototipos </li></ul></ul><ul><ul><ul><li>Versión preliminar intencionalmente incompleta o reducida del sistema </li></ul></ul></ul><ul><ul><li>Reutilización </li></ul></ul><ul><ul><ul><li>Explotación de componentes desarrollados </li></ul></ul></ul>
  18. 18. Herramientas <ul><li>Aplicaciones que apoyan la administracion del proceso de software. </li></ul><ul><li>Herramientas CASE </li></ul><ul><ul><li>Editores de texto </li></ul></ul><ul><ul><li>Diagramadores </li></ul></ul><ul><ul><li>etc </li></ul></ul>
  19. 19. MODELOS DE DESARROLLO
  20. 20. Modelos Clásicos <ul><li>Creencias u opiniones de personas involucradas en el proyecto </li></ul><ul><li>Son: </li></ul><ul><ul><li>Comprender el problema antes de desarrollar </li></ul></ul><ul><ul><li>Proceso debe dar un resultado predecible </li></ul></ul><ul><ul><li>Planear y calcular el proceso con gran precisión </li></ul></ul><ul><ul><li>Evaluar y administrar el riesgo </li></ul></ul><ul><ul><li>Entrega en etapas intermedias aumenta la confianza de un buen resultado </li></ul></ul>
  21. 21. Modelos Clásicos(1) <ul><li>Cascada </li></ul><ul><ul><li>Secuencia de actividades </li></ul></ul><ul><ul><li>Seguir hacia puntos de revisión bien definidos mediante reglas calendarizadas </li></ul></ul><ul><ul><li>No hay etapa de documentación explicita </li></ul></ul><ul><ul><ul><li>Especificación de requisitos </li></ul></ul></ul><ul><ul><ul><li>Analisis </li></ul></ul></ul><ul><ul><ul><li>Diseño </li></ul></ul></ul><ul><ul><ul><li>Implentacion </li></ul></ul></ul><ul><ul><ul><li>Pruebas </li></ul></ul></ul><ul><ul><ul><li>Integracion </li></ul></ul></ul>
  22. 22. Modelos Clásicos(2) <ul><li>Incremental </li></ul><ul><ul><li>Es un desarrollo inicial de la arquitectura completa del sistema seguido de incrementos o versiones parciales </li></ul></ul><ul><ul><li>Cada incremento tiene su propio ciclo </li></ul></ul><ul><ul><li>Cada incremento agrega una funcionalidad </li></ul></ul>
  23. 23. Modelos Clásicos(3) <ul><li>Evolucionario </li></ul><ul><ul><li>Extensión del incremental </li></ul></ul><ul><ul><li>Los incrementos se hacen de manera secuencial en vez de paralela </li></ul></ul><ul><ul><li>El sistema va evolucionando según se entrega cada incremento </li></ul></ul><ul><ul><li>Primeros requerimientos dictan el incremento inicial </li></ul></ul><ul><ul><li>Se considera las deltas de especificación de requerimientos </li></ul></ul>
  24. 24. Modelos Clásicos(4) <ul><li>Espiral </li></ul><ul><ul><li>Extensión del modelo de cascada </li></ul></ul><ul><ul><li>Se basa en la estrategia para reducir el riesgo </li></ul></ul><ul><ul><li>Enfatiza en ciclos de trabajo </li></ul></ul><ul><ul><li>Cada uno de los cuales estudia el riesgo antes de seguir al siguiente </li></ul></ul><ul><ul><li>Incorpora al igual que los anteriores una estrategia de uso de prototipos </li></ul></ul>
  25. 25. Modelos Recientes <ul><li>Ganar-Ganar </li></ul><ul><ul><li>Extiende el modelo de espiral </li></ul></ul><ul><ul><li>Considera condiciones de ganancia </li></ul></ul><ul><ul><li>Crea un plan para alcanzar situaciones ganadoras </li></ul></ul><ul><ul><li>Ciclo </li></ul></ul><ul><ul><ul><li>Objetivos, restricciones, alternativas </li></ul></ul></ul><ul><ul><ul><li>Evaluar alternativas </li></ul></ul></ul><ul><ul><ul><li>Elaborar definición del proceso y producto </li></ul></ul></ul><ul><ul><ul><li>Planear el siguiente ciclo </li></ul></ul></ul>
  26. 26. Modelos Recientes(1) <ul><li>Programación extrema(XP) </li></ul><ul><ul><li>Toma los principios y practicas de programación aceptadas y las enfatiza a mayor grado </li></ul></ul><ul><ul><ul><li>Refactoring </li></ul></ul></ul><ul><ul><ul><li>Programacion por pares </li></ul></ul></ul><ul><ul><ul><li>Evaluación permanente </li></ul></ul></ul><ul><ul><ul><li>Entregas en plazos cortos </li></ul></ul></ul>
  27. 27. Modelos Recientes(2) <ul><li>Proceso Unificado </li></ul><ul><ul><li>Basado en casos de uso </li></ul></ul><ul><ul><li>Centrado en la arquitectura </li></ul></ul><ul><ul><li>Iterativo e incremental </li></ul></ul><ul><ul><li>Involucra </li></ul></ul><ul><ul><ul><li>Ciclos </li></ul></ul></ul><ul><ul><ul><li>Fases </li></ul></ul></ul><ul><ul><ul><li>Flujos de trabajo </li></ul></ul></ul><ul><ul><ul><li>Mitigación </li></ul></ul></ul><ul><ul><ul><li>Control de calidad </li></ul></ul></ul>
  28. 28. Calidad de Software y modelos de madurez del proceso <ul><li>Calidad directamente relacionado con su proceso </li></ul><ul><li>Factores para obtener productos de calidad </li></ul><ul><ul><li>Cliente o usuario </li></ul></ul><ul><ul><li>Desarrollador </li></ul></ul><ul><ul><li>Proceso </li></ul></ul><ul><ul><li>Producto </li></ul></ul>
  29. 29. Modelos de madurez del Proceso <ul><li>Modelo de Madurez de Capacidades(CMM) </li></ul><ul><ul><li>Evaluar los procesos en sus niveles de madurez </li></ul></ul><ul><ul><li>Se evalua el area de proceso clave </li></ul></ul><ul><ul><li>Niveles </li></ul></ul><ul><ul><ul><li>Inicial </li></ul></ul></ul><ul><ul><ul><li>Repetible </li></ul></ul></ul><ul><ul><ul><li>Definido </li></ul></ul></ul><ul><ul><ul><li>Administrado </li></ul></ul></ul><ul><ul><ul><li>Optimizado </li></ul></ul></ul>
  30. 30. Modelos de madurez del Proceso <ul><li>Organizacion Internacional De la Estandarizacion(ISO) </li></ul><ul><ul><li>ISO 9000 </li></ul></ul><ul><ul><ul><li>Normas relacionadas con la administracion de la calidad de productos y servicios </li></ul></ul></ul><ul><ul><ul><li>En SW 9000-1 </li></ul></ul></ul><ul><ul><li>ISO 12207 </li></ul></ul><ul><ul><ul><li>Calidad en los procesos del ciclo de vida </li></ul></ul></ul>
  31. 31. Modelos de madurez del Proceso <ul><li>Modelo de Madurez de Ingenieria de Desempeño(PEMM) </li></ul><ul><ul><li>Evaluar niveles de integracion, aplicacion, ejecucion y diseno de la ingenieria de desempeño </li></ul></ul><ul><ul><li>Tiene cinco niveles </li></ul></ul><ul><ul><ul><li>Practicas sin coordinacion </li></ul></ul></ul><ul><ul><ul><li>Desempeño en subprocesos </li></ul></ul></ul><ul><ul><ul><li>Completa definicion del proceso </li></ul></ul></ul><ul><ul><ul><li>Exito de integracion y prueba </li></ul></ul></ul><ul><ul><ul><li>Optimizacion de procesos </li></ul></ul></ul>
  32. 32. Modelos de madurez del Proceso <ul><li>Proceso de Software Personal(PSP) </li></ul><ul><ul><li>Esta basado en la creencia de que la calidad del software depende del trabajo de cada uno de los ingenieros. </li></ul></ul><ul><ul><li>Por lo cual el proceso Controla y Maneja el trabajo de estos </li></ul></ul><ul><ul><li>Instrumentacion: Evolucion del PSP </li></ul></ul><ul><ul><ul><li>1. medida personal </li></ul></ul></ul><ul><ul><ul><li>2. Planeacion personal </li></ul></ul></ul><ul><ul><ul><li>3. Calidad de personal </li></ul></ul></ul><ul><ul><ul><li>4. Proceso ciclico </li></ul></ul></ul>
  33. 33. Modelos de madurez del Proceso <ul><li>Proceso de Software de Equipos(TSP) </li></ul><ul><ul><li>Extiende el modelo PSP e integra los aspectos de desarrollo de SW realizados por equipos de trabajo. </li></ul></ul><ul><ul><li>Define asignacion y control de tareas a miembros del equipo </li></ul></ul>

×