You are on page 1of 67

Fundamentos de Ingeniera del Software - Tercer curso de Ingeniera Tcnica Informtica

Versin 0.4.8

23 de diciembre de 2006

ndice general
1. Introduccin a la Ingeniera del Software
IFIF il softwre F F F F F F F F F F F F F F F F F F F F F F F F F F F F IFPF grterstis del softwre F F F F F F F F F F F F F F F F F F F IFQF ivoluin del desrrollo del softwre F F F F F F F F F F F F F F IFQFIF rimer er @prinipio de los SH medidos de los THA IFQFPF egund er @medidos de los TH (nles de los UHA F IFQFQF erer er @(nles de los UH prinipios de los WHA F F IFQFRF gurt er @de los WH en delnteA F F F F F F F F F F F IFRF rolems soidos l desrrollo de softwre F F F F F F F F F IFSF vs uss de los prolems en el desrrollo del softwre F F F IFTF elgunos mitos del desrrollo del softwre F F F F F F F F F F F F IFUF v sngenier del oftwreX de(niionesD elementos y ojetivos IFVF isin generl del proeso de l sngenier del oftwre F F F F IFVFIF pse de plni(in F F F F F F F F F F F F F F F F F F F IFVFPF pse de desrrollo F F F F F F F F F F F F F F F F F F F F IFVFQF pse de mntenimiento F F F F F F F F F F F F F F F F F F IFWF ituin tul de l sngenier del oftwre F F F F F F F F F PFIF PFPF PFQF PFRF gonepto de sistem F F F F F F F F F F F F F F F F F F F F snformin y dtos F F F F F F F F F F F F F F F F F F F F infoque sistmio u holstio pr el estudio de sistems istem de snformin @sA F F F F F F F F F F F F F F F F PFRFIF he(niin F F F F F F F F F F F F F F F F F F F F F F PFRFPF ilementos de un s F F F F F F F F F F F F F F F F F PFRFQF istrutur de l informin en un s F F F F F F PFSF istems de snformin eutomtizdos @seA F F F F F PFTF istems de snformin sios en ls orgniziones F PFUF v sngenier del oftwre en un orgnizin F F F F F QFIF il proeso softwre F F F F F F F F F QFPF wdurez del proeso softwre F F F QFQF istndres del proeso softwre F F QFQFIF istndr siii IHUR F F F F QFQFPF istndr syGsig IPPHUEI F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F generles F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F R R S S T T T T U U V W W W W IH

2. Introduccin a los Sistemas de Informacin

11

II II IP IP IQ IQ IR IS IT IT IU IV IW PH PI

3. El proceso software y modelos de proceso

17

QFQFQF istndr syGsig ISSHSEP F F F F F F F F F F F QFRF wodelos de proesos del softwre F F F F F F F F F F F F QFRFIF wodelo en sd o linel seuenil F F F F F QFRFPF wodelo en sd on prototipdo desehle QFRFQF wodelos evolutivos F F F F F F F F F F F F F F F F QFRFRF wodelo de desrrollo forml F F F F F F F F F F F QFRFSF nis de Ra generin F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F

PP PP PQ PR PR PV PW

4. Mtodos de desarrollo del software


RFIF RFPF RFQF RFRF gonepto de mtodo F F F F F F F freve histori de los mtodos F F glsi(in de los mtodos F F F wetodologs F F F F F F F F F F F RFRFIF he(niin F F F F F F F F F RFRFPF istrutur y omponentes RFRFQF grterstis F F F F F F RFRFRF yjetivos F F F F F F F F F RFRFSF glsi(in F F F F F F F RFSF wetodologs o(iles F F F F F F RFSFIF werise F F F F F F F F F F F RFSFPF ehw F F F F F F F F F F RFSFQF wtri vQ F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

F F F F F F F F F F F F F

30

QH QH QI QQ QQ QQ QR QR QR QS QS QS QT

5. Ingeniera de Requisitos

SFIF equisitos F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F SFIFIF ipos de requisitos F F F F F F F F F F F F F F F F F F F F F F F SFIFPF rolems omunes F F F F F F F F F F F F F F F F F F F F F F SFPF sngenier de equisitos F F F F F F F F F F F F F F F F F F F F F F F F SFQF il proeso de sngenier de equisitos F F F F F F F F F F F F F F F F SFRF sdenti(in de requisitos F F F F F F F F F F F F F F F F F F F F F F F SFRFIF nis o yuds pr l identi(in de requisitos F F F F SFSF enlisis y negoiin de requisitos F F F F F F F F F F F F F F F F F F SFTF ispei(in de requisitos F F F F F F F F F F F F F F F F F F F F F F SFTFIF xturlez de l espei(in de requisitos F F F F F F F F F SFTFPF grterstis de l espei(in de requisitos F F F F F F F SFTFQF istrutur de un doumento de espei(in de requisitos SFTFRF elguns tnis de espei(in de requisitos F F F F F F F SFUF lidin de requisitos F F F F F F F F F F F F F F F F F F F F F F F F SFVF il uso de prototipos F F F F F F F F F F F F F F F F F F F F F F F F F F SFVFIF he(niin de prototipo F F F F F F F F F F F F F F F F F F F F SFVFPF ipos de prototipos F F F F F F F F F F F F F F F F F F F F F F SFVFQF nis y herrmients F F F F F F F F F F F F F F F F F F F F SFVFRF fene(ios de los prototipos F F F F F F F F F F F F F F F F F F

38

QV QV QV QW QW RH RH RP RQ RQ RQ RR RS RS RS RT RT RT RU

6. Modelado del anlisis 7. Diseo del software


P

48 49

8. Tcnicas y estrategias de prueba


VFIF VFPF VFQF VFRF

pundmentos de l prue F F F F F F rinipios de l prue F F F F F F F F nis de prues F F F F F F F F F hiseo de sos de prue F F F F F F VFRFIF rues de j ln F F F VFRFPF rues de j negr F F F F VFSF istrtegis de prue del softwre F VFTF v depurin F F F F F F F F F F F F F VFTFIF infoques pr l depurin

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

F F F F F F F F F F F F F F F F F F F F F F F F F F F

50

SH SI SI SQ SQ ST SU SV SW

9. Ingeniera del Software Asistida por Ordenador

WFIF sntroduin F F F F F F F F F F F F F F F F F F F F F F F F F F F WFIFIF ivoluin histri de ls herrmients F F F F F F F WFPF yjetivos F F F F F F F F F F F F F F F F F F F F F F F F F F F F WFQF grterstis F F F F F F F F F F F F F F F F F F F F F F F F F WFRF ilementos sios F F F F F F F F F F F F F F F F F F F F F F F WFSF il repositorio F F F F F F F F F F F F F F F F F F F F F F F F F F WFSFIF puniones del repositorio F F F F F F F F F F F F F F F WFSFPF gontenido del repositorio F F F F F F F F F F F F F F F WFTF xonoms de herrmients F F F F F F F F F F F F F F F F F WFTFIF glsi(in por tegors F F F F F F F F F F F F F F WFTFPF glsi(in por el nivel de integrin F F F F F F F WFTFQF glsi(in por su funionlidd F F F F F F F F F F F WFUF ln pr l dquisiin e implntin de un herrmient WFUFIF lni(in F F F F F F F F F F F F F F F F F F F F F F WFUFPF edquisiin F F F F F F F F F F F F F F F F F F F F F F F WFUFQF sntroduin o implntin en un proyeto piloto F WFUFRF tilizin o implntin en tod l orgnizin F WFVF ituin tul F F F F F F F F F F F F F F F F F F F F F F F F F

60
TH TI TI TI TI TP TP TP TQ TQ TQ TQ TS TS TS TT TT TT

Captulo 1

Introduccin a la Ingeniera del Software


1.1. El software
il softwre no es slo digoD sino tmin ls espei(iones del diseoD los dtos trtdos y l doumentin que permite el desrrolloD instlin y mntenimientoF istritmenteD se puede de(nir omoX snstruiones queD undo se ejeutnD proporionn l funionlidd desedF istruturs de dtos que filitn ls instruiones mnipulr deudmente l informinF houmentos que desrien el desrrolloD usoD instlin y mntenimiento de los progrmsF e puede destrD entre otrsD l de(niin de softwre dd por el siiiX

Aquellos programas de computador, procedimientos, reglas y documentacin posible asociada con la computacin, as como los datos pertenecientes a las operaciones de un sistemas de computacin.

1.2. Caractersticas del software


il softwre present vris rterstisF is un elemento lgioD no fsioD en ontrposiin on el hrdwreF e desrrollD no se friF v friin onsiste fundmentlmente en ensmE lr omponentesD punto l que no se h llegdo ni siquier on l progrmin orientd ojetosF xo se estropeD se deteriorF gon el tiempoD el hrdwre se v estropendo por l preseni de omponentes fsiosF il softwreD l reer de ellosD se deteriorD no R

estropeaD umentndo el mntenimiento que neesitF is el soD por ejemploD del

llmdo digo hereddoF il nmero de fllos sigue un urv teri en l queD en l denomind fse iniE ilD inmeditmente posterior l implntinD se detetn muhos fllos queD on el tiempoD se vn orrigiendoD de form que d vez se detetn menosF en sD sigue siendo neesrio un mntenimiento pr orregirlosD espeilmente unE do existe un grn volumen de miosD omo suede en el softwre de gestinF ero en l reliddD d vez que se resuelven un nmero determindo de errores se puli un nuev versin sore l que se detetn msD yD despus de preE er vrisD l urv rel super stnte l teriD neesitndo d vez ms mntenimientoF

v myor se onstruye medid en vez de ensmlr omponentes existentesF

1.3. Evolucin del desarrollo del software


e puede dividir en vris ers que se detlln ontinuinF

1.3.1. Primera era (principio de los 50 a mediados de los 60)


il hrdwre es muy ro y el softwreD en omprinD muy rtoD por lo que se le onede ms importni l primero y el segundo se onsider un didoF edemsD no existe l sngenier del oftwreD se prende trvs de ursos de progrminD on lo que el resultdo termin siendo si un mtodo rtesnlF il desrrollo se reliz medid y en lengujes de muy jo nivel @ensmldorAD on los que se produe softwre propietrioF il progrmdor de l pliin tmin l ejeut y es el nio que l onoeF il S

trtmiento se reliz por lotes @proesos batchAF in un proeso se ejeutn todos los movimientos sin intertur on el usurioF e est er l rteriz l flt de doumentinF

1.3.2. Segunda era (mediados de los 60 a nales de los 70)


epreen nuevos oneptos omo l multiprogrmin y el multiusurioD permitiendo l interin on stosF edemsD nen ls primers empress que desrrolln pliioE nes pr muhos usurios en lugr de medidD de form que el softwre se onvierte en produtoF xen tmin los istems de qestin de fses de htos @qfhAD en ontrposiin on el trtmiento de (heros que exist nteriormenteD y que provo grndes inonE sistenis deido l existeni de informin redundnteF heido l evoluin del hrdwreD el rendimiento de ste y pod in)uir en el de ls pliionesD lo que permiti que surgiern ls de tiempo relF e est er l rteriz un inremento en el mntenimiento del softwreD en el que se onentrn los reursosD en lugr de en el desrrolloF iste heho se denomin risis del softwreF

1.3.3. Tercera era (nales de los 70 a principios de los 90)


epreen los primeros ordendores personles y se rt el oste del hrdwreF epreen ls redes de re lolD los sistems distriuidosD los primeros mtodos estruE turdos y l sngenier del oftwreD unque el mntenimiento sigue siendo un prolemF e est er l rteriz queD on l populrizin de los sistems distriuidos y ls redesD ntes itdosD se ompli el trjoF vs pliiones poseen un omplejidd de l que ren en ers nteriores @deido ls propis rterstis de stsAF

1.3.4. Cuarta era (de los 90 en adelante)


rst l terer erD l myor de proesos ern entrlizdosD pero en l urtD ls rquiteturs informtis estn mindo de estos entornos de grndes omputdors entornos desentrlizdos lienteEservidorF v tenolog orientd ojetosD surgid tiempo trs on lengujes omo mlltlk y hor populrizd por otros omo gCC y tvD est desplzndo rpidmente enfoques ms trdiionlesF xe snternetD que rpidmente se populrizF v industri del softwre es un prte importnte de l eonom mundilF e est er l rteriz l dependeni del softwreD por lo que se neesitn pliiones (lesF

1.4. Problemas asociados al desarrollo de software


il desrrollo no stisfe l demnd de softwre de l soieddD sino que muhos pedidos se tienden on retrsoF edemsD se desrrolln pliiones uyo mntenimiento onsume demsidos reursosY de mediD un US 7 de los reursos de ls orgnizionesF

ixisten dos rzones fundmentles que provonD on freueniD l instisfin del lienteF v j produtividdD que produe un umulin de trjoF v lidd del softwre desrrolldo es uestionleF in isp se dnD demsD otrs situionesX e desrroll demsido softwre l medid y poos pquetesF xo se desrroll softwre de seX yyD qfhD etF

1.5. Las causas de los problemas en el desarrollo del software


v primer de ells es que los prolems estn ligdos ls propis rterstis del softwreD omo que se lgio en lugr de fsioF e esto se de un ort experieni @de unos RH SH osA y un industri que mi muy rpidmente y que provo que los desrrolldores no tengn tiempo pr dquirir verdder experieni en un tniD mtodo o herrmientF in ontrposiinD existe un resisteni l mio por prte de los usuriosF or ltimoD se podr itr tmin l existeni de un serie de mitosD (rmiones on iert lgi o sentido intuitivo pero que son flssF istos mitosD h menudoD hn sido expuestos o divulgdos por los llmdos gursF

1.6. Algunos mitos del desarrollo del software


wuhs de ls uss de l risis del softwre se pueden enontrr en un mitolog que surge durnte los primeros os del desrrollo del softwreF e ontinuin se presentrn lgunos de los mitos ms destlesD on su enunido y ontinuin l reliddX xuestr gente dispone de ls herrmients de desrrollo de softwre ms vnzE dsD despus de todoD les omprmos ls omputdors ms modernsF r produir softwre de lidd lo fundmentl es plir l sngenier del ofE twreF vs herrmients geiD por ejemploD son ms importntes que el ltimo modelo de omputdor grnde o de g pr onseguir uen lidd y produtiE viddD unque l myor de los desrrolldores del softwre todv no ls utilien e(zmenteF i fllmos en l plni(inD podemos dir ms progrmdores y delntr el tiempo perdidoF gundo se den nuevs personsD l neesidd de prender y omunirse on el equipo puede y he que se reduz l ntidd de tiempo gstdo en el desrrollo produtivoF

n onoimiento generl de los requisitos es su(iente pr empezr esriir los progrmsF n ml de(niin iniil es l prinipl us del trjo ldo en softwreF e deen nlizr de form omplet los requisitosF vos mios pueden omodrse filmenteD y que el softwre es )exileF vos mios plidos sore los resultdos otenidos en un fse ms premtur umentn tmin el osteF is deirD si se plin sore l implementin sern ms rtos que sore el diseoD y en ste lo sern ms que sore el nlisisF e h de tener en uentD demsD que el impto del mio vr segn el momenE to en que se introduzF i se pone uiddo l dr l de(niin iniilD los mios soliitdos l prinipio pueden omodrse filmenteF gundo los mios se soliE itn durnte el diseo del softwreD el impto en el oste ree rpidmenteF se hn orddo los reursos utilizr y se h estleido un mro de trjo del diE seoF vos mios durnte l implementin @odi(in y prueA pueden tener un impto importnte sore el osteF gundo se soliitn l (nl de un proyetoD los mios pueden produir un orden de mgnitud ms ro que el mismo mio pedido l prinipioF xo se puede ompror l lidd hst que los progrms no estn ejeutndoseF e deen ir relizndo prues mientrs se desrrollF edemsD desde el prinipio del proyeto se puede plir uno de los menismos ms efetivos pr grntizr l lidd del softwreX l revisin tni formlF vo nio que se entreg l terminr el proyeto es el progrm funionndoF n progrm que funion es slo un prte de un on(gurin del softwre que inluye muhos elementosF v doumentin proporion el fundmento pr un uen desrrollo yD lo que es ms importnteD proporion gus pr l tre de mntenimiento del softwreF n vez que esriimos el progrm y hemos que funioneD nuestro trjo h termindoF vos grupos de desrrollo de softwre no se disuelven hst que ste no est implnE tdoF

1.7. La Ingeniera del Software: deniciones, elementos y objetivos generales


il trmino Ingeniera del Software ni (nles de los os TH en un ongreso en elemniF vos grupos de trjo que se formron llegron l onlusin de que se deen plir mtodosD metodologsD tnis y herrmients en un mro de gestin deudoF v sngenier del oftwre estudi diho mtodosD tnisD etFD pr resolver el prolem del desrrollo del softwreD y se puede de(nir de l siguiente formX

La Ingeniera del Software es una disciplina que integra mtodos, tcnicas y herramientas para el desarrollo de software de computadora.
us elementos sonX V

wtodosX gonjunto de tres ordends pr onseguir un (nF vos mtodos se desE rrollron pr d un de ls fses del desrrollo @nlisisD diseoD implementinD etFAD y un onjunto de vrios on un (losof omn omponen un metodologF nisX eyudn on ls di(ultdes pr llevr o lo que se indi en los mtodosF rerrmientsX rogrms que menizn los mtodos y ls tnisF sus ojetivos fundmentles son

productiva.

desarrollar software de calidad y de forma

1.8. Visin general del proceso de la Ingeniera del Software


il ilo de vid del softwre se divide en vris fses desde que ne hst que muereX lni(inX e identi( el proyetoD se le d nomre y se de(ne el lneF hesrrolloX e desrroll e implntF wntenimientoX hesde que se implnt hst que se ndonF

1.8.1. Fase de planicacin


e reliz un inventrio de tods ls tividdes que se relizn en un empres y se grupn por proyetos estleiendo un orrespondeni entre stos y ls res orgniE ztivsF min se disute l rquitetur hrdwreD l topolog de redD el lenguje de progrE minD etFD y se d un prioridd d proyetoF e onluye on un doumento denomindo ln de istems de snforminF gomo notinD se puede omentr que no se enuentr entre ls norms sy deido que se reliz un vez d perodos muy grndes de tiempo @un vez d dd o inluso msAF

1.8.2. Fase de desarrollo


e llevn o ls tres hst tener el proyeto funionndoF gonllev vris tiE viddesX nlisisD diseoD onstruinD prues e implntinF

1.8.3. Fase de mantenimiento


u ojetivo es l otenin de un nuev versin de un sistem deido petiiones de mio que los usurios relizn por un prolem detetdoD o por l neesidd de un mejor del mismoD pr omodrlo los mios de su entorno externo o pr onseguir un myor deuin los requisitosD myor e(ieniD o simplemente reoger nuevs funionliddes no expresds en l fse de de(niin del sistemF gomprende el mntenimientoX

gorretivoX gmi el softwre pr orregir los defetosF ivolutivoX sntrodue mejors en el softwreF edpttivoX wodi( el softwre pr omodrlo los mios de su entorno externoF erfetivoX vlev l softwre ms ll de sus requisitos funionles originlesF

1.9. Situacin actual de la Ingeniera del Software


e prinipios del siglo sD se plnten tres prolems esenilesX

El reto de lo heredado
ixiste demsido softwre ntiguo que es fundmentl pr empress de hoy y queD l deteriorrseD posee un myor ndie de fllos y neesit un mntenimiento muy ltoF

El reto de la heterogeneidad
il softwre dee orrer en muhs rquiteturs y sore sistems opertivos distintosF isto fet l (ilidd del softwreD es ms fil que flleF

El reto de la entrega
e neesitn prender tnisD herrmientsD etFD pr ser ms produtivos y entregr los proyetos tiempoF in emrgoD este prendizje redue el tiempo que se puede dedir l desrrolloF

IH

Captulo 2

Introduccin a los Sistemas de Informacin


2.1. Concepto de sistema
n sistem es un onjunto de oss que ordendmente relionds entre s ontriE uyen un determindo ojetivoF n sistem est ompuesto de vrios elementosX vos omponentes del sistemF v estrutur que viene determind por ls reliones entre los omponentesF il ojetivo u ojetivos del sistemF min se pueden onsiderr elementos de un sistem los siguientesX il entorno del sistemX equello que lo rode y dentro del ul est uidoF vos lmites del sistemX v fronter entre lo que es el sistem y lo que onstituye el entornoF vs entrds y slids del sistemX vs reliones on el exteriorD representdo por el entornoF vos sistems que se relionn on el exterior se denominn sistems iertosF

2.2. Informacin y datos


vos dtos estn onstituidos por los registros de los hehosD onteimientosD trnsE ionesD etF ueden ser series de nmeros o de rteres que por s mismos no onstituyen informinF vos dtos se pueden onsiderr l mteri prim pr otener l informE inF v informin impli que los dtos estn proesdos de tl mner que resulten tiles o signi(tivos pr el reeptor de los mismosD es el resultdo de proesr dihos dtosF or proesr entendemos l tividd de situr los dtos en un ontexto determindo o II

ompletr su signi(do si es inompletoF e hn de tener en uent dos onsideriones reltivs l informinX su ntidd y su liddD siendo est ltim ms importnte que l primerF egn l teor de l omuniin de glude hnnon l ntidd de informin que se omuni se de(ne en funin del onjunto totl de mensjes que se pueden envirF v omuniin ms elementl onsiste en el envo de dos posiles mensjesX verddero o flsoD s o noF v ntidd de informin que se trnsmite l omunir lguien un de ests dos lterntivsD eliminin de l inertidumreD l denominmos itF gundo existe l posiilidd de envir no dosD sino un ntidd n de diferentes menE 1 sjes equiprolesD d uno por lo tnto on un proilidd p = n D l ntidd de informin I medid en its que se omuni undo se env uno de los n mensjes esX I = log2 nF La cantidad de informacin de un mensaje es equivlente l nmero de dgitos inrios neesrios pr odi(r todos los posiles mensjes envirF or calidad de la informacin se entiende l onjunto de uliddes que dems de disminuir l inertidumre yudn l reeptor tomr l deisin ms ventjosF vs propieddes que indin l lidd sonX elevnte pr el prolem onsiderdoF reisD es deirD ext on l relidd y tulizdF gompletF vo idel es disponer de tod l informin relevnteD pero esto nun ourreD por lo tnto deemos de tener l menos l informin sore los elementos lveF e omuni l person deudD es deirD quien tiene que tomr l deisinF e tiempo pr que pued ser tilF xivel de detlle deudoF gomprensile pr el reeptorF

2.3. Enfoque sistmico u holstico para el estudio de sistemas


gonsiste enD prtiendo de un sistem on uns entrds y slidsD dividirlo en otros susistems que se interonetenD de form que ls slids de unos sen ls entrds de otrosF

2.4. Sistema de Informacin (SI)


vos istems de snformin existen desde el mismo d que se re l primer orgE nizin humnF u histori se puede dividir en tres ersX

IP

e prinipios del siglo sD l evoluin sndustril mi el onepto de trjo rtesnl por l espeilizin y divisin del trjoF vs persons se orgnizE ron en seiones o deprtmentos que se oordinn medinte el intermio de informinF e emple el ppelD el lpiz y los rhivdores omo sistems de informinF e prinipios del siglo D el tmo y omplejidd de ls empress hizo que l gestin de l informin empler multitud de o(inists o dministrtivos que mnejn ingentes ntiddes de impresosD (hs lsi(ds en rhivdoresD etF e emple l mquin de esriirD luldors menisFFF il (nl del siglo y prinipios del siglo s se rterizn por el empleo de so(stids tenologs de l informin pr los tules sistems de informinF vos sistems menios se sustituyen por los informtiosF

2.4.1. Denicin
Un Sistema de Informacin es un conjunto integrado de personas, procedimientos, informacin y equipos diseados, construdos, operados y mantenidos para recoger, registrar, procesar, almacenar, recuperar y visualizar informacin.

2.4.2. Elementos de un SI
n istem de snformin posee los siguientes elementosX gomponentesX

vos proedimientos y ls prtis hitules que se siguen l ejeutr tod lse de tividdes neesris pr el uen funionmiento de l empresF n proedimiento es l regulrizin de ls iones pr llevr o un tividd de l empresF xo existen proedimientos pr todsD y en tles sos lo que existe son prtis hitulesF v informin y que es el omponente fundmentlF vs persons o usurios que introduenD mnejn o usn l informin pr relizr sus tividdesF il equipo de soporte pr l entrdD el proesmientoD el lmenmiento y l omuniin de informinF
istruturX n istem de snformin indiX

v informin que neesitF min se dee tener en uent l informin de l que se disponeF vs persons ls que v dirigidoF vos equipos @que pueden ser informtiosAF
yjetivo u ojetivosX eyudr l desempeo de ls tividdes produtivs y de deisin en todos los niveles de l orgnizinD medinte el suministro de l inE formin deudD on l lidd su(ienteD ls persons propidsD en el momento y lugr oportunosD y on el formto ms til pr el reeptorF IQ

2.4.3. Estructura de la informacin en un SI


igue el modelo plntedo en l siguiente imgenX

e ontinuin se desrien ls diferentes prtes de l pirmideX yperiones y trnsionesX snluye el proesmiento de ls tividdes diris o trnsionesD los onteimientos rutinrios que fetn l orgnizin @fE turinD pgosD entreg de produtosD etFAD uys rterstis son que hy un grn volumen de trnsiones y pos exepiones los proedimientos normlesF e emplen proesos intertivosF xivel opertivoX e trj on informin del proesmiento de ls tividdes diris o trnsionesD pr tomr deisiones orto plzo y de onseuenis limitdsF vs rterstis de est informin sonX

is repetitivD informes peridiosF gon dtos origindos internmenteF qrn volumen de dtosF vos dtos uentn on un formto ien estruturdoD son detlldos y preisosF
e utilizn proesos thF xivel ttioX e oup de l signin efetiv de los reursos medio plzo pr mejorr el rendimiento de l empresF e s en nlisis de informesX

esmenes on medids estdstisD on medisD desviionesD etF he exepionesD por ejemploD entros on prdidsF

IR

ispe(osD que no se hn pedido ntesD y que los diretivos neesitn on rpidez pr resolver un prolem muy onretoF
e nivel ttio no es neesrio que los dtos estn tulizdos instntnementeD se pueden utilizr los de poos ds ntesD lo ul permite relizr ls operiones prlelmente ls deD por ejemploD el nivel opertivoF xivel estrtgioX rj on plzos lrgos pr ometer l difil tre de deE idir ls lnes mestrs que dee seguir l empres en el futuroF e trj on informin del tipoX

in formto muy resumidoF in formtos muy vriles y proedente de ls fuentes externs ms inespeE rdsF vs deisiones estn poo formlizds y on un fuerte omponente sujetivoF
e nivel ttio y estrtgio he to de preseni lo que se denomin un entro de informinD que desrroll pliiones pr otener informinD explotndo ls ses de dtos no tulizds instntnementeD y que se hn itdo en los prrfos superioresF

2.5. Sistemas de Informacin Automatizados (SIA)


n istem de snformin @sA no neesit estr oligtorimente sdo en el uso de ordendoresF il sistem de informin existe siempreD est menizdo o noF gundo pr reogerD registrrD proesrD lmenrD reuperr y visulizr informin se utilizn ordendores estmos nte istems de snformin fsdos en gomputdorD istems snformtios o istems de snformin eutomtizdos @seAF elgunos oneptos relE ionds on los sistems de informin sonX istems de proesmiento de trnsionesX rte del istem de snformin deE dido l trtmiento de ls operiones rutinris diris o trnsionesF ws @Management Information SystemD istem de snformin de qestinAX rte del istem de snformin que se dedi nimente los niveles opertivoD ttio y estrtgioF e exluye el nivel trnsionlF h @Decision Support SystemD istem de epoyo ls heisionesAX rte del isE tem de snformin que d soporte ls deisiones poo estruturds y en ls que de ntemno no estn lros los ftores onsiderrD mientrs que el ws trt los proesos de yud l tom de deisiones ien de(nidos y en los que se onoe priori qu informin es neesriF is @Executive Information SystemD istems de snformin pr ijeutivosAX gonepto nlogo l h pero dedido personl de lto nivelF

IS

2.6. Sistemas de Informacin bsicos en las organizaciones


n i @Enterprise Resource PlanningA es un sistem utomtizdo de gestin emE presril que d soporte ls distints res funionles de un orgnizin de un form integrd y oordindF in relidd es un onjunto de pliiones espeilizds en d reD lgun de ls ules se onsider si y lrededor de ell se instln ls demsF v implntin de un i exige un personlizin ls rterstis y irunstnis de d empresF elguns ventjs de los i sonX grein de un visin uni(d del negoioD lo que inrement l ooperin y oordinin interdeprtmentlF elmenmiento omn e integrdo de l informin de gestinF snterfz omn de usurio pr tods ls pliionesF

2.7. La Ingeniera del Software en una organizacin

gomo notinD indir que l myor de empress no tienen personl dedido exlusivmente l sngenier del oftwreF

IT

Captulo 3

El proceso software y modelos de proceso


in el softwre se pueden onsiderr tres lses de entiddesX roesosX gonjunto de tividdes y tres pr el desrrolloD mejor o mnteniE miento de proyetosF rodutosX esultdo otenido de ls tividdes del proesoF eursosX fienes que se usn pr relizr ls tividdes y tres y son requeridos por stsF gd tividd del proeso est en relin on reursos y produtosF

3.1. El proceso software


El proceso software es el conjunto de actividades que conducen a la creacin de un producto software. Una actividad es un conjunto de tareas que se realizan con un propsito especco.
ixisten un onjunto de tividdes genris omunes pr todos los proesos de softwre independientes del tmo o omplejidd del proyetoF ists tividdes sonX lni(in @pln de sistems o espei(in iniilAF hesrrolloF wntenimientoF elguns de ls tividdes del desrrollo sonX he(niin de requisitos @sngenier de requisitosAX v primer tividd del desE rrollo del softwre es de(nir los requisitosD que inluyenX IU

il ontexto del prolem resolver @lmites del prolemAF vs funionliddes que se esper que resuelv el sistemF vs restriiones y ondiiones de usoF
ispei(in de requerimientosX n nlist intent omprender los requisitos y de(ne ls espei(iones que los stisfen y que desrien l ondut extern del sistemD lo qu se supone que dee herD no mo lo heF ry que segurrse de que onuerdn on los requisitosD puesto que son el punto de prtid pr el diseoF hiseoX (nlidd fundmentl es desriir mo v desrrollr ls espei(E iones el sistem onstruirF il resultdo (nl es un espei(in preis de l estrutur del softwre que stisfg los requerimientos on l lidd neesriF gomprendeX

istrutur de los dtos implementrF erquitetur del softwreF epresentiones de interfzF heterminr los lgoritmosF

gonstruinX gd unidd (nl es odi(d y se inluye en est fse l prue individul pr veri(r su orreto funionmientoF r l onstruinD el enE rgdo reie un uderno de rg on l desripin del progrmF in funin de su ontenidoD se ps relizr un de ls siguientes tividdesX

rogrmrX e reien slo ls uniddes de progrminD y se deen relizr los digrmsD orgnigrmsD etF godi(rX qenerr digo propimente dihoF
ruesX e omprue que se est onstruyendo el produto orretoD y que se est onstruyendo orretmente el produtoF snluye ls prues de integrin @ompror que tods ls prtes del sistem funionn orretmente en onjuntoAD de eptin y del sistemF smplntinX e elor l doumentin neesri pr l operin y uso del sistemD se imprte l formin preisD se reliz l rg iniil de dtos y se pone el sistem en funionmientoF

3.2. Madurez del proceso software


La madurez del proceso software de una organizacin indica el punto en el que se encuentra de una trayectoria evolutiva partiendo de un proceso ad hoc e inmaduro hasta llegar a un proceso maduro y disciplinado, con el objetivo de mejorar dicho proceso.
il is @Software Engineering InstituteA h desrrolldo el gww @wodelo de gpidd de wdurez del proeso softwreD Capability Maturity ModelAD un modelo pr evlur ls piddes de ls orgniziones que desrrolln softwre y mejorrlsF iste modelo estlee S niveles de mdurezF IV

Nivel 1: Inicial
il proeso softwre se reliz en d so de un mner e inluso de form tiF il xito depende de esfuerzos personles ms que de proesos deudmente de(nidosF xo hy un proeso de(nido implit o explitmenteF

Nivel 2: Repetible
e estleen unos proesos sios de gestin del proyeto pr her un seguimiento del oste y lendrioF e estleen ierts tividdes pr llevr o un proyeto neesris pr repetir xitos nteriores en proyetos similresF n funin de lidd segur que se relizn dihs tividdesF e otienen niveles de lidd preidos proyetos nterioresF

Nivel 3: Denido
il proeso softwre est doumentdo y onstituye el proeso estndr de l orgE nizinF v orgnizin tiene de(nidos sus proesos y existe un proedimiento forml que segur que el proeso se sigue en todos los proyetosF ixisten pos orgniziones que supern este nivelD deido l oste que supone lnzr el siguienteF

Nivel 4: Gestionado
e reopiln medids del proeso softwre y de l lidd del produtoF e gestion l lidd del proeso y del produtoF e pueden usr dihs medids @mtris del softwreA pr detetr situiones exepionles y orregirlsF

Nivel 5: Optimizado
is posile un mejorD un optimizin ontinu del proesoD unti(ndo el efeto que un proeso nuevo o herrmient tienen sore un proyeto y omprndolo on proE yetos nteriores que no utilizron ese proeso o herrmientF iste nivel represent un iert nlog en l supervisin y ontrol de l lidd del sofE twre on los menismos de ontrol que existen en otrs industris on myor mdurezF

3.3. Estndares del proceso software


Los estndares del proceso software proporcionan el conjunto de actividades que constituyen los procesos obligatorios para el desarrollo y mantenimiento del software, con el n de que una organizacin pueda indicar que cumple con determinado estndar.
e ontinuin se detlln los estndres siii IHURD syGsig IPPHU e syGsig ISSHSEPF

IW

3.3.1. Estndar IEEE 1074


he(ne ls tividdes que onstituyen los proesos neesrios pr el desrrollo y el mntenimiento del softwreD s omo ls de los proesos de gestin y soporte lo lrgo de todo el ilo de vidF vs tividdes pueden ser oligtoris u opionlesF vos proesos se grupn en R seionesD IU proesos y TS tividdesF e ontinuin se detlln ls primersF

Proceso de seleccin del modelo del ciclo de vida del software


eunque el estndr no estlee ni de(ne un modelo ilo de vid espe(o o sus metodologs suyentesD s requiere que se seleione y utilie un modelo de ilo de vidF is posile que el mismo modelo de ilo de vid se utilie en diferentes proyetosD sin emrgoD pr d proyeto deeremos (jr el onjunto de tividdes onrets que se vn relizrF

Procesos de gestin del proyecto


on los proesos que iniin y gestionn el progreso del proyeto lo lrgo de su ilo de vidF min plni( y gestion el progrm de segurmiento de lidd del softwreF il progreso se revis y mide en los hitos estleidos en el proeso de plni(in del proyetoF

Procesos orientados al desarrollo y mantenimiento del proyecto


gomprende los proesos que se relizn ntesD durnte y despus del desrrollo omo los de mntenimiento y retirdF vos proesos propios del desrrollo son los de requisitos y requerimientosD diseoFFF

Procesos integrales
on los proesos que se neesitn pr ompletr on xito ls tividdes del desE rrollo de un proyetoF gomprende los proesos deX eri(in y vlidinF qestin de l on(gurin del softwreF hesrrollo de l doumentinF intrenmientoF il estndr requiere l selein de un modelo de ilo de vid pero no impli ninguno determindo @ninguno de los estndres lo heAF gd orgnizin dee seleionr y soir ls tividdes de(nids en el estndr l modelo del ilo de vid del softwre seleiondoF il seguimiento del estndr no impli el uso de ningn mtodo espe(oD ni l rein de determindos doumentosF resrie los proesos del ilo de vidD no los produtos del mismoF il requisito de onformidd on el estndr es l relizin de tods ls tividdes oligtorisF PH

3.3.2. Estndar ISO/IEC 12207-1


wuestr los proesos @onjuntos de tividdesAD tividdes @onjuntos de tresA y tres @iones que trnsformn entrds en slidsA que se neesitn durnteX v dquisiin de un produto o un serviio softwreF il suministroF il desrrolloF v explotinF il mntenimientoF vos proesos pueden serX priniples @SAD de soporte @VA o generles @RAD s omo un proeso que permite dptr el ilo de vid d so onretoF

Procesos principales
tiles ls persons que iniin o relizn el desrrolloD l explotin o el mnteniE miento del softwreX omprdoresD suministrdoresD personl de desrrolloD operdores y personl de mntenimiento del softwreF ijemplo de proesos de desrrollo son el nlisis de requisitosD el diseo softwreD l onstruin y ls pruesF

Procesos de soporte
irven de poyo l resto y ontriuyen l xito y lidd del proyeto softwreF vos proesos que perteneen est tegor son l doumentinD l gestin de on(gurE inD el segurmiento de liddD l veri(in y l vlidinF

PI

Procesos generales
ueden estleerse dos nivelesX e nivel orgnizinX irven pr estleerD implementr y mejorr l orgnizE in @gestinD formin del personlD mejor del proesoD etFAF istos proesos se relizn fuer de proyetos espe(osD nivel orgniztivoF e nivel proyetoX min onsider los proesos de gestin del proyetoD gestin de l lidd y gestin del riesgoF e relizn pr d proyetoF syGsig IPPHUEI no impli un modelo de ilo de vid determindoD o un mtodo de desrrollo de softwreF v orgnizin que plique el estndr es responsle de seleioE nr un modelo de ilo de vid y relionr los proesosD tividdes y tres del estndr en ese modeloF e esto se denomin proeso de dptinF il seguimiento del estndr no impli el uso de ningn mtodo espe(oD ni l rein de determindos doumentosF resrie los proesos del ilo de vidD no los produtos del mismoF il requisito de onformidd on el estndr es l relizin de todos los proesosD E tividdes y tres seleiondos en el proeso de dptin pr un proyeto onretoF gulquier orgnizin que quier imponer el estndr dee espei(r y her plios los proesosD tividdes y tres que onstituyen l onformidd on el estndrF

3.3.3. Estndar ISO/IEC 15505-2


iste estndr desrie los proesos que un orgnizin puede relizr l hor de dquirirD suministrrD desrrollrD explotrD evoluionr y soportr softwreF vos proesos estn fuertemente linedos on el estndr syGsig IPPHUF

3.4. Modelos de procesos del software


vos estndres estleen los diferentes proesos implidos l hor de desrrollr y mntener un sistem desde que surge l ide o neesidd de desrrollr ls pliiones hst que sts se retirn de explotinF in emrgoD ninguno impone un modelo de proesos onreto @modelo de ilo de vidA ni mo relizr ls diferentes tividdes inluids en d proesoD por lo que d empres deer utilizr los mtodosD tnis y herrmients que onsidere oportunoF or su nturlezD los modelos son simpli(ionesY por lo tntoD un modelo de proesos del softwre es un simpli(in o strin de un proeso relF

Podemos denir un modelo de procesos del software como una representacin abstracta de alto nivel de un proceso software.
gd modelo es un desripin de un proeso softwre que se present desde un persE petiv prtiulrF elterntivmenteD vees se usn los trminos ilo de vid y woE delo de ilo de vidF gd modelo desrie un suesin de fses y un endenmiento entre ellsF egn ls fses y el modo en que se produz este endenmientoD tenemos diferenes modelos de proesoFn modelo es ms deudo que otro pr desrrollr un proyeto dependiendo PP

de un onjunto de rterstis de steF ixiste un grn vriedd de modelos diferentes entre los que tenemos los que se desriE en ontinuinF

3.4.1. Modelo en cascada o lineal secuencial


grterstis del modeloX rimer modelo empledo @oyeD IWUHAD tmin denomindo ilo de vid lsio y modelo linel seuenilF gonsiste en l ejeuin seuenil de un serie de fses que se suedenD lo que d nomre l modeloF gd fse gener doumentin pr l siguienteF ist doumentin dee ser prodF n fse no omienz hst que l nterior h termindoF equiere disponer de unos requisitos ompletos y preisos l prinipio del desrrolloF resent un serie de ventjsX e dee tener en uent que fue el primer modelo empledoD y por lo tnto es mejor que ningunoF pilit l gestin del desrrolloF es omo un serie de inonvenientesX in generlD estleer todos los requisitos l prinipio del proeso de desrrollo es un mito inlnzleX vos usurios no pueden imginrse lo que quieren hst que no ven un sistem funionndoF vos requisitos no se pueden ongelr mientrs dur el desrrolloF il merdo mE iD todo miF il usurio dee esperr muho tiempo hst ver los resultdosX e trd muho tiempo en psr por todo el ilo @hst que no termin un fse no empiez l siguienteA y el sistem en funionmiento no estr disponile hst el (nl del proesoD eso sD ser el sistem ompletoF vos errores de nlisis y diseo son ostosos de eliminrD y se propgn ls fses siguientes on un efeto onoido omo ol de nieveF e gener muho mntenimiento iniil deido l perodo de ongelin de requiE sitos y ste reeD en su myor prteD sore el digo fuenteD que en onseueni se v deteriorndo y resultndo d vez ms difil de mntenerF vs rterstis del proyeto que hen deudo el uso de este modelo son queX e dispong de unos requisitos ompletos y onsistentes l prinipio del desrrolloF e un proyetos pequeoD en el que el perodo de ongelin de los requisitos es ortoD o un proyeto on unos requisitos stnte estlesF PQ

3.4.2. Modelo en cascada con prototipado desechable


rt de resolver lgunos de los inonvenientes que present el modelo en sdD fundmentlmente el prolem que represent disponer de unos requisitos ompletos y onsistentes l prinipio del desrrollo y l detein de errores en l fse de integrin provenientes de l fse de nlisisF grterstis del modeloX hivide el ilo de vid en dos prtesF in l prte eD se onstruye un prototipo rpido o desehleD que yudr re(nr y vlidr los requerimientosF in l prte fD el desrrollo posterior prosigue en sdF resent un serie de ventjsX e dispone desde muy temprno de unos requerimientos ompletos y onsistentesF pilit el desrrollo en lo que respet l interfz de usurioF eyud mitigr el efeto ol de nieve l reduir el mntenimiento omo onseE ueni de disponer de uns espei(iones omplets y orretsD unque no lo elimin l ontinur el desrrollo en sdF es omo de inonvenientesX is freuente rrstrr mls deisiones @de diseoD de plni(inD etFA que slo ern propids pr l otenin rpid del prototipo y uy implementin rel puede ser muy ostosF il prototipo slo puede ser provehdo en su speto externoF vos spetos funE ionles son muy reduidosF il tiempo invertido en l onstruin del prototipo y el oste diionl de l inversin que supone l rein de un produto desehleF vs rterstis del proyeto que hen deudo el uso de este modelo son queX il usurio no teng un uen onoimiento del dominioF e un proyeto ortoF ry poos mios en los requisitosF

3.4.3. Modelos evolutivos


rtn de resolver el lrgo perodo de ongelin de requisitos del modelo en sdD puesto que todos los sistems evoluionn on el tiempo y los requisitos min onforme se vnz en el proeso de desrrolloF edemsD existe un fuerte presin pr (nlizr un produto ompleto ejeutleF vos modelos evolutivos son itertivosF in d iterin se lnz un versin ejeutle que iremos re(nndo y ompletndo hst lnzr un que stisfg plenmente los requisitos del usurioF intre los modelos evolutivos tenemosX PR

Modelo incremental
iste modelo entreg el softwre en prtes pequesD pero utilizlesD llmds inreE mentosF in generlD d inremento se onstruye sore qul que y h sido entregdoF grterstis del modeloX gomin elementos del modelo linel seuenil on l (losof itertiv propi de los modelos evolutivosF e relizn un serie de iteriones sore el propio modelo en sdF gd iterin produe un inrementoD un versin ms re(nd del sistemD hst lnzr un que stisfg plenmente los requisitos del usurio F gd inremento es un produto totlmente opertivo que se entreg l usurio @se pone en explotinAF n vez estleid l rquitetur glol el sistem se desrroll inremento inrementoF

us ventjs son queX ermite otener un produto ejeutle lo ntes posileF hisminuye el perodo de ongelin de requisitosF sus inonvenientesD que los sistems estn menudo poremente estruturdosX l introduir mios el softwre qued muy prhedoF vs rterstis del proyeto que hen deudo el uso de este modelo son queX heemos ser pes de diser un rquitetur de inrementos pr el proyeto desrrollrF v ventj que report el delntr l puest en explotin de prte del proyeto justi(que lo poremente estruturdo que qued el digoF PS

i existen lterntivs @por ejemplo desrrollr d susistem por seprdoA es mejor utilizr otros modelosF

Modelo en espiral
ropuesto por foehm y tulmente muy onoidoD es un modelo evolutivo que onE jug spetos sistemtios del modelo linel seuenil on l nturlez itertiv propi de este tipo de modelosF in el modelo en espirlD el softwre se desrroll en un serie de versiones inrementlesF hurnte ls ltims iterionesD se produen versiones d vez ms omplets del sistemF

grterstis del modeloX foehm lo desrie omoX

Un modelo de procesos guiado por el riesgo que se emplea para desarrollar sistemas. Tiene dos caractersticas principales: Un enfoque cclico para el crecimiento incremental del grado de denicin e implementacin de un sistema mientras disminuye su grado de riesgo. Fija un conjunto de puntos para asegurar el compromiso del usuario con soluciones que sean factibles y mutuamente satisfactorias.
v seueni de tividdes del proeso softwre se represent omo un espirl y d ule represent un fse del proesoF gd ule se divide en utro setoresF e omienz por el ule ms interior y se vnz hi el exteriorF

PT

xo hy fses (jds de ntemno en este modeloF e pueden usr fses del modelo de prototipos pr resolver un prolem on los requisitos y disminuir el riesgoD seguido de fses del modelo en sd u otroF resent omo ventjsX v onsiderin expliit del riesgoF rer uso de los mejores elementos de los restntes modelosF omo inonvenientes queX hepende en exeso de l hilidd personl pr identi(r riesgosF smpli stnte trjo diionlF vs rterstis del proyeto que hen deudo el uso de este modelo son queX e quier disminuir el riesgoF e se pz de evlur el riesgo y se teng l pidd su(iente pr resolverloF e sum el trjo diionl que generF

Desarrollo basado en componentes


is evolutivo y en onseueni exige un enfoque itertivoF v tenolog de ojetos proporion el mro de trjo deudo pr este tipo de modelo que promueve l reutilizin del digoF i se disen deudmente ls lses sts sern reutilizles por diferentes pliionesF grterstis del modeloX vigdo l yyF romueve l reutilizin del digoF gon(gur ls pliiones desde omponentes preprdos de softwre denomindos lsesF roporion ventjs notlesD en funin de l iliote de omponentesD omo l reutilizin del digo y onseuentemente en l reduin del tiempo y el oste de progrmin @entorno un UH 7 unque lgimente vr de un orgnizin otrAF ero tmin present el inonveniente de que los resultdos nteriores estn en funin de l roustez de l iliote de omponentesF v rtersti del proyeto que he deudo el uso de este modelo es que el enfoque de desrrollo se orientdo ojetosD por l ventj importnte derivd de l reutilizin del digo yD onseuentementeD de l reduin del tiempo y el oste de progrmin que suponeF

PU

3.4.4. Modelo de desarrollo formal


vos mtodos formles permiten espei(rD implementr y veri(r un sistem sofE twre plindo un notin mtemti riguros on lo que se eliminn los prolems de migeddF e preis de un proeso de trnsformin que onviert filmente los requerimientos en digoF grterstis del modeloX e reliz un espei(in forml de los requerimientosF e reliz un trnsformin utomti o sistid de ls espei(iones digoF e relizn un serie de iteriones sore el digo otenido on ojeto de mejorrloF e relizn ls pruesF n ventj es que es deudo pr onstruir softwre de muh seguriddF us inonvenientes sonX v di(ultd pr trnsformr de form deud requerimientos en digoF il desrrollo de modelos formles tulmente es stnte ro y llev muho tiemE poF oos desrrolldores tienen los onoimientos neesrios pr plir estos modeE losF v rtersti del proyeto que he deudo el uso de este modelo es que se de onstruir softwre muy on(le y se dispong de equipos de desrrollo on los onoiE mientos neesriosF PV

3.4.5. Tcnicas de 4a generacin


ispei(in usndo forms de un lenguje espeilizdo o notiones gr(s que desrin el prolem resolver en trminos que los entiend el usurio y posteriormente generr utomtimente el digoF grterstis del modeloX snluye lengujes no proedimentles de onsult ses de dtos @vAD geneE rdores de informes @isytrieveA y generdores utomtios de rwv utilizdos pr l rein de sitios weF in pliiones pequesD se reliz nlisisD implementinD prues e implntE inF in pliiones grndesD se de el diseo entre el nlisis y l implementE inF gomo ventjsD presentX n reduin del tiempo de desrrolloF wyor produtividdF omo inonvenientesX gdigo ine(ienteF il mntenimiento no tiene sentidoD porque es ms fil reher l pliin vs rterstis del proyeto que hen deudo el uso de este modelo son queX il nmero de ejeuiones en explotin se muy reduido y el mntenimiento vy ser jo por serlo tmin el nmero de miosF e dispong de lengujes no proedimentlesD herrmientsFFF

PW

Captulo 4

Mtodos de desarrollo del software


4.1. Concepto de mtodo
ixiste onfusin entre los trminos mtodoD metodolog y modelo de ilo de vidF elgunos utores omo ourdon los onsidern sinnimosD pero hy diferenisX n modelo de ilo de vid indi qu tividdes hy que her y mo se enE dennD pero no mo herlsF isto s lo deern indir los mtodosF n metodolog es un onepto ms mplio que el de mtodoF odemos onsideE rrl omo un onjunto de mtodosF sniilmenteD los mtodos se entrn en un fse del ilo de vidF

Un mtodo de desarrollo de software es un enfoque sistemtico y disciplinado para desarrollar software de calidad y de forma productiva.
vos mtodos son importntes por vris rzonesX snuln un disiplin en el proeso de desrrolloF he(nen los produtos generrF romueven el uso de determinds tnisF he(nen los hitos neesrios pr medir el progreso y gestionr el riesgoF

4.2. Breve historia de los mtodos


vos mtodos hn evoluiondo omo respuest l omplejidd reiente de los sisE tems de softwreF entes de IWTHD los mtodos no existnF mpoo ern neesriosD deido l senillez de ls pliionesF e llev o lo que hor se denomin un desrrollo onvenionlF QH

he l dd de los TH los UHD el desenso de los preios del hrdwre y el umento de poteni de los ordendores propii un umento en l omplejidd de ls pliionesF e propusieron muhos mtodos pr enfrentrse ellD y los ms in)uyentes fueron los mtodos estruturdos orientdos l )ujo de los dtos @ourdon y gonstntineAF he l dd de los UH l VSD surgieron los mtodos orientdos l estrutur de los dtos @tksonD rnierEyrrA queD junto los mtodos estruturdos orientdos l )ujo de los dtosD se hn plido on xito un serie de dominios omplejosD prtiulrmente los sistems de gestin de l informinF he IWVS IWWHD se llevn o mpliionesD omo por prte de rd y wellorD pr el desrrollo de pliiones de tiempo relD donde los mtodos estruturs no se mostrn omo un soluin ptimF he IWWH en delnte se hn extendido los mtodos orientdos ojetosD mtodos formlesD etF

4.3. Clasicacin de los mtodos


vos mtodos se pueden lsi(r en ls siguientes tegorsX hesrrollo onvenionlX e relizn prtis rtesnles y no existen los mtodosD dndo lugr iertos prolemsF

xo se se relmente undo puede r el proyetoD y los resultdos pueden ser muy distintos proyetos similresF el no existir fses estleids ni produtos onretos otener sore los que relizr veri(ionesD no se pueden estleer puntos de ontrolF xo es fil integrr nuevos reursosF
wtodos estruturdosX epreen (nles de los UHD y representn tnto los proE esos omo ls estruturs de dtosD de un mner jerrqui desendenteF en el sistem omo entrdsEproesoEslidsF on mtodos senillosD files de entender y prenderD y tienen un mpli difuE sinX estn presentes en muhs metodologs @wtriD ehwD weriseAD existen muhs herrmients gei disponiles y l myor prte del softwre existente se h desrrolldo on ellosF e pueden selr los siguientes tiposX

yrientdos l )ujo de los dtosG proesosX e entrn en el )ujo de informE inF st puede representrse omo un )ujo ontinuo que sufre un serie de trnsformiones @proesosA onforme v de l entrd l slidF istos mE todos de(nen un onjunto de psos que trnsformn el )ujo de informin en un estrutur de progrmD y son espeilmente tiles undo l informin se proes seuenilmente y no existe un estrutur de dtos jerrquiF or ejemploD en softwre ient(o y de gestinF vs notiones que utilizn sonX hph @higrms de plujo de htosAD iE @intiddEelinA y hi @higrms de rnsiin de istdosAF ijemplos de estos mtodos sonX he wroDqne 8 rson y ourdonF

QI

yrientdos l estrutur de los dtosG dtosX e entrn en l estrutur de los dtos en vez de en el )ujo de stosF e utilizn pr desrrollr softwre de se omo sistems opertivos y pliiones de gestin undo utilizn ses de dtos jerrquisF eunque d mtodo tiene un enfoque y un notin distintD todos poseen rterstis omunesX esumen que l estrutur de l informin es jerrquiF equieren que se represente l estrutur de los dtos usndo ls estruE turs sis itertivD seletiv y seuenilF roporionn un onjunto de psos pr trnsformr un estrutur jeE rrqui de dtos en un estrutur de progrmF
vs notiones que utilizn dependen del mtodoD pr el hih @hesrrollo de istems istruturdos de htosA se utilizn digrms de rnier y de entiddes @muy preidos los hphAD y pr el ht @hesrrollo de istems de tksonAD digrms de tkson y de espei(in del sistemF

epliiones de tiempo relX e medidos de los VH omenzron herse eviE dentes ls de(ienis de los mtodos estruturdos undo se intentn utiE lizr en pliiones de tiempo relAF vs mpliiones derivron en el mtodo de rd y wellor en IWVSD y ms trde en el de rtley y irhi en IWVUF in unto notionesD l de rd 8 wellor inorpor los hphs )ujos de ontrol que se representn medinte )ehs de trzo disontinuo y proesos de ontrolF lo mnejn )ujos de ontrolD que tmin se representn on urujs de trzo disontinuoF
yrientdos ojetosX e difereni de los mtodos estruturdosD que onsidern los sistems de informin omo entrdsEproesoEslidsD en l yy se identi(n los ojetosD que son ojetos del mundo relD y que enpsuln dtos y proesosF in el nlisis se trt de onstruir un modelo strto de ojetosD que se trduen ojetos del sistem durnte el diseoD y que su vez son trduidos ojetos softwre @rutinsA durnte l onstruinF v orrespondeni ms diret entre el progrm que funion y los requisitos originles filit el mntenimientoF istos mtodos son muy deudos pr el desrrollo de sistems intertivosF xo existe un notin estndrD sino que es espe( pr d mtodoF gon wv @Unied Modeling LanguageA tenemosD entre otrosD digrms de lsesD de ojetosD de seueniD de sos de usoFFF ijemplos de estos mtodos sonX foohD ywD yjetoryGyyiD psyxD yyrmD roeso ni(doD Rational Unied ProcessFFF wtodos formlesX tilizn tnis de se mtemti pr desriir ls propieE ddes del sistemF istos mtodos permiten espei(rD desrrollr y veri(r los sistems de mner sistemti en vez de herlo ad hocF e die que un mtodo es forml si posee un se mtemti estleD que normlmente vendr dd por un lenguje de espei(in formlF oos desrrolldores tienen los onoimientos neesrios pr plirlosD y se utilizn pr desrrollr softwre muy seguroF gomo ejemplos de lgunos lengujes de espei(in forml se enuentrnX vGe @Problem Statement Language/ Problem Statement AnalyzerAD yftig y g @Communicating Sequential ProcessesAF QP

4.4. Metodologas
4.4.1. Denicin
n metodolog es un onjunto de mtodos plidos lo lrgo del ilo de vid del desrrollo de softwreD uni(dos por lgun proximin generl o (los(F

4.4.2. Estructura y componentes


n metodolog present l siguiente estruturX

or ejemploD pr d proeso priniplD wtri vQ espei( un desripin del proE eso y un digrm de tividdesF r d tividd espei(X hesripin de l tividdF res de que onstF rodutos generdos por l tividdF nis utilizdsF rtiipntesF vs tres ltims se espei(n nivel de treD pero no de tividdF r d tre espei(X hesripin de l treF rodutosF QQ

he entrdF he slidF nisF rtiipntesF

4.4.3. Caractersticas
vs metodologs dn un oertur totl del ilo de vid del desrrolloD son )exiles on relin l tmo del proyeto desrrollrD permiten un fil formin y estn soportds por herrmients utomtizdsF edemsD son personlizlesX se preis un proeso de personlizin pr dptr un metodolog forne un orgnizinF xo es rzonle pensr que dos orgniziones utilien l mism metodolog sin relizr mios sore ellF or ltimoD presentn enles @interfesA on proesos de gestinD segurmiento de l liddD gestin de l on(gurinFFF

4.4.4. Objetivos
vos ojetivos generles de ls metodologs sonX hesrrollr mejores pliionesD es deirD de ms liddD unque un metodolog no st pr segurr l liddD y que hy otros ftores que pueden in)uirF wejorr l produtividdX vs pliiones se desrrolln ms rpidmente y on los reursos propidosF los ojetivos espe(osX osiilitr un gestin @estiminD plni(in y ontrolA deud del desrrolloF gonstruir un sistem ien doumentdoF hisponer de un medio onsistente de omuniinF osiilitr l utilizin ptim de todos los reursosF pilitr l inorporin de nuevs personsF

4.4.5. Clasicacin
vs metodologs se pueden lsi(r enX istruturdsF yrientds proesosF yrientds dtosF r el desrrollo de sistems de tiempo relF

QR

yrientds ojetosF pormlesF wixtsF

4.5. Metodologas ociales


intre ellsD podemos destr weriseD ehw y wtri vQD que se presentrn deE tlldmente ontinuinF

4.5.1. Merise
is l metodolog o(il frnesF s ses fueron reds por un pequeo grupo universitrio de ingenieros hi (nles de IWUTD pero el proyeto de desrrollr un metodolog prte del Centre Technique Informatique @gsA del winisterio de sndustri frns y su lnzmiento se reliz en IWUWF gomo portionesD onsider un ilo de vid ms lrgo que los existentesD inorporndo un nuev tividd de plni(in previ l desrrolloD que denomin esquem direE torF edemsD onsider tres niveles de strinX IF xivel oneptulX e oup de de(nir el quF PF xivel orgniztivoX he(ne l orgnizin implntr pr lnzr los ojetivos signdos l sistemF QF xivel fsioX e oup de los medios tnios neesrios pr el proyetoF r d nivel de(ne dos modelosD un modelo de dtos y un modelo de trtmientosF uvo lgun difusin en isp y h in)uido en wtriF

4.5.2. SSADM
xi prinipios de l dd de los VHD promovid por el goierno ritnioF e desrroll de form onjunt por l Central Computing and Telecomunications Agency y Learmonth and Burchett Management SystemsF hesde su nimiento h ido evoluionnE do pr dptrseD de form muy iertD los mios tenolgiosY sD l vQ inorpor l tni diseo del dilogo pr diser l interfz de usurio y frontr el reimiento del intertivoF lo ure el nlisis y el diseoD onsiderndo ls fses deX istudio de viiliddF istudio ompletoX enlisis de requisitosD espei(in de requisitos y espei(in lgi del sistemF hiseo fsioF

QS

hej fuer l onstruinD prues e implntinD y por supuesto ls tividdes de plni(in y mntenimientoF gomo spetos lve present el nfsis en l prtiipin de los usuriosD y l lire disposiin tnto en entornos industriles omo dmiosD lo que h sido ene(ioso pr l priin de numeross herrmients que soportn l metodologF el igul que weriseD h in)uido en wtriF

4.5.3. Mtrica v3
uesto que wtri es l metodolog o(il espolD ser l que se trte en myor profundiddF

Objetivos
gomprte los ojetivos de tods ls metodologsD que se pueden onsultr en el prtdo RFRFQF edemsD los ojetivos espe(os de wtri vQ sonX wntener l senillezD )exiilidd y dptilidd de l versin PFIF snorporr nuevs tnis y mtodos presentes en los desrrollos tulesX glienteE servidorD orientin ojetosFFF rer nfsis en el uso de estndresF

Interfaces
snorpor interfes on gestin de proyetosD lidd @qqgD Plan General de Garanta de CalidadAD gestin de l on(gurin del softwre y seguridd @weqisAF

mbito de aplicacin
romovido por el gonsejo uperior de snformti del winisterio pr ls edmiE nistriones lis @rgno interministeril responsle de l polti informti del qoiernoAF in orden desendenteD se pli enX edministrin gentrl del istdoF edministrin eutonmiF edministrin volF esto de empress e instituionesF

Alcance de la metodologa
wtri h sido oneid pr rr el desrrollo ompleto de sistems de inE formin se ul se su omplejidd y mgnitudD por lo ul su estrutur responde desrrollos mximos y deer dptrse ls dimensiones y rterstis de d proyeto en prtiulr y l modelo de proesos esogidoF

QT

Versiones
IF ht de IWVWF PF ht de IWWQF v versin PFI fue pulid en IWWSF QF ht de PHHHF

Inuencias
he los mtodos ehw vR y weriseF he los estndres sy IPPHUD siii tdF IHUREIWWVD syGsig ISFSHR @sgiAD sy WHHHEQD siii tdF TIHFIPEIWWV y el estndr wv de ywqF in unto referenis espe(sD qqg y weqisF

Aportaciones
is un metodolog mixtD ure los enfoques estruturdo y yyAD l ontrrio que werise y ehwD que son estruturdsF gontempl l rquitetur lienteEservidor y ls qs @Graphical User InterfaceAF hesrroll los proesos priniples de plni(inD desrrollo y mntenimientoF

Estructura
e ompone de proesos priniples que su vez se dividen en proesosD stos en tividdes @omunesD estruturds u orientds ojetosAD y ests ltims en tresF e ontinuin se detllr l informin que suministr de d unoF roeso priniplX hesripin generlF roesoX hesripin generl y produtos generdosF etividdX hesripin y tres de que onstF rodutos generdos por l tiviE ddD tnis utilizds y prtiipntes @estos tres ltimos dtos se indin nivel de treD no de tividdAF reX hesripinD produtos de entrd y de slidD tnis y prtiipntesF

Procesos
lni(in de istems de snformin @sAF hesrrollo de istems de snforminX

istudio de iilidd del istem @iAF enlisis del istem de snformin @esAF hiseo del istem de snformin @hsAF gonstruin del istem de snformin @gsAF smplntin y eeptin del istem @seAF
wntenimiento de istems de snformin @wsAF

QU

Captulo 5

Ingeniera de Requisitos
5.1. Requisitos
gundo se reliz un proyetoD el primer pso es l otenin de requisitosD pregunE tndo l usurio qu serviios quiere que lleve oD y ls ondiiones en que se v ejeutrD lo que se denominn ondiiones de usoF v primer de ls tividdes en muhos modelos del ilo de vid es l otenin de los requisitosF vos requisitos de(nenX los serviios que el sistem dee proporionr los usuriosD y ls restriiones y ondiiones de usoF v de(niin de los requisitos dee ser el fruto del trjo onjunto de ls prtes invoE lurds omo son los desrrolldores y usuriosF vos usurios son los nios que tienen poder pr modi(rD dirD quitrD etFD un requisitoF il desrrolldor slo t omo notrioF n usurio es el onoedor del dominio de pliinD del re del proyetoF or ejemploD si se desrroll un proyeto de ontiliddD el usurio dee onoerlF i el dominio es ordle desde diferentes puntos de vistD d uno que lo onoe es un usurioF or otr prteD los enrgdos de elorr los requisitos son los nlists funionlesD que no neesitn ser informtios ni onoedores del dominio porque el nlisis no form prte de ls tividdes tnis informtisD que omienzn en l fse de diseoF

5.1.1. Tipos de requisitos


vos funionles desrien l funionlidd o los serviios que se esper que el sistem proveD sus entrds y slidsD exepionesD etF hesrien lo que el sistem deer herF vos no funionles se re(eren ls propieddes del sistemD omo el tiempo de respuestD etF hesrien ls restriiones de mo sern implementdos los requisitos funionlesF

5.1.2. Problemas comunes


wuhos de los prolems que preen en los sistems softwre un vez en utilizin @proximdmente el QU 7A se derivn de prolems preidosD o no detetdosD en l identi(in de los requisitosF istos prolems son queX

QV

vos requisitos no re)ejn ls neesiddes reles de los usurios del sistem softwreF vos requisitos son inonsistentes yGo inompletosF is difil introduir mios en los requisitos un vez estos hn sido onsensudos entre usurios y desrrolldoresF v us de estos prolems es un flt de entendimiento entre los usurios y qullos que desrrolln el sistem softwreF

5.2. Ingeniera de Requisitos


v sngenier de equisitos es el proeso sistemtio de de(niinD omprensinD nE lisis y doumentin de los requisitosF gon est denominin de Ingeniera de Requisitos se pretende urir tods ls tividE des implids en relin on los requisitosF il uso del trmino ingeniera impli que se emple el onoimiento ient(o y tnis sistemtis y repetiles pr segurr que los requisitos sen ompletos y onsistentesF wuy pos orgniziones tienen estndrizdo y ien de(nido el proeso de otenin de los requisitosD dejndoD generlmenteD l responsilidd de los tnios implidos l de(niin de deidir qu her y moD qu informin y qu tiles se usrnD etF e trtD por tntoD de un fse del ilo de vid que est muy poo teni(dD pesr que los estudios existentes estimn que el oste de est fse lleg suponer en torno l IS 7 del presupuesto totl de desrrollo de un nuevo sistem softwreF

5.3. El proceso de Ingeniera de Requisitos

QW

5.4. Identicacin de requisitos


v identi(in de requisitos es l tividd medinte l ul los usurios y desrroE lldores desrien los requisitos que desen que stisfg el sistem softwre desrrollrF vos prolems ms omunes en l identi(in de requisitos sonX pijr el lne o lmites del sistemX i min los ojetivosD el proyeto tmin mi en grn medidF gomprensin y omuniinX il lenguje nturl es poo pto pr l omuniE inF e esto se de l sorevlorin de sus piddes por prte del usurioD que omite lguns funiones o ls expone desde su punto de vistD que l onsider si de informtioF oltiliddX ixisteni de mios inevitlesF r soluionr estos prolemsD ommerville sugiere un serie de tuionesX sdenti(r los usurios y ontrstr su ppel en l orgnizinF tilizr tnis deuds tles omo entrevistsF tilizr prototipos en el so de requisitos miguosF

5.4.1. Tcnicas o ayudas para la identicacin de requisitos


Observacin
heemos estr lert y oservr todo unto ourre nuestro lrededor (jndonos en ulquier onteimiento o tividd que pued estr reliondo on el sistem de informinD entre otrosX grgs de trjo @uellos de otellD ritmoD mtodosFFFA iempos desperdiidosD interrupionesFFF wovimiento de personsD de doumentosFFF

Examen de archivos
ni si pr otener informin untittivX volmenesD freuenisD tenE denisD rtiosD etF min proporion yud pr medir el nivel de on(nz que se puede depositr en ls estimiones untittivs dds por el usurioF

Muestreos
is til undo se pide informin reltiv un grn volumen de doumentos o tividdes que se repiten on muh freueniF in este so es eptle exminr doumentos o tividdes esogids l zrF or lo menosD deer relizr un muestreo letorio simple on un tmo de muestr de QH individuosF RH

Cuestionarios
on difiles de diser y de interpretrD por lo que su uso dee restringirse los sos de loliddes remots o undo l informin de proporionrl un nmero elevdo de personsF

Entrevistas
is l tni prinipl y l que ms se usF in ellsD un o vris personsD desrroE lldores y usuriosD se renen pr que estos ltimos indiquen los serviios que quieren y ls ondiiones de uso en ls que se desrrollrnF il nlist deer tomr un opi de ulquier doumento que le pued proporionr el usurioF gon sus puntesD doumentosD etFD dee elorr un t que despus ser prod por ms prtesF n nlist dee ontr on ls siguientes rterstisX smprilF onderdoF fuen oyenteF rilidd en el trtoF gordilidd y esiiliddF ieniF vs entrevists requieren de un mtodo que podemos estleer en los siguientes psosX lni(in de l entrevist @ntes de relizr l entrevistAX pijr quin se dee entrevistrD ontndo on l proin previF e inform l entrevistdo on ntelin del ontenido de l entrevistD y se rene tod l informin existente sore el ontenido ntes de relizr l entrevistF pinlmenteD onvenir dD hor y lugrF elizin de l entrevistX heer llevrse o en un miente propido y lo ms exento posile de interrupionesF gonviene ser puntulD identi(rse y explir el ojetivo de l entrevistF in el desrrolloD se dee ir de lo generl spetos ms detlldosD empezndo porX

puniones E entrds E slids @lo que heA lids E funiones E entrds @los doumentos que mnejA
e dee utilizr un estilo propido y evitr l tentin de rgumentrD dr onE sejos o envolver emoionlmente l entrevistdo @esto ltimo modi(r su titud de r prxims entrevistsAF pinlizin de l entrevistX eri(remos ls nots on l person entrevistdD le expresremos nuestro grdeimiento y dejremos el mino ierto pr nuevos onttosF gonsolidin @despus de l entrevistAX e dee orgnizr y ompletr si fuer preiso ls nots reogidsD elorr un t que dee ser entregd todos los prE tiipntesD rer unts onsideriones sen preiss en relin su ontenido y onseguir que el usurio lo prueeF RI

Reuniones
gundo los diferentes spetos en relin un tem son onoidos por distints perE sons es preiso reunirls pr otener un informin lo ms omplet posile sore diho temF il responsle de l reunin suele ser el desrrolldorF ixisten un serie de prolems espe(os pr l pliin de est tniD fundmenE tlmente los derivdos de l dinmi de gruposF

JAD (Joined Application Development, Desarrollo Conjunto de Aplicaciones)


urgen on fuerz pr resolver dos de los prolems que presentn ls entrevistsX vos on)itos entre requisitos l entrevistr por seprdo distintos usurios y el lrE gmiento en el tiempo deido ls numeross entrevistsF n teh es un lterntiv ls entrevistsD que onsiste en un proeso elerdo de reuE niones en el ul todos los usurios y nlists se renen de form intensiv @puede durr desde un d un semnA pr doumentr los requisitosF xormlmente un espeilist supervis ls reuniones y t omo medidor pr promover un mejor omuniin entre nlists y usuriosF v ide del teh esX eprovehr l dinmi de gruposF eprovehr tod lse de yuds visulesD de omuniin y omprensin de soluE ionesF elizr un trjo sistemtio y orgnizdoF il mtodo utilizdo se divide enX reprinX eleionr los prtiipntesD rer informin sore el sistem onstruir y orgnizr l reunin @lugrD fehD yuds udiovisulesD redin de un doumento de trjoFFFAF esin tehX gonsiste en diverss reuniones ien estruturds y orgnizds donde se prte de un doumento de trjo que hy que nlizr pr ompletr los requisitos del sistemD doumento que deer ser prodo por los presentesF il jefe del teh es el responsle de onseguir que ls reuniones sen produtivs y de mntener el ordenF houmentinX eunque el doumento (nl deer estr termindo l (nl de ls sesiones tehD lo ierto es que es preiso ompletrloD orgnizrloD etFD pr tener el doumento es su form (nlF il teh es difil de llevr l prti l tener que disponer de numerosos usurios simultnementeD lo que puede provor un prn en l produinF

5.5. Anlisis y negociacin de requisitos


is l tividd de estudio sore los requisitos otenidos detetndo y resolviendo posiles inonsistenis o on)itos yD si existen prolems presupuestriosD (jr qu requisitos ontemplr (nlmente el proyeto desrrollrF e deen plnterD entre otrs uestionesX RP

i el requisito es neesrioF i lgn requisito tiene un nivel de detlle inpropidoF i el requisito est ien delimitdo y sin migeddF i existen requisitos inomptiles on otrosF i se puede pror el requisito un vez implntdoF i d requisito tiene un origen onoidoF

5.6. Especicacin de requisitos


is l tividd de redin o registro de los requisitos utilizndo el lenguje nturlD lengujes formlesD modelosD gr(osD etF

5.6.1. Naturaleza de la especicacin de requisitos


n espei(in de requisitos dee inluir informin oherente on ls neesiE ddes del usurio y omunirl de form e(zD es deirD que se pued omprender perfetmenteF v espei(in dee desriir qu hy que desrrollrD no moD undoD etF v ispei(in de equisitos del istem @iA denot tmin el doumento que desrie de form ompletD preis y veri(le los requisitos o los omponentes de un sistemF

5.6.2. Caractersticas de la especicacin de requisitos


egn el estndr TIHFIP de siii de IWWHD ls i deen serX gorretsX n i es orret si y slo si d requisito de(nido dee ser stisfeho por el sistem softwreF e trt de determinr si ls i re)ejn orretmente ls neesiddes relesF gomo es lgio no hy ningn til o herrmient que segure l orrein de ls iF xo migusX n i es no migu si y slo si d requisito de(nido en l mism tiene un sol interpretinF gomo mnimoD exige que d rtersti del sistem desrrollr se desri utilizndo un nio trminoF in los sos en que el trmino usdo en un ontexto prtiulr pued tener mltiples signi(dosD dee ser inluido en un glosrio donde se lre su signi(do espe(oF hdo que ls i vn ser utilizds en ls fses siguientes del desrrollo deen ser no migus tnto pr quien ls re omo pr quien ls utilizF vs i se esrien normlmente en lenguje nturlD y steD n orretmente utilizdoD puede ser miguoF n v pr resolver est migedd es esriir ls i en un lenguje forml de espei(in de requisitosF gompletsX n i es omplet si y slo si inluye todos los requisitos signi(tiE vosD sen reltivos funionliddD rendimientoD restriiones de diseo o interfes externsY y un de(niin de l respuest del sistem softwre tods ls lses RQ

y tipos de entrds de dtos en ulquier situin que pued presentrseF ry que tener presente que esto supone que deen espei(rse tnto ls respuests entrds vlids omo ls que no lo sonF gonsistentesX v onsisteni se re(ere l onformidd de l i on doumentos de ms lto nivel o de lgunos prtdos de l i on otrosF glsi(ds por su importniF eri(lesX n espei(in de requisitos es veri(le si y slo si d uno de los requisitos de(nidos es veri(leF e su vezD un requisito es veri(le si y slo si existe lgn proedimiento por el que un person o mquin pued ompror posteriormente que el sistem softwre umple el requisitoF in generlD un requisito miguo es no veri(leF esD quellos que inluyen exE presiones del tipoX trj ienD uen interfzD ourre usulmenteD etFD no pueden ser veri(dos porque es imposile de(nir trminos omo uenoD ienD usulmenteF wodi(lesX n i es modi(le si y slo si su estrutur y estilo es tl que puedn herse numerosos mios de los requisitos de form filD omplet y onsistentementeD mnteniendo l mism estrutur y estiloF isto requiere que l i est orgnizd de mner oherente y fil de usrD on un tl de ontenidosD un ndieD referenis ruzdsD etFY que no se redundnteD es deirD el mismo requisito no dee preer ms de un vezD y d requisito dee estr desrito de form seprdF rzlesX n i es trzle si el origen de d requisito es lro y si filit l refereni del mismo pr futuros desrrollos o modi(ionesF on reomendles dos tipos de trziliddX

ri trsX gundo d requisito refereni explitmente su fuente u origen en doumentos nterioresF ri delnteX smpli que d requisito tiene un nio nomre o nmero de refereniF

5.6.3. Estructura de un documento de especicacin de requisitos


v estrutur que estlee el estndr siii G exs VQHEIWWV pr el doumento de espei(in de requisitosD esX IF sntroduin PF hesripin generlF QF equisitos espe(osF RF epndiesF SF qlosrioF

RR

5.6.4. Algunas tcnicas de especicacin de requisitos


e pueden utilizr lengujes gr(osX hphsD iGsD hiionrio de dtosD etF mE in existen tnis de espei(in formlX xotiones relionlesX iuiones implitsD reliones reurrentesD xioms lE geriosFFF xotiones de estdoX ls de deisinDtls de trnsiinD tls de suesosFFF

5.7. Validacin de requisitos


etividd de on(rmin por prte de los usurios y desrrolldores de que los requisitos se hn espei(do sin migedd ni inonsistenis y de que son ompletosF min se vlid que no se inumplen ninguno de los estndres estleidos ni ningun restriin de(nidF r l vlidin de requisitosD se pueden presentr ls siguientes uestionesD entre otrsX il requisito est lrmente de(nido o puede interpretrse mlc ist identi(do el origen del requisito @personD normD doumentoAc i un requisito est reliondo on otrosD estn lrmente identi(ds ls relE iones por medio de un mtriz de referenis ruzdsc il requisito se puede prorc

5.8. El uso de prototipos


edems de los prolems itdos pr l otenin de los requisitos existen otros prolems on relin los requisitosX is si imposile predeir mo un nuevo sistem fetr sus prtis de trE joF xo es posile ntiipr ls neesiddes de informin que le vn surgiendo medid que dquiere experieni on el nuevo sistemF in onseueniD undo un nuevo sistem de informin es entregdo los usurios es freuente que despus de un perodo orto de utilizin se tengn que relizr un grn nmero de miosD lo que llev un inremento del mntenimientoF e h oservdo que entre un THEVH 7 de los ostes de mntenimiento son onseueni diret de los errores y migeddes en l de(niin de los requisitosF il estudio uiddoso de los requisitos y revisiones sistemtis de los mismosD dedinE do tiempo y esfuerzo l proeso de otenin de requisitos plindo l ingenier de requisitos y ortndo lo ms posile el periodo de ongelin de requisitos durnte el desrrolloD redue l inertidumre de lo que dee her el sistem pero no ntiip su(ientemente l evoluin de ls neesiddes de informinF Esto slo es posible

con el uso de prototipos.

RS

5.8.1. Denicin de prototipo


n prototipo es un versin iniil de un sistem softwre o de prte de l que se onstruye de form rpid y rt y que se utiliz pr demostrr oneptosD pror opE iones yD de form generlD enterrse ms del prolem resolver y sus posiles soluionesF esD se onsigue ntiiprse l evoluin de los requisitosF

5.8.2. Tipos de prototipos


ixisten muhos tipos de prototipos o de prototipdoD dependiendo del speto o spetos que se onsideren pr su lsi(inF

Por los objetivos


rototipdo de interfz de usurioX pundmentlmente son modelos de pntlls que sirven pr mostrr l interfz de usurioF rototipdo operionlX smplement lguns funionesD y medid que se omE prue que son ls propidsD se orrigenD re(nnD y se den otrsF wodelos de rendimientoX ivln el rendimiento de un pliin rtiF

Por la robustez
rototipo funionl @Keep-itAX il prototipo es su(ientemente rousto y e(iente pr que se pued trspsr produin diretmenteF istos prototipos permiten l usurio lmenr dtos y relizr operiones on esos dtosF rototipdo desehle @Throw-awayAX il prototipo se us slo pr ptr y vlidr los requisitos del sistemF

Por las funcionalidades que cubre


qlolF volF

Por el grado de desarrollo


ertilX rototip profundment un prte del sistemF rorizontlX rototip prilmente vris prtesF

5.8.3. Tcnicas y herramientas


r poder rer prototipos rpidmente se dispone de diferentes lses de tniE s y herrmientsFintre ls tnisD tods quells que nos permitn generr digo rpidmente son muy deudsD omo por ejemploX nis de urt generinF gomponentes de softwre reutilizlesF RT

vengujes formles de espei(in y herrmientsF

5.8.4. Benecios de los prototipos


il ene(io prinipl es mejorr l lidd de los requisitosD o lo que es lo mismoD disminuir l inertidumre er de lo que el sistem dee herF ero tmin se mejor l titud @omuniinD prtiipin y menor on)itividdA de los usuriosD su stisfin @utiliddD migiliddFFFA on el sistem de informinD y se le entren ntes de que el sistem (nl se entregdoF

RU

Captulo 6

Modelado del anlisis


swshy

RV

Captulo 7

Diseo del software


swshy

RW

Captulo 8

Tcnicas y estrategias de prueba


8.1. Fundamentos de la prueba
v prue del softwre es fundmentl pr grntizr l lidd de ste @unque l lidd del softwre he refereni tmin proesos y reursosAF v importni de los ostes soidos un fllo del softwre estn motivndo l relizin de prues d vez ms minuioss y ien plni(dsF

La prueba de software es el proceso que se realiza sobre un producto software con la intencin de descubrir errores.
vos errores pueden empezr desde el primer momento del proeso softwreF

gundo hlmos de l prue del softwre hlmos de l prue de ls espei(E ionesD del diseoD del digoFFF xo es un tividd seundriD sino que suele suponer un QHERH 7 del esfuerzo de desE rrolloD y en pliiones rtis @ontrol de vueloD retores nuleresFFFAD de Q S vees ms que el resto de proesos juntosF v prue no puede segurr l useni de defetosX slo puede demostrr que existen defetos en el softwreF Una prueba tiene xito si descubre un error no detectado SH

hasta entonces.

in ls prues se deen distinguir dos trminos importntesX eri(inX e orresponde on tividdes pr ompror si un produto sofE twre est tnimente ien onstruidoD es deirD si funionF lidinX in generlD se trt de ompror si el softwre onstruido stisfe los requisitos del usurioF

8.2. Principios de la prueba


entes de diser sos de prueD un desrrolldor dee entender los prinipios sios que gun ls prues del softwreF elgunos de ellos sonX e tods ls prues se les deer poder her un seguimiento hst los requisitos de usurio @trziliddAF vs prues deern plni(rse y relizrse desde el prinipio y muho ntes de generr ningn digoF il prinipio de reto es plile l prue del softwre @PH 7 E VH 7AF xo son posiles ls prues exhustivs oD l menosD no onsejles en muhos sosF r ser ms efetivsD ls prues deern ser relizds por un equipo indepenE dienteF xo deen relizrse plnes de prue suponiendo que prtimente no hy defetos yD por tntoD dedindo poos reursos ls pruesF vs prues del digo deern empezr por lo pequeoD los mdulos individuE lesD y progresr hi lo grndeD el sistem enteroF

8.3. Tcnicas de pruebas


ixisten diverss tnis de prueD y uns son ms deuds que otrs dependiendo del produto prorF or ejemploD los reorridos e inspeiones se utilizn pr vlidr y veri(r ls espei(iones de requisitosD ls espei(iones funionlesD ls espei(E iones tnisD udernos de rgD los mnules de usurio y explotinD etF r el digo se utilizrn fundmentlmente ls tnis de nlisis esttioD ejeuin simli y veri(in formlF e ontinuin se detlln lguns tnis de prueF

Recorridos
n equipo de reorrido onst de un person revisd y de tres ino revisoresF v person revisd reorre el produto y los revisores preguntn sore spetos relioE ndos on lF vos revisores pueden ser el jefe del proyetoD otros miemros del equipo de desrrolloD del grupo de ontrol de liddD personl tnioD el usurioFFF il ojetivo es SI

desurir errores que no se resuelven durnte l sesin de reorridoF gomo prinipios generles se dee tener en uentX lni(r ls sesiones de reorridoF n sesin de reorrido es pr detetr erroresD no pr orregirlosF e deen tender spetos priniplesF n sesin no dee durr ms de dos horsF il xito depende muho del estleimiento de un tmsfer grdleF xo deen usrse pr evlur l revisdoF

Inspecciones
egn siiiFFF

Una inspeccin es una tcnica de evaluacin o prueba en la cual las especicaciones de requisitos, las especicaciones funcionales, las especicaciones tcnicas, cuadernos de carga, los manuales de usuario y explotacin, etc., se examinan en detalle, por una persona o grupo distintos del autor, para detectar defectos, disconformidades con las normas de desarrollo y otros problemas.
vos grupos de inspein onstn de uno utro miemrosD inspetoresD preprdos pr relizr est lorF vs inspeiones deen ser dirigids por moderdores preprdos y entrendos pr tl (nF gd inspetorD si son vriosD tiene un tre onret pr inrementr l efetividdD y trjn prtir de lists preprds pr su tre on el (n de inrementr el desurimiento de defetosF

Comparativa de recorridos e inspecciones


vos reorridos mejorn l omuniinD y dn lugr un myor involurin en el proeso de prueF vs inspeiones permiten l retrolimentinD los inspetores representn ppeles de(E nidos y se utilizn lists pr l detein de erroresF e reomiend el uso lnedo de inspeiones y reorridosF he los experimentos reE lizdos se desprende que un lto porentje de errores @superior l VH 7A se enuentrn utilizndo ests tnis y ntes de llegr l prue de uniddF ero pesr de estos resultdosD ls inspeiones y reorridos no se efetn de mner rutinriF

Anlisis esttico
irve pr vlorr ls rterstis estruturles de ulquier representin que siE g uns regls sinttis ien de(nidsF in el digo fuente es un tni pr vlorr sus rterstis estruturlesF e exmin l estrutur del digoD pero ste no se ejeutF il ojetivo es detetr prtis de odi(in uestionles y el no umplimiento de estndresD s omo vriles no iniilizdsD digo isldoD etF xormlmente se utilizn herrmients utomtizds denominds nlizdores esttiE osF SP

Ejecucin simblica
is un tni de vlidin en l que ls vriles de entrd un progrm se les signn vlores simlios en vez de vlores literlesF n progrm se nliz propgndo los vlores simlios de ls entrds trvs de los lulosD y ls expresiones simlis resultntes se simpli(n d pso del luloD de mner que los resultdos se expresn siempre en trminos de ls entrds simlisF

Vericacin formal
v veri(in forml impli el uso de tnis mtemtis riguross pr demosE trr que los progrms tienen ierts propieddes deselesF hentro de ls tnis de veri(in forml ls ms empleds sonX e(rmiones de iGX e soin predidos @(rmionesA on un punto de entrE dD de slid y vrios puntos intermedios en el digo fuente de un progrmF v notin (P )S(R) signi( que si el predido @(rminA P es verddero ntes de ejeutr el segmento de digo S D entones el predido R ser verddero despus de l ejeuin de S si ls ondiiones de veri(in intermedis son verdders lo lrgo de l rut de ejeuin S F v regl de omposiin die queD si ls ondiiones de veri(in intermedis son verdders lo lrgo de un rut de ejeuinD entones un ondiin de entrd verdder implir l verdd de l ondiin de slidF snduin estruturlX e poy en el prinipio generl de l induin mtemtiD que onsiste en demostrr que un ondiin es verdder pr vlores mnimosF uponiendo que l ondiin es verdder pr nD demostrr que es verdder pr n + 1F

8.4. Diseo de casos de prueba


hdo que l prue exhustiv no es onsejleD se trt de diser sos de prue que tengn l myor proilidd de enontrr el myor nmero de errores on l mnim ntidd de esfuerzo y tiempo posileF e plnte que ulquier produto softwre puede prorse de dos mnersD dndo lugr dos enfoques priniplesX IF gonoiendo l funin espe( pr l que fue disedo el produtoD ompror que dih funin est ompletmente opertivF PF gonoiendo el funionmientoD ompror que todos los omponentes internos del produto funionn de form deudF el primer enfoque se denomin de l j negr y l segundo de l j lnF

8.4.1. Pruebas de caja blanca


e entr en l estrutur intern de los progrms pr elegir los sos de prueF odo lo que tenemos que her es de(nir todos los minos lgios y desrrollr sos de SQ

prue que los ejeutenD o seD generr sos de prue que ejeuten exhustivmente l lgi del progrmF hesgridmenteD inluso pr progrms pequeos el nmero de minos lgios puede ser enormeD sin emrgoD no se dee desehr l prue de l j ln omo imprE tileF vo que tenemos que her es elegir un serie de minos lgios importntes queX qrntien que se ejeute l menos un vez d senteniF ue se ejeuten tods ls deisiones lgis en sus vertientes verdder y flsF ue se ejeuten todos los ules en sus lmitesF intre ls prues de l j ln vmos onsiderr ls que se detlln ontinuinF

Prueba del camino bsico


ropuest por om wgeD se entr en l prue del onjunto de minos siosD on lo que grntizmos que en l prue se ejeut por lo menos un vez d senteni del progrm @oertur de sentenisAF il nmero de prues que hy que relizr viene ddo por l omplejidd ilomtiF gomo oneptos destnX gminoX eueni de sentenis endends desde l senteni iniil del progrE m hst su senteni (nlF gmino lgioX gonjunto de minos que durnte l prue grntizn que se ejeE ut exhustivmente l lgi del progrmF gmino sioX gonjunto de minos que durnte l prue grntizn que se ejeut l menos un vez d senteni del progrmF gmino linelmente independiente de otrosX sntrodue por lo menos un nuevo onE junto de sentenis de proeso o un nuev ondiinF gomplejidd ilomtiX is un mtri del softwre que proporion un mediE in untittiv de l omplejidd lgi de un progrmF in el ontexto de l prue del mino sio de(ne el lmite superior del nmero de prues que se deen relizr pr segurr que se ejeut l menos un vez d senteniF qrfo de )ujoX enill notin pr representr el )ujo de ontrol lgio de un progrmF in un grfo de )ujoD d ruloD denomindo nodo del grfo de )uE joD represent un o ms sentenis proedimentlesF vs )ehsD denominds rists o enlesD representn el )ujo de ontrol y son nlogs ls )ehs de un digrm de )ujoF od rist dee terminr en un nodoD unque el nodo no represente ningun senteni proedimentlF r l otenin de sos de prue se reliz el siguiente proesoX IF sndo el diseo o el digo omo seD diujmos el orrespondiente grfo de )ujoF PF heterminmos l omplejidd ilomti del grfo de )ujo resultnteD @qAF SR

QF heterminmos un onjunto sio de hst @qA minos linelmente independienE tesF RF reprmos los sos de prue que forzrn l ejeuin de d mino del onE junto sioF

Prueba de condiciones
e entr en l prue de d un de ls ondiiones de un progrmF i un ondiin es inorretD l menos un omponente de l ondiin lo esF gomo oneptosD son dignos de destrX gondiin simpleX es un vrile lgi o un expresin relionl que tom l form de dos expresiones ritmtisD y un operdor relionl entre ellsD es deirD E1 < operadorrelacional > E2F `D bD aD etFD son operdores relionlesF gondiin ompuestX pormd por dos o ms ondiiones simplesD operdores lE gios y prntesisF yD exhD xyD etFD son operdores lgiosF vos omponentes de un ondiin sonX yperdor lgioF rntesisF yperdor relionlF ixpresin ritmtiF n error en un ondiin puede ser por un error en ulquier de dihos omponentesF r un ondiin simpleD se deen generr sos de prue que ejeuten l menos un vez ls rms verdder y fls de l ondiinF r un ondiin ompuestD se deen generr sos de prue que ejeuten l menos un vez ls rms verdder y fls de l ondiin ompuest y ls rms verdder y fls de d ondiin simpleF

Prueba de bucles
v prue de ules se entr exlusivmente en l vlidez de l onstruin de ulesF vos ules preen en l myor de los lgoritmos implementdos en el softwre y es por ello que deemos prestrles tenin undo llevmos o l prue del softwreF odemos onsiderr utro tipos de ulesX simplesD niddosD ontendos y no estruturdosF r d uno de ellos se deen otener unos sos de prueF fules simplesX i n es el nmero mximo de iteriones del uleD generr sos de prue que permitnX

sr por lto totlmente el uleF sr un sol vez por el uleF sr dos vees por el uleF rer m psos por el uleD on m < nF
SS

rer n 1D n y n + 1 psos por el uleF


fules niddosX i plirmos el enfoque de los ules simples el nmero de prueE s umentr geomtrimente medid que umentr el nivel de nidmientoF r evitrloD feizer proponeX IF vlevr o ls prues de ules simples on el ule ms interiorF gon(E gurr el resto de ules on sus vlores mnimosF PF rogresr hi fuerD llevndo o prues pr el siguiente uleD mnteE niendo los ules externos en sus vlores mnimos y los internos en sus vlores tpiosF QF gontinur hst pror todos los ulesF fules ontendosX v prue depende de que los ules ontendos sen indeE pendientes o noF hos ules ontendos no son independientes si se us el ontdor del primero omo vlor iniil del ontdor del segundoF i son independientesD se dee prorlos omo los ules simplesD y si noD omo los ules niddosF fules no estruturdosX ediser pr que se justen lgun de ls onstruE iones nterioresF

8.4.2. Pruebas de caja negra


e trt de generr sos de prue que ejeuten ompletmente todos los requeriE mientos funionles de un progrmF e omprue que l entrd se produe de form deud y que se gener el resultdo esperdoD sin tener en uent l estrutur lgi intern del softwreF v prue de l j negr no es un lterntiv l prue de j ln sino un enfoque omplementrioF fus tipos de errores diferentes ls prues de j lnX funiones inorrets o usentesD errores de interfz y errores de rendimientoF intre ls prues de l j negr vmos onsiderr dosF

Particin equivalente
e divide el dominio de vlores de entrd en un nmero limitdo de lses de equivE leniF v prue de un vlor representtivo de l lse permite suponer rzonlemente que el resultdo otenido ser el mismo que prondo ulquier otro vlor de l lseF intre los oneptosD dest el de lse de equivleniD un onjunto de estdos vlidos o de estdos invlidos pr un ondiin de entrdF pimenteD un ondiin de entrd puede serX un vlor numrio espe(oD un rngo de vloresD un onjunto de vlores o un ondiin lgiF vs lses de equivleni que se pueden de(nir son ls siguientesX i un ondiin de entrd es un vlor se de(ne un lse de equivleni vlid @diho vlorA y dos invlids @los vlores menores y los myoresAF i un ondiin de entrd espei( un rngo de vloresD se espei( un lse vlid @diho rngoA y dos no vlids @rngo inferior y rngo superiorAF

ST

i un ondiin de entrd espei( un miemro de un onjunto se de(ne un lse vlid @elementos del onjuntoA y un invlid @elementos que no perteneen l onjuntoAF i un ondiin de entrd espei( un ondiin lgi se de(ne un lse vlid @vlores que dn lugr verdderoA y un invlid @vlores que dn lugr flsoAF r otener los sos de prue se deen identi(r ls lses de equivleni y despus rer los sos de prue orrespondientesF

Anlisis de Valores Lmite (AVL)


vos errores tienden drse ms en los lmites del mpo de entrd que en el entroD por est rzn se h desrrolldo el nlisis de los vlores lmiteF il ev nos llev l elein de sos de prue que ejeriten los vlores lmiteF il ev es omplementrio l prtiin equivlente puesto queD en lugr de seleionr ulquier elemento de un lse de equivleniD se seleionn sos de prue en los ordes de l lseF r otener los sos de prueX i un ondiin de entrd espei( un rngo delimitdo por los vlores a y bD se deen generr sos pr a y b y sos no vlidos justo por dejo y justo por enim de a y bD respetivmenteF i un ondiin de entrd espei( un onjunto de vloresD se deen desrrollr sos de prue que ejeriten los vlores mximo y mnimoD uno ms el mximo y uno menos el mnimoF v myor de desrrolldores llevn o de form intuitiv lgun form de evF

8.5. Estrategias de prueba del software


n estrtegi de prue del softwre puede verse omo un espirlF v prue se reliz en vris fsesX IF rue de uniddX in l prte ms interior de l espirl se enuentr l prue de d mduloD que normlmente reliz el propio personl de desrrollo en su entorno en l fse de onstruinF PF rue de integrinX evnzndo hi el exterior de l espirlD on el esquem del diseo del softwre los mdulos prodos se integrn pr ompror sus interfesF QF rue de vlidinX hndo otr vuelt se omprue si el softwre stisfe toE dos los requerimientos funionles y de rendimientoD filidd de mntenimientoD reuperin de erroresD etF RF rue del sistemX pinlmenteD el softwre y vliddo se prue junto on el hrdwre y el softwre de seD es deirD on el resto de elementos del sistemF

SU

v prue de unidd he uso intensivo del enfoque de j lnF v prue de integrin utiliz prues de l j ln y de l j negrF v prue de vlidin us exlusivmente prues de l j negrF v prue del sistem qued fuer de los lmites de l sngenier del oftwreD entrndo en el ontexto de l sngenier de istemsF

8.6. La depuracin
v depurin pree omo un onseueni de un prue efetivF gundo un so de prue desure un errorD l depurin es el proeso resultnte pr l eliminE in de diho errorF il desrrolldorD l evlur los resultdos de un prue se enuentr on un indiE in sintomti de un prolem en el softwreF il sntom es l mnifestin del errorF gonetr un sntom on un us es l tre fundmentl de l depurinF La ma-

nifestacin externa de un error y la causa interna del error pueden no estar relacionados de forma obvia.
il proeso de depurin siempre tiene uno de los dos resultdos siguientesX e enuentr l usD se orrige y se eliminF

xo se enuentr l usD en uyo so se sospeh unD se disen sos de prueE que yuden on(rmr l sospeh y el trjo vuelve hi trs de form itertivF v depurin es difil deido dos ussF

Caractersticas de los errores


il sntom y l us pueden estr muy lejdosF il sntom puede despreer temporlmente l orregir otro errorF il sntom puede ser produido por lgo que no es un errorF il sntom puede ser el resultdo de prolems de temporizin no de proesoF il sntom puede preer de form intermitenteF il sntom puede ser deido uss que se distriuyen por un serie de tres ejeutndose en diferentes proesdoresF il sntom puede ser usdo por un error humno que no se filmente detetleF

Aspectos humanos
odo pree indir que l hilidd en l depurin es un rsgo innto en lguns personsF

SV

8.6.1. Enfoques para la depuracin


Fuerza bruta
il ms omn y menos e(ienteF hejmos que el ordendor enuentre el error hiendo voldos de memoriD trzs de ejeuinD etFD y espermos que entre l grn ntidd de informin generd enontremos lgun pist que nos lleve l us del errorF

Vuelta atrs
rtiendo del lugr donde se desure el sntom se reorre mnulmente hi trs el digo fuente hst llegr l posiin de errorF i en l vuelt trs el nmero de minos ree muho est tni se he imprtileF

Eliminacin de causas
e he un list de posiles ussD se llevn o prues pr eliminr d unD y si lgun prue indi que lgun us en prtiulr pree prometedor se re(nn los dtos on el (n de islr el errorF

SW

Captulo 9

Ingeniera del Software Asistida por Ordenador


9.1. Introduccin
vs herrmients gei e sEgei suponen l informtizin de l informtiD es deirD l utomtizin de prte del desrrollo del softwreD ontriuyendo elevr l produtividd y l liddF or tntoD se de(nen omoX

Un conjunto de herramientas que proporcionan asistencia automatizada a las diferentes actividades del proceso software. CASEF
gei es el rnimo de Computer-Aided Software EngineeringD e sEgei de Integrated

vs herrmients gei rn lguns tividdes del proeso softwre por seprdoD sin emrgoD l verdder poteni de gei solmente se puede logrr medinte l inE tegrinF vs sEgei ontempln ls tividdes de todo el ilo de desrrolloF il trmino inteE grin impli un ominin de un gm de herrmients e informin que hg posile l omuniin entre stsD ls persons y los proesos softwreF r que un herrmient se sEgei deeX gomprtir l informin entre tods ls herrmientsF rer posile que un mio en un elemento de informin se sig los elementos reliondosF ermitir eso direto ulquier herrmientF ermitir que los usurios de d herrmient tengn un visin onsistente de l interfz personEmquinX epresentiones onsistentes de l informinD inE terfes estndrizds entre herrmients y un menismo homogneo pr l omuniinF

TH

9.1.1. Evolucin histrica de las herramientas


urgen medidos de los setent undo empiezn preer ls primers metodoloE gs estruturds y se populrizn (nles de los ohentD pero ls flss expettivs y l inorret utilizin llevn l desennto muhs orgnizionesF e medidos de los novent entrn en un nuev fse de mdurezD surge un nuev generin y ls nuevs herrmients supern un uen nmero de limitiones de ls existentesD l vez que los usurios onoen mejor sus posiiliddesF

9.2. Objetivos
wejorr l produtividd y l lidd del softwre trvs deX impli(r el uso de tnisF vierr los desrrolldores de tres rutinrisF pilitr l generin de doumentinD l relizin de prototiposD el uso de estndresD l gestin del desrrollo del proyetoFFF

9.3. Caractersticas
oporte multiusurioD personlizin y poyo utomtizdo ls tres de l metoE dolog en usoF

9.4. Elementos bsicos


vos elementos sios de un de ests herrmients sonX wetmodeloX wro pr l de(niin de l metodolog y tnis soidsF vE gimenteD ests tnis deen estr soportds por l herrmientF epositorioX elmn de dtos de los elementos redos por l herrmient o proveE nientes de otros sistems y uy gestin se reliz medinte un qfhF is el nleo de l herrmientF piliddes de personlizinD vlidin y omprtiin de dtosD que permitnX dptr l herrmient un orgnizin en prtiulrD llevr o un nlisis de l extitudD integridd y onsisteni de los distintos elementos generdos por l herrmientD y omprtir dtos de form ontrold en un entorno multiusurioF snterfes que posiiliten rgr el repositorio on dtos de otros sistems o envir dtos otros sistemsm proporionndo s un medio de omuniin on otrs herrmientsF ypiones de gr(osD pntllsD informesD etFD que permitn dr soporte utomE tizdo ls tnis preissF

TI

9.5. El repositorio
il repositorio es un se de dtos que t omo entro pr el lmenmiento de informinF is el nleo o orzn de l herrmientF il ppel del desrrolldor es intertur on el repositorio emplendo herrmients inteE grds on lF

9.5.1. Funciones del repositorio


e pueden enumerr ls siguientesX

Mantener la integridad de datos


snluye funiones pr vlidr ls entrdsD pr segurr l onsisteni entre ojetos reliondosD y reliz utomtimente modi(iones en sd undo los mios en un ojeto exigen mios en otros reliondosF

Compartir informacin
roporion menismos pr omprtir informin entre mltiples herrmientsD y ontrol el eso multiusurio loquendo y desloquendo ojetosF

Facilitar la integracin datos-herramientas


istlee un modelo de dtos l que se puede eder on tods ls herrmientsF

Estandarizacin de documentos
v dopin de estndres pr los distintos soportes d lugr diretmente un enfoque estndr pr l rein de doumentosF

9.5.2. Contenido del repositorio


il repositorio tiene los siguientes ontenidosX snformin de l orgnizinX estrutur orgniztivD funiones de negoioFFF surios de l orgnizin y de d sistemF epliionesX usistems que integrn d sistemD elementos que integrn d susistemD de(niionesD digrms y representionesD regls y estndresD lgoE ritmos y regls de trnsforminD estruturs de dtos omo (heros y ses de dtosFFF gonstruinX digo fuenteD digo ojetoFFF lidin y veri(inX gsos de prueD resultdos de ls pruesD mtrisFFF snformin de gestin de proyetos tl omo estimionesD plni(ionesD etFD dems informes de tiempos y de progresoFFF houmentinX wnules y soportes normlizdosFFF TP

9.6. Taxonomas de herramientas


9.6.1. Clasicacin por categoras
rerrmients de gestinX istiminD plni(in y seguimientoF rerrmients tnisX he nlisisD diseoD etFD de mntenimientoD vRq9sFFF rerrmients de soporteX epositorioD de ontrol de on(gurinD de seguriddFFF

9.6.2. Clasicacin por el nivel de integracin


pper gseX rimers fses de nlisis y diseoF vower geiX ltims fses del desrrolloF sEgeiX inglon ls nterioresD ontemplndo todo el ilo de vid del desrrolloF si @intorno de oporte de royetos sntegrdoAX edems de urir todo el ilo de vidD inluye omponentes pr l gestin de proyetos y l gestin de on(gurinF

9.6.3. Clasicacin por su funcionalidad


Herramientas de gestin de proyectos
he estimin de ostos y esfuerzosX gluln el esfuerzo estimdoD l durin del proyeto y el nmero de persons reomenddo pr el proyetoF lni(in de proyetosX ren posile que el gestor de(n tods ls tres del proyetoD que ree un red de tresD que represente ls interdependenis entre ells y que modele l ntidd de prlelismo que se posile pr ese proyetoF eguimiento y ontrolX u ojetivo es proporionr un enfoque sistemtio pr el islmiento de los requisitosD omenzndo por el p del liente o por l espei(E inF wtris del softwreX vs mtris o herrmients de medids tules se entrn en rterstis de proesos y produtosF vs herrmients orientds l gestin se sirven de mtris espe(s del proyeto que proporionn un indiin glol de produtividd o de liddF vs herrmients on orientin tni determinn ls mtris tnis que proporionn un mejor visin de l lidd del diseo o del digoF

Herramientas grcas
molosD estruturs y formsF

Herramientas omticas
rtmiento de textosD orreo eletrnioD luldors de soremesFFF

Herramientas de documentacin
on herrmients de produin de doumentosF is freuente que se inviert hst un PH 7EQH 7 del esfuerzo glol del desrrollo en el proeso de doumentinD por lo que ests herrmients suponen un importnte mejor de l produtividdF TQ

Herramientas de construccin de prototipos


qenerdores de pntlls y disposiin entre ells pr pliiones intertivsF grein de un diseo de dtos ompdo por diseos de informes y pntllsF rerrmients yGsw pr predeir el omportmiento de un sistem ntes de llegr onstruirloF edemsD le pitn pr desrrollr simuliones del sistem de tiempo relF rerrmients de urt generinF

Herramientas de programacin
gompildoresD editores y depurdores pr poyr l myor de los lengujes de progrmin onvenionlesF vRqF vengujes de onsult ses de dtos vF qenerdores de digoX e prtir de estruturs sis o de pseudodigoF

Herramientas de interfaz persona-mquina


rototipos de interfz que permiten un rpid rein en pntll de interfes de usurio so(stidsF snterfes progrmlesX tringEsetsD lengujes de proedimientosD diseo de telE dos seleionlesFFF

Herramientas de reingeniera
vs herrmients pr el softwre hereddo r un onjunto de tividdes de mntenimiento que tulmente soren un porentje signi(tivo de todo el esfuerzo reliondo on el softwreF vs herrmients de reingenier se pueden sudividir en ls funiones siguientesX rF de ingenier inversX e tom el digo fuente omo entrd y se genern modeE los gr(os de nlisis y diseo estruturdosD lists de utilizin y ms informin sore el diseoF rF de reestruturinX e nliz l sintxis del progrmD se gener un gr( de ontrol de )ujo y se gener utomtimente un progrm estruturdoF rF de ingenier diretF

Herramientas de gestin de conguracin


gontrol de versionesX r el pso explotinF gontrol de miosX r onoer el estdo de ls modi(ionesF euditorF TR

Herramientas de gestin de la informacin


eeso rpido doumentosF gFfFFX eopiln informin y l suministrn l usurioF

Herramientas de prueba
edquisiin de dtosX edquieren los dtos que se utilizrn durnte l prueF wedids esttisX enlizn el digo fuente sin ejeutr sos de prueF wedids dinmisX enlizn el digo fuente durnte l ejeuinF qestin de pruesX restn su sisteni en l plni(inD desrrollo y ontrol de ls pruesF

Herramientas de anlisis de riesgos Herramientas de control de calidad


v myor son en relidd herrmients de mtris que hen un uditor del digo fuente pr determinr si se just o no iertos estndres del lengujeF ytrs herrmients extren mtris tnis pr extrpolr l lidd del softwre que se est onstruyendoF

Herramientas de desarrollo de webs


intre ests herrmients se inluyen ls que prestn yud en l generin de textoD gr(osD formulriosD guionesD pplets y otros elementos de un pgin eF

9.7. Plan para la adquisicin e implantacin de una herramienta


il proeso se divide en vris fsesX

9.7.1. Planicacin
e dee vlorr el nivel de mdurez de l orgnizin hiendo espeil nfsis en l metodolog y tnis que se plin en el desrrolloD relizr un pln de gestin de riesgos y seleionr el grupo de persons pr llevr o l implntinF

9.7.2. Adquisicin
hepende en grn medid de l situin en l que se enuentre l empresD pero en generl se tendrn en uent vrios riteriosX wetodolog y tnis soportds por l herrmientF ipo de omputdor @minfrmeD gD FFFAF

TS

osiiliddes de integrin on otrs pltforms @presentes y futursAF griterios hitules en l selein de softwreX preioD sisteni tniD forminD etF ener en uent que el oste de dopin de l herrmient puede llegr ser hst oho vees el oste de dquisiinF

9.7.3. Introduccin o implantacin en un proyecto piloto


snluye ls tividdes deX snstlin de l herrmient y su dptinF pormin y entrenmiento en l herrmient del grupo de persons iniilmente seleiondoF v formin en el uso de herrmients gei se estim en IGQ de l formin neesri pr el uso de l metodolog suyenteF epliin l desrrollo de un proyeto pilotoF ivluinF

9.7.4. Utilizacin o implantacin en toda la organizacin


gonsiste en extender l utilizin de l herrmient tods ls res de desrrolloD lo que onllevX pormin y entrenmiento en l herrmient de todo el personlF epliin l desrrollo del resto de los proyetosF osile migrin de pliiones nterioresF ivluinF

9.8. Situacin actual

TT

You might also like