Anda di halaman 1dari 33

1 Ingeniera de Software

MODELOS DE PROCESOS

Modelos de Procesos Meyker Widmen Mayta Perca Polet% &aterine 'lanoca Ramre( *os+ ,ryan -elasco C%arca !11 11"!1#$ !11 11"!!)$ !11 11"!1.$

Ingeniera de Software

Rese/a El modelado de 0rocesos de1e ser entendido2 a sa1er2 0or dos c3estiones im0ortantes4 el modelado y los 0rocesos$ 5rec3entemente los sistemas 6con73ntos de 0rocesos y s310rocesos integrados en 3na organi(aci8n9 son difciles de com0render2 am0lios2 com0le7os y conf3sos: con m;lti0les 03ntos de contacto entre s y con 3n 13en n;mero de <reas f3ncionales2 de0artamentos y 03estos im0licados$ =n modelo 03ede dar la o0ort3nidad de organi(ar y doc3mentar la informaci8n so1re 3n sistema$

CO>?E>IDO C'PI?=LO 1

@ Ingeniera de Software =n modelo general de 0roceso$ 'ctiAidad estr3ct3ral Patrones de Proceso C'PI?=LO EAal3aci8n y me7ora del 0roceso Proceso de eAal3aci8n SC'MPI EAal3aci8n 1asada en CMM 0ara la me7ora del 0roceso interno >iAeles del CMM ,eneficios de la im0lantaci8n del modelo CMM SPICE 6ISOBIEC 1##!C9 C'PI?=LO @ Modelos Prescri0tiAos del Proceso Constr3cci8n del 0rototi0o El Modelo Es0iral Modelo de desarrollo conc3rrente Modelos de Procesos Es0eciali(ados Modelos de Procesos Es0eciali(ados C'PI?=LO C Proceso =nificado Proceso Personal y de ED3i0o Prod3cto y Proceso

C'PI?=LO I En realidad2 la ela1oraci8n de software de com03tadora es 3n 0roceso reiteratiAo de a0rendi(a7e social2 y el res3ltado2 algo D3e ,aet7er llamara Eca0ital de softwareF2 es la

C Ingeniera de Software re3ni8n de conocimiento reca1ado2 de03rado y organi(ado a medida D3e se reali(a el 0roceso$ G1H

1. Un Modelo General de Proceso =n 0roceso es 3n con73nto de actiAidades2 acciones y tareas D3e se e7ec3tan c3ando Aa a crearse alg;n 0rod3cto del tra1a7o$

=na actiAidad 13sca lograr 3n o17etiAo am0lio 60or e7em0lo2 com3nicaci8n con los 0artici0antes9 y se desarrolla sin im0ortar el dominio de la a0licaci8n2 tama/o del 0royecto2 com0le7idad del esf3er(o o grado de rigor con el D3e se 3sar< la ingeniera de software$ =na acci8n 6dise/o de la arD3itect3ra9 es 3n con73nto de tareas D3e 0rod3cen 3n 0rod3cto im0ortante del tra1a7o 60or e7em0lo2 3n modelo del dise/o de la arD3itect3ra9$ =na tarea se centra en 3n o17etiAo 0eD3e/o 0ero 1ien definido 60or e7em0lo2 reali(ar 3na 0r3e1a 3nitaria9 D3e 0rod3ce 3n res3ltado tangi1le$

En el conteIto de la ingeniera de software2 3n 0roceso no es 3na 0rescri0ci8n rgida de c8mo ela1orar software de c8m03to$ Por el contrario2 es 3n enfoD3e ada0ta1le D3e 0ermite D3e las 0ersonas D3e %acen el tra1a7o 6el eD3i0o de software9 13sD3en y eli7an el con73nto a0ro0iado de acciones y tareas 0ara el tra1a7o$ Se 13sca siem0re entregar el software en forma o0ort3na y con calidad s3ficiente 0ara satisfacer a D3ienes 0atrocinaron s3 creaci8n y a aD3ellos D3e lo 3sar<n$

# Ingeniera de Software

Il3straci8n 1$ Estr3ct3ra del Proceso

2. Actividad Estructural =na estr3ct3ra de 0roceso general 0ara la ingeniera consta de cinco actiAidades4

i$Com3nicaci8n 'ntes de D3e se em0iece c3alD3ier tra1a7o t+cnico2 tiene im0ortancia crtica com3nicarse y cola1orar con el cliente 6y con otros 0artici0antes9$ Se 13sca entender los o17etiAos de los 0artici0antes res0ecto del 0royecto2 y re3nir los reD3erimientos D3e ay3den a definir las caractersticas y f3nciones del software$

ii$Planeaci8n C3alD3ier Aia7e com0licado se sim0lifica si eIiste 3n ma0a$ =n 0royecto de software es 3n Aia7e com0licado2 y la actiAidad de 0laneaci8n crea 3n Jma0aJ D3e g3a al eD3i0o mientras Aia7a$ El ma0a 6llamado 0lan del 0royecto de

) Ingeniera de Software software9 define el tra1a7o de ingeniera de software al descri1ir las tareas t+cnicas 0or reali(ar2 los riesgos 0ro1a1les2 los rec3rsos D3e se reD3ieren2 los 0rod3ctos del tra1a7o D3e se o1tendr<n y 3na 0ro0agaci8n de las actiAidades$

iii$Modelado Si eres dise/ador de 0aisa7e2 constr3ctor de 03entes2 ingeniero aeron<3tico2 car0intero o arD3itecto2 a diario tra1a7as con modelos$ Se crea 3n J1osD3e7oJ del o17eto 0or %acer a fin de entender el 0anorama general 6c8mo se Aer< arD3itect8nicamente2 c8mo a73stan entre s las 0artes constit3yentes y m3c%as caractersticas m<s9$ Si se reD3iere2 refina el 1osD3e7o con m<s y m<s detalles en 3n esf3er(o 0or com0render me7or el 0ro1lema y c8mo resolAerlo$ =n ingeniero de software %ace lo mismo al crear modelos a fin de entender me7or los reD3erimientos del software y el dise/o D3e los satisfar<$

iA$Constr3cci8n Esta actiAidad me(cla la generaci8n de c8digo 6ya sea man3al o a3tomati(ada9 y las 0r3e1as D3e se reD3ieren 0ara desc31rir errores en +ste$

A$Des0lieg3e El software 6como entidad com0leta o como 3n incremento 0arcialmente terminado9 se entrega al cons3midor D3e lo eAal;a y D3e le da retroalimentaci8n2 misma D3e se 1asa en dic%a eAal3aci8n$

Estas cinco actiAidades estr3ct3rales gen+ricas se 3san d3rante el desarrollo de 0rogramas 0eD3e/os y sencillos2 en la creaci8n de a0licaciones we1 grandes y en la ingeniera de sistemas enormes y com0le7os 1asados en com03tadoras$ Los detalles del

K Ingeniera de Software 0roceso de software ser<n distintos en cada caso2 0ero las actiAidades estr3ct3rales son las mismas$ 5l37o del 0roceso y se descri1e la manera en D3e est<n organi(adas las actiAidades estr3ct3rales y las acciones y tareas D3e oc3rren dentro de cada 3na con res0ecto de la sec3encia y el tiem0o$ =n fl37o de 0roceso lineal e7ec3ta cada 3na de las cinco actiAidades estr3ct3rales en sec3encia2 comen(ando 0or la com3nicaci8n y terminando con el des0lieg3e$ =n fl37o de 0roceso iteratiAo re0ite 3na o m<s de las actiAidades antes de 0asar a la sig3iente$ =n fl37o de 0roceso eAol3tiAo reali(a las actiAidades en forma Ecirc3larF$ ' traA+s de las cinco actiAidades2 cada circ3ito lleAa a 3na Aersi8n m<s com0leta del software$ =n fl37o de 0roceso 0aralelo e7ec3ta 3na o m<s actiAidades en 0aralelo con otras 60or e7em0lo2 el modelado de 3n as0ecto del software tal Ae( se e7ec3te en 0aralelo con la constr3cci8n de otro as0ecto del software9$

. Ingeniera de Software

Il3straci8n 5l37o de Proceso

Si el 0royecto f3era considera1lemente m<s com0le7o2 con m3c%os 0artici0antes y cada 3no con 3n distinto con73nto de reD3erimientos 6a Aeces en conflicto92 la actiAidad de com3nicaci8n 03ede tener seis acciones distintas4 conce0ci8n2 indagaci8n2 ela1oraci8n2 negociaci8n2 es0ecificaci8n y Aalidaci8n$ Cada 3na de estas acciones de la ingeniera del software tendr< m3c%as tareas de tra1a7o y 3n n;mero grande de diferentes 0rod3ctos finales$

1. Patrones de proceso Cada eD3i0o de software se enfrenta a 0ro1lemas conforme aAan(a en el 0roceso del software$

" Ingeniera de Software Si se demostrara D3e eIisten sol3ciones f<ciles 0ara dic%os 0ro1lemas2 sera ;til 0ara el eD3i0o a1ordarlos y resolAerlos r<0idamente$ =n 0atr8n del 0roceso descri1e 3n 0ro1lema relacionado con el 0roceso D3e se enc3entra d3rante el tra1a7o de ingeniera de software2 identifica el am1iente en el D3e s3rge el 0ro1lema y s3giere 3na o m<s sol3ciones 0ara el mismo$ Dic%o de manera general2 3n 0atr8n de 0roceso da 3n formato4 3n m+todo consistente 0ara descri1ir sol3ciones del 0ro1lema en el conteIto del 0roceso del software$

L >om1re del 0atr8n L Pro08sito L ?i0o L ConteIto inicial L Pro1lema L Sol3cion L ConteIto res3ltante L Patrones relacionados L =sos conocidosBE7em0los

C'PI?=LO 1. Evaluacin y Mejora del Proceso En las ;ltimas d+cadas se %an 0ro03esto n3merosos enfoD3es 0ara la eAal3aci8n y me7ora de 3n 0roceso del software4

1! Ingeniera de Software i$M+todo de eAal3aci8n del est<ndar CMMI 0ara el 0roceso de me7ora 6SC'MPI2 0or s3s siglas en ingl+s9 La eAal3aci8n SC'MPI determina el niAel2 de mad3re( o ca0acidad2 D3e %a alcan(ado 3na organi(aci8n D3e a0lica CMMI en s3s 0rocesos$ S3 o17etiAo 0rinci0al es determinar las fortale(as y o0ort3nidades de me7ora de los 0rocesos de la organi(aci8n2 res0ecto a las 0r<cticas descritas en el modelo de referencia$

SC'MPI 0roAiene de las siglas en ingl+s de M+todo Est<ndar de EAal3aci8n CMMI 0ara me7ora de 0rocesos 6Standard CMMI '00raisal Met%od for Process Im0roAement9 y eIisten tres clases de eAal3aciones$

SC'MPI Clase '4 El m+todo m<s am0lio2 con mayor co1ert3ra del modelo y es el ;nico D3e 03ede 0ro0orcionar 3n niAel de mad3re( o 0erfil de ca0acidad$ Es liderado 0or 3n SC'MPI Lead '00raiser a3tori(ado 0or el SEI$

SC'MPI Clase ,4 Es menos am0lio y detallado D3e el clase E'F y eAent3almente m<s econ8mico$ Se 3tili(a como eAal3aci8n inicial o 0arcial2 enfocado en las <reas D3e reD3ieren atenci8n$ En este caso no reD3iere de 3n Lead '00raiser 0ara ser reali(ado$

SC'MPI Clase C4 Es el m<s sencillo2 econ8mico y reD3iere 3na ca0acitaci8n menor$ Se enfoca en <reas de inter+s o de mayor riesgo en la organi(aci8n$

1. Proceso de evaluacin SCAMPI El m+todo SC'MPI se 1asa en 3n enfoD3e cola1oratiAo2 donde todo el eD3i0o contri13ye y 0artici0a en alcan(ar los o17etiAos de la eAal3aci8n$ ReD3iere tomar como referencia 3n modelo de 0rocesos y a0egarse a reglas estrictas de confidencialidad D3e garanticen la o1tenci8n de res3ltados de manera o17etiAa y sin interferencias$ El com0romiso y 0atrocinio de la direcci8n en la organi(aci8n es f3ndamental 0ara c3m0limentar el 0roceso$

11 Ingeniera de Software D3rante el SC'MPI se eAal;a el estado act3al de las 0r<cticas de la organi(aci8n 0ara identificar fortale(as y o0ort3nidades de me7ora2 as como las 0rioridades 0ara las acciones de me7ora$ De cierta manera se determina el grado de c3m0limiento con res0ecto al modelo de referencia2 seg;n la clase de SC'MPI D3e se reali(a$ En t+rminos generales se e7ec3ta en tres fases f3ndamentales4

L Planificaci8n y 0re0araci8n 0ara la eAal3aci8n2 donde se4 anali(an los reD3isitos2 eAal;an los 0lanes de desem0e/o2 0re0araci8n y selecci8n del eD3i0o y o1tienen y anali(an las eAidencias$ L E7ec3ci8n de la eAal3aci8n2 D3e incl3ye la4 0re0araci8n de los 0artici0antes2 eIamen2 doc3mentaci8n y Aerificaci8n de la eAidencia2 Aalidaci8n y eAal3aci8n de los res3ltados$ L Re0orte de res3ltados2 donde se generan los doc3mentos de res3ltados y se 0re0ara el enAo y entrega de los doc3mentos al SEI$

$ Evaluacin basada en CMM para la

ejora del proceso interno

CMMI 6Modelo de Mad3re( de Ca0acidad Integrado9 0ertenece a la familia de modelos desarrollados 0or el SEI 6Software Engineering Instit3te9 0ara eAal3ar las ca0acidades de las organi(aciones de ingeniera de sistemas2 ingeniera de software2 adem<s del desarrollo integrado del 0rod3cto y del 0roceso$ CMMI es 3n modelo descri0tiAo D3e detalla los atri13tos esenciales D3e de1eran caracteri(ar a 3na organi(aci8n en 3n determinado niAel de mad3raci8n$

1 Ingeniera de Software

Il3straci8n @ >iAeles de CMMI Es 3n modelo normatiAo donde las 0r<cticas detalladas caracteri(an los ti0os normales de com0ortamiento es0era1les en 3na organi(aci8n D3e e7ec3ta 0royectos a gran escala$ La me7ora contin3a de los 0rocesos se 1asa en m3c%os 0asos 0eD3e/os y eAol3tiAos en Ae( de innoAaciones reAol3cionarias$

CMMI 0ro0orciona 3n marco 0ara organi(ar estos 0asos eAol3tiAos dentro de cinco niAeles de mad3raci8n D3e sientan f3ndamentos s3cesiAos 0ara la me7ora contin3a del 0roceso$

!. "iveles del CMM CMM define cinco niAeles de mad3re( 0ara 3na organi(aci8n y 0ro0orciona 3n marco 0ara moAerse a 0artir de 3n niAel al sig3iente$ Las g3as CMM contienen actiAidades dise/adas 0ara ay3dar a 3na organi(aci8n 0ara me7orar s3s 0rocesos con la meta de alcan(ar ca0acidad de re0etici8n2 y control de los mismos$ El CMM %a ganado considera1le credi1ilidad en las ind3strias intensiAas en el 3so de conocimientos$ La im0lantaci8n del CMM %a 0ermitido me7oras considera1les en la calidad de los 0rod3ctos y 1a7ado 0erce0ti1lemente el costo del desarrollo dentro de grandes com0a/as$ Las organi(aciones %an 0ro1ado D3e me7orando s3s 0rocesos de desarrollo2 CMM del niAel 1 al niAel @2 03ede 1a7ar s3 costo 0or %asta #!M)!N$ ';n m<s2 D3ienes %an estado en el negocio de la 0rod3ctiAidad del desarrollo del software 0or a/os2 sostienen D3e la renta1ilidad res3ltada de me7oras en 0rod3ctiAidad y red3cci8n en tiem0o de llegada al mercado$

Los niAeles del CMM son4

1@ Ingeniera de Software 1 O Inicial$ Las organi(aciones en este niAel no dis0onen de 3n am1iente esta1le 0ara el desarrollo y mantenimiento de software$ '3nD3e se 3tilicen t+cnicas correctas de ingeniera2 los esf3er(os se Aen minados 0or falta de 0lanificaci8n$ El +Iito de los 0royectos se 1asa la mayora de las Aeces en el esf3er(o 0ersonal2 a3nD3e a men3do se 0rod3cen fracasos y casi siem0re retrasos y so1re costes$ El res3ltado de los 0royectos es im0redeci1le$ O Re0eti1le$ En este niAel las organi(aciones dis0onen de 3nas 0r<cticas instit3cionali(adas de gesti8n de 0royectos2 eIisten 3nas m+tricas 1<sicas y 3n ra(ona1le seg3imiento de la calidad$ La relaci8n con s31contratistas y clientes est< gestionada sistem<ticamente$ @ O Definido$ 'dem<s de 3na 13ena gesti8n de 0royectos2 a este niAel las organi(aciones dis0onen de correctos 0rocedimientos de coordinaci8n entre gr30os2 formaci8n del 0ersonal2 t+cnicas de ingeniera m<s detalladas y 3n niAel m<s aAan(ado de m+tricas en los 0rocesos$ Se im0lementan t+cnicas de reAisi8n 0or 0ares 60eer reAiews9$ C O Pestionado$ Se caracteri(a 0or D3e las organi(aciones dis0onen de 3n con73nto de m+tricas significatiAas de calidad y 0rod3ctiAidad2 D3e se 3san de modo sistem<tico 0ara la toma de decisiones y la gesti8n de riesgos$ El software res3ltante es de alta calidad$ # O O0timi(ado$ La organi(aci8n com0leta est< Aolcada en la me7ora contin3a de los 0rocesos$ Se %ace 3so intensiAo de las m+tricas y se gestiona el 0roceso de innoAaci8n$

#. $ene%icios de la i plantacin del

odelo CMM

Mayor efectiAidad en la detecci8n de errores a lo largo del ciclo de Aida

del desarrollo del software2 red3ciendo dr<sticamente el n;mero de defectos$ Red3cci8n de las desAiaciones en 0la(o de los 0royectos$ Mayor tolerancia al cam1io e incremento de la ca0acidad de ado0ci8n y

ada0taci8n de n3eAas ?ecnologas$

1C Ingeniera de Software Me7ora en la ra0ide( y efectiAidad de res03esta ante eIigencias del

negocio$ Me7ora en la cola1oraci8n y com3nicaci8n$ Mitigaci8n de Riesgo$ Red3cci8n de los costes del 0royectos$

1. SPICE (ISO/IEC 15504)

Este serAicio 0ermite insta3rar 3na 0oltica de tra1a7o com;n en el de0artamento de desarrollo software de s3 em0resa$ La norma ISOBIEC 1##!C define 3n modelo de eAal3aci8n de 0rocesos$ Se trata de 3na est<ndar internacional D3e 0ermite eAal3ar la ca0acidad y mad3re( de los 0rocesos software de 3na organi(aci8n$ Los 0rocesos de desarrollo software eAal3ados con la ISO 1##!C se enc3entran recogidos en la norma ISOBIEC 1 !K$ Esta norma contiene 3n con73nto de 0rocesos D3e

a1arcan el ciclo com0leto de 3n 0royecto software2 desde la definici8n de 3n 0royecto %asta la entrega y cierre del mismo$

La certificaci8n se 1asa en ) niAeles de mad3re($ Cada niAel o1liga a c3m0lir 3na serie de reD3isitos so1re 3n gr30o de 0rocesos determinado$ Por e7em0lo2 el niAel contem0la 1! 0rocesos y el niAel @ contem0la 1 0rocesos de ISO 1 !K$ de mad3re(

Entre los 0rinci0ales 1eneficios de 3na im0lantaci8n de SPICE2 0odemos destacar los sig3ientes4

Reconocimiento en el mercado2 siendo 3n factor diferenciador ante s3

com0etencia$

1# Ingeniera de Software '3menta la satisfacci8n de s3s clientes$ Me7ora interna de s3 em0resa4 Im0lantaci8n de 3na metodologa com;n a todas las <reas$ Control de todas las fases y <reas de gesti8n de 3n 0royecto software$ Detectar y corregir 0osi1les fallos en cada eta0a de 3n 0royecto$ '3mento de los 1eneficios del 0royecto$

En res3men2 la im0lantaci8n de SPICE en s3 em0resa le 0ermitir< a1ordar c3alD3ier ti0o de 0royecto software sig3iendo 3nas directrices com3nes en todos ellos$

5orma de tra1a7o4

El o17etiAo 0rinci0al de '3disec 0ara s3s 0royectos de im0lantaci8n es a0ortar Aalor$ Por ello2 la filosofa de n3estros 0royectos es la sig3iente4

EnfoD3e 0r<ctico y did<ctico de los 0royectos$ Los 0rocesos de1en ser

asimilados y com0rendidos$ >o a la Jcons3ltora intr3siAaJ4 0rimero se anali(an las necesidades de la

organi(aci8n y des03+s se decide c3<l es la sol3ci8n D3e me7or 03ede enca7ar$ Los 0rocedimientos f<ciles de 3sar se 3tili(an y a0roAec%an$ C3m0limiento con la norma$

Las fases de las D3e consta el 0royecto de SPICE son4 EAal3aci8n inicial$ Desarrollo de 0rocesos

1) Ingeniera de Software '0licaci8n de los 0rocesos en 0royectos software de s3 em0resa$ EAal3aci8n final$ Certificaci8n$

Rec3erde tam1i+n D3e 0odemos alinear SPICE con las >ormas ISO K!!12 ISO !!!2 ISO @!12 ISO "!!12 ISO 1C!!12 etc$

ISO"!!14 !!! 0ara software

ISO "!!14 !!! es 3na norma internacional ace0tada 0or inn3mera1les organi(aciones y em0resas D3e define los reD3isitos mnimos D3e de1e c3m0lir 3n sistema de gesti8n de calidad 0ara ser certificado$ La anterior Aersi8n de la norma ISO "!!! de 1""C se com0ona de 3na serie de tres normas c3yos c8digos eran ISO "!!14"C2 ISO "!! 4"C y ISO "!!@4"C2 destinadas a em0resas ind3striales D3e2 res0ectiAamente2 contem0lasen la totalidad de o0eraciones2 incl3idas las de dise/o2 D3e solamente t3Aiesen en c3enta la fa1ricaci8n2 o D3e 1asasen s3 sistema de calidad ;nicamente en el an<lisis y los ensayos finales de s3s 0rod3ctos$

Por lo tanto2 si 3na organi(aci8n desea certificar s3 sistema de gesti8n de calidad2 dic%o sistema de1er< estar redactado de ac3erdo con lo D3e se se/ala la norma ISO "!!14 !!!2 enfati(ando D3e se de1e doc3mentar 1a7o 3na 73stificaci8n s8lida la eIcl3si8n de c3alD3ier reD3erimiento de la normatiAa D3e no a0liD3e a la em0resa 6las c3ales 03eden ser actiAidades de dise/o2 instalaci8n2 serAicio 0osAenta2 0rod3cto 0ro0orcionado 0or el cliente2 etc$9$ En la Aersi8n !!!2 se %ace %inca0i+ en D3e no se 0retende D3e las organi(aciones est+n o1ligadas a cam1iar la estr3ct3ra de s3 sistema de gesti8n de calidad o s3 doc3mentaci8n 0ara as alinearse con la estr3ct3ra de la norma ISO "!!14 !!!$ La doc3mentaci8n del

1K Ingeniera de Software sistema de gesti8n de calidad de la organi(aci8n de1e ser adec3ada de la manera D3e sea a0ro0iada a s3s actiAidades2 mientras a;n c31ra los reD3isitos de +ste est<ndar internacional$

Seg;n s3 definici8n2 la norma ISO "!!14 !!! es0ecifica los reD3isitos 0ara los sistemas de gesti8n de la calidad a0lica1les a toda organi(aci8n D3e necesite demostrar s3 ca0acidad 0ara 0ro0orcionar 0rod3ctos D3e c3m0lan los reD3isitos de s3s clientes y los reglamentarios D3e le sean de a0licaci8n2 y s3 o17etiAo es a3mentar la satisfacci8n del cliente$ La norma ISO "!!14 !!! define E0rod3ctoF como Eres3ltado de 3n 0rocesoF2 0or lo D3e l8gicamente sera a0lica1le2 tanto a organi(aciones D3e se identifiD3en con em0resas ind3striales2 como a las D3e 0resten solamente serAicios2 tanto si se trata de entidades l3cratiAas como no l3cratiAas$ ISO "!!14 !!! 13sca garanti(ar la eficacia de la organi(aci8n2 no s3 eficiencia$ Sin em1argo2 0ara me7orar la eficiencia de la organi(aci8n 03ede 3tili(arse2 adicionalmente a ISO "!!14 !!!2 la norma ISO "!!C4 !!!2 a3nD3e solo la "!!1 es certifica1le$ Las 0rinci0ales me7oras de la n3eAa Aersi8n del !!! frente a la Aersi8n de 1""C son2 entre otras2 las sig3ientes4

L Es a0lica1le a c3alD3ier ti0o de 0rod3cto o serAicio2 en todos los sectores y a organi(aciones de c3alD3ier tama/o$ L Se red3ce significatiAamente la cantidad de doc3mentaci8n necesaria$ L Relaciona el sistema de gesti8n de calidad con los 0rocesos de la organi(aci8n$ L Mayor orientaci8n a la me7ora contin3a y a la satisfacci8n del cliente$ L Com0ati1ilidad con otras normas como la norma medioam1iental ISO 1C!!!$ L El conce0to del 0ar consistente de ISO "!!1 6D3e c31re los reD3isitos9 e ISO "!!C 6D3e 0ro0orciona 3na g3a 0ara 3na me7ora adicional del desem0e/o de la organi(aci8n9$ L Se consideran las necesidades y 1eneficios de todas las 0artes interesadas$

1. Ingeniera de Software

C'PI?=LO III 1. Modelos Prescriptivos del Proceso Los modelos 0rescri0tiAos de software f3eron ideados originalmente 0ara ordenar el caos del desarrollo de software2 y la %istoria nos m3estro D3e el 3so de estos %an trado tanto 3n camino a seg3ir en el desarrollo de software as como estr3ct3ras ;tiles$ a3nD3e el tra1a7o de ingeniera de software y el 0rod3cto res3ltante sig3en estando en 3n 03nto entre el orden y el caos lo c3al indica D3e no se est< en la estr3ct3ra com0leta y D3e 03ede %a1er cierta dosis de creatiAidad en el desarrollo de software y no se esta en la desorgani(aci8n total de manera D3e 03ede seg3irse 3n camino 0redeci1le 0ara el 0royecto$

Los modelos 0rescri0tiAos de software nos definen 3n con73nto de tareas2 actiAidades2 0rod3ctos de tra1a7o D3e se reD3ieren 0ara desarrollar 0rod3ctos de calidad D3e son im0ortantes 0ara lleAar control2 esta1ilidad y organi(aci8n a 3na actiAidad D3e tiende a ser ca8tica2 el modelo 0rescri0tiAo llena el marco de tra1a7o con con73ntos de tareas eI0licitas 0ara las acciones de la ingeniera de software$ Se de1e considerar D3e a3n D3e 3n 0roceso sea 0rescri0tiAo esto no se de1e as3mir como est<tico2 estos se de1en ada0tar al 0ersonal2 al 0royecto y al 0ro1lema$

Los modelos son llamados 0rescri0tiAos ya D3e 0rescriAen 3na serie de elementos de 0roceso asi como s3 fl37o de tra1a7o2 cada 3no de modelos se a73stan al marco de tra17o estandar 0ero cada 3no a0lica diferencias a cada 3na de las actiAidades y a s3 fl37o de tra1a7o$

i$El Modelo Cascada O Ciclo Cl<sico EIisten ocasiones en las c3ales los reD3isitos de 3n sistemas se identifican de manera ra(ona1le y estos fl3yen de la com3nicaci8n al des0lieg3e de manera casi lineal$ Esto se da c3ando se de1e %acer ada0taciones o me7oras a 3n sistema

1" Ingeniera de Software eIistente 0or e7em0lo al agregar n3eAas reg3laciones g31ernamentales a 3n 0rograma eIistente2 03ede 3tili(arse tam1i+n en 0royectos n3eAos 0ero ;nicamente c3ando los reD3isitos est<n 1ien definidos y son esta1les en forma ra(ona1le$ Las actiAidades seg3idas 0or este son las sig3ientes

Il3straci8n C El modelo Cascada El modelo cascada es el 0aradigma m<s antig3o en la ingeniera de software 0ero al 3tili(ar este 0aradigma se %an o1serAado lo sig3iente$

1$ Es m3y raro D3e los 0ro1lemas reales sigan el fl37o lineal sec3encial 0ro03esto$

$ Es m3y difcil 0ara el cliente esta1lecer todos los reD3isitos de manera eI0licita el modelo cascada lo reD3iere y enfrenta 0ro1lemas al 0ro0oner cam1ios$

@$ El cliente de1e tener 0aciencia$ En general %oy en da al ser 3n m3ndo acelerado y cam1iante enfrentamos m3c%os 0ro1lemas al 3tili(ar este 0aradigma ya D3e 03ede 0roAocar estados de 1loD3eos en los D3e no se 03eden terminar alg3nas tareas %asta D3e otras se %ayan concl3ido2 0ero de ig3al forma 03eden 0resentarse 0royectos en los c3ales este definido todo de manera clara y no se tengan cam1ios 0ara los c3ales este modelo 03ede ser el ideal$

ii$Modelos de Procesos Incrementales

! Ingeniera de Software En m3c%as ocasiones encontramos 0royectos con reD3isitos 1ien definidos ra(ona1les 0ero la 0ro0ia nat3rale(a del 0royecto nos im0ide 3sar 3n enfoD3e 03ramente lineal2 0or e7em0lo se necesita tener 3n con73nto limitado de f3ncionalidad 0ara l3ego refinarla y eI0andirla y esto nos cond3ce a modelo incremental el c3al com1ina elementos del modelo en cascada en forma iteratiAa$

El modelo incremental entrega 3na serie de lan(amientos llamados incrementos D3e 0ro0orcionan en forma 0rogresiAa m<s f3ncionalidad 0ara los clientes a medida D3e se entrega cada 3no de los incrementos$

'l 3tili(ar el modelo incremental la 0rimer entrega es 3n 0rod3cto esencial D3e incl3ye los reD3isitos 1<sicos2 los detalles tanto conocidos como no conocidos 03eden incl3irse en lan(amientos 0osteriores2 esta 0rimera entrega 03ede ser eAal3ado 0or el cliente 0ara incl3ir n3eAa f3ncionalidad$ Este 0roceso de1e ser re0etitiAo %asta no tener 3n 0rod3cto final$

El modelo incremental al ig3al D3e el modelo de 0rototi0os es 0or nat3rale(a iteratiAo la gran diferencia entre am1os es D3e se de1e %acer 3na entrega f3ncional en el caso del modelo incremental$

Si el cliente 0ro0one 3na fec%a de entrega im0osi1le es conAeniente s3gerir la entrega de 3no o m<s incrementos 0ara dic%a fec%a de modo D3e se 03eda tener 3n 0rod3cto 0arcial 1<sico a las necesidades del cliente 0ara ese momento y entregar el resto de incrementos adicionales l3ego$

1 Ingeniera de Software

Il3straci8n # Modelo de Proceso Incremental

iii$Modelos EAol3tiAos Los modelos eAol3tiAos 0rod3cen 3na Aersi8n com0leta en forma incremental en cada iteraci8n$ y 0ermiten crear Aersiones mas com0letas del software en cada iteraci8n$ y son 3tilices c3ando se tienen reD3isitos 1<sicos esta1lecidos 0ero se de1en definir detalles so1re la eItencion del 0rod3cto o sistema$

1. Construccin de Prototipo El cliente descri1e 3n con73nto de o17etiAos generales del software 0ero no identifica los reD3isitos detallados de entrada2 salida o 0rocesamiento y el desarrollador esta inseg3ro de la efectiAidad del software$ si el cliente tiene 3n necesidad real del software 0ero no se0a definir los detalles o el mismo no se0a 1ien D3e es lo D3e D3iere es im0ortante como 0rimer 0aso desarrollar 3n 0rototi0o$ y 03ede me(clarse con c3alD3ier otro m+todo$

Ingeniera de Software

Il3straci8n ) El 0aradigma de %acer 0rototi0os El 0aradigma de constr3cci8n de 0rototi0os se inicia con la com3nicaci8n el ingeniero de software y el cliente enc3entran y definen los reD3isitos 1<sicos y conocidos2 entonces se 0lantea con ra0ide( 3na iteraci8n de constr3cci8n de 0rototi0os y se 0resenta 3n dise/o r<0ido y este se centra en as0ectos Aisi1les al cliente y al 3s3ario final2 se constr3ye el 0rototi0o y este se somete a 3na eAal3aci8n 0or 0arte del clienteB3s3ario 0ara y con la retroalimentaci8n 0rod3cida se rea73stan los reD3isitos del software D3e se desarrollara$ De tal forma D3e el 0rototi0o sirAe como 3n mecanismo 0ara identificar los reD3isitos del software$ Es recomenda1le idealmente desec%ar 3n 0rototi0o y de1e resistirse la 0resi8n de entregarlo como 3n 0rod3cto ya D3e la calidad se Aer< die(mada y 0or lo tanto de1e de definirse las reglas del 73ego con el cliente indic<ndosele D3e el 0rototi0o sirAe 0ara tomar reD3isitos y a73starlos y l3ego de1e desec%arse al menos en 0arte 0ara l3ego desarrollar 3n software de alta calidad$

2. El Modelo Espiral El modelo es0iral es 3n 0roceso de software eAol3tiAo D3e con73ga la nat3rale(a iteratiAa de la constr3cci8n de 0rototi0os con los as0ectos controlados y sistem<ticos del modelo cascada2 el modelo cascada se 03ede ada0tar y a0licar a traA+s del ciclo de Aida com0leto de 3na a0licaci8n desde el desarrollo del conce0to %asta el mantenimiento$

@ Ingeniera de Software C3ando se a0lica el modelo es0iral se desarrolla 3na serie de entregas eAol3tiAas iniciando desde 0osi1lemente doc3mentaci8n y 0rototi0os2 %asta llegar Aersiones cada Aes me7ores del sistema$

Il3straci8n K Modelo Es0iral Com;n El desarrollo es0iral es 3n enfoD3e realista 0ara el desarrollo de sistemas a gran escala$ Como el software eAol3ciona el desarrollador y el cliente adD3ieren mayor eI0eriencia y reaccionan me7or ante riesgos en cada eta0a$ si se a0lica en forma a0ro0iada el se de1en red3cir riesgos antes D3e estos sean 3n 0ro1lema$

Entre los 0ro1lemas de este modelo 0odemos Aer D3e es difcil conAencer al cliente D3e el enfoD3e eAol3tiAo es controla1le2 si 3n riesgo im0ortante no se desc31re y administra s3rgir<n 0ro1lemas$

!. Modelo de &esarrollo Concurrente El modelo de 0rocesos conc3rrentes define 3na serie de eAentos D3e se dis0aran transiciones de estado a estado 0ara cada 3na de las actiAidades2 acciones2 o tareas de ingeniera de software$

C Ingeniera de Software Se a0lica a todos los ti0os de desarrollo de software y 0ro0orciona 3na Aisi8n eIacta del estado del 0royecto es a0ro0iado c3ando se enc3entran inAol3crados Aarios eD3i0os de ingeniera$ =n e7em0lo de 3na actiAidad conc3rrente es el sig3iente

Il3straci8n . =n e7em0lo de 0roceso conc3rrente El software de com03tadora modero es cam1iante y los tiem0os de entrega red3cidos y es im0ortante si se 0ierde tiem0o el mismo software 03ede 0erder significado y los 0rocesos eAol3tiAos 03eden ay3darnos2 los 0ro1lemas de estos 03eden ser D3e no sa1emos c3<ntas iteraciones necesitamos 0ara constr3ir 3n 0rod3cto y las t+cnicas de estimaci8n se 1asan en m+todos lineales los c3ales no se a73stan2 no se esta1lece la Aelocidad m<Iima de eAol3ci8n$

#. Modelos de Procesos Especiali'ados Los modelos de 0roceso es0eciali(ado tienen m3c%as de las caractersticas de 3no o m<s de los modelos tradicionales D3e se re0resentaron en las secciones anteriores$ Sin em1argo2 dic%os modelos tienden a a0licarse c3ando se elige 3n enfoD3e de ingeniera de software es0eciali(ado o definido m3y es0ecialmente$

# Ingeniera de Software i.Desarrollo ,asado En Com0onentes Incor0ora m3c%as de las caractersticas del modelo es0iral es eAol3tiAo 0or nat3rale(a$ el modelo config3ra a0licaciones a 0artir de software em0aD3etado en forma 0reAia$ El modelado y constr3cci8n inician 0or identificar los com0onentes candidatos estos 03eden ser dise/ados como m8d3los de software conAencionales o como clases o 0aD3etes de clases orientados a o17etos$

ii.Modelo de M+todos 5ormales Com0rende 3n con73nto de actiAidades D3e cond3cen a la es0ecificaci8n matem<tica del software de com03tadora y 0ro0orcionan 3n mecanismo 0ara eliminar 0ro1lemas difciles a traA+s de 3n an<lisis matem<tico$

el 0ro1lema 0rinci0al es el tiem0o y los rec3rsos D3e cons3me son grandes2 no %ay gente s3ficiente ca0acitada 0ara a0licar estos m+todos y es m3y difcil com3nicarse con el cliente 0or medio de las notaciones es0ecficas$

iii.Desarrollo de Software Orientado a 's0ectos Es 3n 0aradigma de ingeniera de software D3e 0ro0orciona 3n 0roceso y enfoD3e metodol8gico 0ara definir2 es0ecificar2 dise/ar y constr3ir as0ectos$ Mecanismos m<s all< de s31r3tinas y legados 0ara locali(ar la eI0resi8n del inter+s general es 0osi1le D3e el 0roceso ado0te caractersticas del 0roceso es0iral y conc3rrente$

C'PI?=LO I-

) Ingeniera de Software 1. Proceso Uni%icado i$Qistoria L 'l 0rinci0io de la d+cada de 1""!2 *ames R3m1a3g% GR3m"1H2 Prady

,ooc% G,oo"CH e IAar *aco1son G*ac" H comen(aron a tra1a7ar en 3n Em+todo 3nificadoF D3e com1inara lo me7or de cada 3no de s3s m+todos indiAid3ales de an<lisis y dise/o orientado a o17etos$ L L El res3ltado f3e 3n =ML2 leng3a7e de modelado 3nificado$ En los sig3ientes a/os2 *aco1son2 R3m1a3g% y ,ooc% desarrollaron el

0roceso 3nificado2 estr3ct3ra 0ara la ingeniera de software orientado a o17etos D3e 3tili(a =ML$

ii$Definici8n El Proceso =nificado es 3n 0roceso de software gen+rico D3e 03ede ser 3tili(ado 0ara 3na gran cantidad de ti0os de sistemas de software2 0ara diferentes <reas de a0licaci8n2 diferentes ti0os de organi(aciones2 diferentes niAeles de com0etencia y diferentes tama/os de 0royectos$

5ases del Proyecto 3nificado La fase de conce0ci8n del P= agr30a actiAidades tanto de com3nicaci8n con el cliente como de 0laneaci8n$ Se 03eden identificar # fases4 La 0laneaci8n identifica los rec3rsos2 eAal;a los riesgos 0rinci0ales2 define 3n 0rograma de actiAidades y esta1lece 3na 1ase 0ara las fases D3e se Aan a a0licar a medida D3e aAan(a el incremento del software$

K Ingeniera de Software

5ig3ra " 5ases del Proceso =nificado

La fase de elaboracin incl3ye las actiAidades de com3nicaci8n y modelado del modelo general del 0roceso$ La ela1oraci8n me7ora y am0la los casos de 3so 0reliminares desarrollados como 0arte de la fase de conce0ci8n y a3menta la re0resentaci8n de la arD3itect3ra 0ara incl3ir cinco 03ntos de Aista distintos del software4 L L L L L Los modelos del caso de 3so2 Los modelos de reD3erimientos2 Los modelos del dise/o2 Los modelos de la im0lementaci8n y Los modelos del des0lieg3e$

'dem<s2 al terminar la fase de ela1oraci8n se reAisa con c3idado el 0lan a fin de aseg3rar D3e el alcance2 riesgos y fec%as de entrega sig3en siendo ra(ona1les$

La fase de construccin del P= es id+ntica a la actiAidad de constr3cci8n definida 0ara el 0roceso general del software$ Con el 3so del modelo de arD3itect3ra como entrada2 la fase de constr3cci8n desarrolla o adD3iere los com0onentes del

. Ingeniera de Software software D3e %ar<n D3e cada caso de 3so sea o0eratiAo 0ara los 3s3arios finales$ Se em0lean casos de 3so 0ara o1tener 3n gr30o de 0r3e1as de ace0taci8n D3e se e7ec3tan antes de comen(ar la sig3iente fase del P=$

La fase de transicin del P= incl3ye las ;ltimas eta0as de la actiAidad general de constr3cci8n y la 0rimera 0arte de la actiAidad de des0lieg3e general 6entrega y retroalimentaci8n9$ Se da el software a los 3s3arios finales 0ara las 0r3e1as 1eta2 D3ienes re0ortan tanto los defectos como los cam1ios necesarios$ 'l finali(ar la fase de transici8n2 el software incrementado se conAierte en 3n 0rod3cto 3tili(a1le D3e se lan(a$

La fase de transicin del P= incl3ye las ;ltimas eta0as de la actiAidad general de constr3cci8n y la 0rimera 0arte de la actiAidad de des0lieg3e general 6entrega y retroalimentaci8n9$ Se da el software a los 3s3arios finales 0ara las 0r3e1as 1eta2 D3ienes re0ortan tanto los defectos como los cam1ios necesarios$ 'dem<s2 el eD3i0o de software genera la informaci8n de a0oyo necesaria 60or e7em0lo2 man3ales de 3s3ario2 g3as de sol3ci8n de 0ro1lemas2 0rocedimientos de instalaci8n2 etc$9 D3e se reD3iere 0ara el lan(amiento$ 'l finali(ar la fase de transici8n2 el software incrementado se conAierte en 3n 0rod3cto 3tili(a1le D3e se lan(a$

La fase de produccin del P= coincide con la actiAidad de des0lieg3e del 0roceso general$ D3rante esta fase2 se Aigila el 3so D3e se da al software2 se 1rinda a0oyo 0ara el am1iente de o0eraci8n 6infraestr3ct3ra9 y se re0ortan defectos y solicit3des de cam1io 0ara s3 eAal3aci8n$

1. Proceso Personal y de E(uipo

" Ingeniera de Software El me7or 0roceso del software es el D3e est< cerca de las 0ersonas D3e %ar<n el tra1a7o$ Si 3n modelo del 0roceso del software se %a desarrollado en 3n niAel cor0oratiAo 3 organi(acional2 ser< efica( s8lo si ace0ta 3na ada0taci8n significatiAa 0ara D3e c31ra las necesidades del eD3i0o de 0royecto D3e en realidad %ace el tra1a7o de ingeniera de software$

i$Proceso 0ersonal de software 6PPS9 Es 3n con73nto de 0r<cticas disci0linadas 0ara la gesti8n del tiem0o y me7ora de la 0rod3ctiAidad 0ersonal de los 0rogramadores o ingenieros de software2 en tareas de desarrollo y mantenimiento de sistemas$ G H Este modelo consta de # actiAidades$ Planeacin$ Esta actiAidad asla los reD3erimientos y desarrolla las

estimaciones tanto del tama/o como de los rec3rsos$ 'dem<s2 reali(a la estimaci8n de los defectos 6el n;mero de defectos 0royectados 0ara el tra1a7o9$ ?odas las mediciones se registran en %o7as de tra1a7o o 0lantillas$ Por ;ltimo2 se identifican las tareas de desarrollo y se crea 3n 0rograma 0ara el 0royecto$

Diseo de alto nivel$ Se desarrollan las es0ecificaciones eIternas

0ara cada com0onente D3e se Aa a constr3ir y se crea el dise/o de com0onentes$ Si %ay incertid3m1re2 se ela1oran 0rototi0os$ Se registran todos los as0ectos releAantes y se les da seg3imiento$

Revisin del diseo de alto nivel$ Se a0lican m+todos de Aerificaci8n 19 0ara desc31rir errores en el dise/o$ Se

formal 6A+ase el ca0t3lo

mantienen las mediciones 0ara todas las tareas y res3ltados del tra1a7o im0ortantes$

@! Ingeniera de Software

Desarrollo. Se me7ora y reAisa el dise/o del com0onente$ El c8digo

se genera2 reAisa2 com0ila y 0r3e1a$ Las mediciones se mantienen 0ara todas las tareas y res3ltados de tra1a7o de im0ortancia$

Post mrtem. Se determina la eficacia del 0roceso 0or medio de

medidas y mediciones o1tenidas 6+sta es 3na cantidad s3stancial de datos D3e de1en anali(arse con m+todos estadsticos9$ Las medidas y mediciones de1en dar la g3a 0ara modificar el 0roceso a fin de me7orar s3 eficacia$

Entre s3s caractersticas tenemos4

El PPS enfati(a la necesidad de detectar 0ronto los errores$ El PPS re0resenta 3n enfoD3e disci0linado 1asado en la medici8n

0ara la ingeniera de software D3e D3i(< sea 3n c%oD3e c3lt3ral 0ara m3c%os de s3s 0racticantes$

i$Proceso del ED3i0o de Software Ig3al D3e el PPS2 el PES es 3n enfoD3e rig3roso 0ara la ingeniera de software y 0ro0orciona 1eneficios distintiAos y c3antifica1les en 0rod3ctiAidad y calidad$ El eD3i0o de1e tener 3n com0romiso total con el 0roceso y reci1ir ca0acitaci8n com0leta 0ara aseg3rar D3e el enfoD3e se a0liD3e en forma a0ro0iada$

Entre s3s caractersticas tenemos4

@1 Ingeniera de Software El PES define las sig3ientes actiAidades estr3ct3rales4 inicio del

0royecto2 dise/o de alto niAel2 im0lementaci8n2 integraci8n y 0r3e1as2 y 0ost m8rtem$ El PES 3tili(a 3na Aariedad am0lia de scri0ts2 formatos y

est<ndares D3e g3an a los miem1ros del eD3i0o en s3 tra1a7o$ El PES reconoce D3e los me7ores eD3i0os de software son los

a3tos dirigidos$

1. Producto y Proceso Si el 0roceso es deficiente2 no ca1e d3da de D3e el 0rod3cto final s3frir<$ Pero tam1i+n es 0eligrosa la de0endencia eIcesiAa del 0roceso$ G@H

@ Ingeniera de Software Referencias G1H Ingeniera del Software2 3n enfoD3e 0r<ctico2 s+0tima edici8n 0or Roger S$ Pressman 0<gina ) G H %tt04BBes$wiki0edia$orgBwikiBPersonalRSoftwareRProcess de oct31re del !1@

G@H %tt04BBalarcos$esi$3clm$esB0erBfr3i(Bc3rsBsantanderBmrodrig3e(Miso #!!!M30date$0df 1. de oct31re del !1@

@@ Ingeniera de Software

?t3los de il3straciones Figura 1. Estr3ct3ra del Proceso 0<gina # Figura 2. 5l37o de Proceso 0<gina . Figura 3. >iAeles de CMMI 0<gina 1 Figura 4. El modelo Cascada 0<gina ! Figura . Modelo de Proceso Incremental 0<gina Figura !. El 0aradigma de %acer 0rototi0os Figura ". El 0aradigma de %acer 0rototi0os 0<gina # Figura #. =n e7em0lo de 0roceso conc3rrente 0<gina ) Figura $. 5ases del Proceso =nificado