Modelo de desarrollo de software

79
UNIDAD IV I-2013 Modelos de desarrollo de software Prof. Yaskelly Yedra INGENIERÍA DE SOFTWARE Actividades en el proceso de desarrollo de software

Transcript of Modelo de desarrollo de software

  • UNIDAD IVI-2013

    Modelos de desarrollo de software

    Prof. Yaskelly Yedra

    INGENIERA DE SOFTWARE

    Actividades en el proceso de desarrollo de software

  • 2

    Modelo de proceso de DS

    1. Modelo secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Modelo en Cascada

  • 3

    Modelo en Cascada

    Encadenamiento secuencial de las actividades

    Cada etapa produce documentos que son la entrada a la siguiente.

    Para desarrollar una etapa debe concluirse la anterior.

    El modelo original no se adapta a ciertas aplicaciones.

    Los costos al descubrir errores en etapas avanzadas son muy altos (es rgido).

    Se incorporan variantes al modelo.

  • 4

    Validacin

    Instalacin, Explotacin

    Test y pruebas previas a la Operacin

    Operacin y Mantenimiento

    Estudio de ViabilidadAnlisis

    EspecificacinRequisitos del Software

    DiseoEspecificacin de diseo

    Diseo Preliminar y Detallado

    CodificacinAplicacin

    Codificacin y Depuracin

    A alguien se le ha ocurrido la Brillante idea de Informatizar ?

    Investigacin Inicial, Identificacin de Necesidades, Encuesta, etc.

    Requisitos del Sistema

    Modelo en Cascada

  • 5

    Definicin de Requisitos

    Diseo del Softwarey del Sistema

    Implementacin yPrueba de unidades

    Integracin y Prueba del Sistema

    Operacin yMantenimiento

    Modelo en Cascada

    Separa y secuencia las fases, (no es estrictamente secuencial, a veces se

    solapan las etapas)

    Tambin se le conoce comomodelo lineal secuencial o

    ciclo de vida clasico

  • 6

    Modelo en Cascada

    Definicin Anlisis

    Diseo Desarrollo

    Pruebas Mantenim.

    Definicin de requisitos: Las restricciones y metas del sistema se definen a partir de la

    interaccin con el interesado. Se comprende la naturaleza de la aplicacin y el dominio de informacin,

    as como su funcionalidad, rendimiento e interconexin Se renen todos los requisitos que debe cumplir el software

  • 7

    Modelo en Cascada

    Definicin Anlisis

    Diseo Desarrollo

    Pruebas Mantenim.

    Se concentra en cuatro caractersticas bsicas:Estructura de datosArquitectura del softwareRepresentaciones de interfazDetalle procedimental (algoritmo)

  • 8

    Modelo en Cascada

    Definicin Anlisis

    Diseo Desarrollo

    Pruebas Mantenim.

    Se llama tambin Implementacin Generacin de cdigo entendible por la mquina Actualmente se investiga mucho sobre la manera de

    generar cdigo automticamente

  • 9

    Modelo en Cascada

    Definicin Anlisis

    Diseo Desarrollo

    Pruebas Mantenim.

    Proceso de depuracin de programas Chequear la validez de las sentencias Pruebas para detectar errores, asegurando que a

    partir de los datos de entrada si se genere la salida deseada

  • 10

    Modelo en Cascada

    Definicin Anlisis

    Diseo Desarrollo

    Pruebas Mantenim.

    Correccin de errores no detectados en la etapa de pruebas

    Posibles mejoras funcionales debidas a nuevos requisitos del cliente

    En esta fase se vuelven a aplicar todas las etapas anteriores sobre el software existente

  • 11

    Modelo en cascada: ventajas-desventajas

    El gran problema de este modelo es la dificultad de realizar cambios despus que el proceso ha avanzado

    Particin inflexible del proyecto en etapas

    Dificultad de responder a los cambios de los requisitos del cliente

    Se retrasa la localizacin y correccin de errores

    Inflexibilidad del modelo: dificultad para responder a cambios en los requisitos

    Este modelo es apropiado cuando los requisitos estn bien definidos

  • 12

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Modelo Incremental Modelo DRA

  • 13

    Modelo de Proceso Incremental

    Aplica el enfoque del modelo en cascada, peroaplicado en forma iterativaCada secuencia lineal produce incrementos queagregan funcionalidades adicionales o mejoras alsistemaCada etapa debe cumplir con sus requisitosIncrementos parciales de la herramienta completa lasdiferentes versiones del proyectoEl modelo de proceso incremental, al igual que laconstruccin de prototipos y otros enfoquesevolutivos, es iterativo por naturaleza.

  • 14

    Modelo de Proceso Incremental

    Incremento 2

    Incremento n... ... ... ...

    Anlisis Diseo Cdigo Pruebas

    Anlisis Diseo Cdigo Pruebas

    Anlisis Diseo Cdigo Pruebas

    Incremento 1Entrega del 1er incremento

    Entrega del 2do incremento

    Entrega de n-simoincremento

  • 15

    Modelo de Proceso Incremental

    Ventajas: Los clientes no tienen que esperar hasta que el sistema se

    entregue completamente para comenzar a hacer uso de l. Los clientes pueden usar los incrementos iniciales como prototipo

    para precisar los requisitos posteriores del sistema. Minimizacin del riesgo de falla en el proyecto porque los errores

    se van corrigiendo progresivamente.Desventaja: Adaptacin de los requisitos del cliente para lograr incrementos

    pequeos (no mas de 20.000 lneas de cdigo) que aadan funcionalidad al sistema.

    Nota: Una evolucin de este enfoque se conoce como ProgramacinExtrema (XP-Extreme Programming).

  • 16

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Modelo Incremental Modelo DRA

  • 17

    Modelo de Desarrollo Rpido de Aplicaciones (DRA)

    Basado en el Modelo en Cascada, pero con una aplicacin msrpida, basada en componentes o generacin de cdigo.

    Modelo llevado a cabo por varias equipos de trabajo que siguenlas etapas del proceso de manera simultanea.

    Modelo aplicable a la construccin de sistemas de informacinfcilmente modularizables.

    El Modelo DRA necesita clientes y desarrolladorescomprometidos con el proceso.

    Varios equipos de desarrolladores de software trabajan enparalelo sobre diferentes funciones del sistema

  • 18

    Modelo de Desarrollo Rpido de Aplicaciones (DRA)

    Equipo No. 1

    Equipo No. 2

    Equipo No. N..

    Comunicacin

    Planeacin

    ModeladoModelado del negocioModelado de los datosModelado del proceso

    ModeladoModelado del negocioModelado de los datosModelado del proceso

    ModeladoModelado del negocioModelado de los datosModelado del proceso

    60-90 das

    DespliegueIntegracinEntregaRetroalimentacin

    ConstruccinReutilizacin de componentesGeneracin automtica de cdigoPruebas

    ConstruccinReutilizacin de componentesGeneracin automtica de cdigoPruebas

    ConstruccinReutilizacin de componentesGeneracin automtica de cdigoPruebas

  • 19

    Modelo de Desarrollo Rpido de Aplicaciones (DRA): Desventajas

    No funciona para proyectos a grandes escala, necesitarasuficiente RRHH para crear el nmero correcto de equipos.

    Si los desarrolladores y clientes no se comprometen con lasactividades necesarias para completar el sistema en un marcode tiempo muy breve, el proyecto DRA fallara.

    Si un sistema no se puede modular en forma apropiada, laconstruccin de los componentes para el DRA serproblemtica

    El DRA sera inapropiado cuando los riesgos tcnicos sonaltos (integracin de nuevas tecnologas)

  • 20

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Construccin de prototipos Modelo espiral Modelo de desarrollo concurrente

  • 21

    Los modelos evolutivos se caracterizan porquepermiten a los ingenieros del software, desarrollar demanera iterativa, nuevas versiones del software cadavez ms completasLas actividades de especificacin, desarrollo yvalidacin se entrelazan en vez de separarse, estopermite una rpida retroalimentacin entre ellasExisten dos tipos de desarrollo evolutivos: Desarrollo exploratorio

    Prototipos desechables

    Desarrollo Evolutivo: Prototipado

  • 22

    Desarrollo exploratorio (prototipado exploratorio o evolutivo) El objetivo es trabajar con clientes hasta evolucionar a un

    sistema final, a partir de una especificacin inicial El sistemaempieza con las partes del sistema que se comprenden mejor. Elsistema evoluciona agregando nuevos atributos propuestos porel cliente

    Prototipaje desechable Persiguen objetivos ms bien de exploracin, por lo que poseen

    un corto ciclo de vida. Permiten crear opciones individuales derequisitos, diseo e implementacin repentinas, de modo desatisfacer un nuevo requerimiento para luego ser desechado. Larazn de su empleo radica en aprender lecciones necesarias aun costo mnimo.

    Desarrollo Evolutivo: Prototipado

  • 23

    Descripcindel sistema

    VersinInicial

    VersinFinal

    VersionesIntermedias

    Especificacin

    Desarrollo

    Validacin

    ActividadesConcurrentes

    Desarrollo Evolutivo: Prototipado

  • 24

    Recoleccin yrefinamientode requisitos

    DiseoRpido de la

    aplicacin

    Construccinde prototipos

    El cliente evala

    el prototipo

    Desarrollo delproducto final

    Desarrollo Evolutivo: Prototipado

  • 25

    El proceso no es visible Los administradores tienen que hacer entregas

    regulares para medir el progreso. Si los sistemas sedesarrollan rpidamente, no es rentable producirdocumentos que reflejen cada versin del sistema.

    A menudo los sistemas tienen una estrategiadefinida Los cambios continuos tienden a corromper la

    estructura del software. Incorporar cambios en l seconvierte cada vez en una tarea difcil y costosa.

    Desarrollo Evolutivo: PrototipadoDesventajas

  • 26

    Desarrollo Evolutivo: PrototipadoVentajas

    Se detectan malos entendidos entre los desarrolladoresy los usuariosSe detectan servicios no detectados antesDificultades de uso o servicios confusos pueden seridentificados y refinadosStaff de desarrollo de software puede encontrarrequisitos incompletos o inconsistentes con eldesarrollo del prototipoEl prototipo sirve como una base de la especificacinpara la produccin de un sistema de calidad

  • 27

    Desarrollo Evolutivo: Prototipado

    Problemas Poca visibilidad en el proceso Los sistemas estn pobremente especificados Se requieren habilidades especiales.

    Aplicabilidad Para sistemas interactivos pequeos o

    medianos. Para partes de sistemas grandes (p.ej. la

    interfaz de usuario). Para sistemas de corta vida.

  • 28

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Construccin de prototipos Modelo espiral Modelo de desarrollo concurrente

  • 29

    Modelo en Espiral

    Conjuga la naturaleza iterativa de la construccin deprototipos con los aspectos controlados ysistemticos del Modelo en Cascada.

    Se desarrolla en una serie de entregas evolutivas,puede ser en forma de documento o prototipo.Durante las ultimas iteraciones se produce versionescada vez ms completas

    Se divide en un conjunto de actividades del marco detrabajo que define el equipo de desarrollo de IS

  • 30

    Modelo en Espiral

    Provee una visin del proceso que soporta la gestin de riesgos.

    RIESGO: circunstancia potencialmente adversa que puede impactar al proceso y al producto

    GESTION DE RIESGOS: disciplina que identifica, trata y elimina los potenciales riesgos

    Se centra en identificar y eliminar los riesgos en eldesarrollo de software

    Es cclico y en cada nivel se asegura mayor robustez, mientras que disminuye su grado de riesgo

  • 31

    El proceso se representa como una espiral en lugarde una secuencia de actividades

    Cada vuelta en la espiral representa una fase en elproceso

    Ninguna fase es fija, tal como la especificacin o eldiseo - las vueltas en la espiral son elegidasdependiendo lo que se requiera

    Se evalan los riesgos explcitamente y seresuelven a lo largo del proceso

    Modelo en Espiral

  • 32

    Fases del Modelo de Espiral

    Planteamiento de Objetivos Se identifican los objetivos especficos para cada

    fase del proyecto.

    Identificacin y reduccin de riesgos. Los riesgos clave se identifican y analizan, y la

    informacin sirve para minimizar los riesgos.

    Desarrollo y Validacin. Se elige un modelo apropiado para la siguiente fase

    del desarrollo.

    Planeacin. Se revisa el proyecto y se trazan planes para la

    siguiente ronda del espiral.

  • 33

    UCV Esc Computacin Lab MeFIS:33

    I

    Identifica Objetivos, alternativas, restricciones

    II

    Evala alternativas, identifica y resuelve riesgos

    IV

    Revisin de resultados y Planificacin de la siguiente fase

    III

    Desarrolla, verifica

    requisitos, plan del ciclo de vida

    Anlisis de riesgo

    Prototipo 1Prototipo 2

    Prototipo 3

    Prototipo Anlisis de riesgo

    Anlisis de riesgo

    Anlisis de riesgo

    Diseo detallado

    Plan de desarrollo

    Integracin y plan de test

    Validacin del diseo

    Diseo

    requisitos

    Validacin de req.

    CdigoTest Unitario

    Integraciny test

    Simulacin, modelacin

    El m

    odel

    o es

    pira

    lprogreso

    Incepcin

    liberacin

  • 34

    Ventajas del Modelo de Espiral

    Ventajas Centra su atencin en la reutilizacin de

    componentes y eliminacin de errores en informacin descubierta en fases iniciales.

    til para proyectos grandes. Permite usar el prototipado en todas las etapas de la

    evolucin para reducir el riesgo. Mantiene el enfoque sistemtico de los pasos

    sugeridos por el modelo lineal secuencial, pero lo incorpora dentro de un marco iterativo ms real.

  • 35

    Ventajas del Modelo de Espiral

    Desventajas Requiere de experiencia en la identificacin

    de riesgos. Requiere refinamiento para uso generalizado Difcil de convencer a los clientes de que es

    controlable. Requiere mucha habilidad para el anlisis de

    riesgos y de esta habilidad depende su xito. No ha sido utilizado tanto como el lineal

    secuencial o el de prototipos. Se necesita mucha experiencia

  • 36

    Ventajas del Modelo de Espiral

    Evolucin del Modelo Espiral Para aplicaciones basadas en web

  • 37

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Construccin de prototipos Modelo espiral Modelo de desarrollo concurrente

  • 38

    Modelo de Desarrollo Concurrente

    Provee una meta descripcin del proceso de softwareMientras que en el Espiral la principal contribucin es quelas actividades del software ocurran repetidamente, en elConcurrente es la capacidad de describir las mltiplesactividades del software que ocurren simultneamente.Dado que los requisitos cambian, es muy probable que unavez haya comenzado la fase de diseo, sea necesarioincorporar cambios. En estos casos NO se debe detener eldiseo, sino que se debe continuar si es posible al mismotiempo que se modifican los requisitos.En este modelo, diversas actividades pueden estarocurriendo concurrentemente, pero se encuentran endiferentes estados.

  • 39

    Modelo de Desarrollo Concurrente

    Ninguna

    BajoDesarrollo

    Cambios enespera Bajo

    Revisin

    BajoModificacin

    En lneabase

    Realizado

    Representa un estado de una actividad de IS

    Actividad de anlisis

  • 40

    Modelo de proceso de DS

    1. Modelo secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

  • 41

    Harramientas CASE

    Acrnimo de Computer Aided Software Engineering(Ingeniera del software asistida por ordenador).Tecnologa software que proporciona la automatizacin delas tareas de desarrollo, mantenimiento y direccin delsoftware.El CASE proporciona un conjunto de herramientas bienintegradas que ahorran trabajo, enlazando y automatizandotodas las fases del ciclo de vida del software.

    Ejemplos de CASEHerramientas de diagramacinDiccionario de datosHerramientas de validacin de especificacionesGeneradores de cdigoGeneradores de documentacin

  • 42

    Surge como consecuencia de la aparicin del CASE y delos generadores de cdigo.Este ciclo de vida puede considerarse como una serie detransformaciones: El objetivo del sistema se transforma en

    especificaciones de requisitos. Las especificaciones de requisitos se transforman en

    especificaciones de diseo. Las especificaciones de diseo se transforman en

    cdigo.

    Modelo Basado en Transformaciones

  • 43

    Modelo Basado en Transformaciones

    Ventajas Posibilidad de comprobacin de errores en etapas

    iniciales del desarrollo. Posibilidad de realizar el mantenimiento a nivel de

    especificacin, evitando tener que modificar un cdigo que est pobremente estructurado despus de repetidos procesos de optimizacin.

    Soporte para la validacin de los requisitos. Soporte de reusabilidad. Potencia la especificacin orientada al problema.

  • 44

    Modelo Basado en Transformaciones

    Desventajas Requieren especificaciones iniciales muy

    detalladas. Restringen el mbito de la aplicacin. Requieren una maduracin previa del

    proceso de desarrollo.

  • 45

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Modelo basado en componentes Modelo de mtodos formales

  • 46

    Modelo Basado en Componentes

    Se basa en la reutilizacin de componentes

    Requiere de una librera de componentes

    La reutilizacin puede ser de componentes de especificacin, de programas, etc.

    La reusabilidad permite reducir el tiempo y los costos asociados a la construccin de productos de software

    Requiere de herramientas de asistencia para las nuevas actividades que se generan.

  • 47

    Modelo Basado en Componentes

    La tecnologa de objetos proporciona el marcode trabajo tcnico para un modelo de procesobasado en componentes para la IS.

    El paradigma orientado a objetos enfatiza en lacreacin de clases que encapsulan tanto losdatos como los algoritmos que se utilizan paramanejar los datos.

    Si se disean e implementan las clasescorrectamente, podran ser reutilizables por lasdiferentes aplicaciones y arquitecturas desistemas basados en computadores.

  • 48

    Modelo Basado en Componentes

    El modelo de desarrollo basado en componentes incorpora muchas de las caractersticas del modelo en espiral.

    Es evolutivo por naturaleza y exige un enfoque iterativo para la creacin de software.

    Configura aplicaciones desde componentes preparados de software.

    El modelo basado en componentes conduce a la reutilizacin del software, proporcionando beneficios a los ingenieros de software.

  • 49

    Un sistema est integrado a partir de componentes

    Etapas del proceso Analisis de componentes Modificacin de requisitos Diseo del sistema con reuso Desarrollo e integracin

    Modelo Basado en Componentes

    Anlisis de componentes

    Especificacin de requisitos

    Modificacin de requisitos

    Desarrollo eintegracin

    Validacin del sistema

    Diseo del sistema con reutilizacin

  • 50

    Ventaja Optimiza los tiempos de respuesta a los requisitos del

    cliente y facilita la labor del programador pues hay un alto aprovechamiento del cdigo.

    Facilita mantenimiento del software.

    Desventaja Puede no tenerse los componentes adecuados para

    los requisitos del sistema. Si las nuevas versiones de los componentes no estn

    bajo el control de quien los utiliza se pierde parte de la evolucin del sistema.

    Modelo Basado en Componentes

  • 51

    Modelo Basado en Componentes

    Evolucin del Modelo Espiral aplicado a la reutilizacin de componentes

    Planificacin

    Anlisis de Riesgo

    Construccin y adaptacin dela ingeniera

    Evaluacin Del Cliente

    Comunicacin con el Cliente

    Identificar componentes

    candidatos

    Construir la iteracindel sistema

    Poner nuevoscomponentes en la biblioteca

    Extraer Componentes

    Si estndisponibles

    Buscar Componentesen biblioteca

    Extraer ComponentesSi No estn disponibles

  • 52

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Modelo basado en componentes Modelo de mtodos formales

  • 53

    Modelo de Mtodos Formales

    El proceso de desarrollo se basa en la transformacin matemtica formal de la especificacin del sistema a un programa ejecutableFacilita la verificacin de programas a travs de un riguroso anlisis matemtico.La ejecucin de este tipo de modelos requiere mucho tiempo y esfuerzo.

    Especificacinformal

    Definicin de requisitos

    Transformacin formal

    Integracin y prueba del sistema

  • 54

    Modelo de Mtodos Formales

    Ventaja Demostraciones formales de propiedades. Especificaciones sin ambigedades. tiles para sistemas crticos, dnde la seguridad debe

    garantizarse antes que el sistema sea puesto en funcionamiento.

    Desventaja Difcil especificar algunos aspectos del sistema tales

    como la interfaz de usuario La ejecucin de este tipo de modelos requiere mucho

    tiempo y esfuerzo. Pocos desarrolladores dominan el algebra y las

    matemticas para la especificacin formal.

  • 55

    Modelo de proceso de DS

    1. Modelos secuencial2. Modelo de proceso incremental3. Modelo de proceso evolutivo4. Modelos basados en transformaciones5. Modelos especializados en proceso6. Proceso Unificado (PU)

    Dirigido por caso de uso Centrado en la arquitectura Iterativo e incremental

  • 56

    El Proceso Unificado (PU)

    Quin est haciendo,

    Qu es lo que est haciendo,

    Cundo debe hacerlo, y

    Cmo obtener un cierto objetivo.

    trabajadores

    artefactos

    fases del procesoencadenamiento de actividades.

    Define:

    Modelo, documento, cdigo o pieza de informacin producido en el proceso de desarrollo de software

  • 57

    Est basado en componentes e interfaces bien definidas

    Utiliza el Lenguaje Unificado de Modelado (UML)

    Aspectos caractersticos: Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental

    El Proceso Unificado (PU)

    Ivar Jacobson, Grady Booch, James Rumbaugh, El Proceso Unificado de Desarrollo Software, AddisonWesley, 1999

  • 58

    Caso de uso: Fragmento de funcionalidad que proporciona al usuario/cliente un resultado importante

    Modelo de casos de uso: Funcionalidad total del sistema

    Qu debe hacer el sistema para cada usuario?

    Guan el proceso de desarrollo

    Dirigido por casos de uso

    El Proceso Unificado (PU)

  • 59

    Describe diferentes vistas del sistema

    Incluye los aspectos estticos y dinmicos ms significativos

    La arquitectura y los casos de uso evolucionan en paralelo

    Responsable: el arquitecto: Empieza por la parte que no es especfica de los casos de uso Trabaja con casos de uso claves Progresa con la especificacin de ms casos de uso

    Centrado en la arquitectura

    El Proceso Unificado (PU)

    Proyeccin de la organizacin y estructura de un sistema enfocndose en aspectos

    particulares

  • 60

    Arquitectura: Vistas

    El Proceso Unificado (PU)

    Para modelar un sistema desde diferentes vistas se deberesponder:

    Qu vistas se requiere?Para cada vista:

    Qu artefactos producir?

    Con qu notacin?

  • 61

    Se divide el trabajo en mini-proyectos

    Cada mini-proyecto es una iteracin que resulta en un incremento

    La iteracin Trata un conjunto de casos de uso Trata los riesgos ms importantes

    En cada iteracin se persiguen unos objetivos concretos

    El Proceso Unificado (PU)

    Iterativo e incremental

  • 62

    Beneficios de un proceso iterativo controlado: Coste del riesgo a un solo incremento Reduce el riesgo de no sacar el producto en el

    calendario previsto Acelera el ritmo de desarrollo Se adapta mejor a las necesidades del cliente

    El Proceso Unificado (PU)

    Iterativo e incremental

  • 63

    El Proceso Unificado (PU)

    Iterativo e incremental

    Permite desarrollar un sistema a travs derefinamientos sucesivos e incorporacin denuevas funcionalidades, creando una solucinefectiva, en mltiples iteraciones.

    Alto nivel de reuso Apendizaje del grupo del proyecto durante el desarrollo

    del software Adaptacin a requisitos cambiantes Mitigacin de los riesgos y realizacin de las pruebas en

    etapas tempranas del desarrollo del software.

  • 64

    El Proceso Unificado (PU)

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

  • 65

    El Proceso Unificado (PU)

    tiempo

    Inicio Elaboracin Construccin Transicin

    Define el alcance y factibilidad del proyecto.(anlisis de requisitos).

    Fases del ciclo de vida

  • 66

    El Proceso Unificado (PU)

    tiempo

    Inicio Elaboracin Construccin Transicin

    Planifica el proyecto, especifica las caractersticas y la arquitectura base. (Anlisis y diseo)

    Fases del ciclo de vida

  • 67

    El Proceso Unificado (PU)

    Fases del ciclo de vida

    tiempo

    Inicio Elaboracin Construccin Transicin

    Construye el producto(implementacin)

  • 68

    El Proceso Unificado (PU)

    Fases del ciclo de vida

    tiempo

    Inicio Elaboracin Construccin Transicin

    Entrega del producto al cliente o a los usuarios.

  • 69

    El Proceso Unificado (PU)

    69

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

    Esbozar:Modelo de Casos de UsoEspecificaciones complementariasGlosario

  • 70

    El Proceso Unificado (PU)

    70

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

    Refinar: Modelo de Casos de Uso Especificaciones Complementarias Glosario

  • 71

    El Proceso Unificado (PU)

    71

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

    Esbozar: Modelo de Diseo Documento de la Arquitectura

  • 72

    El Proceso Unificado (PU)

    72

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

    Refinar: Modelo de Diseo

  • 73

    El Proceso Unificado (PU)

    73

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

    Esbozar: Modelo de implementacin

  • 74

    El Proceso Unificado (PU)

    74

    Modelado del Negocio

    ImplementacinPrueba

    Entrega

    Anlisis y Diseo

    DisciplinasFundamentales

    Requisitos

    Fases

    Elaboracin Construccin TransicinInicio

    Iteraciones y disciplinas

    Refinar: Modelo de implementacin

  • 75

    El Proceso Unificado (PU)Artefactos que se producen

  • 76

    El Proceso Unificado (PU)Inclusin de la construccin de la interfaz

    ConstruccinInterfaz Usuario

    Inicio

    Elaboracin

    Construccin

    Transicin

    Fases

    Actividadess

    Anlisis requerimientos

    Anlisis

    Diseo

    Implementacin

    Prueba

  • 77

    Cascada Separa y secuencia las fases

    Evolutivo Especificacin y desarrollo son intercalados

    De transformaciones Un modelo formal del sistema es transformado en

    otro modelo de ms bajo nivel de abstraccin

    Basado en componentes El sistema es producto de ensamblaje de

    componentes

    Modelo de proceso de DS (conclusiones)

  • 78

    Qu modelo utilizar ?

    Para sistemas bien comprendidos se puede aplicar el Modelo en Cascada. La fase de anlisis de riesgos es relativamente fcil.

    Con Requisitos estables y sistemas de seguridad crticos, se pueden utilizar Modelos Formales.

    Con especificaciones incompletas, se puede utilizar el Modelo de Prototipaje.

    Pueden utilizarse modelos hbridos en distintas partes del desarrollo.

  • 79

    Modelos de Procesos Hbridos

    Los sistemas grandes estn hechos usualmente de varios subsistemas.

    No es necesario utilizar el mismo modelo de proceso para todos los subsistemas.

    El prototipado es recomendado cuando existen especificaciones de alto riesgo.

    El modelo de cascada es utilizado en desarrollos bien comprendidos.

    Nmero de diapositiva 1Nmero de diapositiva 2Modelo en CascadaModelo en CascadaModelo en CascadaModelo en CascadaModelo en CascadaModelo en CascadaModelo en CascadaModelo en CascadaModelo en cascada: ventajas-desventajas Nmero de diapositiva 12Nmero de diapositiva 13Nmero de diapositiva 14Nmero de diapositiva 15Nmero de diapositiva 16Nmero de diapositiva 17Nmero de diapositiva 18Nmero de diapositiva 19Nmero de diapositiva 20Desarrollo Evolutivo: PrototipadoDesarrollo Evolutivo: PrototipadoNmero de diapositiva 23Desarrollo Evolutivo: PrototipadoDesarrollo Evolutivo: Prototipado DesventajasDesarrollo Evolutivo: Prototipado VentajasNmero de diapositiva 27Nmero de diapositiva 28Modelo en EspiralModelo en EspiralModelo en EspiralNmero de diapositiva 32Nmero de diapositiva 33Nmero de diapositiva 34Nmero de diapositiva 35Nmero de diapositiva 36Nmero de diapositiva 37Nmero de diapositiva 38Nmero de diapositiva 39Nmero de diapositiva 40Harramientas CASEModelo Basado en TransformacionesModelo Basado en TransformacionesModelo Basado en TransformacionesNmero de diapositiva 45Modelo Basado en ComponentesModelo Basado en ComponentesModelo Basado en ComponentesModelo Basado en ComponentesModelo Basado en ComponentesModelo Basado en ComponentesNmero de diapositiva 52Modelo de Mtodos FormalesModelo de Mtodos FormalesNmero de diapositiva 55El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)El Proceso Unificado (PU)Nmero de diapositiva 77Qu modelo utilizar ?Modelos de Procesos Hbridos