21

Int ing-sw-navarrete-gpo2-activid4

Embed Size (px)

Citation preview

UnidadUnidad 11INTRODUCCIÓN ALA INGENIERÍA DE

SOFTWARE

1.1 Ingeniería de Software

1.1.11.1.1 ImportanciaImportancia deldel SoftwareSoftware

1.2 Historia de la Ingeniería deSoftware

1.2.11.2.1 Antecedentes:Antecedentes: GénesisGénesis yyEvoluciónEvolución

1.2.21.2.2 SistemasSistemas OperativosOperativos yyProgramasProgramas

1.31.3 ProblemasProblemas deldel SoftwareSoftware

1.3.11.3.1 LaLa PlanificaciónPlanificación yy LaLaEstimaciónEstimación dede CostesCostes ImprecisasImprecisas

1.3.21.3.2 LaLa productividadproductividad eses bajabaja

1.3.31.3.3 LaLa CalidadCalidad eses MalaMala

1.3.41.3.4 ElEl clientecliente quedaqueda insatisfechoinsatisfecho

1.41.4 MetasMetas dede lala IngenieríaIngeniería dedeSoftwareSoftware

1.51.5 MitosMitos deldel SoftwareSoftware

1.61.6 ParadigmasParadigmas dede lala IngenieríaIngeniería dedeSoftwareSoftware

INTRODUCCIÓNINTRODUCCIÓN AA LALA INGENIERÍAINGENIERÍADEDE SOFTWARESOFTWARE

1.11.1 ImportanciaImportancia dede lala IngenieríaIngeniería dede SoftwareSoftwareLaLa economíaeconomía dede todostodos loslos paísespaíses dependedepende deldel software,software, representandorepresentando cadacada vezvez unun mayormayorporcentajeporcentaje enen susu PIB.PIB. CadaCada vezvez sonson másmás loslos sistemassistemas controladoscontrolados porpor software.software.

1.1.1 Importancia del Software•• DuranteDurante laslas trestres primerasprimeras décadasdécadas dede lala informática,informática, elel principalprincipal desafiódesafió eraera elel desarrollodesarrollo deldelhardwarehardware dede laslas computadoras,computadoras, dede formaforma queque sese redujeraredujera elel costecoste dede procesamientoprocesamiento yyalmacenamientoalmacenamiento dede datos.datos.•• AA lolo largolargo dede lala décadadécada dede loslos 80’s,80’s, loslos avancesavances enen micromicro técnicatécnica hanhan dadodado comocomo resultadoresultado unaunamayormayor potenciapotencia dede cálculocálculo aa lala vezvez queque unauna reducciónreducción deldel coste.coste.•• LaLa potenciapotencia dede laslas grandesgrandes computadorascomputadoras dede lala eraera dede loslos 80’280’2 estáestá hoyhoy disponibledisponible enen unauna enen unaunacomputadoracomputadora personal.personal. LasLas enormesenormes capacidadescapacidades dede procesamientoprocesamiento yy almacenamientoalmacenamiento deldelhardwarehardware modernomoderno representanrepresentan unun grangran potencialpotencial dede cálculo.cálculo.•• EnEn loslos iniciosinicios deldel software,software, cuandocuando loslos hackershackers originalesoriginales empezaronempezaron aa crearcrear programas,programas, todotodo eraeralibrelibre yy compartido.compartido. CadaCada programadorprogramador presentabapresentaba sussus códigoscódigos alal restoresto dede lala gente,gente, yy todostodos podíanpodíanmirarlo,mirarlo, modificarlomodificarlo yy presentarpresentar mejoras.mejoras.

1.2 Historia de La Ingeniería de Software•El•El softwaresoftware eses unouno dede loslos productosproductos dede lala ingenieríaingeniería queque másmás haha evolucionadoevolucionado enen muymuy pocopoco tiempo,tiempo,pasandopasando deldel softwaresoftware empíricoempírico oo artesanalartesanal hastahasta llegarllegar alal softwaresoftware desarrolladodesarrollado bajobajo loslos principiosprincipios yyherramientasherramientas dede lala ingenieríaingeniería dede software.software. LasLas personaspersonas encargadasencargadas dede lala elaboraciónelaboración dede softwaresoftware sesehanhan enfrentadoenfrentado aa loslos siguientessiguientes problemas:problemas:AA lala exigenciaexigencia cadacada vezvez mayormayor enen lala capacidadcapacidad dede resultadosresultados deldel software.software.AA lala carenciacarencia dede herramientasherramientas adecuadasadecuadas yy estándaresestándares dede tipotipo organizacionalorganizacional encaminadosencaminados alalmejoramientomejoramiento dede loslos procesosprocesos enen elel desarrollodesarrollo dede software.software.•Una•Una necesidadnecesidad eses elel hechohecho dede queque loslos productosproductos dede softwaresoftware debendeben serser desarrolladosdesarrollados concon basebase enen lalaimplantaciónimplantación dede estándaresestándares mundiales,mundiales, modelos,modelos, sistemassistemas métricos,métricos, capacitacióncapacitación deldel recursorecurso humanohumanoyy otrosotros principiosprincipios queque garanticengaranticen lala producciónproducción dede softwaresoftware dede calidadcalidad yy competitividadcompetitividad aa nivelnivel locallocal eeinternacional.internacional.1.2.1 Antecedentes: Génesis y Evolución•La•La cantidadcantidad yy complejidadcomplejidad dede loslos productosproductos dede softwaresoftware incrementanincrementan considerablemente.considerablemente.•La•La exigenciaexigencia enen susu funcionabilidadfuncionabilidad yy confiabilidadconfiabilidad tambiéntambién aumentan.aumentan.•Conforme•Conforme sese incrementaincrementa lala tecnologíatecnología dede laslas computadoras,computadoras, crececrece lala demandademanda dede loslos productosproductos deldelsoftware,software, peropero másmás lentamente,lentamente, enen 19901990 sese decíadecía queque laslas posibilidadesposibilidades dede softwaresoftware estabanestabanretrasadasretrasadas respectorespecto aa laslas deldel hardwarehardware enen unun mínimomínimo dede dosdos generacionesgeneraciones dede procesadores.procesadores.

1.2.2 Sistemas Operativos y ProgramasUnUn programaprograma eses unun grupogrupo dede instruccionesinstrucciones destinadasdestinadas aa cumplircumplir unauna tareatarea enen particular.particular. ElElsoftwaresoftware sese clasificaclasifica enen trestres grupos:grupos:a)a) SistemasSistemas operativosoperativosb)b) LenguajesLenguajes dede programaciónprogramaciónc)c) AplicacionesAplicacionesLenguajesLenguajes dede bajobajo nivel:nivel: tienentienen pocopoco poderpoder dede expresión,expresión, peropero grangran facilidadfacilidad dedetraducción.traducción. LenguajesLenguajes dede nivelnivel medio:medio: tienetiene másmás poderpoder dede expresiónexpresión queque loslos dede bajobajo nivel.nivel.LenguajesLenguajes dede altoalto nivel:nivel: sonson lenguajeslenguajes dede altoalto poderpoder dede expresión,expresión, peropero dede difícildifíciltraducción.traducción.1.3 Problemas de SoftwareCrisis:Crisis: estadoestado pasajeropasajero dede inestabilidad,inestabilidad, queque tienetiene comocomo resultadoresultado unun cambiocambio dede estadoestadodeldel sistemasistema oo unauna vueltavuelta alal estadoestado inicial,inicial, enen casocaso dede queque sese tomentomen laslas medidasmedidas paraparasuperarla.superarla. LosLos problemasproblemas sonson causadoscausados porpor laslas característicascaracterísticas deldel softwaresoftware yy loslos erroreserrorescometidoscometidos porpor quienesquienes intervienenintervienen enen susu producción.producción. LosLos principalesprincipales problemasproblemas son:son:•La•La planificaciónplanificación yy lala estimaciónestimación dede costescostes sonson muymuy imprecisasimprecisas•La•La productividadproductividad eses bajabaja•La•La calidadcalidad eses malamala•El•El clientecliente quedaqueda insatisfechoinsatisfecho

1.3.1 La planificación y la estimación de costes son muy imprecisasAA lala horahora dede abordarabordar unun proyectoproyecto dede unauna ciertacierta complejidad,complejidad, eses frecuentefrecuente queque surjansurjanimprevistosimprevistos queque nono estabanestaban recogidosrecogidos enen lala planificaciónplanificación inicial,inicial, yy comocomo consecuenciaconsecuencia dedeestosestos imprevistosimprevistos sese produciráproducirá unauna desviacióndesviación enen loslos costescostes deldel proyecto.proyecto. EntreEntre laslascausascausas dede esteeste problemaproblema están:están:NoNo sese recogenrecogen datosdatos sobresobre elel desarrollodesarrollo dede proyectosproyectos anteriores.anteriores.LosLos gestoresgestores dede loslos proyectosproyectos nono estánestán especializadosespecializados enen lala producciónproducción dede software.software.1.3.2 La productividad es baja•Los•Los proyectosproyectos softwaresoftware tiene,tiene, unauna duraciónduración muchomucho mayormayor aa lala esperada.esperada. ComoComoconsecuenciaconsecuencia loslos costescostes sese disparandisparan yy lala productividadproductividad yy loslos beneficiosbeneficios disminuyen.disminuyen. UnUnfactorfactor queque influyeinfluye enen estoesto eses lala faltafalta dede unosunos propósitospropósitos clarosclaros oo realistasrealistas aa lala horahora dedecomenzarcomenzar elel proyecto.proyecto.•La•La mayoríamayoría deldel softwaresoftware sese desarrolladesarrolla aa partirpartir dede especificacionesespecificaciones ambiguasambiguas ooincorrectas,incorrectas, yy nono existeexiste comunicacióncomunicación concon elel clientecliente hastahasta lala entregaentrega deldel producto.producto. PorPor loloconsiguienteconsiguiente sonson muymuy frecuentesfrecuentes laslas modificacionesmodificaciones dede laslas especificacionesespecificaciones sobresobre lalamarchamarcha oo aa últimaúltima hora,hora, despuésdespués dede lala entregaentrega alal cliente.cliente.•No•No sese realizarealiza unun estudioestudio detalladodetallado deldel impactoimpacto dede estosestos cambioscambios yy lala complejidadcomplejidad internainternadede laslas aplicacionesaplicaciones crececrece hastahasta queque sese hacenhacen virtualmentevirtualmente imposiblesimposibles dede mantenermantener yycadacada nuevanueva modificación,modificación, eses másmás costosacostosa yy puedepuede provocarprovocar elel fallofallo dede todotodo sistema.sistema.

1.3.3 La Calidad es MalaComoComo consecuenciaconsecuencia dede queque laslas especificacionesespecificaciones sonson ambiguasambiguas oo inclusoincluso incorrectas,incorrectas, yydede queque nono sese realizanrealizan pruebaspruebas exhaustivas,exhaustivas, elel softwaresoftware contienecontiene numerososnumerosos erroreserrorescuandocuando sese entregaentrega alal cliente.cliente.1.3.4 El cliente queda InsatisfechoDebidoDebido alal pocopoco tiempotiempo ee interésinterés queque sese dedicandedican alal análisisanálisis dede requisitosrequisitos yy aa lalaespecificaciónespecificación deldel proyecto,proyecto, aa lala faltafalta dede comunicacióncomunicación durantedurante elel desarrollodesarrollo aa lalaexistenciaexistencia dede numerososnumerosos erroreserrores enen elel productoproducto queque sese entrega,entrega, loslos clientesclientes suelensuelenquedarquedar muymuy pocopoco satisfechossatisfechos dede loslos resultados.resultados.1.4 Metas de la Ingeniería de Software•• MejorarMejorar lala calidadcalidad dede loslos productosproductos dede programaciónprogramación queque sonson desarrolladosdesarrollados yymodificadosmodificados aa tiempotiempo yy dentrodentro dede unun presupuestopresupuesto definido.definido.•• AumentarAumentar lala productividadproductividad•• AumentarAumentar lala satisfacciónsatisfacción profesionalprofesional dede loslos ingenierosingenieros dede estaesta disciplinadisciplina

1.51.5 MitosMitos deldel SoftwareSoftwareMuchasMuchas dede laslas causascausas dede lala crisiscrisis deldel softwaresoftware sese puedenpueden encontrarencontrar enen unauna mitologíamitología quequesurgesurge durantedurante loslos primerosprimeros añosaños deldel desarrollodesarrollo deldel software.software. LosLos mitosmitos deldel softwaresoftwarepropagaronpropagaron informacióninformación erróneaerrónea yy confusión.confusión.1.61.6 ParadigmasParadigmas dede lala IngenieríaIngeniería dede SoftwareSoftwareUnUn paradigmaparadigma eses unun ejemploejemplo oo unun modelomodelo queque utilizautiliza lala ingenieríaingeniería parapara elel desarrollodesarrollo dede ununsoftwaresoftware oo proyecto.proyecto. ReconocerReconocer loslos problemas,problemas, causascausas yy demolerdemoler loslos mitosmitos deldel softwaresoftwaresonson loslos primerosprimeros pasospasos aa solucionar.solucionar. PeroPero laslas propiaspropias solucionessoluciones tienentienen queque proporcionarproporcionarasistenciaasistencia practicapractica aa lala personapersona queque desarrolladesarrolla unun software,software, mejorarmejorar lala calidadcalidad deldelsoftware,software, porpor ultimoultimo permitirpermitir alal mundomundo deldel softwaresoftware mantenersemantenerse enen pazpaz concon elel mundomundo deldelhardware.hardware. TiposTipos dede paradigmas:paradigmas:a)a) ModeloModelo cascadacascadab)b) ModeloModelo prototipoprototipoc)c) ModeloModelo espiralespirald)d) TécnicasTécnicas dede 4ta4ta generacióngeneración