En esta pdf conoceremos las etapas que forman parte del ciclo de vida de un software.
Size: 630.25 KB
Language: es
Added: Apr 10, 2022
Slides: 14 pages
Slide Content
CiclodeVidade
unSoftware
Qué es el ciclo de vida del Software
Elciclodevidadeldesarrollodelsoftware(tambiénconocidocomo
SDLCoSystemsDevelopmentLifeCycle)contemplalasfases
necesariasparavalidareldesarrollodelsoftwareyasígarantizarque
estecumplalosrequisitosparalaaplicaciónyverificacióndelos
procedimientosdedesarrollo,asegurándosedequelosmétodosusados
sonapropiados.
Suorigenradicaenqueesmuycostosorectificarlosposibleserrores
quesedetectantardeenlafasedeimplementación.Utilizando
metodologíasapropiadas,sepodríadetectaratiempoparaquelos
programadorespuedancentrarseenlacalidaddelsoftware,cumpliendo
losplazosyloscostesasociados.
Aunqueexistendiferentesciclosdedesarrollodesoftware,la
normativaISO/IEC/IEEE12207:2017establece:
“Unmarcocomúnparalosprocesosdelciclodevidadelosprogramas
informáticos,conunaterminologíabiendefinida,alaquepuedaremitirse
laindustriadelsoftware.Contieneprocesos,actividadesytareas
aplicablesdurantelaadquisición,elsuministro,eldesarrollo,el
funcionamiento,elmantenimientoolaeliminacióndesistemas,
productosyserviciosinformáticos.Estosprocesosdelciclodevidase
llevanacabomediantelaparticipacióndelosinteresados,conel
objetivofinaldelograrlasatisfaccióndelcliente”.
Fases de desarrollo de software
Lametodologíaparaeldesarrollodesoftwareesunmodosistemáticoderealizar,gestionaryadministrarunproyecto
parallevarloacabocongrandesposibilidadesdeéxito.Estasistematizaciónindicacómosedivideunproyectoen
módulosmáspequeñosparanormalizarcómoseadministraelmismo.
Así,unametodologíaparaeldesarrollodesoftwaresonlosprocesosaseguirsistemáticamenteparaidear,
implementarymantenerunproductodesoftwaredesdequesurgelanecesidaddelproductohastaquesecumpleel
objetivoporelcualfuecreado.
De esta forma, las etapas del
desarrollo de software son
las siguientes:
Planificación
Antesdeempezarunproyectodedesarrollodeunsistemade
información,esnecesariohacerciertastareasqueinfluirán
decisivamenteeneléxitodelmismo.Dichastareassonconocidascomo
elfuzzyfront-enddelproyecto,puestoquenoestánsujetasaplazos.
Algunasdelastareasdeestafaseincluyenactividadescomola
determinacióndelámbitodelproyecto,larealizacióndeunestudiode
viabilidad,elanálisisdelosriesgosasociados,laestimacióndelcoste
delproyecto,suplanificacióntemporalylaasignaciónderecursosalas
diferentesetapasdelproyecto.
Al programar, hay que intentar que el
código no sea indescifrable
siguiendo distintas pautas
como las siguientes:
•EVITARBLOQUESDECONTROLNOESTRUCTURADOS .
•IDENTIFICARCORRECTAMENTE LASVARIABLESYSUALCANCE.
•ELEGIRALGORITMOSYESTRUCTURAS DEDATOSADECUADAS PARA
ELPROBLEMA.
•MANTENER LALÓGICADELAAPLICACIÓNLOMÁSSENCILLA
POSIBLE.
•DOCUMENTAR YCOMENTAR ADECUADAMENTE ELCÓDIGODELOS
PROGRAMAS.
•FACILITARLAINTERPRETACIÓN VISUALDELCÓDIGOUTILIZANDO
REGLASDEFORMATODECÓDIGOPREVIAMENTE CONSENSUADAS
ENELEQUIPODEDESARROLLO.
TAMBIÉNHAYQUETENERENCUENTALAADQUISICIÓN DE
RECURSOS NECESARIOS PARAQUEELSOFTWARE FUNCIONE,
ADEMÁSDEDESARROLLAR CASOSDEPRUEBAPARACOMPROBAR
ELFUNCIONAMIENTO DELMISMOSEGÚNSEVAYAPROGRAMANDO .
Uso y mantenimiento
Estaesunadelasfasesmásimportantesdelciclodevidadedesarrollodel
software.Puestoqueelsoftwareniserompenisedesgastaconeluso,su
mantenimientoincluyetrespuntosdiferenciados:
•Eliminarlosdefectosdetectadosdurantesuvidaútil(mantenimiento
correctivo).
•Adaptarloanuevasnecesidades(mantenimientoadaptativo).
•Añadirlenuevasfuncionalidades(mantenimientoperfectivo).
Aunquesuenecontradictorio,cuantomejoreselsoftwaremástiempohay
queinvertirensumantenimiento.Laprincipalrazónesqueseusarámás
(inclusodeformasquenosehabíanprevisto)y,porende,habrámás
propuestasdemejoras.
Modelos de ciclos de vida del software
Conelfindefacilitarunametodologíacomúnentreelclienteylacompañíadesoftware,losmodelosdeciclodevida
(oparadigmasdedesarrollodesoftwarecomolaprogramaciónorientadaaobjetos)sehanactualizadoparaplasmarlas
etapasdedesarrolloinvolucradasyladocumentaciónnecesaria,deformaquecadafasesevalideantesdecontinuarcon
lasiguiente.
Modelo en cascada
Enelmodelodeciclodevidaencascadalasfasesanterioresfuncionarán
unadetrásdelaotrademaneralineal.Deestemodo,solocuandounafase
terminesepodrácontinuarconlasiguiente,yasíprogresivamente.
Modelorepetitivo
Estemodeloguíaelprocesodedesarrollodesoftwareenrepeticiones.Así,
proyectaelprocesodedesarrollodemodocíclicorepitiendocadapaso
despuésdecadacicloenelprocesodeciclodevidadelsoftware.
Modeloenespiral
Elmodeloenespiralesunacombinacióndelosmodelosanterioresdondesetieneencuentaelriesgo.Deestaforma,
secomienzafijandolosobjetivosylaslimitacionesalempezarcadarepetición.Enlaetapasiguientesecreanlos
modelosdeprototipodelsoftware,queincluyeelanálisisderiesgo.Posteriormenteseusaunmodeloestándarpara
construirelsoftwareyfinalmentesepreparaelplandelapróximarepetición.
Modelo en V
Unodelosgrandesproblemasdelmodeloencascadaesquesolosepasaalasiguientefasesisecompletala
anteriorynosepuedevolveratrássihayerroresenetapasposteriores.Así,elmodeloenVdamásopcionesde
evaluacióndelsoftwareencadaetapa.
Modelo Big Bang
Probablementeesteseaelmodelomássimple,yaque
necesitapocaplanificación,muchaprogramacióny
muchosfondos.Estemodelotienecomoconcepto
principallacreacióndeluniverso;así,sisereúnen
fondosyprogramación,seconsigueelmejorproducto
desoftware.