1. Ingeniería de software
;;; y Una vezque se completa este ciclo,entraenjuegoel mantenimientodelsoftware.Se tratade
una fase de estaingenieríadonde se solucionanloserroresdescubiertos(muchasvecesadvertidos
por lospropiosusuarios) yse incorporanactualizacionesparahacerfrente a losnuevosrequisitos.
El procesode mantenimientoincorporaademásnuevosdesarrollos,parapermitirque el software
puedacumplirconuna mayor cantidadde tareas.Uncampo directamente relacionadoconla
ingenieríade software eslaarquitecturade sistemas,que consisteendeterminaryesquematizar
la estructurageneral del proyecto,diagramandosuesqueletoconungrado relativamente altode
especificidadyseñalandolosdistintoscomponentesque seránnecesariosparallevaracabo el
desarrollo,talescomoaplicacionescomplementariasybasesde datos.Se trata de un punto
fundamental del proceso,yesmuchasveceslaclave del éxitode unproducto
informático.Ingenieríade softwareLosavancestecnológicosysurepercusiónenlavidasocial han
afectadoinevitablemente el procesode desarrollode software pordiversosmotivos,comoserel
acceso indiscriminadode losusuariosaciertainformaciónque hastahace unpar de décadas
desconocíapor completoyque no puedencomprender,dadoque noposeenel gradode
conocimientotécniconecesario.Unconsumidorbieninformadoesunconsumidoral que nose
puede timar,yaque sabe lo que necesitaytiene lacapacidadde analizarlasdiferentesofertasdel
mercado,comparandolaspropuestasyprestacionesde losproductos;sinembargo,un
consumidormal informadoescomounniñocaprichosoque llora,gritay pataleasinparar.
La primerade todaslasetapasdel trabajo que realizanlosingenierosde software consiste en
estudiarminuciosamente lascaracterísticasque se creennecesariasparael programaa
desarrollar,yeséste el puntoenel cual debenencontrarunequilibrio(cadavezmásdifícil de
alcanzar) entre lasdemandasexcesivasde losmalosconsumidoresylasposibilidadesde la
compañía. El tiempoesdinero,y lasempresasdel mundoinformáticolosabenmuybien.Cada
funciónde unprograma, cada rasgo que lovuelvamáscómodo,más inteligente,másaccesible,se
traduce en unacantidaddeterminadade tiempo,que asuvezacarrea lossueldosde todaslas
personas involucradasensudesarrollo.Peroademásdel costode producciónnecesariopara
realizarcada unade laspiezasde un programa,la ingenieríade software debe decidircuálesde
ellastienensentido,soncoherentesconel restoyson necesariasparacomunicarclaramente la
esenciaylosobjetivosde laaplicación.