Académique Documents
Professionnel Documents
Culture Documents
1Laesenciadelaprctica
Enunlibroclsico,HowtoSolveIt,escritoantesdequeexistieranlascomputadoras
modernas,GeorgePolya[Pol45]describilaesenciadelasolucindeproblemasy,en
consecuencia,laesenciadelaprcticadelaingenieradesoftware:
1.Entenderelproblema(comunicacinyanlisis).2.Planearlasolucin(modeladoy
diseodelsoftware).3.Ejecutarelplan(generacindelcdigo).4.Examinarlaexactitud
delresultado(probaryasegurarlacalidad).
Enelcontextodelaingenieradesoftware,estasetapasdesentidocomnconducenauna
seriedepreguntasesenciales[adaptadodePol45]:
Entenderelproblema.Enocasionesesdifcildeadmitir,perolamayorpartedenosotros
adoptamosunaactituddeorgullodesmedidocuandosenospresentaunproblema.
Escuchamosporunossegundosydespuspensamos:Claro,s,entiendo,resolvamosesto.
Desafortunadamente,entendernosiempreesfcil.Esconvenientededicarunpocode
tiempoaresponderalgunaspreguntassencillas:
Quinestienenqueverconlasolucindelproblema?Esdecir,quinessonlospartici
pantes?
Culessonlasincgnitas?Culesdatos,funcionesycaractersticasserequierenpara
resolverelproblemaenformaapropiada?
Puedefraccionarseelproblema?Esposiblerepresentarloconproblemasmspequeos
queseanmsfcilesdeentender?
Esposiblerepresentargrficamenteelproblema?Puedecrearseunmodelode
anlisis?Planearlasolucin.Ahoraentiendeelproblema(oesloquepiensa)ynopuede
esperarpara
escribirelcdigo.Antesdehacerlo,clmeseunpocoyhagaunpequeodiseo:
Havistoantesproblemassimilares?Haypatronesreconociblesenunasolucin
potencial?Hayalgnsoftwareexistentequeimplementelosdatos,funcionesycaracte
rsticasqueserequieren?
Haresueltounproblemasimilar?Siesas,sonreutilizablesloselementosdela
solucin?
Puedendefinirseproblemasmspequeos?Siasfuera,haysolucionesevidentespara
stos?
Antesdecomenzarunproyectodesoftware,asegresedequeelsoftwaretengaun
propsitoparaelnegocioyquelosusuariospercibenvalorenl.
Escapazderepresentarunasolucinenunaformaquelleveasuimplementacin
eficaz?Esposiblecrearunmodelodeldiseo?
Ejecutarelplan.Eldiseoquecresirvecomounmapadecarreterasparaelsistemaque
quiereconstruir.Puedehaberdesviacionesinesperadasyesposiblequedescubraun
caminomejoramedidaqueavanza,peroelplanlepermitirprocedersinquesepierda.
Seajustalasolucinalplan?Elcdigofuentepuedeapegarsealmodelodeldiseo?
Esprobablequecadapartecomponentedelasolucinseacorrecta?Eldiseoycdigo
sehanrevisadoo,mejoran,sehanhechopruebasrespectodelacorreccindelalgoritmo?
Examinarelresultado.Nosepuedeestarsegurodequelasolucinseaperfecta,peros
dequesehadiseadounnmerosuficientedepruebasparadescubrirtantoserrorescomo
seaposible.Puedeprobarsecadapartecomponentedelasolucin?Seha
implementadounaestrategiarazonableparahacerpruebas?Lasolucinproduce
resultadosqueseapeganalosdatos,funcionesycaractersticasqueserequieren?El
softwaresehavalidadocontratodoslosrequerimientosdelosparticipantes?Nodebiera
sorprenderquegranpartedeesteenfoquetengaqueverconelsentidocomn.Enrealidad,
esrazonableafirmarqueunenfoquedesentidocomnparalaingenieradesoftwarehar
quenuncaseextrave.