Está en la página 1de 6

ANLISISYGESTINDELDESARROLLODE

SOFTWARE

TEMA12:DEFECTOS

DAVIDRODRGUEZHERNNDEZ
FECHADEREVISIN:3Noviembre2007
ZAMORA(CURSO2007/2008)
david.rgh@gmail.com
ANLISIS,YGESTINDELDESARROLLODELSOFTWARE
DAVIDRODRGUEZHERNNDEZ

2
Notaimportante:

EstedocumentonopretendereemplazaralmaterialpropuestoporlaUNEDparalaasignatura
AnlisisyGestindeldesarrollodeSoftware.
Su finalidad es presentar de una forma esquematizada los contenidos de la asignatura, para
facilitar el estudio de la misma. Es conveniente disponer de la bibliografa propuesta por la
Universidadparasuestudiocompleto.
Cualquier sugerencia, comentario o correccin sobre este documento, envelo a
david.rgh@gmail.comparapoderrealizarloscambiosnecesarios.

DavidRguez.Hdez.
Alumnode2cicloIngenieraInformtica(UNED)
ANLISIS,YGESTINDELDESARROLLODELSOFTWARE
DAVIDRODRGUEZHERNNDEZ

3
QUESLACALIDADDELSOFTWARE?
Un producto de calidad es aquel que proporciona las prestaciones ms importantes para el usuario.
Estasnecesidadesasatisfacerserecogeneneldocumentoderequisitosystosdebenestarbienclaros
parapoderproducircalidad.

DEFECTOSYCALIDAD
En el tema 1 vimos que un ingeniero de software desarrollaba un producto en un plazo y costes
determinados que satisfaga las necesidades del cliente. Pero este producto, evidentemente, debe
funcionar;esdecir,debeneliminarsetodossusdefectos.Aunquelosdefectosnoeslomsimportante
delsoftware,esnecesarioeliminarlosantesdeabordarotraspartes.
Aunque la mayora de defectos son localizados y eliminados durante la compilacin y las pruebas,
muchos otros permanecen en el producto. Es conveniente saber cules son los fallos que sueles
cometerconobjetodeprevenirlos.

QUSONLOSDEFECTOS?
Es, en esencia, un error, algo queest equivocado enunprograma(puede ser un error sintctico,una
sentencia incorrecta). Los defectos no se localizan nicamente en el programa, pueden estar en los
requisitos,eneldiseo,enladocumentacin
Undefectoreducelacapacidaddelprogramaparacumplirlasnecesidadescompletamente.
No hay que dejarse engaar por la magnitud del error. Un error grave puede ser fcil de localizar y
corregir,mientrasqueunopequeopuedepasardesapercibidoyserdevastador.Dehecho,granparte
de los errores se deben a descuidos. Hay que aprender a gestionar los defectos introducidos en los
programas.
Recurdese que no es lo mismo identificar el defecto que analizar sus causas. Todos los defectos
provienen de errores humanos. Los errores conducen a defectos, pero no es lo mismo. Es decir, un
humano comete errores, y un producto tiene defectos. Nos referimos a introduccin de defectos al
hechodecometererroresqueconducenadefectos.
Tambin hay que darse cuenta de que no es lo mismo eliminar un defecto que prevenirlo. En este
documentonosreferimosalaeliminacindedefectos.Esimportanteeliminartodosantesdeterminal
el producto, ya que aparte de los costes que supondra una posterior correccin, la utilizacin de
softwaredefectuosopuedeentraarpeligros(ejemplo,controldeseguridaddeunreactornuclear).

DEFECTOSVSBUGS
Muchosusuariossuelenreferirsealosdefectoscomobugs.Estoparecetrivializaryrestarimportanciaal
problema.Perolociertoesqueundefectopuedellegaraserunaautnticabombaderelojera.Existen
registros histricos donde un defecto aparentemente trivial, caus problemas graves (ej: un
desbordamientodebuffercausprdidasdedatosenelsistemadecontroldeferrocarril,loqueoblig
ANLISIS,YGESTINDELDESARROLLODELSOFTWARE
DAVIDRODRGUEZHERNNDEZ

4
a mantener parados trenes en miles de millas durante varias horas, hasta que se reintrodujeron los
datos).
Quien ms capacitado est para corregir los defectos de un programa, es aquella o aquellas personas
quelodesarrollaron.
Nuevamentehayqueremarcarlaimportanciadeeliminartodoslosdefectosdeunproducto.

TIPOSDEDEFECTOS
Es conveniente dividir los defectos en categoras, ya que as se puede ver cules son ms frecuentes y
centrarseenellos.Enestedocumentosedividenendocumentacin,sintaxis,construccin,asignacin,
interfaz, chequeo, datos, funcin, sistema y entorno. En la pgina 146 se puede encontrar una breve
descripcindecadauno.
Este orden responde a la sofisticacin del error (los primeros errores se deben a simples descuidos,
mientrasquelosltimossuelenimplicarundiseomssofisticadocuestionesdelsistema).
Se puede subdividir estas categoras en otras ms refinadas, pero es conveniente antes reunir datos
sobreloserroresdelosprogramassobreesas10categorasparasaberqusubdivisionesseranmejores
(serecomiendareunirdatosdealmenos100defectosantesdesubdividir).

LACOMPRENSINDELOSDEFECTOS
Parareunirdatosdedefectosdelosprogramas,sedebehacerlosiguiente:
Registrarcadadefectoencontrado.
Registrarinformacinsuficientesobrecadadefectoparaentenderlo.
Analizarlosdatosreunidosydeterminarqudefectoscausanmsproblemasomsgrandes.
Buscarformasdeencontrarycorregiresosdefectos.
No slo se deben analizar los defectos introducidos por uno mismo, sino tambin los introducidos por
losdems(sedenominanescapesyaqueescapanatuprevencin.

ELCUADERNODEREGISTRODEDEFECTOS
Enlapgina149seencuentraunamuestradelCuadernodeRegistrodeDefectos.Sirveparareunirlos
datosanteriormentecitados.Estecuadernofacilitarelanlisisdedefectosparacorregirlos.
Cuando se encuentre un defecto por primera vez, hay que anotar su nmero, pero el resto de datos
debenesperaratenerlocorregido.Nuncahayqueagrupardefectosidnticosenunasolalnea;siempre
hayqueregistrarlosendistintaslneas.Asimismohayqueregistrarlasfechasenlasqueselocalizcada
efecto (si hay varios defectos con la misma fecha, puede anotarse en el primero y el resto dejarlo en
blanco).
ANLISIS,YGESTINDELDESARROLLODELSOFTWARE
DAVIDRODRGUEZHERNNDEZ

5
Una vez un defecto est corregido, hay que anotar su tipo (usar el mejor criterio posible). Tambin se
debeanotarlafasedelproyectoenlaqueseintrodujoeldefecto(enprogramasgrandesestopuedeser
algomscostoso).Delamismaforma,hayqueanotarlafaseenlaqueseelimin.
Otro punto que hay que anotar es el tiempo transcurrido desde la localizacin del defecto hasta su
eliminacin.Unerrorenlacompilacinesrpidoderesolver,perounoenlaspruebasllevamstiempo.
Existen defectos que se corrigen al corregir otros defectos (valga la redundancia). Esto es importante,
peroporelmomentolodejaremosdelado.
Porsupuesto,cadaregistrodedefectodebeiracompaadodeunabrevedescripcinqueseaclara.

LACONTABILIZACINDELOSDEFECTOS
Lasanotacionesenelcuadernodebenbasarsesloenlascorreccionesquesehacen(unsolodespiste
(p.ej:unpuntoycoma)puedeprovocarvarioserrores,perolacorreccinesslouna.
Por otro lado, el diseo puede sufrir cambios durante el desarrollo debido a la aparicin de ideas
mejores u optimizaciones (o, simplemente, cambios en el parecer del cliente (que tambin ocurre con
msfrecuenciadeladeseada)).Estonoseconsiderandefectos(otracosaseracometerunerrorenlos
requisitos,conloqueseraundefectoderequisitos).
Recurdesequeseconsideradefectoaquellosqueaparecentraslacodificacin(sisenotaalgomientras
seestcodificandoysecorrigeantesdeterminar,noseconsideradefecto).
Conviene contabilizar los defectos cuando se termine cada fase (diseo, codificacin). Sin embargo,
dentro de una misma fase (por ejemplo, codificacin), si se hace un mdulo y luego un segundo, y a
mitaddelsegundomdulosedescubreundefectoenelprimero,Sesundefecto.
Paraaprenderareunirdatosdedefectos,convienecomenzarporcontabilizarslolosdecompilaciny
pruebashastaquesecojasoltura.

LAUTILIZACINDELCUADERNODEREGISTRODEDEFECTOS
Estossonalgunosdelosobjetivosdeusarelcuaderno:
Mejorar la programacin: Entender los defectos es algo importante para aprender a
gestionarlosymejoraraslaformadeprogramar.
Reducir su aparicin: Aprender a gestionar defectos implica reducir su aparicin en los
programas.
Ahorrartiempo:La sangrellamaalasangre.Loserrorestiendenaprovocarmserrores(un
errordediseocausarunoomserroresenimplementacin).Eliminarlosatiempoimplicar
notenerquecorregirlosnuevos.
Ahorrar dinero: Encontrar y corregir un defecto es, por lo general, caro. Minimizar los
defectossuponeunahorroeconmico.
ANLISIS,YGESTINDELDESARROLLODELSOFTWARE
DAVIDRODRGUEZHERNNDEZ

6
Hacereltrabajoresponsablemente:Esresponsabilidaddelingenierodesoftwareencontrary
corregirlosdefectos.

ELPROCESODELPSPACTUALIZADO
En la pgina 156 se puede encontrar el guin del PSP actualizado. Esta actualizacin consiste en la
introduccin de la deteccin y correccin de errores, as como su registro. Se pueden registrar los
defectos en todas las fases excepto en la postmortem, porque no es habitual (aunque puede suceder
que,corrigiendoundefecto,seintroduzcaotro).
Enlafasepostmortemhayquecontabilizarelnmerodedefectosdetectadosyeliminadosencadafase
(enlapgina151sepuedeverunejemplodeuncuadernodedefectosrelleno).
ConelPSP,lamayoradedefectossuelenencontrarseenlacompilacin.
TambinhayquecompletarlascolumnasHastalaFechay%HastalaFechadelamismaformaquese
hizoparalostiemposeneltemaanterior.Estosdosdatoscomenzaremosausarloseneltema15,que
nospermitirnestimarcongranprecisineln1dedefectosqueseintroducenyeliminan.

También podría gustarte