Ciclo de Vida de un Software.pdf

NikoleVelozoRamrez 222 views 14 slides Apr 10, 2022
Slide 1
Slide 1 of 14
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14

About This Presentation

En esta pdf conoceremos las etapas que forman parte del ciclo de vida de un software.


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.

Diseño
Enestafaseseestudianposiblesopcionesdeimplementaciónparaelsoftwarequehayqueconstruir,asícomo
decidirlaestructurageneraldelmismo.Eldiseñoesunaetapacomplejaysuprocesodeberealizarsede
maneraiterativa.
Esposiblequelasolucióninicialnosealamásadecuada,porloqueentalcasohayquerefinarla.Noobstante,
haycatálogosdepatronesdediseñomuyútilesquerecogenerroresqueotroshancometidoparanocaerenla
mismatrampa.
Implementación
Enestafasehayqueelegirlasherramientasadecuadas,unentornodedesarrolloquefaciliteeltrabajoyunlenguajede
programaciónapropiadoparaeltipodesoftwareaconstruir.Estaeleccióndependerátantodelasdecisionesdediseño
tomadascomodelentornoenelqueelsoftwaredebafuncionar.

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 .

Pruebas
Comoerrareshumano,lafasedepruebasdelciclodevidadelsoftwarebuscadetectarlosfallos
cometidosenlasetapasanterioresparacorregirlos.Porsupuesto,loidealeshacerloantesde
queelusuariofinalselosencuentre.Sedicequeunapruebaesunéxitosisedetectaalgúnerror.
Instalación o despliegue
Lasiguientefaseesponerelsoftwareenfuncionamiento,porloquehayqueplanificarel
entornoteniendoencuentalasdependenciasexistentesentrelosdiferentescomponentesdel
mismo.
Esposiblequehayacomponentesquefuncionencorrectamenteporseparado,peroqueal
combinarlosprovoquenproblemas.Porello,hayqueusarcombinacionesconocidasqueno
causenproblemasdecompatibilidad.

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.

ESQUEMA:
Ciclo de Vida de un Software

Gracias