Escolar Documentos
Profissional Documentos
Cultura Documentos
Ingeniera de Software.
ndice de contenido
IngenieradeSoftware......................................................................................................................1 Qucomprendelaingenieradesoftware................................................................................1 AnlisisySntesispararesolverunproblema..........................................................................1 Herramientas,procedimientos,tcnicas,paradigmas..............................................................2 Elingenierodesoftware..........................................................................................................2 Laingenieradesoftware........................................................................................................2 Exitosyfracasos......................................................................................................................3 Calidad....................................................................................................................................3 Participantes............................................................................................................................3 Sistema....................................................................................................................................4 Subsistemas.............................................................................................................................4 Construccindeunsistema:....................................................................................................4 Referenciasylecturasrecomendadas.......................................................................................5 Lecturasrecomendadas..................................................................................................5 Referencias.....................................................................................................................5
Eltrmino"ingenieradesoftware"fueusadoporprimeravezen1968enunaconferencia delaOTAN(Plfeeger,2002). Desde1968elsoftwarehapenetradoentodosloscamposdelavidahumana.Los productosdesoftwaredebenrealizarfuncionestiles,delamejormaneraposible:deben exhibirfuncionalidadycalidad. LaIngenieradeSoftwareabarcadoscampos: eldelaprcticaprofesional,paralaconstruccindesoftwarefuncionalydebuenacalidad. eldelainvestigacin,paraencontrarformasdemejorarlacalidadyproductividadde quienesloconstruyen. Lasbuenasprcticasdelaingenieradesoftwaredebenasegurarlacontribucinpositiva delsoftwarealavidahumana.
Elsoftwareresuelveunproblema.Primerodebebuscarseunasolucinalproblema.Luego, siesnecesario,sepuedeusarlatecnologadelsoftwareparaimplementaresasolucin. Asumiremosdeahoraenadelantequesehadeterminadolanecesidadyutilidadderesolver elproblemamediantelaconstruccindeunsoftware. ElAnlisisinvestigaelproblemadescomponindoloenpartesfcilesdecomprender.Un problemagrandepuededescribirseentoncescomounconjuntodeproblemaschicosylas relacionesquemantienenentres. Puedearribarsealasolucindelproblemagranderesolviendotodoslosproblemaschicos, atendiendoespecialmentealasrelacionesexistentesentreesosproblemaschicos. LaSntesiseslacomposicindeunagranestructuramediantebloquesconstructivosms
1de5
Anlisis.
Sntesis.
Unaherramientaesuninstrumentoosistemaautomatizadopararealizaralgodelamejor maneraposible. Unatcnicaeslahabilidadparaelusodelasherramientasdeunreaenparticular. Unprocedimientoesunacombinacindeherramientasytcnicasque,usadasenconjunto, dancomoresultadounproductoparticular.Unprocedimientoescomounarecetade cocina. Unparadigmarepresentaunenfoqueparticularofilosofaparalaconstruccindel software. Ejemplo:lasherramientasdecocina(cacerolas,ralladores,cuchillos,...)seempleanenla tcnicaculinaria(habilidaddeusaresasherramientasparacocinar)siguiendoun procedimiento(recetadecocina)paralograrunproducto(unplatodecomida)segnun ciertoparadigma(estiloculinario:cocinafrancesa,cocinachina).
El ingeniero de software.
La ingeniera de software.
Exitos y fracasos.
Losusuarios,estnsatisfechosconelsoftwareexistente?Syno.Loslogrosson indiscutibles,perotodoshemosododesistemasdifcilesdeusar,quenoresuelvenel problemadelusuario,que"secuelgan"oquefuncionanmal. Ejemplos,varioscitadosen[Pfleeger2002,p.79]: SperryCorporationyelIRS(recaudacindeimpuestosenUSA),"unfiascode4000 millonesdedlares",de1980a1996. Therac25,equipoderadioterapia,murieronvariospacientesporusonoprevistode teclas. SDI,proyectodedefensaestratgica(guerradelasgalaxias),requiere114000 aosdepruebasparaasegurarunaconfiabilidadde109,mnimorequeridopara aplicacionesdealtoriesgo. UncazaHarrierconfundiunradardelapolicacamineraconunblancoenemigo (1996). Laconfiabilidaddeundiscoduroandaporlos109.Cuntosdefectosseesperanenun discode80GB? Enloshechos,lamayoradelosproductosdesoftwaretienendefectos. Elcostodecorreccindeunerrorenlaetapadeanlisisesel10%delcostodecorregirlo cuandoelsoftwaresehaentregadoalcliente.
Calidad.
Lacalidaddeunproductodebemirarsealmenosdesdetresperspectivasdiferentes,cada unaconsuspropiosindicadoresdecalidad: usuarios:sihaceloquedesean,siesfcildeaprenderydeusar,siesrpido. diseadores,programadoresymantenedores:nmeroytipodefallas. contextodelaempresadondeseusa:retornodelainversin,cubrirelcosto,msla gananciaquehabradadoesedinerocolocadoenotrolado,msunacompensacin porlosriesgosasumidos. Sehanestudiadomodelospararelacionarlacalidadinterna(perspectivadelos desarrolladores)conlacalidadexterna(perspectivadelosusuarios).Relacionarlacalidad tcnica(interna)conelretornodeinversinesmsdifcil,sobretodoporlasdiferenciasde criteriosparaelclculodelretorno.Noobstante,losdesarrolladoressiempredebern,en algnmomento,enfrentarlosnivelesgerencialesyjustificarlainversin.
Participantes.
Enlaingenieradelsoftwareparticipan:
3de5
Sistema.
Unsistemaesunconjuntodeobjetosyactividades,msunadescripcindelasrelacionesque mantienenunidoslosobjetosylasactividades.Cadaactividadsedescribeporunalistadelas entradasrecibidas,lasaccionesrealizadasylassalidasproducidas. Ladescripcindeunsistemarequiere:
identificarsuspartes,asignarlesnombre. identificarlasrelacionesentrelaspartes.
Paradescribirunsistemasedebe: 1. Distinguirobjetosyactividades. Unaactividadesalgoquesucedeenelsistema,uneventoiniciadoporundisparadorque transformaunacosaenotra,cambiandoalgunacaracterstica. Unobjetooentidadesunelementoinvolucradoenunaactividad.Losobjetosoentidades suelenestarrelacionadosentresdealgunamanera.Eneldesarrolloorientadoaobjetoslos objetossedefinencomoentidadesindependientes,concaractersticasyaccionespropiasde eseobjeto. 2. Identificarrelaciones. Definirlasrelacionesentreentidadesyactividades:quentidadesreciben,produceno modificanalgoenelsistema(realizanactividades),quactividadesafectanunaentidad.La definicindeunaentidadincluyesuorigen(externoocreadaporunaactividad)ysu destinofinal(otraactividadosalidadelsistema). 3. Identificarloslmites. Elsistematieneunlmiteofrontera;hayentidadesqueingresanalsistemadesdeelexterior yotrasquesalendelsistemahaciaelexterior. Redefinicindesistema.Unsistemaesunconjuntodeentidades,unconjuntodeactividades,una descripcindelasrelacionesentreentidadesyactividadesyunadeterminacindellmitedel sistema.Ladescripcindeestasentidades,actividades,relacionesylmitesconstituyenlos requerimientosdelsistema:explicitandemaneraestructuradaloqueelsistemadebehacer.
Subsistemas.
Construccin de un sistema:
1. Anlisisydefinicinderequerimientos:descripcindelasentidades,actividades,relacionesy lmitesdelsistema. 2. Diseodelsistema:descripcinanteelclientedelaaparienciayfuncionalidad,laforma comoelclienteinteractaconelsistema.Escritoenellenguajedelcliente,sujetoasu aprobacin. 3. Construccindelosprogramas.Incluye
4de5
escrituradelosprogramas:escribirelcdigo. pruebaunitariaopruebademdulos:pruebadecadaprogramacomopieza individualdecdigo. pruebadeintegracin:pruebaconjuntadevariosprogramasyaprobados unitariamente. pruebadelsistema:comprobacindefuncionalidadeseinteracciones;usuarios, clientesydesarrolladorescomparanelsistemadesarrolladoconlosrequerimientos originales. 4. Entregadelsistema:instalacin,configuracin. 5. Mantenimiento: correccionesdemalfuncionamiento; atencindecambiosenlosrequerimientos.
Lecturas recomendadas.
Referencias.
5de5