SlideShare una empresa de Scribd logo
1 de 12
Instituto de educación superior tecnológico publico Túpac Amaru
cusco
Tema:
Docente:
 Roque Mamani, Ángel Mario
Alumnos:
 Ambur Quispe, Yessenia Frine
 Armuto Mamani, Hulderico
 Baez Cruz, Raul
Cusco…Perú
Presentación
METODOLOGÍADE DESARROLLO DE SOFTWARE
Introducción
En el presente monografía se explica muy brevemente los aspectos queinvolucra el proceso
de desarrollo de software y la metodología
INGENIERÍADELSOFTWARE
Eldesarrollodesistemasdesoftwarecomplejosnoesuna actividad trivial, que
puedaabordarsesin un análisisprevio. Elconsiderarque un proyectode desarrollode softwarepodía
abordarsecomo cualquierotro,hallevado auna serie deproblemasque limitan
nuestracapacidaddeaprovechar losrecursosqueelhardware pone anuestradisposición.
Noexiste una fórmula mágicapara solucionarestosproblemas,pero com-
binandométodosaplicablesacadauna de las fasesdeldesarrollode software, construyendo
herramientaspara automatizarestosmétodos,utilizando técnicaspara garantizarlacalidad de
losproductosdesarrolladosycoordinandotodaslaspersonasinvolucradaseneldesarrollode
unproyecto,podremosavanzarmucho enlasolución deestos.Deelloseencargaladisciplina
llamadaIngeniería delSoftware.
lasiguiente:
Unadelasprimerasdefinicionesque sediodelaingenieríadelsoftwarees
Elestablecimientoyuso de principios de ingeniería robustos,orientados a
obtenersoftware económico,que sea fiableyfuncionedemaneraeficiente sobre
máquinas reales.
Laingenieríadelsoftwareabarcaunconjunto detres elementosclave: mé- todos,
herramientasyprocedimientos,que facilitanalgestorelcontrolelprocesodedesarrollo
ysuministranalosdesarrolladoresbasespara construir de forma productiva softwarede alta calidad.
Los métodosindican cómo construir técnicamenteelsoftware,yabarcan una
amplia serie de tareasque incluyen laplanificación yestimaciónde proyectos,elanálisis de
requisitos,eldiseñode estructurasde datos,programasyprocedimientos,lacodificación, las
pruebasyelmantenimiento.Losmétodosintroducenfrecuentementeuna notaciónespecí- ficapara
latareaencuestión yunaserie decriteriosdecalidad.
Las herramientasproporcionanun soporteautomáticoo semiautomático para
utilizarlosmétodos.Existen herramientasautomatizadaspara cadauna de las fasesvis- tas
anteriormente,ysistemasque integranlas herramientasdecadafase deforma que sirven para
todoelprocesodedesarrollo.EstasherramientassedenominanCASE(ComputerAssis-
tedSoftwareEngineering).
Losprocedimientosdefinen lasecuenciaen que seaplican losmétodos,
losdocumentosque serequieren,loscontrolesque permitenasegurarlacalidad ylasdirectrices
quepermitenalosgestoresevaluarlosprogresos.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Se puededefinirmétodocomo laordenaciónyexplicitación formalde los mediosque
conduceneficazmente allogrodeunobjetivopredeterminadoódeuna tareacon- creta.
Apartirdeestadefinición, sepuededecirque una metodologíaeselcon- juntodemétodosque
seusanenuna determinadaactividad conelfindeformalizarla yoptimizarla.
Las Metodologías de Desarrollo de Software surgen ante la necesidad de utilizar una serie de procedimientos,
técnicas, herramientas y soporte documental a la hora de desarrollar un producto software.
Dichas metodologías pretenden guiar a los desarrolladores al crear un nuevo software, pero los requisitos de un
software a otro son tan variados y cambiantes, que ha dado lugar a que exista una gran variedad de
metodologías para la creación del software.
Conjunto de métodos, de reglas, que por una parte sirven de guía para realizar los trabajos que van dando
forma a los desarrollos y que por otra obligan a la dirección del proyecto y a los componentes de los equipos a
realizar ciertas comprobaciones sistemáticas de modo que el resultado final, al menos desde un punto de vista
formal, no presente incoherencias y esté dirigido a un objetivo claro y prefijado
Es conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de unproducto (el
software), son también los pasos generales que sigue el proceso de desarrollo de unproducto software Las
metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y ayudas a
ladocumentación para el desarrollo de productos software
Una metodología está compuesta por:
Cómo dividir un proyecto en etapas.
Qué tareas se llevan a cabo en cada etapa.
Qué restricciones deben aplicarse.
Qué técnicas y herramientas se emplean.
Cómo se controla y gestiona un proyecto
CLASIFICACIÒN DE DESARROLLO DE SOFTWARE
Las metodologías se clasifican de la siguiente forma:
 Estructuradas.
Orientadas a procesos
Orientadas a datos
Mixtas
 No estructuradas.
Orientadas a objetos
Sistemas de tiempo real
METODOLOGÍAS ESTRUCTURADAS
Se basan en la forma top-Down
-Metodologías orientadas a procesos
La ingeniería del software se basa en el modelo básico de entrada/proceso/salida de un sistema.
Está compuesta por:
Diagrama de flujo de datos (DFD).
Diccionario de datos.
Especificaciones de proceso.
Ejemplos: metodologías de DeMarco, Gene y Sarson, Yourdon.
-Metodologías orientadas a datos
Son metodologías basadas en la información. Primero se definen las estructuras de datos y, a partir de éstos, se
derivan los componentes procedimentales.
Ejemplos: metodologías de Jackson, Warnier, Warnier-Orr.
METODOLOGÍAS NO ESTRUCTURADAS
-Metodologías orientadas a objeto
La orientación a objetos unifica procesos y datos encapsulándolos en el concepto de objetos.
Tiene dos enfoques distintos:
Revolucionario, puro u ortodoxo. Rompen con las metodologías tradicionales.
Ejemplos: metodologías OOD de Booch, CRC/RDD de Wirfs-Brock.
Sintetista o evolutivo. Toman como base los sistemas estructurados y conforman elementos de uno y
otro tipo.
Ejemplos: metodología OMT de Rumbourgh.
-Sistemas de tiempo real
Procesan información orientada al control más que a los datos.
Se caracterizan por concurrencia, priorización de procesos, comunicación entre tareas y acceso simultáneo a
datos comunes.
CARACTERISTICAS DE UNA METODOLOGIA DE DESARROLLO DE SOFTWARE
☺ Existencia de reglas predefinidas
☺ Cobertura total del ciclo de desarrollo
☺ Verificaciones intermedias
☺ Planificación y control
☺ Comunicación efectiva
☺ Utilización sobre un abanico amplio de proyectos
☺ Fácil formación
☺ Herramientas CASE
☺ Actividades que mejoren el proceso de desarrollo
☺ Soporte al mantenimiento
☺ Soporte de la reutilización de software
Forma disciplinada de asignar tareas y responsabilidades (quién hace
qué, cuándo y cómo)
Pretende implementar las mejores prácticas en Ingeniería de
Software
Desarrollo iterativo
Administración de requisitos
Uso de arquitectura basada en componentes
Control de cambios
Modelado visual del software
Verificación de la calidad del software
A su vez la misma se caracteriza por ser iterativo e incremental, estar
centrado en la arquitectura y guiado por los casos de uso.
OBJETIVOS DE LA METODOLOGIAS DE SOFTWARE
Lograr la construcción de un sistema informático eficiente,
que cumpla con los requerimientos planteados, es una tarea realmente intensa y sobre todo difícil
de cumplir.
Imponer un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más
predecible y eficiente.
como principal objetivo aumentar la calidad del software que se produce en todas y cada una de sus
fases de desarrollo.
Mejores Aplicaciones
Un mejor Proceso de Desarrollo que identifique salidas (o
productos intermedios) de cada fase de forma que se pueda
planificar y controlar el proyecto
METODOLOGIAS DE DESARROLLO DE SOFTWARE TRADICIONALES
Estas metodologías tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo del software,
con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la planificación total de todo el
trabajo a realizar y una vez que está todo detallado, comienza el ciclo de desarrollo del producto software. Se
centran especialmente en el control del proceso, mediante una rigurosa definición de roles, actividades,
artefactos, herramientas y notaciones para el modelado y documentación detallada. Además, las metodologías
tradicionales no se adaptan adecuadamente a los cambios, por lo que no son métodos adecuados cuando se
trabaja en un entorno, donde los requisitos no pueden predecirse o bien pueden variar.
Entre las metodologías tradicionales podemos citar:
• RUP (Rational Unified Procces)
• MSF (Microsoft Solution Framework)
• Win-WinSpiralModel
• Iconix
Las necesidades de un cliente pueden sufrir cambios importantes del momento de contratación de un software
al momento de su entrega; y es mucho más importante satisfacer estas últimas que las primeras. Esto requiere
procesos de software diferentes que en lugar de rechazar los cambios sean capaces de incorporarlos.
METODOLOGIAS DE DESARROLLO DE SOFTWARE ÀGILES
Las metodologías ágiles proporcionan una serie de pautas y principios junto a técnicas pragmáticas que puede
que no curen todos los males pero harán la entrega del proyecto menos complicada y más satisfactoria tanto
para los clientes como para los equipos de entrega. En la figura 1 se muestran los principios que rigen el
desarrollo ágil.
Entre las metodologías ágiles más destacadas hasta el momento se pueden nombrar:
• XP (Extreme Programming)
• Scrum
• Crystal Clear
• DSDM (Dynamic Systems Developmemt Method)
• FDD (Feature Driven Development)
• ASD (Adaptive Software Development)
• XBreed
• Extreme Modeling
Ciclo devidadeldesarrollosoftware
Todo proyectode ingenieríatiene unos fines ligados a laobtenciónde un producto,
procesooservicio que esnecesariogeneraratravés dediversasactividades.Algunas deestas
actividadespuedenagruparseenfasesporqueglobalmentecontribuyenaobtenerunproducto
intermedio,necesariopara continuarhacia elproductofinalyfacilitarlagestión delproyecto.
Alconjunto delasfasesempleadasseledenomina“ciclodevida”.
Sinembargo,laforma de agruparlas actividades,losobjetivos de cadafase, lostipos
deproductosintermediosque segeneran,etc.Puedenser muydiferentesdependiendodeltipo
deproductooprocesoagenerarydelastecnologías empleadas.
Lacomplejidaddelasrelacionesentre lasdistintasactividades creceexponencialmente con
eltamaño,con loque rápidamenteseharía inabordablesinofuera porlaviejatáctica de
“divideyvencerás”.Deestaformaladivisióndelosproyectosenfasessucesivasesunprimer pasopara
lareduccióndesucomplejidad,tratándosedeescogerlaspartesdemaneraquesus relaciones entre
síseanlomás simples posibles.
Ladefinicióndeunciclodevidafacilitaelcontrolsobrelos tiemposenque esnece-
sarioaplicarrecursosdetodotipo(personal,equipos,suministros,etc.)alproyecto.
Elcontroldecalidadtambiénsevefacilitadosilaseparaciónentre fasessehaceco-
rrespondercon puntosen los que éstadebaverificarse(mediantecomprobacionessobrelos
productos parcialesobtenidos).
Por ciclodevidareferido aldesarrollosoftware,seentiendelasucesióndeetapaspor
lasquepasaelsoftwaredesdequeunnuevo proyectoesconcebidohastaquesedejadeusar.
Cadauna de estasetapasllevaasociadauna seriede tareasque debenrealizarse,y una serie
de documentos(en sentidoamplio: software)que seránlasalida de cadauna de
estasfasesyservirándeentradaenlafase siguiente.
Existen diversostipos de ciclode vida,esdecir, diversasformas de verelprocesode
desarrollode software,ycadauno de ellos va asociadoa un paradigmade laingenieríadel
software,esdecir,aunaserie demétodos,herramientasyprocedimientosquedebemosusar a
lolargodeunproyecto.
Laeleccióndeunparadigmauotroserealizadeacuerdoconlanaturalezadelproyectoydelaaplicaci
ón,losmétodosausar yloscontrolesyentregasrequeridos.
Ingenieríayanálisisdelsistema
Elsoftwareessiempreparte deunsistemamayor, porloque siemprevaainterrelacio- narsecon
otros elementos,yaseahardware,máquinasopersonas.Por esto, elprimer paso del ciclode vida de un
proyectoconsisteen un análisisde las característicasyelcomporta-
mientodelsistemadelcualelsoftwarevaaformarparte. Enelcasodequequeramosconstruir
unsistemanuevo, porejemplo unsistemadecontrol,deberemosanalizarcuálesson losrequi-
sitosylafuncióndelsistema,yluego seasignaránunsubconjuntode estosrequisitosalsoft- ware. En el
casode un sistema ya existente (supongamos, por ejemplo, que queremos informatizar una
empresa)sedebeanalizarelfuncionamientode lamisma −las operaciones que sellevan a cabo en
ella−, yasignaremosal softwareaquellas funcionesque vamosa automatizar.
Laingenieríadelsistemacomprende,portanto, losrequisitosglobalesaniveldelsis-tema,así
como una cierta cantidaddeanálisisydediseñoanivelsuperior,esdecirsinentrar enmucho detalle.
Análisisderequisitosdelsoftware
Elanálisisde requisitosdebeser más detalladopara aquelloscomponentesdelsiste- maque
vamosaimplementarmediantesoftware.Elingenierodelsoftware debecomprender cuálesson
losdatosque sevan amanejar,cuál vaaser lafunción que tiene que cumplirel software,cuálesson
lasinterfaces requeridosycuáleselrendimientoqueseesperalograr.
Los requisitos,tanto del sistemacomo del softwaredebendocumentarseyrevisarse
conelcliente.
Diseño
Eldiseñoseaplica acuatro característicasdistintasdelsoftware:laestructurade los
datos,laarquitecturade las aplicaciones,laestructurainterna de losprogramasylas interfa- ces.
Eldiseñoeselprocesoque traducelosrequisitosen una representacióndelsoftware de forma
que puedaconocerselaarquitectura,funcionalidade incluso lacalidad del mismo
antesdecomenzarlacodificación.
Aligualque elanálisis,eldiseñodebedocumentarseyforma parte de laconfigura- cióndel
software(elcontrol de configuracionesesloque nos permite realizar cambiosen el
softwaredeformacontroladaynotraumáticapara elcliente).
Codificación
Lacodificación consiste enlatraduccióndeldiseño aunformato quesealegiblepara la
máquina.Sieldiseñoeslosuficientementedetallado,lacodificación esrelativamentesencilla,
ypuedehacerse−almenosenparte− deformaautomática,usandogeneradoresdecódigo.
Podemosobservarque estasprimerasfasesdel ciclode vidaconsistenbásicamente en una
traducción:en elanálisisdelsistema,losrequisitos,lafunciónylaestructurade este
setraducenaundocumento:elanálisisdelsistemaqueestáformado enparte pordiagramas y enparte
pordescripcionesenlenguajenatural.Enelanálisisderequisitosseprofundizaenel
estudiodelcomponentesoftwaredelsistemayesto setraduceaundocumento,tambiénfor-
madopordiagramasydescripcionesen lenguajenatural.Eneldiseño,losrequisitosdelsoft-
waresetraducenauna serie dediagramasque representanlaestructuradelsistemasoftware, desus
datos,desus programasydesus interfaces.Por último,enlacodificación setraducen
estosdiagramasdediseñoaunlenguajefuente,que luego setraduce−secompila− para obte-
nerunprogramaejecutable.
Prueba
Unavezque yatenemoselprogramaejecutable,comienzalafase depruebas. Elobje-
tivoescomprobarque nosehayanproducidoerroresenalgunadelasfasesdetraducciónan-
teriores,especialmenteen lacodificación. Paraellodebenprobarsetodaslas sentencias,no
sóloloscasosnormalesytodos losmódulosqueformanparte delsistema.
Utilización
Una vez superadalafase de pruebas,elsoftwareseentregaalcliente ycomienzala
vidaútildelmismo. Lafasedeutilización sesolapaconlasposteriores−elmantenimientoyla
sustitución−ydurahastaqueelsoftware,yareemplazado porotro,dejedeutilizarse.
Mantenimiento
Elsoftwaresufrirácambiosalolargodesuvidaútil. Estoscambiospuedenser debidos
atrescausas:
−Que, durantelautilización, elcliente detecteerroresenelsoftware:loserroreslaten- tes.
−Que seproduzcancambiosen alguno de loscomponentesdelsistema informático:
porejemplo cambios enlamáquina, enelsistemaoperativooenlosperiféricos.
−Que el cliente
requieramodificacionesfuncionales(normalmenteampliaciones)no
contempladasenelproyecto.
Encualquiercaso,elmantenimientosuponevolveratrásen elciclode
vida,alas etapas
decodificación,diseñooanálisisdependiendodelamagnituddelcambio.
Elmodelo en cascada,a pesarde ser lineal, contieneflujos que permitenla
vuelta atrás.Así,desdeelmantenimientosevuelve
alanálisis,eldiseñoolacodificación,ytambién desdecualquierfase
sepuedevolveralaanterior sisedetectanfallos.
DiferenciasentreMetodología,CiclodeVidayMétodo
–Una Metodologíapuede seguir unoo varios modelos de
CiclodeVida
–UnCiclo de Vidaindicaqué obtener, pero nocómo
–UnaMetodologíaes unconcepto másamplioqueMétodo
ƒSepuedeconsiderarcomounconjuntodemétodos.
ƒUnametodologíapuedeenglobarunconjuntodemétodos(de
análisis,diseño,programación,etc.)paraabarcarelciclodevida
completo
Conclusiones
Recomendación
Una metodología para el desarrollo de software debe ser un instrumento
que permita gestionar un proceso dado, existen hoy en día diferentes
METODOLOGÍA DE DESARROLLO DE SOFTWARE 29 DE MAYO DE 2013
1
metodologías las cuales no son en forma absoluta comparable, es decir, no
existe en forma absoluta una metodología mejor a otra sino que la
metodología debe estar alineadas a la cultura de la organización, tamaño y
complejidad del proyecto, así como al ciclo de vida del producto que
pretende desarrollar.
Bibliografía
•AnálisisyDiseñodeSistemas.EditorialMcGraw-Hill.
•IngenieríadelSoftware.EditorialMcGraw-Hill.
•GAIL,Linda,CHRISTIE, John. Enciclopediade Términosde
Computación. Edito- rialPHH,PenticeHall.
•PHANTHU.MeriseApliquée.Eyrolles.
•MATHERON,Merise. Metodologíadedesarrollo
deSistemas.Paraninfo.
•FISHER, A.C.A.S.E.UsingSoftwareDevelopmentTools.Wiley.
•WILSON,P.ComputerSupportedCooperativeWork.IntellectOxford.
Anexos.

Más contenido relacionado

La actualidad más candente

Informe de christian oblitas
Informe de christian oblitasInforme de christian oblitas
Informe de christian oblitasChristian1705
 
M E T O D O L O G I A S D E D E S A R R O L L O D E S O F T W A R E
M E T O D O L O G I A S  D E  D E S A R R O L L O  D E  S O F T W A R EM E T O D O L O G I A S  D E  D E S A R R O L L O  D E  S O F T W A R E
M E T O D O L O G I A S D E D E S A R R O L L O D E S O F T W A R Euloz
 
Unidad uno metodologia
Unidad uno metodologia Unidad uno metodologia
Unidad uno metodologia guestc86431
 
Metodologias de desarrollo de software
Metodologias de desarrollo de softwareMetodologias de desarrollo de software
Metodologias de desarrollo de softwareyinethperez
 
Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010Kiberley Santos
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...Joel Fernandez
 
Metodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemasMetodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemasignaciogonzalez107
 
Sistemas de información
Sistemas de información Sistemas de información
Sistemas de información eduingonzalez2
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Lis Pater
 
Metodologias para el desarrollo de software
Metodologias para el desarrollo de softwareMetodologias para el desarrollo de software
Metodologias para el desarrollo de softwareRiverapatriciam
 
Metodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistemaMetodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistemaFreddy Ramos
 

La actualidad más candente (19)

Semana 1 2-3 (3)
Semana 1 2-3 (3)Semana 1 2-3 (3)
Semana 1 2-3 (3)
 
Informe de christian oblitas
Informe de christian oblitasInforme de christian oblitas
Informe de christian oblitas
 
M E T O D O L O G I A S D E D E S A R R O L L O D E S O F T W A R E
M E T O D O L O G I A S  D E  D E S A R R O L L O  D E  S O F T W A R EM E T O D O L O G I A S  D E  D E S A R R O L L O  D E  S O F T W A R E
M E T O D O L O G I A S D E D E S A R R O L L O D E S O F T W A R E
 
Unidad uno metodologia
Unidad uno metodologia Unidad uno metodologia
Unidad uno metodologia
 
Metodologias de desarrollo de software
Metodologias de desarrollo de softwareMetodologias de desarrollo de software
Metodologias de desarrollo de software
 
Metodologia merinde y rup
Metodologia merinde y rupMetodologia merinde y rup
Metodologia merinde y rup
 
Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Metodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemasMetodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemas
 
Sistemas de información
Sistemas de información Sistemas de información
Sistemas de información
 
Metodologia rup parte 1
Metodologia rup parte 1Metodologia rup parte 1
Metodologia rup parte 1
 
MeRinde
MeRindeMeRinde
MeRinde
 
3 proceso sw (caso de uso)
3 proceso sw  (caso de uso)3 proceso sw  (caso de uso)
3 proceso sw (caso de uso)
 
00000350
0000035000000350
00000350
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Metodologias para el desarrollo de software
Metodologias para el desarrollo de softwareMetodologias para el desarrollo de software
Metodologias para el desarrollo de software
 
Metodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistemaMetodología para el análisis de diseño del sistema
Metodología para el análisis de diseño del sistema
 
Cmmi y moprosoft
Cmmi y moprosoftCmmi y moprosoft
Cmmi y moprosoft
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 

Similar a Monografia

Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipoArturo Jimenez
 
Administracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantesAdministracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantesCyber Brel'R
 
Herramientas para el desarrollo de aplicaciones
Herramientas para el desarrollo de aplicacionesHerramientas para el desarrollo de aplicaciones
Herramientas para el desarrollo de aplicacionesHctorJessPonceCastil
 
Metodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemasMetodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemasignaciogonzalez107
 
JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL -
JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL - JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL -
JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL - Jhon Kevin Mamani Pecho
 
¡Summit loxa ingenieria de software
¡Summit loxa ingenieria de software¡Summit loxa ingenieria de software
¡Summit loxa ingenieria de softwareJorgeArmijosC
 
Introduccion a metodologias de desarrollo de software
Introduccion  a metodologias de desarrollo de softwareIntroduccion  a metodologias de desarrollo de software
Introduccion a metodologias de desarrollo de softwareJuanCarlos1937
 
Presentacion diego
Presentacion diegoPresentacion diego
Presentacion diegodiegoching2
 
Procesos de desarrollo de software
Procesos de desarrollo de softwareProcesos de desarrollo de software
Procesos de desarrollo de softwareLeynes Morán
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software JrJunior Leal
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructuradowaralivt
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructuradowaralivt
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
clasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdf
clasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdfclasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdf
clasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdfCESARAS4
 
Metodologías para el desarrollo de software en PYMES
Metodologías para el desarrollo de software en PYMESMetodologías para el desarrollo de software en PYMES
Metodologías para el desarrollo de software en PYMESMarceloFalappa5
 
Lineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCHLineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCHRafael Ortiz Montiel
 
Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Fernand Bernowly
 

Similar a Monografia (20)

METODOLOGIAS.pptx
METODOLOGIAS.pptxMETODOLOGIAS.pptx
METODOLOGIAS.pptx
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipo
 
Administracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantesAdministracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantes
 
Herramientas para el desarrollo de aplicaciones
Herramientas para el desarrollo de aplicacionesHerramientas para el desarrollo de aplicaciones
Herramientas para el desarrollo de aplicaciones
 
Metodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemasMetodologías para el análisis y diseño de sistemas
Metodologías para el análisis y diseño de sistemas
 
JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL -
JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL - JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL -
JHON MAMANI - METODOLOGIAS DE SOFTWARE - DIAGRAMA CAUSAL -
 
¡Summit loxa ingenieria de software
¡Summit loxa ingenieria de software¡Summit loxa ingenieria de software
¡Summit loxa ingenieria de software
 
Introduccion a metodologias de desarrollo de software
Introduccion  a metodologias de desarrollo de softwareIntroduccion  a metodologias de desarrollo de software
Introduccion a metodologias de desarrollo de software
 
Presentacion diego
Presentacion diegoPresentacion diego
Presentacion diego
 
Procesos de desarrollo de software
Procesos de desarrollo de softwareProcesos de desarrollo de software
Procesos de desarrollo de software
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software Jr
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
 
Desarrollo estructurado
Desarrollo estructuradoDesarrollo estructurado
Desarrollo estructurado
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
clasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdf
clasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdfclasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdf
clasificacindelasmetodologasdedesarrollodesoftware-151201230639-lva1-app6892.pdf
 
Metodologías para el desarrollo de software en PYMES
Metodologías para el desarrollo de software en PYMESMetodologías para el desarrollo de software en PYMES
Metodologías para el desarrollo de software en PYMES
 
Lineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCHLineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCH
 
Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )
 
Grupo1
Grupo1Grupo1
Grupo1
 

Último

Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
LA JUNGLA DE COLORES.pptx Cuento de animales
LA JUNGLA DE COLORES.pptx  Cuento de animalesLA JUNGLA DE COLORES.pptx  Cuento de animales
LA JUNGLA DE COLORES.pptx Cuento de animalesanllamas
 
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...rosalindatellodelagu
 
animalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfanimalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfSofiaArias58
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitariolucianosaldivia3
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxAEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxhenarfdez
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxMaria Jimena Leon Malharro
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptxCamuchaCrdovaAlonso
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 

Último (20)

Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
LA JUNGLA DE COLORES.pptx Cuento de animales
LA JUNGLA DE COLORES.pptx  Cuento de animalesLA JUNGLA DE COLORES.pptx  Cuento de animales
LA JUNGLA DE COLORES.pptx Cuento de animales
 
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
 
animalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfanimalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdf
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitario
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxAEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 

Monografia

  • 1. Instituto de educación superior tecnológico publico Túpac Amaru cusco Tema: Docente:  Roque Mamani, Ángel Mario Alumnos:  Ambur Quispe, Yessenia Frine  Armuto Mamani, Hulderico  Baez Cruz, Raul Cusco…Perú Presentación METODOLOGÍADE DESARROLLO DE SOFTWARE
  • 2. Introducción En el presente monografía se explica muy brevemente los aspectos queinvolucra el proceso de desarrollo de software y la metodología INGENIERÍADELSOFTWARE Eldesarrollodesistemasdesoftwarecomplejosnoesuna actividad trivial, que puedaabordarsesin un análisisprevio. Elconsiderarque un proyectode desarrollode softwarepodía abordarsecomo cualquierotro,hallevado auna serie deproblemasque limitan nuestracapacidaddeaprovechar losrecursosqueelhardware pone anuestradisposición. Noexiste una fórmula mágicapara solucionarestosproblemas,pero com- binandométodosaplicablesacadauna de las fasesdeldesarrollode software, construyendo herramientaspara automatizarestosmétodos,utilizando técnicaspara garantizarlacalidad de losproductosdesarrolladosycoordinandotodaslaspersonasinvolucradaseneldesarrollode unproyecto,podremosavanzarmucho enlasolución deestos.Deelloseencargaladisciplina llamadaIngeniería delSoftware. lasiguiente: Unadelasprimerasdefinicionesque sediodelaingenieríadelsoftwarees Elestablecimientoyuso de principios de ingeniería robustos,orientados a obtenersoftware económico,que sea fiableyfuncionedemaneraeficiente sobre máquinas reales. Laingenieríadelsoftwareabarcaunconjunto detres elementosclave: mé- todos, herramientasyprocedimientos,que facilitanalgestorelcontrolelprocesodedesarrollo ysuministranalosdesarrolladoresbasespara construir de forma productiva softwarede alta calidad. Los métodosindican cómo construir técnicamenteelsoftware,yabarcan una amplia serie de tareasque incluyen laplanificación yestimaciónde proyectos,elanálisis de requisitos,eldiseñode estructurasde datos,programasyprocedimientos,lacodificación, las pruebasyelmantenimiento.Losmétodosintroducenfrecuentementeuna notaciónespecí- ficapara latareaencuestión yunaserie decriteriosdecalidad. Las herramientasproporcionanun soporteautomáticoo semiautomático para utilizarlosmétodos.Existen herramientasautomatizadaspara cadauna de las fasesvis- tas anteriormente,ysistemasque integranlas herramientasdecadafase deforma que sirven para todoelprocesodedesarrollo.EstasherramientassedenominanCASE(ComputerAssis- tedSoftwareEngineering).
  • 3. Losprocedimientosdefinen lasecuenciaen que seaplican losmétodos, losdocumentosque serequieren,loscontrolesque permitenasegurarlacalidad ylasdirectrices quepermitenalosgestoresevaluarlosprogresos. METODOLOGIAS DE DESARROLLO DE SOFTWARE Se puededefinirmétodocomo laordenaciónyexplicitación formalde los mediosque conduceneficazmente allogrodeunobjetivopredeterminadoódeuna tareacon- creta. Apartirdeestadefinición, sepuededecirque una metodologíaeselcon- juntodemétodosque seusanenuna determinadaactividad conelfindeformalizarla yoptimizarla. Las Metodologías de Desarrollo de Software surgen ante la necesidad de utilizar una serie de procedimientos, técnicas, herramientas y soporte documental a la hora de desarrollar un producto software. Dichas metodologías pretenden guiar a los desarrolladores al crear un nuevo software, pero los requisitos de un software a otro son tan variados y cambiantes, que ha dado lugar a que exista una gran variedad de metodologías para la creación del software. Conjunto de métodos, de reglas, que por una parte sirven de guía para realizar los trabajos que van dando forma a los desarrollos y que por otra obligan a la dirección del proyecto y a los componentes de los equipos a realizar ciertas comprobaciones sistemáticas de modo que el resultado final, al menos desde un punto de vista formal, no presente incoherencias y esté dirigido a un objetivo claro y prefijado Es conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de unproducto (el software), son también los pasos generales que sigue el proceso de desarrollo de unproducto software Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y ayudas a ladocumentación para el desarrollo de productos software Una metodología está compuesta por: Cómo dividir un proyecto en etapas. Qué tareas se llevan a cabo en cada etapa. Qué restricciones deben aplicarse. Qué técnicas y herramientas se emplean. Cómo se controla y gestiona un proyecto CLASIFICACIÒN DE DESARROLLO DE SOFTWARE Las metodologías se clasifican de la siguiente forma:  Estructuradas. Orientadas a procesos Orientadas a datos Mixtas  No estructuradas. Orientadas a objetos Sistemas de tiempo real
  • 4. METODOLOGÍAS ESTRUCTURADAS Se basan en la forma top-Down -Metodologías orientadas a procesos La ingeniería del software se basa en el modelo básico de entrada/proceso/salida de un sistema. Está compuesta por: Diagrama de flujo de datos (DFD). Diccionario de datos. Especificaciones de proceso. Ejemplos: metodologías de DeMarco, Gene y Sarson, Yourdon. -Metodologías orientadas a datos Son metodologías basadas en la información. Primero se definen las estructuras de datos y, a partir de éstos, se derivan los componentes procedimentales. Ejemplos: metodologías de Jackson, Warnier, Warnier-Orr. METODOLOGÍAS NO ESTRUCTURADAS -Metodologías orientadas a objeto La orientación a objetos unifica procesos y datos encapsulándolos en el concepto de objetos. Tiene dos enfoques distintos: Revolucionario, puro u ortodoxo. Rompen con las metodologías tradicionales. Ejemplos: metodologías OOD de Booch, CRC/RDD de Wirfs-Brock. Sintetista o evolutivo. Toman como base los sistemas estructurados y conforman elementos de uno y otro tipo. Ejemplos: metodología OMT de Rumbourgh. -Sistemas de tiempo real Procesan información orientada al control más que a los datos. Se caracterizan por concurrencia, priorización de procesos, comunicación entre tareas y acceso simultáneo a datos comunes.
  • 5. CARACTERISTICAS DE UNA METODOLOGIA DE DESARROLLO DE SOFTWARE ☺ Existencia de reglas predefinidas ☺ Cobertura total del ciclo de desarrollo ☺ Verificaciones intermedias ☺ Planificación y control ☺ Comunicación efectiva ☺ Utilización sobre un abanico amplio de proyectos ☺ Fácil formación ☺ Herramientas CASE ☺ Actividades que mejoren el proceso de desarrollo ☺ Soporte al mantenimiento ☺ Soporte de la reutilización de software Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo) Pretende implementar las mejores prácticas en Ingeniería de Software Desarrollo iterativo Administración de requisitos Uso de arquitectura basada en componentes Control de cambios Modelado visual del software Verificación de la calidad del software A su vez la misma se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. OBJETIVOS DE LA METODOLOGIAS DE SOFTWARE Lograr la construcción de un sistema informático eficiente, que cumpla con los requerimientos planteados, es una tarea realmente intensa y sobre todo difícil de cumplir. Imponer un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más predecible y eficiente. como principal objetivo aumentar la calidad del software que se produce en todas y cada una de sus fases de desarrollo. Mejores Aplicaciones Un mejor Proceso de Desarrollo que identifique salidas (o productos intermedios) de cada fase de forma que se pueda planificar y controlar el proyecto METODOLOGIAS DE DESARROLLO DE SOFTWARE TRADICIONALES Estas metodologías tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo del software, con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la planificación total de todo el
  • 6. trabajo a realizar y una vez que está todo detallado, comienza el ciclo de desarrollo del producto software. Se centran especialmente en el control del proceso, mediante una rigurosa definición de roles, actividades, artefactos, herramientas y notaciones para el modelado y documentación detallada. Además, las metodologías tradicionales no se adaptan adecuadamente a los cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los requisitos no pueden predecirse o bien pueden variar. Entre las metodologías tradicionales podemos citar: • RUP (Rational Unified Procces) • MSF (Microsoft Solution Framework) • Win-WinSpiralModel • Iconix Las necesidades de un cliente pueden sufrir cambios importantes del momento de contratación de un software al momento de su entrega; y es mucho más importante satisfacer estas últimas que las primeras. Esto requiere procesos de software diferentes que en lugar de rechazar los cambios sean capaces de incorporarlos. METODOLOGIAS DE DESARROLLO DE SOFTWARE ÀGILES Las metodologías ágiles proporcionan una serie de pautas y principios junto a técnicas pragmáticas que puede que no curen todos los males pero harán la entrega del proyecto menos complicada y más satisfactoria tanto para los clientes como para los equipos de entrega. En la figura 1 se muestran los principios que rigen el desarrollo ágil. Entre las metodologías ágiles más destacadas hasta el momento se pueden nombrar: • XP (Extreme Programming) • Scrum • Crystal Clear • DSDM (Dynamic Systems Developmemt Method) • FDD (Feature Driven Development) • ASD (Adaptive Software Development) • XBreed • Extreme Modeling Ciclo devidadeldesarrollosoftware Todo proyectode ingenieríatiene unos fines ligados a laobtenciónde un producto, procesooservicio que esnecesariogeneraratravés dediversasactividades.Algunas deestas actividadespuedenagruparseenfasesporqueglobalmentecontribuyenaobtenerunproducto intermedio,necesariopara continuarhacia elproductofinalyfacilitarlagestión delproyecto. Alconjunto delasfasesempleadasseledenomina“ciclodevida”.
  • 7. Sinembargo,laforma de agruparlas actividades,losobjetivos de cadafase, lostipos deproductosintermediosque segeneran,etc.Puedenser muydiferentesdependiendodeltipo deproductooprocesoagenerarydelastecnologías empleadas. Lacomplejidaddelasrelacionesentre lasdistintasactividades creceexponencialmente con eltamaño,con loque rápidamenteseharía inabordablesinofuera porlaviejatáctica de “divideyvencerás”.Deestaformaladivisióndelosproyectosenfasessucesivasesunprimer pasopara lareduccióndesucomplejidad,tratándosedeescogerlaspartesdemaneraquesus relaciones entre síseanlomás simples posibles.
  • 8. Ladefinicióndeunciclodevidafacilitaelcontrolsobrelos tiemposenque esnece- sarioaplicarrecursosdetodotipo(personal,equipos,suministros,etc.)alproyecto. Elcontroldecalidadtambiénsevefacilitadosilaseparaciónentre fasessehaceco- rrespondercon puntosen los que éstadebaverificarse(mediantecomprobacionessobrelos productos parcialesobtenidos). Por ciclodevidareferido aldesarrollosoftware,seentiendelasucesióndeetapaspor lasquepasaelsoftwaredesdequeunnuevo proyectoesconcebidohastaquesedejadeusar. Cadauna de estasetapasllevaasociadauna seriede tareasque debenrealizarse,y una serie de documentos(en sentidoamplio: software)que seránlasalida de cadauna de estasfasesyservirándeentradaenlafase siguiente. Existen diversostipos de ciclode vida,esdecir, diversasformas de verelprocesode desarrollode software,ycadauno de ellos va asociadoa un paradigmade laingenieríadel software,esdecir,aunaserie demétodos,herramientasyprocedimientosquedebemosusar a lolargodeunproyecto. Laeleccióndeunparadigmauotroserealizadeacuerdoconlanaturalezadelproyectoydelaaplicaci ón,losmétodosausar yloscontrolesyentregasrequeridos. Ingenieríayanálisisdelsistema Elsoftwareessiempreparte deunsistemamayor, porloque siemprevaainterrelacio- narsecon otros elementos,yaseahardware,máquinasopersonas.Por esto, elprimer paso del ciclode vida de un proyectoconsisteen un análisisde las característicasyelcomporta-
  • 9. mientodelsistemadelcualelsoftwarevaaformarparte. Enelcasodequequeramosconstruir unsistemanuevo, porejemplo unsistemadecontrol,deberemosanalizarcuálesson losrequi- sitosylafuncióndelsistema,yluego seasignaránunsubconjuntode estosrequisitosalsoft- ware. En el casode un sistema ya existente (supongamos, por ejemplo, que queremos informatizar una empresa)sedebeanalizarelfuncionamientode lamisma −las operaciones que sellevan a cabo en ella−, yasignaremosal softwareaquellas funcionesque vamosa automatizar. Laingenieríadelsistemacomprende,portanto, losrequisitosglobalesaniveldelsis-tema,así como una cierta cantidaddeanálisisydediseñoanivelsuperior,esdecirsinentrar enmucho detalle. Análisisderequisitosdelsoftware Elanálisisde requisitosdebeser más detalladopara aquelloscomponentesdelsiste- maque vamosaimplementarmediantesoftware.Elingenierodelsoftware debecomprender cuálesson losdatosque sevan amanejar,cuál vaaser lafunción que tiene que cumplirel software,cuálesson lasinterfaces requeridosycuáleselrendimientoqueseesperalograr. Los requisitos,tanto del sistemacomo del softwaredebendocumentarseyrevisarse conelcliente. Diseño Eldiseñoseaplica acuatro característicasdistintasdelsoftware:laestructurade los datos,laarquitecturade las aplicaciones,laestructurainterna de losprogramasylas interfa- ces. Eldiseñoeselprocesoque traducelosrequisitosen una representacióndelsoftware de forma que puedaconocerselaarquitectura,funcionalidade incluso lacalidad del mismo antesdecomenzarlacodificación. Aligualque elanálisis,eldiseñodebedocumentarseyforma parte de laconfigura- cióndel software(elcontrol de configuracionesesloque nos permite realizar cambiosen el softwaredeformacontroladaynotraumáticapara elcliente).
  • 10. Codificación Lacodificación consiste enlatraduccióndeldiseño aunformato quesealegiblepara la máquina.Sieldiseñoeslosuficientementedetallado,lacodificación esrelativamentesencilla, ypuedehacerse−almenosenparte− deformaautomática,usandogeneradoresdecódigo. Podemosobservarque estasprimerasfasesdel ciclode vidaconsistenbásicamente en una traducción:en elanálisisdelsistema,losrequisitos,lafunciónylaestructurade este setraducenaundocumento:elanálisisdelsistemaqueestáformado enparte pordiagramas y enparte pordescripcionesenlenguajenatural.Enelanálisisderequisitosseprofundizaenel estudiodelcomponentesoftwaredelsistemayesto setraduceaundocumento,tambiénfor- madopordiagramasydescripcionesen lenguajenatural.Eneldiseño,losrequisitosdelsoft- waresetraducenauna serie dediagramasque representanlaestructuradelsistemasoftware, desus datos,desus programasydesus interfaces.Por último,enlacodificación setraducen estosdiagramasdediseñoaunlenguajefuente,que luego setraduce−secompila− para obte- nerunprogramaejecutable. Prueba Unavezque yatenemoselprogramaejecutable,comienzalafase depruebas. Elobje- tivoescomprobarque nosehayanproducidoerroresenalgunadelasfasesdetraducciónan- teriores,especialmenteen lacodificación. Paraellodebenprobarsetodaslas sentencias,no sóloloscasosnormalesytodos losmódulosqueformanparte delsistema. Utilización Una vez superadalafase de pruebas,elsoftwareseentregaalcliente ycomienzala vidaútildelmismo. Lafasedeutilización sesolapaconlasposteriores−elmantenimientoyla sustitución−ydurahastaqueelsoftware,yareemplazado porotro,dejedeutilizarse. Mantenimiento Elsoftwaresufrirácambiosalolargodesuvidaútil. Estoscambiospuedenser debidos atrescausas: −Que, durantelautilización, elcliente detecteerroresenelsoftware:loserroreslaten- tes. −Que seproduzcancambiosen alguno de loscomponentesdelsistema informático: porejemplo cambios enlamáquina, enelsistemaoperativooenlosperiféricos.
  • 11. −Que el cliente requieramodificacionesfuncionales(normalmenteampliaciones)no contempladasenelproyecto. Encualquiercaso,elmantenimientosuponevolveratrásen elciclode vida,alas etapas decodificación,diseñooanálisisdependiendodelamagnituddelcambio. Elmodelo en cascada,a pesarde ser lineal, contieneflujos que permitenla vuelta atrás.Así,desdeelmantenimientosevuelve alanálisis,eldiseñoolacodificación,ytambién desdecualquierfase sepuedevolveralaanterior sisedetectanfallos. DiferenciasentreMetodología,CiclodeVidayMétodo –Una Metodologíapuede seguir unoo varios modelos de CiclodeVida –UnCiclo de Vidaindicaqué obtener, pero nocómo –UnaMetodologíaes unconcepto másamplioqueMétodo ƒSepuedeconsiderarcomounconjuntodemétodos. ƒUnametodologíapuedeenglobarunconjuntodemétodos(de análisis,diseño,programación,etc.)paraabarcarelciclodevida completo Conclusiones Recomendación Una metodología para el desarrollo de software debe ser un instrumento que permita gestionar un proceso dado, existen hoy en día diferentes
  • 12. METODOLOGÍA DE DESARROLLO DE SOFTWARE 29 DE MAYO DE 2013 1 metodologías las cuales no son en forma absoluta comparable, es decir, no existe en forma absoluta una metodología mejor a otra sino que la metodología debe estar alineadas a la cultura de la organización, tamaño y complejidad del proyecto, así como al ciclo de vida del producto que pretende desarrollar. Bibliografía •AnálisisyDiseñodeSistemas.EditorialMcGraw-Hill. •IngenieríadelSoftware.EditorialMcGraw-Hill. •GAIL,Linda,CHRISTIE, John. Enciclopediade Términosde Computación. Edito- rialPHH,PenticeHall. •PHANTHU.MeriseApliquée.Eyrolles. •MATHERON,Merise. Metodologíadedesarrollo deSistemas.Paraninfo. •FISHER, A.C.A.S.E.UsingSoftwareDevelopmentTools.Wiley. •WILSON,P.ComputerSupportedCooperativeWork.IntellectOxford. Anexos.