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%3DN7/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