10/09/2009<br />Universidad del Cauca<br />Departamento de Telemática<br />PROCESO UNIFICADO (UP)<br />Ambientes de Desarr...
Definición de Metodología<br /><ul><li>Es una forma explícita de estructurar el pensamiento y las acciones.
Contienen modelos y reflejan perspectivas particulares de la realidad basándose en un conjunto de paradigmas filosóficos.
Debería señalarnos “qué” pasos tomar y “cómo” llevarlos a cabo, pero más importante es definir las razones del “por qué”  ...
Los usuarios de las metodologías las interpretan según su punto de vista
Un autor nunca menciona las debilidades de su creación</li></li></ul><li>Requisitos<br /> y Análisis<br />Diseño<br />Impl...
Recolección<br />y refinamiento de<br />requisitos<br />Producto<br />Diseño<br />rápido<br />Refinamiento<br />del protot...
Req<br />Req<br />Req<br />Ana<br />Ana<br />Ana<br />Dis<br />Dis<br />Dis<br />Cod<br />Cod<br />Cod<br />Pru<br />Pru<b...
PROGRESO<br />A TRAVÉS<br />DETERMINAR <br />OBJETIVOS,<br />ALTERNATIVAS Y<br />RESTRICCIONES<br />DE LAS ITERACIONES<br ...
RUP<br />Proceso Unificado de Rational<br />Proceso de Desarrollo de Software soportado en el Lenguaje Unificado de Modela...
Orígenes<br />Método Ericsson<br />Método de <br />Rational<br />Proceso Objectory<br />UML<br />Otras Fuentes<br />Proces...
Principios del RUP<br /><ul><li>Desarrollo Iterativo del Software,
Administración de Requerimientos,
Uso de Arquitecturas Basadas en Componentes,
Modelado Visual del Software,
Verificación de la Calidad del Software,
Control de Cambios.</li></li></ul><li>Principios o mejores prácticas del RUP<br />Administración de requisitos<br />Desarr...
Desarrollo iterativode aplicaciones<br />Dada la complejidad de las aplicaciones y programas actuales, es posible hacer de...
Requisitos<br />Análisis y Diseño<br />Implementación<br />Evaluación<br />Pruebas<br />Desarrollo Iterativo<br />Cada ite...
Características deldesarrollo iterativo<br />Permite un entendimiento incremental del problema a través de refinamientos s...
Administración de Requisitos<br />Elicitar, organizar, y documentar la funcionalidad y restricciones requeridas.<br />Llev...
Arquitectura basadaen componentes<br />Se enfoca en el rápido desarrollo de una arquitectura ejecutable robusta, con las s...
Modelación visualde aplicaciones<br />Captura la estructura y comportamiento de arquitecturas y componentes.<br />Muestra ...
Verificación de la calidadde las aplicaciones<br />Crea pruebas para cada escenario para asegurar que todos los requisitos...
Control de cambiosde las aplicaciones<br />Controlar, llevar un registro, y monitorear cambios para permitir un desarrollo...
Características<br />Dirigido por Casos de Uso<br />Centrado en Arquitectura<br />Iterativo e incremental<br />
Dirigido por Casos de Uso 1/2<br /><ul><li>Se centra en la funcionalidad que el sistema debe poseer para satisfacer las ne...
Casos de uso como el hilo conductor que orienta las actividades de desarrollo</li></li></ul><li>Dirigido por Casos de Uso ...
Centrado en la Arquitectura 1/2<br /><ul><li>Describe diferentes vistas del sistema en construcción
Incluye los aspectos estáticos y dinámicos más significativos
Plataforma en la que va a operar
Reutilización, sistemas heredados
Requisitos funcionales y no funcionales</li></li></ul><li>Centrado en la Arquitectura 2/2<br />
Relación Casos de Uso y Arquitectura<br />La función<br />Casos de Uso<br />La forma<br />Arquitectura<br />
Registrarse al servicio<br />Ver Video<br />Visitante<br />Buscar Videos<br />Gestionar Videos<br />Suscriptor<br />Admini...
Java applet<br />JMF<br />java.net<br />Browser<br />HTML Pages<br />HTTP<br />Java Server Pages<br />JServer<br />J2EE<br...
Proceso Iterativo e Incremental<br /><ul><li>Descomposición de un proyecto grande en mini-proyectos
Cada mini-proyecto es una iteración
Las iteraciones deben estar controladas
Cada iteración trata un conjunto de casos de uso</li></li></ul><li>RUP - terminología 1/3<br />Ciclo: cada ciclo una nueva...
RUP - terminología 2/3<br />Rol: Definición del comportamiento y responsabilidades de los participantes<br />Actividad: Un...
RUP - terminología 3/3<br />Flujo de Trabajo: Forma de describir significativamente la secuencias de actividades que produ...
Upcoming SlideShare
Loading in...5
×

s04 - Paradigma de desarrollo fundamentado en modelado

3,616

Published on

Diapositivas de la sesión 04: taller sobre la construcción de soluciones basadas en desarrollo de modelos

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,616
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
300
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

s04 - Paradigma de desarrollo fundamentado en modelado

  1. 1. 10/09/2009<br />Universidad del Cauca<br />Departamento de Telemática<br />PROCESO UNIFICADO (UP)<br />Ambientes de Desarrollo<br />
  2. 2. Definición de Metodología<br /><ul><li>Es una forma explícita de estructurar el pensamiento y las acciones.
  3. 3. Contienen modelos y reflejan perspectivas particulares de la realidad basándose en un conjunto de paradigmas filosóficos.
  4. 4. Debería señalarnos “qué” pasos tomar y “cómo” llevarlos a cabo, pero más importante es definir las razones del “por qué” esos pasos se deben tomar en ese orden.</li></li></ul><li>A tener en cuenta...<br /><ul><li>Las metodologías siempre reflejan el punto de vista de sus creadores
  5. 5. Los usuarios de las metodologías las interpretan según su punto de vista
  6. 6. Un autor nunca menciona las debilidades de su creación</li></li></ul><li>Requisitos<br /> y Análisis<br />Diseño<br />Implementación<br />Pruebas<br />Mantenimiento<br />Modelos y estilos 1/4<br />
  7. 7. Recolección<br />y refinamiento de<br />requisitos<br />Producto<br />Diseño<br />rápido<br />Refinamiento<br />del prototipo<br />Construcción<br />del prototipo<br />Evaluación del<br />prototipo por<br />el cliente<br />Modelos y estilos 2/4<br />
  8. 8. Req<br />Req<br />Req<br />Ana<br />Ana<br />Ana<br />Dis<br />Dis<br />Dis<br />Cod<br />Cod<br />Cod<br />Pru<br />Pru<br />Pru<br />Modelos y estilos 3/4<br />
  9. 9. PROGRESO<br />A TRAVÉS<br />DETERMINAR <br />OBJETIVOS,<br />ALTERNATIVAS Y<br />RESTRICCIONES<br />DE LAS ITERACIONES<br />EVALUAR ALTERNATIVAS,<br />IDENTIFICAR Y <br />RESOLVER RIESGOS<br />Análisis de riesgos<br />Análisis de riesgos<br />Análisis de riesgos<br />Prototipo<br />operativo<br />Prototipo 3<br />An.<br />Riesgo.<br />Proto-<br />tipo 1<br />Prototipo 2<br />-<br />REVISIÓN<br />Plan de <br />requerimientos<br />Plan de ciclo <br />de vida<br />Simulaciones, modelos,<br />pruebas comparativas<br />.<br />Concepto de<br />operación<br />Requerimientos<br />de software<br />Diseño del<br />producto<br />Diseño<br />detallado<br />Plan de<br />desarrollo<br />Validación de<br />requerimientos<br />Codificar<br />Plan de integración<br />y prueba<br />Diseño de validación<br />y verificación<br />Prueba de<br />unidad<br />PLANIFICAR SIGUIENTE<br />FASE<br />Prueba de<br />integración<br />Prueba de<br />aceptación<br />-<br />Explotación<br />DESARROLLAR, VERIFICAR<br />PRODUCTO DE SIGUIENTE NIVEL<br />Modelos y estilos 4/4<br />
  10. 10. RUP<br />Proceso Unificado de Rational<br />Proceso de Desarrollo de Software soportado en el Lenguaje Unificado de Modelado, y que es iterativo, centrado en la arquitectura y dirigido por casos de uso<br />
  11. 11. Orígenes<br />Método Ericsson<br />Método de <br />Rational<br />Proceso Objectory<br />UML<br />Otras Fuentes<br />Proceso Objectory de Rational<br />Proceso Unificado de Rational<br />
  12. 12. Principios del RUP<br /><ul><li>Desarrollo Iterativo del Software,
  13. 13. Administración de Requerimientos,
  14. 14. Uso de Arquitecturas Basadas en Componentes,
  15. 15. Modelado Visual del Software,
  16. 16. Verificación de la Calidad del Software,
  17. 17. Control de Cambios.</li></li></ul><li>Principios o mejores prácticas del RUP<br />Administración de requisitos<br />Desarrolloiterativo<br />Modelamientovisual<br />Verificación dela calidad<br />Arquitecturas<br />con componentes<br />Control de cambios<br />
  18. 18. Desarrollo iterativode aplicaciones<br />Dada la complejidad de las aplicaciones y programas actuales, es posible hacer de manera secuencial la definición completa del problema, diseñar la solución completa, construir la aplicación y por probarla.<br />El descubrimiento de faltas de conformidad con los requisitos en fases posteriores de diseño dan como resultado un aumento en los costos y/ó la cancelación del proyecto.<br />El tiempo y dinero gastados en la implementación de un<br />diseño fallido, son no recuperables.<br />
  19. 19. Requisitos<br />Análisis y Diseño<br />Implementación<br />Evaluación<br />Pruebas<br />Desarrollo Iterativo<br />Cada iteraciónproduce un producto ejecutable<br />
  20. 20. Características deldesarrollo iterativo<br />Permite un entendimiento incremental del problema a través de refinamientos sucesivos.<br />Posibilita una fácil interacción y retroalimentación de usuario.<br />Metas específicas permiten que el equipo de desarrollo mantenga su atención en producir resultados.<br />El progreso es medido conforme avanzan las implementaciones.<br />
  21. 21. Administración de Requisitos<br />Elicitar, organizar, y documentar la funcionalidad y restricciones requeridas.<br />Llevar un registro y documentación de cambios y decisiones.<br />Los requerimientos de negocio son fácilmente capturados y comunicados a través de casos de uso.<br />Los casos de uso son instrumentos importantes de planeación.<br />
  22. 22. Arquitectura basadaen componentes<br />Se enfoca en el rápido desarrollo de una arquitectura ejecutable robusta, con las siguientes características:<br />resistente al cambio mediante el uso de interfaces bien definidas,<br />intuitivamente comprensible,<br />promueve un reuso más efectivo de código,<br />es derivada a partir de los casos de uso más importantes.<br />
  23. 23. Modelación visualde aplicaciones<br />Captura la estructura y comportamiento de arquitecturas y componentes.<br />Muestra cómo encajan de forma conjunta los elementos del sistema.<br />Mantiene la consistencia entre un diseño y su implementación.<br />Promueve una comunicación no ambigua entre participantes.<br />
  24. 24. Verificación de la calidadde las aplicaciones<br />Crea pruebas para cada escenario para asegurar que todos los requisitos están propiamente implementados.<br />Verifica la calidad de la aplicación con respecto a los requisitos basados en la confiabilidad, funcionalidad, desempeño de la aplicación y del sistema.<br />Prueba cada iteración<br />Los problemas de las aplicaciones son de 200 a 500 veces más <br />costosos de encontrar y reparar después del desarrollo.<br />
  25. 25. Control de cambiosde las aplicaciones<br />Controlar, llevar un registro, y monitorear cambios para permitir un desarrollo iterativo.<br />Establece espacios de trabajo seguros para cada desarrollador<br />Provee aislamiento de cambios hechos en otros espacios de trabajo<br />Controla todos los artefactos de software – modelos, código, documentos, etc…<br />
  26. 26. Características<br />Dirigido por Casos de Uso<br />Centrado en Arquitectura<br />Iterativo e incremental<br />
  27. 27. Dirigido por Casos de Uso 1/2<br /><ul><li>Se centra en la funcionalidad que el sistema debe poseer para satisfacer las necesidades de un usuario (persona, sistema externo, dispositivo) que interactúa con él
  28. 28. Casos de uso como el hilo conductor que orienta las actividades de desarrollo</li></li></ul><li>Dirigido por Casos de Uso 2/2<br />
  29. 29. Centrado en la Arquitectura 1/2<br /><ul><li>Describe diferentes vistas del sistema en construcción
  30. 30. Incluye los aspectos estáticos y dinámicos más significativos
  31. 31. Plataforma en la que va a operar
  32. 32. Reutilización, sistemas heredados
  33. 33. Requisitos funcionales y no funcionales</li></li></ul><li>Centrado en la Arquitectura 2/2<br />
  34. 34. Relación Casos de Uso y Arquitectura<br />La función<br />Casos de Uso<br />La forma<br />Arquitectura<br />
  35. 35. Registrarse al servicio<br />Ver Video<br />Visitante<br />Buscar Videos<br />Gestionar Videos<br />Suscriptor<br />Administrador<br />Modificar Información<br />Gestionar Suscriptores<br />Ejemplo de Caso de Uso (SVV)<br />
  36. 36. Java applet<br />JMF<br />java.net<br />Browser<br />HTML Pages<br />HTTP<br />Java Server Pages<br />JServer<br />J2EE<br />Apache<br />Web Server<br />Oracle8i<br />Videos<br />Business objects<br />Java Beans<br />Ejemplo de Arquitectura (SVV)<br />
  37. 37. Proceso Iterativo e Incremental<br /><ul><li>Descomposición de un proyecto grande en mini-proyectos
  38. 38. Cada mini-proyecto es una iteración
  39. 39. Las iteraciones deben estar controladas
  40. 40. Cada iteración trata un conjunto de casos de uso</li></li></ul><li>RUP - terminología 1/3<br />Ciclo: cada ciclo una nueva versión del <br />producto<br />Fase: Etapas de un ciclo que finalizan en un HITO<br />Iteración: Proceso de ingeniería sobre una funcionalidad limitada del sistema<br />
  41. 41. RUP - terminología 2/3<br />Rol: Definición del comportamiento y responsabilidades de los participantes<br />Actividad: Unidad de trabajo que puede ejecutar un individuo en un rol específico<br />Artefacto: Pieza de información producida, modificada y utilizada en un proceso<br />
  42. 42. RUP - terminología 3/3<br />Flujo de Trabajo: Forma de describir significativamente la secuencias de actividades que producen resultados y las interacciones entre cargos<br />Hito: Punto en el tiempo en donde se evalúan objetivos logrados y se pueden tomar decisiones críticas<br />
  43. 43. Organización por Componentes<br />Flujos de trabajo yactividades<br />Artefactos<br />Trabajadores<br />Agrupan las actividades de acuerdo a su naturaleza<br />Representan la estructura del Proceso.<br />Expresados en términos de:<br />
  44. 44. Diseño de<br />Casos de uso<br />Caso de Uso<br />Paquete deCaso de Uso<br />Idea del proceso<br />Trabajador<br />¿Quién?<br />Actividad<br />¿Cómo?<br />Describe una unidad de trabajo que puede ser asignada a un trabajador.<br />Rol que puede ser desempeñado por un individuo o conjunto de individuos en la organización de desarrollo<br />Diseñador<br />Artefacto<br />¿Qué?<br />responsable de<br />Pieza de información que es producida, modificada, ó utilizada por un proceso<br />
  45. 45. 10/09/2009<br />Organización por<br />Organización en el tiempo<br />Componentes<br />FASES<br />COMPONENTES DEL PROCESO<br />Modelado de la Organización<br />Captura de Requisitos<br />Gestación<br />Preparación<br />Construcción<br />Transición<br />Análisis<br />Diseño<br />Implementación<br />Pruebas<br />Puesta en Servicio<br />COMPONENTES DE SOPORTE<br />Gestión de Configuración y Cambios<br />Gestión del Proyecto<br />Entorno<br />Prep.#1<br />Prep.<br />#2<br />Const.<br />#1<br />Const.<br />#2<br />Const.<br />#N<br />Trans.<br />#1<br />Trans.<br />#2<br />Inicial<br />Iteraciones<br />Flujos de Trabajo 1/2<br />
  46. 46. 10/09/2009<br />Satisfacción<br />Del Cliente<br />Alcances yObjetivos<br />Versión Beta<br />Arquitectura<br />Inicio<br />Elaboración<br />Construcción<br />Transición<br />Fases:<br />Iteración<br />Iteración<br />Iteración<br />Iteración<br />Iteraciones:<br />Requerimientos<br />Análisis y Diseño<br />EntregasInternas<br />Codificación<br />Disciplinas:<br />Prueba <br />Admin. Proyecto<br />Gestión Configuracióny Cambio<br />Flujos de Trabajo 2/2<br />
  47. 47. 10/09/2009<br />Trabajadores<br />
  48. 48. 10/09/2009<br />Requisitos<br />Requisitos<br />Análisis<br />Análisis<br />Diseño<br />Diseño<br />Relación Temporal<br />Implementación<br />Implementación<br />Pruebas<br />Pruebas<br />Trabajadores y flujos de trabajo 1/2<br />Estructurar el Modelo <br />de Casos de Uso<br />Planear <br />prueba<br />Diseñar <br />prueba<br />Evaluar <br />prueba<br />Encontrar actores <br />y casos de uso<br />Detallar un <br />caso de uso<br />Integrar <br />sistema<br />Construir prototipo <br />de Interfaz de usuario<br />Realizar pruebas <br />de integración<br />Priorizar <br />casos de uso<br />Implementación de <br />la arquitectura<br />Analizar la <br />arquitectura<br />Realizar pruebas <br />de sistema<br />Diseño de la <br />arquitectura<br />Analizar un <br />caso de uso<br />Diseñar un <br />caso de uso<br />actividades<br />Analizar <br />una clase<br />Implementar <br />una clase<br />Implementar<br /> pruebas<br />Diseñar <br />una clase<br />Diseñar un<br /> subsistema<br />Analizar <br />un paquete<br />Implementar <br />un subsistema<br />Realizar pruebas <br />de unidad<br />
  49. 49. 10/09/2009<br />Estructurar el Modelo <br />de Casos de Uso<br />Planear <br />prueba<br />Diseñar <br />prueba<br />Evaluar <br />prueba<br />Encontrar actores <br />y casos de uso<br />Analista<br />Especificador<br />Diseñador<br />Arquitecto<br />Casos de Uso<br />Componentes<br />Pruebas<br />Integrador<br />Integración<br />Sistema<br />Detallar un <br />caso de uso<br />Integrar <br />sistema<br />Construir prototipo <br />de Interfaz de usuario<br />Realizar pruebas <br />de integración<br />Priorizar <br />casos de uso<br />Implementación de <br />la arquitectura<br />Analizar la <br />arquitectura<br />Realizar pruebas <br />de sistema<br />Diseño de la <br />arquitectura<br />Analizar un <br />caso de uso<br />Diseñar un <br />caso de uso<br />Requisitos<br />Análisis<br />Analizar <br />una clase<br />Implementar <br />una clase<br />Implementar<br /> pruebas<br />Diseñar <br />una clase<br />Diseñar un<br /> subsistema<br />Diseño<br />Relación Temporal<br />Implementación<br />Analizar <br />un paquete<br />Implementar <br />un subsistema<br />Realizar pruebas <br />de unidad<br />actividades<br />Pruebas<br />Trabajadores y flujos de trabajo 2/2<br />
  50. 50. 10/09/2009<br />Aplicación del RUP<br />Herramientas<br />Proceso<br />Producto<br />Proyecto<br />Personas<br />
  51. 51. 10/09/2009<br />Herramientas de Apoyo al Proceso<br /><ul><li>Gestión de Requisitos,
  52. 52. Modelado Visual,
  53. 53. Herramientas de Programación,
  54. 54. Aseguramiento de la Calidad,
  55. 55. Control de versiones, gestión de la configuración, seguimiento de defectos, documentación, gestión del proyecto y automatización de procesos.</li></li></ul><li>Variantes del UP<br />
  56. 56. ¿Preguntas?¿Observaciones?<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×