el proceso de desarrollo de software isw

Upload: zan-tiago

Post on 15-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    1/20

    el proceso de desarrollo

    http://www.processtrat.com/images/apim.gifhttp://images.google.com/imgres?imgurl=www.economiaenred.com/fotos/generico-factoria.jpg&imgrefurl=http://www.economiaenred.com/macroeconomia/notas/8182.html&h=150&w=200&prev=/images%3Fq%3Dfactor%25C3%25ADa%26svnum%3D10%26hl%3Des%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26sa%3DN
  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    2/20

    el proceso: modelos de

    desarrollo proceso

    conjunto ordenado de tareas, una serie de pasos que involucran

    actividades, restricciones y recursos, que producen una salida

    determinada

    proceso de software: conjunto de actividades necesarias paratransformar los requisitos de un usuario en un sistema software

    Proceso de desarrollode Software

    Proceso de desarrollode Software

    Requisitosdel usuario Sistema software

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    3/20

    el proceso: modelos de

    desarrollo caractersticas

    tiene una serie de actividades principales utiliza recursos, est sujeto a restricciones y enera productos intermedios y

    finales compuesto por su!procesos que se encadenan de aluna forma cada actividad tiene sus criterios de entrada y salida, que permiten conocer

    cuando comienza y termina dic"a actividad e#isten principios orientadores que e#plican las metas de cada actividad

    cuando implica la construcci$n de un producto, se suele llamar ciclo devida

    aportan consistencia y estructura so!re el conjunto de actividades, loque permite realizar la misma tarea correctamente de forma repetida

    e#isten diferentes modelos de proceso

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    4/20

    modelo en cascadaRequerimentos

    y Anlisis

    Diseo

    Implementacin

    Pruebas

    Mantenimiento

    resultado de cada fase: uno o msdocumentos aprobados

    una fase comienza cuando la anteriortermina

    en la prctica, las etapas se solapan

    iteraciones de coste elevado yreelaboracin del trabajo: tendencia ala congelacin de partes del desarrollo(especificaciones,...)

    se retrasa la localizacin y correccinde errores

    pueden producir sistemas poco tilespara usuarios o mal estructurados

    inflexibilidad del modelo: dificultadpara responder a cambios en losreuerimientos

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    5/20

    desarrollo evolutivo

    Recoleccin

    y refinamiento derequisitos

    Diseorpido

    Producto

    Refinamientodel prototipo

    Evaluacin delprototipo por

    el cliente

    Construccindel prototipo

    !asado en:

    desarrollo de una implementaci$n inicial e#posici$n a comentarios y crtica del

    usuario refinamiento a trav%s de diferentes

    versiones "asta llear a un sistemaadecuado

    dos tipos:

    prototipado evolutivo:trabajo con cliente para explorarsus reuerimientos y entregar unsistema final

    evolucin continua del prototipomediante la agregacin defunciones y caracter!sticaspropuestas por el cliente

    prototipos desec"ablescomprensin de las necesidadesdel clientedesarrollo de una definicinmejorada de los reuerimientosdel sistema

    prototipos centrados en laexperimentacin de reuisitospoco claros o complejos

    problemasprisas del cliente (utilizacin del

    prototipo como sistema finalpasar elecciones debidas al prototipo ala implementacin final (entorno,sistema operativo,...)

    estructura deficiente

    evolucin del proceso dif!cil de gestionar

    "erramientas y t#cnicas especiales

    poco adecuado para grandes sistemas

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    6/20

    prototipado evolutivo

    Desarrollarespecificacin

    abstracta

    Entregarsistema

    Utilizarprototipo

    Construirprototipo

    Sistemaadecuado?

    &'

    S(

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    7/20

    prototipado con lenuajes

    visuales

    Fi le Ed it Views Layou t Op tio ns Help

    GeneralIndex

    Hypertextdisplay component

    Date component

    Range checkingscript

    Tree displaycomponent

    12th January 2000

    3.876

    Draw canvascomponent

    User promptcomponent +

    script

    se utilizan lenguajes como $isual %asic,&elp"i,...

    el prototipo se desarrolla creando unainterfaz de usuario a partir deelementos estndar y asociandocomponentes con esos elementos

    existen grandes librer!as decomponentes para dar soporte a estetipo de desarrollo

    en muc"os casos las librer!as deben deadaptarse a los reuerimientosespec!ficos de la aplicacin

    dif!cil coordinar desarrollos basados eneuipos

    no existe una aruitectura de sistemaexpl!cita

    pueden existir dependencias complejas

    entre partes del programa uedificultan el mantenimiento

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    8/20

    desarrollo incremental)efinici$n eneral de

    requerimientos

    *sinaci$n de requerimientos

    a incrementos

    )ise+o de la arquitectura del

    sistema

    )esarrollo de incrementos

    del sistema

    ,alidar

    incrementos

    (nterar

    incrementos

    ,alidar

    sistema

    Sistema final

    sistema incompleto

    sistema completo

    pasos

    identificacin y priorizacin de funciones yservicios

    definicin de varios reuerimientos ueproporcionan parte de la funcionalidad, segn laprioridad (los ms importantes se entreganantes)

    definicin detallada de reuerimientos delincremento y desarrollo con el proceso msadecuado

    congelacin de reuerimientos de incrementosdesarrolladospuesta en explotacin de los incrementoscompletados y entregados

    ventajas

    puesta en marc"a temprana

    los incrementos iniciales permiten refinarreuerimientos de incrementos posteriores

    satisfaccin del cliente (bajo riesgo de fallo)sistema final muy probado y con pocos fallos

    problemas

    incrementos relativamente peue'os

    adaptacin de reuerimientos a incrementos deltama'o apropiado

    identificacin de recursos comunes a todos losincrementos

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    9/20

    .Concepto de

    operacin

    Anlisis de riesgos

    An.Riesgo.

    Anlisis de riesgos

    Anlisis de riesgos

    !R"#RES"

    A $RA%&SDE 'AS ($ERAC(")ES

    DESARR"''AR* %ER(+(CAR!R"DUC$" DE S(#U(E)$E )(%E'

    Codificar

    !'A)(+(CAR S(#U(E)$E

    +ASE

    Simulaciones, modelos,prue!as comparativas

    !lan dere,uerimientos

    !lan de ciclode -ida

    Plan dedesarrollo

    !lan de integracin prueba

    RE%(S(/)!rototipo 0

    !rototipo 1

    !rototipo 2

    !rototipooperati-o

    Re,uerimientosde soft3are

    %alidacin dere,uerimientos

    Dise4o delproducto

    Dise4o de -alidacin -erificacin

    Dise4odetallado

    !rueba deunidad

    !rueba deintegracin

    !rueba deaceptacin

    E5plotacin

    E%A'UAR A'$ER)A$(%AS*(DE)$(+(CAR 6RES"'%ER R(ES#"S

    DE$ER7()AR"89E$(%"S*A'$ER)A$(%AS 6RES$R(CC(")ES

    modelo en espiral

    propuesto por %arry%oe"m

    organizacin en ciclos

    primer ciclo: factibilidad

    segundo ciclo:reuerimientos

    tercer ciclo: dise'o

    ...

    cada ciclo se divide en sectores

    definicin de objetivos,restricciones del productoy proceso, plan deadministracin,...

    evaluacin y reduccin deriesgos (por ejemplo,mejor definicin dereuerimientos mediante

    prototipos)desarrollo y validacin:eleccin de un modelopara el desarrollo

    planificacin: el proyectose revisa y se decide si secontina con el siguienteciclo. si es as!, se planificala siguiente fase

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    10/20

    el proceso unificado de

    desarrollo proceso unificado de desarrollo

    propuesto por los autores de -./ 0lenguaje unificado

    de modelado)

    !asado en componentesinterconectados a trav%s de

    interfaces

    utiliza -./ para desarrollar los esquemas y diaramas

    de un sistema software

    principales aspectos definitorios

    diriido por casos de uso

    centrado en la arquitectura

    iterativo e incremental

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    11/20

    el proceso unificado: diriido

    por casos de uso para construir un sistema con %#ito "ay que

    conocer las necesidades y deseos de losfuturos usuarios usuario

    personas que tra!ajan y necesitanel sistema

    otros sistemas que interact1ancon el que estamos desarrollando

    interacci$n: usuario inserta tarjeta en cajero

    automtico usuario responde so!re la

    pantalla a las preuntas querealiza el cajero el usuario reci!e una cantidad de

    dinero y su tarjeta una interacci$n as es un caso de uso

    framento de funcionalidad delsistema que proporciona al

    usuario un resultado importante

    Retirar dinero

    (nresar dinero2liente del !anco

    3ransferencia entre cuentas

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    12/20

    el proceso unificado: diriido

    por casos de uso utilidad casos de uso

    "erramienta para especificar los requisitos de un sistema:representan los requisitos funcionales y juntos constituyen elmodelo de casos de uso, que descri!e la funcionalidad totaldel sistema

    uan el proceso de desarrollo 0dise+o, implementaci$n yprue!a4 !asndose en el modelo de casos de uso, se crean modelos de

    dise+o e implementaci$n se revisa cada modelo para que sean conformes al modelo de

    casos de uso se prue!a la implementaci$n para arantizar que los componentes

    del modelo de implementaci$n implementan correctamente loscasos de uso

    no s$lo inician el proceso de desarrollo sino que %ste siue un"ilo de tra!ajo que parte de los casos de uso

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    13/20

    el proceso unificado: centrado

    en la arquitectura

    la arquitectura de un sistemasoftware se descri!e mediantediferentes vistas del sistema

    en construcci$n influida por diversos factores necesidades de la empresa, tal

    y como las perci!en losusuarios y clientes

    otros factores, comoplataforma de e#plotaci$n

    0arquitectura "ardware, sistemaoperativo, estor de !ases dedatos, protocolos decomunicaci$n,5554,componentes reutiliza!les,sistemas "eredados, requisitosno funcionales,555

    casos de

    uso

    casos de

    uso

    arquitecturaarquitectura

    uaconduce

    2apa especfica

    de la aplicaci$n

    2apa eneral de la

    aplicaci$n

    2apaintermedia

    2apa de software

    del sistema

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    14/20

    el proceso unificado: centrado

    en la arquitectura es una vista del dise+o completo con las caractersticas ms

    importantes resaltadas, dejando los detalles de lado5 "ay una constante interacci$n entre los casos de uso y la arquitectura,

    que evolucionan en paralelo los casos de uso de!en encajar en la arquitectura cuando se realizan la arquitectura de!e permitir el desarrollo de todos los casos de uso

    requeridos el arquitecto

    realiza un esquema en !orrador de la arquitectura que no es especfica delos casos de uso 0por ejemplo, la plataforma4

    tra!aja con un su!conjunto de los casos de uso principales del sistema,especificndolo en detalle y realizndolo en t%rminos de su!sistemas,clases y componentes

    a medida que los casos de uso se especifican y maduran, se descu!re msde la arquitectura, lo que a su vez lleva a la maduraci$n de ms casos deuso

    este proceso contin1a "asta que se considera que se dispone de unaarquitectura esta!le

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    15/20

    el proceso unificado: iterativo e

    incremental el tra!ajo se divide en partes ms peque+as o

    miniproyectos miniproyecto: una iteraci$n que resulta en un incremento

    iteraci$n: pasos en el flujo de tra!ajo incremento: crecimiento del producto

    las iteraciones estn controladas y planificadas factores para seleccionar lo que se implementar en una iteraci$n

    la iteraci$n se centra en un rupo de casos de uso que juntosamplan la utilidad del producto desarrollado "asta a"ora

    la iteraci$n trata los riesos ms importantes

    las iteraciones sucesivas se construyen so!re los artefactosde

    desarrollo tal como quedaron al final de la 1ltima iteraci$n en las primeras fases del ciclo de vida los incrementos implicanmodificaciones

    en las 1ltimas fases los incrementos implican menos modificacionesy ms a+adidos a los modelos

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    16/20

    el proceso unificado: iterativo e

    incremental para cada iteraci$n:

    identificaci$n y especificaci$n de los casos de uso relevantes creaci$n de un dise+o utilizando la arquitectura seleccionada como ua implementaci$n del dise+o mediante componentes verificaci$n de que los componentes satisfacen los casos de uso si una iteraci$n cumple con sus o!jetivos, el desarrollo contin1a con la

    siuiente iteraci$n5 Si no, se revisan las decisiones previas y se adopta unnuevo enfoque

    ventajas proceso iterativo controlado reducci$n del coste del rieso a los costes de un solo incremento reducci$n del rieso de no sacar al mercado el producto en el calendario

    previsto se acelera el ritmo del esfuerzo de desarrollo en su totalidad, para o!tener

    resultados claros a corto plazo los requerimientos del usuario se van refinando en iteraciones sucesivas,por lo que se pueden acomodar mejor los cam!ios

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    17/20

    la vida del proceso unificado

    el proceso unificado se repite a lo laro de una serie de cicloscada ciclo concluye con una versindel producto y consta de cuatro fases

    inicio: descripci$n del producto final a partir de una idea inicial y anlisis de neocio para elproducto

    principales funciones del sistema y usuarios ms importantes 0modelo de casos de uso4 posi!le arquitectura del sistema plan del proyecto, coste, identificaci$n y priorizaci$n de riesos

    ela!oraci$n: se especifican en detalle los principales casos de uso se dise+a la arquitectura del sistema: vistas arquitect$nicas del modelo de casos de uso, del

    modelo de anlisis, del modelo de dise+o, del modelo de implementaci$n y modelo de desplieue al final se pueden planificar las actividades y estimar recursos necesarios para finalizar el proyecto

    construcci$n: se crea el producto a+adiendo el software a la arquitectura al final se dispone de todos los casos de uso acordados para el desarrollo aunque puede

    incorporar defectos

    transici$n periodo durante el cual el producto se convierte en versi$n !eta, en la que usuarios prue!an el

    producto e informan de defectos y deficiencias se corrien pro!lemas e incorporan suerencias incluye actividades como la formaci$n del usuario, proporcionar una lnea de ayuda y asistencia,555

    cada fase se divide a su vez en iteraciones

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    18/20

    (nicio Elaboracin Construccin $ransicin

    Re,uisitos

    Anlisis

    Dise4o

    (mplementacin

    !rueba

    +lu:os de traba:ofundamentales

    +ases

    iter 67 iter 68 999 999 999 999 999 iter 6n97 iter 6n

    (teraciones

    la vida del proceso unificado

    una iteraci$n en lafase de ela!oraci$n

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    19/20

    !i!liorafa

    ruee, 5, )utoit, *5;5, Ingeniera del Software Orientado a Objetos, cap5 7

  • 7/23/2019 El Proceso de Desarrollo de Software Isw

    20/20