You are on page 1of 21

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

UNIVERSIDAD NACIONAL JOS MARA ARGUEDAS

CARRERA PROFESIONAL DE INGENIERIA DE CURSO TEMA SISTEMAS

: INGENIERIA DE SOFTWARE I : MODELOS DEL PROCESO DEL SOFTWARE

ALUMNA:

ALARCON PASTOR RUTH BARINIA CARRASCO PALOMINO JUAN REYMUNDO

SEMESTRE: 2010-IESTUDIANTES: Andahuaylas, mayo del 2010


1

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Proceso de desarrollo de software Introduccin Un sistema informtico est compuesto por hard are ! soft are" En cuanto a# hard are$ su producci%n se rea#i&a sistemticamente ! #a 'ase de conocimiento para e# desarro##o de dicha acti(idad est c#aramente definida" La fia'i#idad de# hard are es$ en principio$ e)uipara'#e a #a de cua#)uier otra m)uina construida por e# hom're" Sin em'ar*o$ respecto de# soft are$ su construcci%n ! resu#tados han sido hist%ricamente cuestionados de'ido a #os pro'#emas asociados$ entre e##os podemos destacar #os si*uientes+ Los sistemas no responden a #as e,pectati(as de #os usuarios"

Los pro*ramas -fa##an. con cierta frecuencia" Los costes de# soft are son dif/ci#es de pre(er ! norma#mente superan #as estimaciones" La modificaci%n de# soft are es una tarea dif/ci# ! costosa" E# soft are se sue#e presentar fuera de# p#a&o esta'#ecido ! con menos prestaciones de #as consideradas inicia#mente" 0orma#mente$ es dif/ci# cam'iar de entorno hard are usando e# mismo soft are" E# apro(echamiento %ptimo de #os recursos 1personas$ tiempo$ dinero$ herramientas$ etc"2 no sue#e cump#irse"

Se*3n e# Centro E,perimenta# de 4n*enier/a de Soft are 1CE4S2$ e# estudio de mercado The Chaos Report rea#i&ado por Standish 5roup 4nternactiona# en 6778$ conc#u!% )ue s%#o un 689 de #os pro!ectos de soft are son e,itosos 1terminan dentro de p#a&os ! costos ! cump#en #os re)uerimientos acordados2" Otro :;9 so'repasa costos ! p#a&os ! cump#e parcia#mente #os re)uerimientos" E# resto ni si)uiera ##e*a a# t<rmino" A#*unas deficiencias comunes en e# desarro##o de soft are son+ Escasa o tard/a (a#idaci%n con e# c#iente"

4nadecuada *esti%n de #os re)uisitos" 0o e,iste medici%n de# proceso ni re*istro de datos hist%ricos" Estimaciones impre(istas de p#a&os ! costos" E,cesi(a e irraciona# presi%n en #os p#a&os" Escaso o deficiente contro# en e# pro*reso de# proceso de desarro##o" 0o se hace *esti%n de ries*os forma#mente"
2

MODELOS DEL PROCESO DEL SOFTWARE


CPIS UNAJMA

0o se rea#i&a un proceso forma# de prue'as" 0o se rea#i&an re(isiones t<cnicas forma#es e inspecciones de c%di*o"

E# primer reconocimiento p3'#ico de #a e,istencia de pro'#emas en #a producci%n de soft are tu(o #u*ar en #a conferencia or*ani&ada en 678= por #a Comisi%n de Ciencias de #a OTA0 en 5armisch 1A#emania2$ dicha situaci%n pro'#emtica se denomin% crisis de# soft are" En esta conferencia$ as/ como en #a si*uiente rea#i&ada en Roma en 6787$ se estipu#% e# inter<s hacia #os aspectos t<cnicos ! administrati(os en e# desarro##o ! mantenimiento de productos soft are" Se pretend/a acordar #as 'ases para una in*enier/a de construcci%n de soft are" Se*3n Frit& >auer #o )ue se necesita'a era -establecer y usar principios de ingeniera orientados a obtener software de manera econmica, que sea fiable y funcione eficientemente sobre mquinas reales." Esta definici%n marca'a posi'#es cuestiones ta#es como+ ?Cu#es son #os principios ro'ustos de #a in*enier/a ap#ica'#es a# desarro##o de soft are de computadora@ ?C%mo construimos e# soft are econ%micamente para )ue sea fia'#e@ ?Au< se necesita para crear pro*ramas de computadora )ue funcionen eficientemente no en una m)uina sino en diferentes m)uinas rea#es@" Sin em'ar*o$ dicho p#anteamiento adems de'/a inc#uir otros aspectos$ ta#es como+ meBora de #a ca#idad de# soft are$ satisfacci%n de# c#iente$ mediciones ! m<tricas$ etc" E# -IEEE Standard Glossary of Software Engineering Terminology . 1Stad" 86C"6DE677C2 ha desarro##ado una definici%n ms comp#eta para in*enier/a de# soft are + -162 La ap#icaci%n de un enfo)ue sistemtico$ discip#inado ! cuantifica'#e para e# desarro##o$ operaci%n ! mantenimiento de# soft areF es decir$ #a ap#icaci%n de in*enier/a a# soft are" 1D2 E# estudio de enfo)ues en 162." Pressman caracteri&a #a 4n*enier/a de Soft are como -una tecno#o*/a mu#ticapa.$ i#ustrada en #a Fi*ura 6"

Figura ! "apas de la Ingeniera de Software# Dichas capas se descri'en a continuaci%n+ Cua#)uier discip#ina de in*enier/a 1inc#uida #a in*enier/a de# soft are2 de'e descansar so're un esfuer&o de or*ani&aci%n de ca#idad" La *esti%n tota# de #a ca#idad ! #as fi#osof/as simi#ares fomentan una cu#tura continua de meBoras de procesos )ue conduce a# desarro##o de enfo)ues cada (e& ms ro'ustos para #a in*enier/a de# soft are"

E# fundamento de #a in*enier/a de soft are es #a capa proceso" E# proceso define un marco de tra'aBo para un conBunto de reas c#a(e$ #as cua#es forman #a 'ase de# contro# de *esti%n de pro!ectos de soft are ! esta'#ecen e# conte,to en e# cua#+ se ap#ican #os m<todos t<cnicos$ se producen resu#tados de tra'aBo$ se esta'#ecen hitos$ se ase*ura #a ca#idad !
3

MODELOS DEL PROCESO DEL SOFTWARE


e# cam'io se *estiona adecuadamente"

CPIS UNAJMA

Los m<todos de #a in*enier/a de soft are indican c%mo construir t<cnicamente e# soft are" Los m<todos a'arcan una *ran *ama de tareas )ue inc#u!en an#isis de re)uisitos$ diseGo$ construcci%n de pro*ramas$ prue'as ! mantenimiento" Estos m<todos dependen de un conBunto de principios 'sicos )ue *o'iernan cada rea de #a tecno#o*/a e inc#u!en acti(idades de mode#ado ! otras t<cnicas descripti(as" Las herramientas de #a in*enier/a de# soft are proporcionan un soporte automtico o semiEautomtico para e# proceso ! #os m<todos$ a estas herramientas se #es ##ama herramientas CASE 1C omputer$%ided Software Engineering2"

Dado #o anterior$ e# o'Beti(o de #a in*enier/a de soft are es #o*rar productos de soft are de ca#idad 1tanto en su forma fina# como durante su e#a'oraci%n2$ mediante un proceso apo!ado por m<todos ! herramientas" A continuaci%n nos enfocaremos en e# proceso necesario para e#a'orar un producto de soft are" El proceso de desarrollo del software Un proceso de desarro##o de soft are tiene como prop%sito #a producci%n efica& ! eficiente de un producto soft are )ue re3na #os re)uisitos de# c#iente" Dicho proceso$ en t<rminos *#o'a#es se muestra en #a Fi*ura D " Este proceso es intensamente inte#ectua#$ afectado por #a creati(idad ! Buicio de #as personas in(o#ucradas" Aun)ue un pro!ecto de desarro##o de soft are es e)uipara'#e en muchos aspectos a cua#)uier otro pro!ecto de in*enier/a$ en e# desarro##o de soft are ha! una serie de desaf/os adiciona#es$ re#ati(os esencia#mente a #a natura#e&a de# producto o'tenido" A continuaci%n se e,p#ican a#*unas particu#aridades asociadas a# desarro##o de soft are ! )ue inf#u!en en su proceso de construcci%n" Un producto soft are en s/ es comp#eBo$ es prcticamente in(ia'#e conse*uir un 6CC9 de confia'i#idad de un pro*rama por pe)ueGo )ue sea" E,iste una inmensa com'inaci%n de factores )ue impiden una (erificaci%n e,hausti(a de #as todas posi'#es situaciones de eBecuci%n )ue se puedan presentar 1entradas$ (a#ores de (aria'#es$ datos a#macenados$ soft are de# sistema$ otras ap#icaciones )ue inter(ienen$ e# hard are so're e# cua# se eBecuta$ etc"2" Un producto soft are es intan*i'#e ! por #o *enera# mu! a'stracto$ esto dificu#ta #a definici%n de# producto ! sus re)uisitos$ so're todo cuando no se tiene precedentes en productos soft are simi#ares" Esto hace )ue #os re)uisitos sean dif/ci#es de conso#idar tempranamente" As/$ #os cam'ios en #os re)uisitos son ine(ita'#es$ no s%#o despu<s de entre*ado en producto sino tam'i<n durante e# proceso de desarro##o" Adems$ de #as dos anteriores$ siempre puede seGa#arse #a inmadure& de #a in*enier/a de# soft are como discip#ina$ Bustificada por su corta (ida comparada con otras discip#inas de #a in*enier/a" Sin em'ar*o$ esto no es ms )ue un in3ti# consue#o"

MODELOS DEL PROCESO DEL SOFTWARE


Requisitos nuevos o modificados

CPIS UNAJMA
Sistema nuevo o modificado

Proceso de Desarrollo de Software

Figura &! proceso de desarrollo de software# E# proceso de desarro##o de soft are no es 3nico" 0o e,iste un proceso de soft are uni(ersa# )ue sea efecti(o para todos #os conte,tos de pro!ectos de desarro##o" De'ido a esta di(ersidad$ es dif/ci# automati&ar todo un proceso de desarro##o de soft are" A pesar de #a (ariedad de propuestas de proceso de soft are$ e,iste un conBunto de acti(idades fundamenta#es )ue se encuentran presentes en todos e##os+ 6" Especificaci%n de soft are+ Se de'e definir #a funciona#idad ! restricciones operaciona#es )ue de'e cump#ir e# soft are" D" DiseGo e 4mp#ementaci%n+ Se diseGa ! constru!e e# soft are de acuerdo a #a especificaci%n" ;" Ha#idaci%n+ E# soft are de'e (a#idarse$ para ase*urar )ue cump#a con #o )ue )uiere e# c#iente" I" E(o#uci%n+ E# soft are de'e e(o#ucionar$ para adaptarse a #as necesidades de# c#iente" Adems de estas acti(idades fundamenta#es$ Pressman menciona un conBunto de -acti(idades protectoras.$ )ue se ap#ican a #o #ar*o de todo e# proceso de# soft are" E##as se seGa#an a continuaci%n+ Se*uimiento ! contro# de pro!ecto de soft are"

Re(isiones t<cnicas forma#es" 5arant/a de ca#idad de# soft are" 5esti%n de confi*uraci%n de# soft are" Preparaci%n ! producci%n de documentos" 5esti%n de reuti#i&aci%n" Mediciones" 5esti%n de ries*os"

Pressman caracteri&a un proceso de desarro##o de soft are como se muestra en #a Fi*ura ;" Los e#ementos in(o#ucrados se descri'en a continuaci%n+ Un marco com3n de# proceso$ definiendo un pe)ueGo n3mero de acti(idades de# marco de tra'aBo )ue son ap#ica'#es a todos #os pro!ectos de soft are$ con independencia de# tamaGo o comp#eBidad"

Un conBunto de tareas$ cada uno es una co#ecci%n de tareas de in*enier/a de# soft are$ hitos de pro!ectos$ entre*as ! productos de tra'aBo de# soft are$ ! puntos de *arant/a de ca#idad$ )ue permiten )ue #as acti(idades de# marco de tra'aBo se adapten a #as caracter/sticas de# pro!ecto de soft are ! #os re)uisitos de# e)uipo de# pro!ecto"
5

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Las acti(idades de protecci%n$ ta#es como *arant/a de ca#idad de# soft are$ *esti%n de confi*uraci%n de# soft are ! medici%n$ a'arcan e# mode#o de# proceso" Las acti(idades de protecci%n son independientes de cua#)uier acti(idad de# marco de tra'aBo ! aparecen durante todo e# proceso"

Figura '! Elementos del proceso del software

Otra perspecti(a uti#i&ada para determinar #os e#ementos de# proceso de desarro##o de soft are es esta'#ecer #as re#aciones entre e#ementos )ue permitan responder Aui<n de'e hacer Au<$ Cundo ! C%mo de'e hacer#o"

Figura (! )elacin entre elementos del proceso del software En #a Fi*ura I se muestran #os e#ementos de un proceso de desarro##o de soft are ! sus re#aciones" As/ #as interro*antes se responden de #a si*uiente forma+ Quin: Las Personas participantes en e# pro!ecto de desarro##o desempeGando uno o ms Ro#es espec/ficos"

Qu: Un Artefacto es producido por un Ro# en una de sus Acti(idades" Los Artefactos se especifican uti#i&ando 0otaciones espec/ficas" Las
6

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Jerramientas apo!an #a e#a'oraci%n de Artefactos soportando ciertas 0otaciones"

Cmo y Cundo: Las Acti(idades son una serie de pasos )ue ##e(a a ca'o un Ro# durante e# proceso de desarro##o" E# a(ance de# pro!ecto est contro#ado mediante hitos )ue esta'#ecen un determinado estado de terminaci%n de ciertos Artefactos"La composici%n ! sincron/a de #as acti(idades est 'asada en un conBunto de Principios ! Prcticas" Las Prcticas ! Principios enfati&an ciertas acti(idades !Ko #a forma como de'en rea#i&arse$ por eBemp#o+ desarro##ar iterati(amente$ *estionar re)uisitos$ desarro##o 'asado en componentes$ mode#ar (isua#mente$ (erificar continuamente #a ca#idad$ *estionar #os cam'ios$ etc"

Modelos de proceso software 1.-Modelo en cascada E# ms conocido$ est 'asado en e# cic#o con(enciona# de una in*enier/a$ e# paradi*ma de# cic#o de (ida a'arca #as si*uientes acti(idades+
4n*enier/a ! An#isis de# Sistema An#isis de #os Re)uisitos DiseGo Codificaci%n Prue'a Mantenimiento

Figura *! Grafico de representacin del modelo en cascada In enier!a y "nlisis del #istema: De'ido a )ue e# soft are es siempre parte de un sistema ma!or e# tra'aBo comien&a esta'#eciendo #os re)uisitos de todos #os e#ementos de# sistema ! #ue*o asi*nando a#*3n su'conBunto de estos re)uisitos a# soft are" "nlisis de los re$uisitos del software: E# proceso de recopi#aci%n de #os re)uisitos se centra e intensifica especia#mente en e# soft are" E# in*eniero de soft are 1Ana#istas2 de'e comprender e# m'ito de #a informaci%n de# soft are$ as/ como #a funci%n$ e# rendimiento ! #as interfaces re)ueridas"

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

%ise&o: E# diseGo de# soft are se enfoca en cuatro atri'utos distintos de# pro*rama+ #a estructura de #os datos$ #a ar)uitectura de# soft are$ e# deta##e procedimenta# ! #a caracteri&aci%n de #a interfa&" E# proceso de diseGo traduce #os re)uisitos en una representaci%n de# soft are con #a ca#idad re)uerida antes de )ue comience #a codificaci%n"

Codificacin: E# diseGo de'e traducirse en una forma #e*i'#e para #a ma)uina" E# paso de codificaci%n rea#i&a esta tarea" Si e# diseGo se rea#i&a de una manera deta##ada #a codificaci%n puede rea#i&arse mecnicamente" Prue'a: Una (e& )ue se ha *enerado e# c%di*o comien&a #a prue'a de# pro*rama" La prue'a se centra en #a #%*ica interna de# soft are$ ! en #as funciones e,ternas$ rea#i&ando prue'as )ue ase*uren )ue #a entrada definida produce #os resu#tados )ue rea#mente se re)uieren" Mantenimiento: E# soft are sufrir cam'ios despu<s de )ue se entre*a a# c#iente" Los cam'ios ocurrirn de'ido a )ue ha!an encontrado errores$ a )ue e# soft are de'a adaptarse a cam'ios de# entorno e,terno 1sistema operati(o o dispositi(os perif<ricos2$ o de'ido a )ue e# c#iente re)uiera amp#iaciones funciona#es o de# rendimiento" %es(enta)as: Los pro!ectos rea#es raramente si*uen e# f#uBo secuencia# )ue propone e# mode#o$ siempre ha! iteraciones ! se crean pro'#emas en #a ap#icaci%n de# paradi*ma" 0orma#mente$ es dif/ci# para e# c#iente esta'#ecer e,p#/citamente a# principio todos #os re)uisitos" E# cic#o de (ida c#sico #o re)uiere ! tiene dificu#tades en acomodar posi'#es incertidum'res )ue pueden e,istir a# comien&o de muchos productos" E# c#iente de'e tener paciencia" Jasta ##e*ar a #as etapas fina#es de# pro!ecto$ no estar disponi'#e una (ersi%n operati(a de# pro*rama" Un error importante no detectado hasta )ue e# pro*rama este funcionando puede ser desastroso" La (entaBa de este m<todo radica en su senci##e& !a )ue si*ue #os pasos intuiti(os necesarios a #a hora de desarro##ar e# soft are" *.-Modelo e(oluti(o La idea detrs de este mode#o es e# desarro##o de una imp#antaci%n de# sistema inicia#$ e,poner#a a #os comentarios de# usuario$ refinar#a en 0 (ersiones hasta )ue se desarro##e e# sistema adecuado" En #a Fi*ura 8 se o'ser(a c%mo #as acti(idades concurrentes+ especificaci%n$ desarro##o ! (a#idaci%n$ se rea#i&an durante e# desarro##o de #as (ersiones hasta ##e*ar a# producto fina#"

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Una (entaBa de este mode#o es )ue se o'tiene una rpida rea#imentaci%n de# usuario$ !a )ue #as acti(idades de especificaci%n$ desarro##o ! prue'as se eBecutan en cada iteraci%n"

Figura *! +odelo de desarrollo e,oluti,o# E,isten dos tipos de desarro##o e(o#uti(o+ %esarrollo E+ploratorio: E# o'Beti(o de este enfo)ue es e,p#orar con e# usuario #os re)uisitos hasta ##e*ar a un sistema fina#" E# desarro##o comien&a con #as partes )ue se tiene ms c#aras" E# sistema e(o#uciona conforme se aGaden nue(as caracter/sticas propuestas por e# usuario"

Enfo$ue utili,ando prototipos: E# o'Beti(o es entender #os re)uisitos de# usuario ! tra'aBar para meBorar #a ca#idad de #os re)uisitos" A diferencia de# desarro##o e,p#oratorio$ se comien&a por definir #os re)uisitos )ue no estn c#aros para e# usuario ! se uti#i&a un prototipo para e,perimentar con e##os" E# prototipo a!uda a terminar de definir estos re)uisitos"

Entre #os puntos fa(ora'#es de este mode#o estn+ La especificaci%n puede desarro##arse de forma creciente"

Los usuarios ! desarro##adores #o*ran un meBor entendimiento de# sistema" Esto se ref#eBa en una meBora de #a ca#idad de# soft are" Es ms efecti(o )ue e# mode#o de cascada$ !a )ue cump#e con #as necesidades inmediatas de# c#iente"

Desde una perspecti(a de in*enier/a ! administraci%n se identifican #os si*uientes pro'#emas+ Proceso no Hisi'#e+ Los administradores necesitan entre*as para medir e# pro*reso" Si e# sistema se necesita desarro##ar rpido$ no es efecti(o producir documentos )ue ref#eBen cada (ersi%n de# sistema"

Sistemas po'remente estructurados+ Los cam'ios continuos pueden ser perBudicia#es para #a estructura de# soft are haciendo costoso e# mantenimiento" Se re)uieren t<cnicas ! herramientas+ Para e# rpido desarro##o se necesitan herramientas )ue pueden ser incompati'#es con otras o )ue poca *ente sa'e uti#i&ar"
9

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Este mode#o es efecti(o en pro!ectos pe)ueGos 1menos de 6CC"CCC #/neas de c%di*o2 o medianos 1hasta :CC"CCC #/neas de c%di*o2 con poco tiempo para su desarro##o ! sin *enerar documentaci%n para cada (ersi%n" Para pro!ectos #ar*os es meBor com'inar #o meBor de# mode#o de cascada ! e(o#uti(o+ se puede hacer un prototipo *#o'a# de# sistema ! posteriormente reimp#ementar#o con un acercamiento ms estructurado" Los su'sistemas con re)uisitos 'ien definidos ! esta'#es se pueden pro*ramar uti#i&ando cascada ! #a interfa& de usuario se puede especificar uti#i&ando un enfo)ue e,p#oratorio" -.-Modelo incremental E# enfo)ue incrementa# de desarro##o se (e como una forma de reducir #a repetici%n de# tra'aBo en e# proceso de desarro##o ! dar oportunidad de retrasar #a toma de decisiones en #os re)uisitos hasta ad)uirir e,periencia con e# sistema 1(er Fi*ura 6C2" Es una com'inaci%n de# Mode#o de Cascada ! Mode#o E(o#uti(o" Reduce e# rehacer tra'aBo durante e# proceso de desarro##o ! da oportunidad para retrasar #as decisiones hasta tener e,periencia en e# sistema" Durante e# desarro##o de cada incremento se puede uti#i&ar e# mode#o de cascada o e(o#uti(o$ dependiendo de# conocimiento )ue se ten*a so're #os re)uisitos a imp#ementar" Si se tiene un 'uen conocimiento$ se puede optar por cascada$ si es dudoso$ e(o#uti(o"

Figura -! +odelo de desarrollo iterati,o incremental# Entre #as (entaBas de# mode#o incrementa# se encuentran+ Los c#ientes no esperan hasta e# fin de# desarro##o para uti#i&ar e# sistema" Pueden empe&ar a usar#o desde e# primer incremento"

Los c#ientes pueden ac#arar #os re)uisitos )ue no ten*an c#aros conforme (en #as entre*as de# sistema" Se disminu!e e# ries*o de fracaso de todo e# pro!ecto$ !a )ue se puede distri'uir en cada incremento" Las partes ms importantes de# sistema son entre*adas primero$ por #o cua# se rea#i&an ms prue'as en estos m%du#os ! se disminu!e e# ries*o de fa##os"

A#*unas de #as des(entaBas identificadas para este mode#o son+ Cada incremento de'e ser pe)ueGo para #imitar e# ries*o 1menos de DC"CCC #/neas2"

Cada incremento de'e aumentar #a funciona#idad"


10

MODELOS DEL PROCESO DEL SOFTWARE


CPIS UNAJMA
#os re)uisitos contra #os

Es dif/ci# esta'#ecer #as correspondencias de incrementos"

Es dif/ci# detectar #as unidades o ser(icios *en<ricos para todo e# sistema"

..-Modelo en espiral E# mode#o espira# para #a in*enier/a de soft are ha sido desarro##ado para cu'rir #as meBores caracter/sticas tanto de# cic#o de (ida c#sico$ como de #a creaci%n de prototipos$ aGadiendo a# mismo tiempo un nue(o e#emento+ e# an#isis de ries*o" E# mode#o representado mediante #a espira# de #a fi*ura D"I$ define cuatro acti(idades principa#es+ 6" Planificacin: determinaci%n de o'Beti(os$ a#ternati(as ! restricciones" D" "nlisis de ries o+ an#isis de a#ternati(as e identificaci%nKreso#uci%n de ries*os" ;" In enier!a+ desarro##o de# producto de# Lsi*uiente ni(e#L$ I" E(aluacin del cliente+ Ha#ori&aci%n de #os resu#tados de #a in*enier/a"

Figura .! +odelo Espiral Durante #a primera (ue#ta a#rededor de #a espira# se definen #os o'Beti(os$ #as a#ternati(as ! #as restricciones$ ! se ana#i&an e identifican #os ries*os" Si e# an#isis de ries*o indica )ue ha! una incertidum're en #os re)uisitos$ se puede usar #a creaci%n de prototipos en e# cuadrante de in*enier/a para dar asistencia tanto a# encar*ado de desarro##o como a# c#iente"
11

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

E# c#iente e(a#3a e# tra'aBo de in*enier/a 1cuadrante de e(a#uaci%n de c#iente2 ! su*iere modificaciones" So're #a 'ase de #os comentarios de# c#iente se produce #a si*uiente fase de p#anificaci%n ! de an#isis de ries*o" En cada 'uc#e a#rededor de #a espira#$ #a cu#minaci%n de# an#isis de ries*o resu#ta en una decisi%n de Lse*uir o no se*uirL" Con cada iteraci%n a#rededor de #a espira# 1comen&ando en e# centro ! si*uiendo hacia e# e,terior2$ se constru!en sucesi(as (ersiones de# soft are$ cada (e& ms comp#eta !$ a# fina#$ a# propio sistema operaciona#" E# paradi*ma de# mode#o en espira# para #a in*enier/a de soft are es actua#mente e# enfo)ue ms rea#ista para e# desarro##o de soft are ! de sistemas a *ran esca#a" Uti#i&a un enfo)ue e(o#uti(o para #a in*enier/a de soft are$ permitiendo a# desarro##ador ! a# c#iente entender ! reaccionar a #os ries*os en cada ni(e# e(o#uti(o" Uti#i&a #a creaci%n de prototipos como un mecanismo de reducci%n de ries*o$ pero$ #o )ue es ms importante permite a )uien #o desarro##a ap#icar e# enfo)ue de creaci%n de prototipos en cua#)uier etapa de #a e(o#uci%n de prototipos" E/012CI03 5P4E##M"3 *66*7 %E1 M0%E10 E#PI4"1

4WE> 1 4n*enier/a We' 2 Para ap#icaciones 'asadas en We'

12

MODELOS DEL PROCESO DEL SOFTWARE


8Cul es el modelo de proceso ms adecuado9

CPIS UNAJMA

Cada pro!ecto de soft are re)uiere de una forma de particu#ar de a'ordar e# pro'#ema" Las propuestas comercia#es ! acad<micas actua#es promue(en procesos iterati(os$ donde en cada iteraci%n puede uti#i&arse uno u otro mode#o de proceso$ considerando un conBunto de criterios 1Por eBemp#o+ *rado de definici%n de re)uisitos$ tamaGo de# pro!ecto$ ries*os identificados$ entre otros2" En #a Ta'#a 6 se e,pone un cuadro comparati(o de acuerdo con a#*unos criterios 'sicos para #a se#ecci%n de un mode#o de proceso$ #a medida uti#i&ada indica e# ni(e# de efecti(idad de# mode#o de proceso de acuerdo a# criterio 1Por eBemp#o+ E# mode#o Cascada responde con un ni(e# de efecti(idad >aBo cuando #os Re)uisitos ! ar)uitectura no estn predefinidos2+

13

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Mode#o proceso

Funciona con de re)uisitos ! ar)uitectura no predefinidos

Produce soft are a#tamente fia'#e

5esti%n ries*os

Hisi%n de# Permite pro*reso de correcciones por e# so're #a C#iente ! marcha e# Mefe de# pro!ecto

Cascada

>aBo

A#to

>aBo

>aBo

>aBo

E(o#uti(o e,p#oratorio

Medio o A#to Medio o A#to

Medio

Medio o A#to

Medio A#to

E(o#uti(o prototipado

A#to

Medio

Medio

A#to

A#to

4ncrementa#

>aBo

A#to

Medio

>aBo

>aBo

Espira#

A#to

A#to

A#to

Medio

Medio

Tabla ! "omparacin entre modelos de proceso de software#

14

MODELOS DEL PROCESO DEL SOFTWARE


Metodolo !as para desarrollo de software

CPIS UNAJMA

Un proceso de soft are deta##ado ! comp#eto sue#e denominarse -Metodo#o*/a." Las metodo#o*/as se 'asan en una com'inaci%n de #os mode#os de proceso *en<ricos 1cascada$ e(o#uti(o$ incrementa#$ etc"2" Adiciona#mente una metodo#o*/a de'er/a definir con precisi%n #os artefactos$ ro#es ! acti(idades in(o#ucrados$ Bunto con prcticas ! t<cnicas recomendadas$ *u/as de adaptaci%n de #a metodo#o*/a a# pro!ecto$ *u/as para uso de herramientas de apo!o$ etc" Ja'itua#mente se uti#i&a e# t<rmino -m<todo. para referirse a t<cnicas$ notaciones ! *u/as asociadas$ )ue son ap#ica'#es a una 1o a#*unas2 acti(idades de# proceso de desarro##o$ por eBemp#o$ sue#e ha'#arse de m<todos de an#isis !Ko diseGo" La comparaci%n !Ko c#asificaci%n de metodo#o*/as no es una tarea senci##a de'ido a #a di(ersidad de propuestas ! diferencias en e# *rado de deta##e$ informaci%n disponi'#e ! a#cance de cada una de e##as" A *randes ras*os$ si tomamos como criterio #as notaciones uti#i&adas para especificar artefactos producidos en acti(idades de an#isis ! diseGo$ podemos c#asificar #as metodo#o*/as en dos *rupos+ Metodo#o*/as Estructuradas ! Metodo#o*/as Orientadas a O'Betos" Por otra parte$ considerando su fi#osof/a de desarro##o$ a)ue##as metodo#o*/as con ma!or <nfasis en #a p#anificaci%n ! contro# de# pro!ecto$ en especificaci%n precisa de re)uisitos ! mode#ado$ reci'en e# ape#ati(o de Metodo#o*/as Tradiciona#es 1o pe!orati(amente denominada Metodo#o*/as Pesadas$ o Peso Pesado2" Otras metodo#o*/as$ denominadas Metodo#o*/as N*i#es$ estn ms orientadas a #a *eneraci%n de c%di*o con cic#os mu! cortos de desarro##o$ se diri*en a e)uipos de desarro##o pe)ueGos$ hacen especia# hincapi< en aspectos humanos asociados a# tra'aBo en e)uipo e in(o#ucran acti(amente a# c#iente en e# proceso" ME:0%010;<" =P >Pro ramacin E+trema? De todas #as metodo#o*/as *i#es$ <sta es #a )ue ha reci'ido ms atenci%n" Esto se de'e en parte a #a nota'#e ha'i#idad de #os #/deres OP$ en particu#ar Pent >ecQ$ para ##amar #a atenci%n" Tam'i<n se de'e a #a ha'i#idad de Pent >ecQ de atraer a #as personas a este acercamiento$ ! tomar un pape# principa# en <#" De a#*unas maneras$ sin em'ar*o$ #a popu#aridad de OP se ha (ue#to un pro'#ema$ pues ha acaparado #a atenci%n fuera de #as otras metodo#o*/as ! sus (a#iosas ideas" La OP empie&a con cuatro (a#ores+ Comunicaci%n$ Retroa#imentaci%n$ Simp#icidad ! CoraBe" Constru!e so're e##os una docena de prcticas )ue #os pro!ectos OP de'en se*uir" Muchas de estas prcticas son t<cnicas anti*uas$ tratadas ! pro'adas$ aun)ue a menudo o#(idadas por muchos$ inc#u!endo #a ma!or/a de #os procesos p#aneados" Adems de resucitar estas t<cnicas$ #a OP #as teBe en un todo sin<r*ico d%nde cada una refuer&a a #as dems"

15

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Una de #as ms ##amati(as$ as/ como inicia#mente atracti(a para m/$ es su fuerte <nfasis en #as prue'as" Mientras todos #os procesos mencionan #a compro'aci%n$ #a ma!or/a #o hace con mu! poco <nfasis" Sin em'ar*o #a OP pone #a compro'aci%n como e# fundamento de# desarro##o$ con cada pro*ramador escri'iendo prue'as cuando escri'en su c%di*o de producci%n" Las prue'as se inte*ran en e# proceso de inte*raci%n continua ! construcci%n #o )ue rinde una p#ataforma a#tamente esta'#e para e# desarro##o futuro" En esta p#ataforma OP constru!e un proceso de diseGo e(o#uti(o )ue se 'asa en refactorar un sistema simp#e en cada iteraci%n" Todo e# diseGo se centra en #a iteraci%n actua# ! no se hace nada anticipadamente para necesidades futuras" E# resu#tado es un proceso de diseGo discip#inado$ #o )ue es ms$ com'ina #a discip#ina con #a adapta'i#idad de una manera )ue indiscuti'#emente #a hace #a ms desarro##ada entre todas #as metodo#o*/as adapta'#es" ME:0%010;<" #C42M $ue es scrum

Scrum es una metodo#o*/a *i# ! f#e,i'#e para *estionar e# desarro##o de soft are$ cu!o principa# o'Beti(o es ma,imi&ar e# retorno de #a in(ersi%n para su empresa 1RO42" Se 'asa en construir primero #a funciona#idad de ma!or (a#or para e# c#iente ! en #os principios de inspecci%n continua$ adaptaci%n$ autoE *esti%n e inno(aci%n"

8Cundo

se

utili,a9

Con Scrum e# c#iente se entusiasma ! se compromete con e# pro!ecto dado )ue #o (e crecer iteraci%n a iteraci%n" Asimismo #e permite en cua#)uier momento rea#inear e# soft are con #os o'Beti(os de ne*ocio de su empresa$ !a )ue puede
16

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

introducir cam'ios funciona#es o de prioridad en e# inicio de cada nue(a iteraci%n" Esta met%dica de tra'aBo promue(e #a inno(aci%n$ moti(aci%n ! compromiso de# e)uipo )ue forma parte de# pro!ecto$ por #o )ue #os profesiona#es encuentran un m'ito propicio para desarro##ar sus capacidades"

@eneficios Cumplimento de e+pectati(as: E# c#iente esta'#ece sus e,pectati(as indicando e# (a#or )ue #e aporta cada re)uisito K Aistoria de# pro!ecto$ e# e)uipo #os estima ! con esta informaci%n e# Product 0wner esta'#ece su prioridad" De manera re*u#ar$ en #as demos de Sprint e# Product 0wner comprue'a )ue efecti(amente #os re)uisitos se han cump#ido ! transmite se feed'acQ a# e)uipo" Ble+i'ilidad a cam'ios: A#ta capacidad de reacci%n ante #os cam'ios de re)uerimientos *enerados por necesidades de# c#iente o e(o#uciones de# mercado" La metodo#o*/a est diseGada para adaptarse a #os cam'ios de re)uerimientos )ue con##e(an #os pro!ectos comp#eBos" 4educcin del :ime to MarCet: E# c#iente puede empe&ar a uti#i&ar #as funciona#idades ms importantes de# pro!ecto antes de )ue est< fina#i&ado por comp#eto" Mayor calidad del software: La met%dica de tra'aBo ! #a necesidad de o'tener una (ersi%n funciona# despu<s de cada iteraci%n$ a!uda a #a o'tenci%n de un soft are de ca#idad superior" Mayor producti(idad: Se consi*ue entre otras ra&ones$ *racias a #a e#iminaci%n de #a 'urocracia ! a #a moti(aci%n de# e)uipo )ue proporciona e# hecho de )ue sean aut%nomos para or*ani&arse" Ma+imi,a el retorno de la in(ersin >40I?: Producci%n de soft are 3nicamente con #as prestaciones )ue aportan ma!or (a#or de ne*ocio *racias a #a priori&aci%n por retorno de in(ersi%n" Predicciones de tiempos: Mediante esta metodo#o*/a se conoce #a (e#ocidad media de# e)uipo por sprint 1#os ##amados puntos historia2$ con #o )ue consecuentemente$ es posi'#e estimar fci#mente para cuando se dispondr de una determinada funciona#idad )ue toda(/a est en e# >acQ#o*" 4educcin de ries os: E# hecho de ##e(ar a ca'o #as funciona#idades de ms (a#or en primer #u*ar ! de conocer #a (e#ocidad con )ue e# e)uipo
17

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

a(an&a en e# pro!ecto$ permite despeBar ries*os efica&mente de manera anticipada" ME:0%010;<" 42P

E# Proceso Unificado fue desarro##ado por Phi#ippe Pruchten$ 4(ar Maco'son ! otros de #a Rationa# como e# proceso comp#ementario a# UML" E# RUP es un arma&%n de proceso ! como ta# puede acomodar una *ran (ariedad de procesos" De hecho <sta es mi cr/tica principa# a# RUP E como puede ser cua#)uier cosa aca'a siendo nada" Ro prefiero un proceso )ue dice )u< hacer en #u*ar de dar opciones infinitas" Como resu#tado de esta menta#idad de arma&%n de procesos$ e# RUP puede usarse en un esti#o mu! tradiciona# de cascada o de una manera *i#" Como resu#tado usted puede usar e# RUP como un proceso *i#$ o como un proceso pesado E todo depende de c%mo #o adapte a su am'iente" Crai* Larman es un fuerte defensor de usar e# RUP de una manera *i#" Su e,ce#ente #i'ro introductorio so're desarro##o OO contiene un proceso )ue est mu! 'asado en su pensamiento #i*ero de# RUP" Su (isi%n es )ue mucho de# reciente empuB%n hacia #os m<todos *i#es no es nada ms )ue aceptar desarro##o OO de #a corriente principa# )ue ha sido capturada como RUP" Una de #as cosas )ue hace Crai* es pasarse #os primeros dos o tres d/as de una iteraci%n mensua# con todo e# e)uipo usando e# UML para perfi#ar e# diseGo de# tra'aBo a hacerse durante #a iteraci%n" Esto no es un cianotipo de# )ue no se pueda des(iarse$ sino un 'oceto )ue da una perspecti(a so're c%mo pueden hacerse #as cosas en #a iteraci%n"

18

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

Otra tachue#a en e# RUP *i# es e# proceso dO de Ro'ert Martin" E# proceso d, es una (ersi%n tota#mente d%ci# de# RUP )ue simp#emente es id<ntico a #a OP 1(o#tear dO a# re(<s para (er #a 'roma2" E# dO est diseGado para *ente )ue tiene )ue usar e# RUP pero )uiere usar OP" Como ta# es a #a (e& OP ! RUP ! por tanto un 'uen eBemp#o de# uso *i# de# RUP" E# proceso de cic#o de (ida de RUP se di(ide en cuatro fases 'ien conocidas ##amadas 4ncepci%n$ E#a'oraci%n$ Construcci%n ! Transici%n" Esas fases se di(iden en iteraciones$ cada una de #as cua#es produce una pie&a de soft are demostra'#e" La duraci%n de cada iteraci%n puede e,tenderse desde dos semanas hasta seis meses" Las fases son+ 6" Incepcin.- Si*nifica -comien&o.$ pero #a pa#a'ra ori*ina# 1de ori*en #atino ! casi en desuso como sustanti(o2 es su*esti(a ! por e##o #a traducimos as/" Se especifican #os o'Beti(os de# cic#o de (ida de# pro!ecto ! #as necesidades de cada participante" Esto entraGa esta'#ecer e# a#cance ! #as condiciones de #/mite ! #os criterios de acepta'i#idad" Se identifican #os casos de uso )ue orientarn #a funciona#idad" Se diseGan #as ar)uitecturas candidatas ! se estima #a a*enda ! e# presupuesto de todo e# pro!ecto$ en particu#ar para #a si*uiente fase de e#a'oraci%n" T/picamente es una fase 're(e )ue puede durar unos pocos d/as o unas pocas semanas" D" Ela'oracin.- Se ana#i&a e# dominio de# pro'#ema ! se define e# p#an de# pro!ecto" RUP presupone )ue #a fase de e#a'oraci%n 'rinda una ar)uitectura suficientemente s%#ida Bunto con re)uerimientos ! p#anes 'astante esta'#es" Se descri'en en deta##e #a infraestructura ! e# am'iente de desarro##o$ as/ como e# soporte de herramientas de automati&aci%n" A# ca'o de esta fase$ de'e estar identificada #a ma!or/a de #os casos de uso ! #os actores$ de'e )uedar descripta #a ar)uitectura de soft are ! se de'e crear un prototipo de e##a" A# fina# de #a fase se rea#i&a un an#isis para determinar #os ries*os ! se e(a#3an #os *astos hechos contra #os ori*ina#mente p#aneados" ;" Construccin.- Se desarro##an$ inte*ran ! (erifican todos #os componentes ! ras*os de #a ap#icaci%n" RUP considera )ue esta fase es un proceso de manufactura$ en e# )ue se de'e poner <nfasis en #a administraci%n de #os recursos ! e# contro# de costos$ a*enda ! ca#idad" Los resu#tados de esta fase 1#as (ersiones a#fa$ 'eta ! otras (ersiones de prue'a2 se crean tan rpido como sea posi'#e" Se de'e compi#ar tam'i<n una (ersi%n de entre*a" Es #a fase ms pro#on*ada de todas"
19

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

I" :ransicin.- Comien&a cuando e# producto est suficientemente maduro para ser entre*ado" Se corri*en #os 3#timos errores ! se a*re*an #os ras*os pospuestos" La fase consiste en prue'a 'eta$ pi#oto$ entrenamiento a usuarios ! despacho de# producto a mercadeo$ distri'uci%n ! (entas" Se produce tam'i<n #a documentaci%n" Se ##ama transici%n por)ue se transfiere a #as manos de# usuario$ pasando de# entorno de desarro##o a# de producci%n" A tra(<s de #as fases se desarro##an en para#e#o nue(e f#uBos de tra'aBo o discip#inas+ Mode#ado de 0e*ocios$ Re)uerimientos$ An#isis ! DiseGo$ 4mp#ementaci%n$ Prue'a$ 5esti%n de Confi*uraci%n ! Cam'io$ 5esti%n de# Pro!ecto ! Entorno" Adems de estos f#uBos de tra'aBo$ RUP define a#*unas prcticas comunes+ %esarrollo iterati(o de software. Las iteraciones de'en ser 're(es ! proceder por incrementos pe)ueGos" Esto permite identificar ries*os ! pro'#emas tempranamente ! reaccionar frente a e##os en consecuencia" "dministracin de re$uerimientos. 4dentifica re)uerimientos cam'iantes ! postu#a una estrate*ia discip#inada para administrar#os" 2so de ar$uitecturas 'asadas en componentes. La reuti#i&aci%n de componentes permite asimismo ahorros sustancia#es en tiempo$ recursos ! esfuer&o" Modelado (isual del software. Se de'en construir mode#os (isua#es$ por)ue #os sistemas comp#eBos no podr/an comprenderse de otra manera" Uti#i&ando una herramienta como UML$ #a ar)uitectura ! e# diseGo se pueden especificar sin am'i*Sedad ! comunicar a todas #as partes in(o#ucradas" Prue'a de calidad del software. RUP pone 'astante <nfasis en #a ca#idad de# producto entre*ado" Control de cam'ios y tra,a'ilidad. La madure& de# soft are se puede medir por #a frecuencia ! tipos de cam'ios rea#i&ados"

Aun)ue RUP es e,tremadamente #ocua& en muchos respectos$ no proporciona #ineamientos c#aros de imp#ementaci%n )ue puedan compararse$ por eBemp#o$ a #os m<todos Cr!sta#$ en #os )ue se deta##a #a documentaci%n re)uerida ! #os
20

MODELOS DEL PROCESO DEL SOFTWARE

CPIS UNAJMA

ro#es se*3n di(ersas esca#as de pro!ecto" En RUP esas importantes decisiones de deBan a criterio de# usuario" Se ase*ura )ue RUP puede imp#ementarse -sacndo#o de #a caBa.$ pero dado )ue e# n3mero de sus artefactos ! herramientas es inmenso$ siempre se dice )ue ha! )ue recortar#o ! adaptar#o a cada caso" E# proceso de imp#ementaci%n mismo es comp#eBo$ di(idi<ndose en seis fases c/c#icas tam'i<n e,iste una (ersi%n recortada de RUP$ dO de Ro'ert Martin4H"

@I@1I0;4"BI"

"eEmarQet"c#KdirKuma!orKin*s KC8EC6T(espKespira#"ppt Fec/a de ,isita!0-10*1 0

"au#afaci#"comKCursoRecursosJumanosK4ntro>#o"htm Fec/a de ,isita!0.10*1 0

http+KKes" iQipedia"or*K iQiK4n*enier9C;9ADaTdeTsoft are Fec/a de ,isita!0.10*1 0

21

You might also like