Top Banner
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.
32
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Ingeniera de Software: Metodologas Agustn J. GonzlezElO329: Diseo y Programacin Orientados a ObjetoAdaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes.

  • Algunas Metodologas ...Personal Software Process y Team software ProcessXP (Programacin Extrema)RUP (Rational Unified Process)V-model

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Proceso de Desarrollo Iterativo e Incremental

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Recordar el proceso de desarrollo de software completoParte a ser considerada en adelante

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Desarrollo Iterativo e IncrementalEsta idea es la base de varios mtodos de desarrollo de software como RUP (Rational Unified Proecess), Extreme Programming y otros mtodos de desarrollo giles.La idea bsica es desarrollar el sistema siguiendo etapas incrementales caracterizadas por generacin de sucesivas versiones que van abarcando requerimientos hasta completar el sistema.Cada versin tiene sentido para el cliente.

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Principales metodologas en el tiempoTiempoInicialmente se us el Modelo Tradicional de Cascada 1980TiempoDefinicin de RequerimientosAnlisis & DiseoImplementacin y Test UnitariosConstruccin/PruebasttIteracin 1 Iteracin 2 Iteracin 3 PCA&DRPCA&DRPCA&DRModelo Iterativo Incremental1990Integracin y test del sistemaOperacin y mantencin

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Desarrollo Iterativo e IncrementalIterativo: cada vez re-visitamos las etapas del modelo en cascada, rehacemos, refinamos y extendemos lo hecho.Incremental: regularmente integramos los avances para generar una versin con sentido para el cliente.

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Desarrollo Iterativo e incremental: RUP es uno de los: sus CaractersticasGuiado y Manejado por Casos de UsoCentrado en la ArquitecturaIterativo e IncrementalDesarrollo Basado en ComponentesUtilizacin de UMLProceso Integrado

    ELO329: Diseo y Programacin Orientadas a Objetos

  • TiempoRUP Define Fases de Desarrollo ...

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Fases del Ciclo de VidaEl ciclo de vida consiste en una serie de fases que en su conjunto conducen al sistema final.Cada fase est compuesta por un nmero de iteraciones que generan versiones del sistema.Las fases son 4:Concepcin, Inicio o Estudio de oportunidadElaboracinConstruccinTransicin

    ELO329: Diseo y Programacin Orientadas a Objetos

  • ...Fases del Ciclo de DesarrolloInicio o Estudio de oportunidad (inception)Define el mbito y objetivos del proyectoSe define la funcionalidad y capacidades del productoElaboracinTanto la funcionalidad como el dominio del problema se estudian en profundidadSe define una arquitectura bsicaSe planifica el proyecto considerando recursos disponibles

    ELO329: Diseo y Programacin Orientadas a Objetos

  • ...Fases del Ciclo de DesarrolloConstruccinEl producto se desarrolla a travs de iteraciones donde cada iteracin involucra tareas de anlisis, diseo e implementacinLas fases de estudio y anlisis slo dieron una arquitectura bsica que es aqu refinada de manera incremental conforme se construye (se permiten cambios en la estructura)Gran parte del trabajo es programacin y pruebasSe documenta tanto el sistema construido como el manejo del mismoEsta fase proporciona un producto construido junto con la documentacin

    ELO329: Diseo y Programacin Orientadas a Objetos

  • ...Fases del Ciclo de DesarrolloTransicinSe libera el producto y se entrega al usuario para un uso realSe incluyen tareas de marketing, empaquetado atractivo, instalacin, configuracin, entrenamiento, soporte, mantenimiento, etc.Los manuales de usuario se completan y refinan con la informacin anteriorEstas tareas se realizan tambin en iteraciones

    ELO329: Diseo y Programacin Orientadas a Objetos

  • El ciclo de vida iterativo se basa en la evolucin de prototipos ejecutables que se muestran a los usuarios y clientesEn el ciclo de vida iterativo, en cada iteracin se reproduce el ciclo de vida en cascada a menor escalaLos objetivos de una iteracin se establecen en funcin de la evaluacin de las iteraciones precedentesProceso Iterativo e Incremental

    ELO329: Diseo y Programacin Orientadas a Objetos

  • AnlisisDiseoCodific.Pruebas eIntegracinn veces... Proceso Iterativo e IncrementalLas actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteracin

    ELO329: Diseo y Programacin Orientadas a Objetos

  • ... Proceso Iterativo e IncrementalCada iteracin comprende:Planificar la iteracin (estudio de riesgos)Anlisis de los Casos de Uso y escenariosDiseo de opciones arquitectnicasCodificacin y pruebas. La integracin del nuevo cdigo con el hecho en iteraciones anteriores se hace gradualmente durante la construccinEvaluacin de la entrega de ejecutable (evaluacin del prototipo en funcin de las pruebas y de los criterios definidos)Preparacin de la entrega (documentacin e instalacin del prototipo)

    ELO329: Diseo y Programacin Orientadas a Objetos

  • ConcepcinElaboracinConstruccinTransicinCompromiso de recursos para fase elaboracinHitoObjetivos,visinHitoArquitecturaHitoCapacidadOperacionalAceptacin del clienteLiberacinProductoTiempoImportancia de los Hitos en RUP ...

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Deployment SetProject Management SetConfiguration & Change Management SetEnvironment SetBusiness Modeling SetRequirements SetAnalysis & Design SetImplementation SetTest Set... Elementos en RUP Artefactos Es el Resultado parcial o final que es producido y usado durante el proyecto. Son las entradas y salidas de las actividadesUn artefacto puede ser un documento, un modelo o un elemento de modeloConjuntos de Artefactos

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Caractersticas Esenciales de RUP Proceso Iterativo e IncrementalProceso Dirigido por los Casos de UsoProceso Centrado en la Arquitectura

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Casos de uso: Idea generalUn caso de uso es una coleccin de escenarios de xito y fallas relacionados que describen actores usando el sistema para alcanzar algn objetivo.Un escenario es una secuencia especfica de acciones e interacciones entre actores y el sistema bajo discusin.Un actor es algo externo al sistema en discusin que interacta con ste. Por ejemplo: Una persona, otro sistema computacional, un sensor, etc. Los casos de uso muestran el comportamiento observable del sistema.

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Proceso Centrado en la Arquitectura La arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantesUn arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedadesRUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivoInceptionElaborationConstructionTransition

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Otra visin similar con ms Actividades

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Otra visin similar con ms ActividadesDisciplinas o reas de trabajoModelado del NegocioRequisitosAnlisis y DiseoImplementacinPruebasDistribucinEntornoGestin de configuracin y cambiosGestin del proyectoPrimariosDe Apoyo

    ELO329: Diseo y Programacin Orientadas a Objetos

  • RequisitosCapturar, definir y validar los casos de usoRealizar los casos de usoVerificar que se satisfacen los casos de usoAnlisis & DiseoImplementacinPruebas

    Casos de Usointegran eltrabajo

    Proceso dirigido por los Casos de Uso

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Caso de UsoRealizacin de AnlisisRealizacin de DiseoCaso de PruebaXtracetracetracetracePruebas FuncionalesPruebasUnitarias[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999] ... Proceso dirigido por los Casos de Uso

    ELO329: Diseo y Programacin Orientadas a Objetos

  • ... Proceso dirigido por los Casos de Uso

    ELO329: Diseo y Programacin Orientadas a Objetos

  • EnfoqueCascadaEnfoqueIterativo eIncrementalProceso Iterativo e IncrementalGrado de completitud de cada rea de trabajo

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Grado de Finalizacin de Artefactos... Proceso Iterativo e Incremental

    ELO329: Diseo y Programacin Orientadas a Objetos

  • 15%10%15%30%15%Una iteracin en lafase de elaboracinRequisitosDiseoImplementacinPruebasAnlisisEsfuerzo respecto de las reas de Trabajo (Workflows)ConcepcinElaboracinConstruccinTransicin

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Una iteracin en lafase de elaboracinRequisitosDiseoImplementacinPruebasAnlisisEsfuerzo: 5%20% 65% 10%Duracin: 10%30% 50% 10%...Esfuerzo respecto de las FasesConcepcinElaboracinConstruccinTransicin

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Comparar con V-Model

    ELO329: Diseo y Programacin Orientadas a Objetos

  • Dos lecciones importantesEl tiempo es independiente del contexto. Ahorrar una semana la comienzo de un proyecto es tan bueno como ahorrarla al final. Una semana es una semana.Es mucho ms fcil ahorrar tiempo al inicio del proyecto (cuando los entregables son menos claros).Conclusin: Cmo se aplica esto al proyecto del ramo?

    ELO329: Diseo y Programacin Orientadas a Objetos

    El proceso propuesto tiene mucho en comn con el modelo de proceso propuesto por Barry Bohem en 1988: El modelo espiral. Los cuadrantes de la espiral son: Determinar objetivos, alternativas y restricciones Evaluar alternativas, identificar y resolver riesgos, construir proptotiposDesarrollo y verificacin del productoPlanificacin de las siguientes fases