SlideShare una empresa de Scribd logo
1 de 11
MODELOS DE PROCESOS
DE SOFTWARE
INTEGRANTES:
• Mamani Vichini Marco Antonio
• Limachi Zurita Naira
• Delgado Vera Jose Luis
• Torrez Leon Jorge Ruben
• Mayta Tapia Richard
• Guarachi Choque Jorge Luis
• Chura Siñani Brian Miguel
• Quispe Mamani Cenobio
METODOS DE PROCESO DE SOFTWARE
Una metodología de desarrollo de software se refiere a un framework (entorno o
marco de trabajo) que es usado para estructurar, planear y controlar el proceso de
desarrollo en sistemas de información.
Existe la creencia extendida de que los programas software tienen que ver solamente
con los ordenadores y las grandes computadoras.
Sin embargo, la ingeniería del software va mucho más allá. Se trata del proceso cuya
finalidad es desarrollar productos o soluciones para un cliente o mercado en
particular, teniendo en cuenta factores como los costes, la planificación, la calidad y
las dificultades asociadas. A todo esto es a lo que denominamos metodologías de
desarrollo de software. Es decir, se trata del proceso que se suele seguir a la hora de
diseñar una solución o un programa específico. Tiene que ver, por tanto, con la
comunicación, la manipulación de modelos y el intercambio de información y datos
entre las partes involucradas. O para ser más precisos, las metodologías de desarrollo
de software son enfoques de carácter estructurado y estratégico que permiten el
desarrollo de programas con base a modelos de sistemas, reglas, sugerencias de
diseño y guías.
METODOS SECUENCIALES
Modelo lineal secuencial
 También llamado “Ciclo de vida básico” tiene su origen en el “Modelo de
cascada” basado en el modelo en cascada de Winston Royce, sugiere un
enfoque sistemático o más bien secuencial del desarrollo de software que
comienza en un nivel de sistemas y progresa con el análisis, diseño
codificación, pruebas y mantenimiento.
 Ingeniería y Análisis de Sistema: Debido a que el software pertenece siempre a un sistema
mayor el trabajo empieza estableciendo los requisitos de todos los elementos del sistema y
luego proporcionando algún subconjunto de estos requisitos a software.
 Análisis de los requisitos del Software: La manera en que se hace la recopilación de los
requisitos se enfoca e intensifica en el software. Los analistas deben entender el ámbito de la
información del software, así como también la función, rendimiento e interfaces requeridas.
 Diseño: El diseño del software se centra en cuatro atributos diferentes del programa: la
estructura de los datos, la arquitectura del software, el detalle procedimental y la
caracterización de la interfaz. El proceso de diseño modifica requisitos en una representación
del software con la calidad necesitada antes de que empiece la codificación.

Codificación: El diseño debe traducirse en una forma entendible para la máquina.
 Prueba: Una vez que se ha creado el código empieza la prueba del programa. La prueba se
enfoca en la lógica interna del software, en las funciones externas, haciendo pruebas que
aseguren que la entrada definida consigue los resultados que se necesitan.
Existen varios tipos de pruebas:
• Pruebas de unidad
• Pruebas de integración
• Pruebas de sistema
• Pruebas de aceptación
Modelo Secuencial por Etapas
 Este modelo es similar al Modelo de prototipos ya que se presenta al cliente el software en
diferentes estados continuos de desarrollo, existe diferencia en que las especificaciones no son
conocidas en detalle al empiezo del proyecto entonces se van desarrollando paralelamente con las
diferentes versiones del código existente. Es un modelo en que el software se presenta al cliente en
etapas mejoradas sucesivamente.

Definición del problema.
 Es una situación por resolver, algo que debe ser mejorado. Es típico decir que no existe investigación
sin un “problema” y que un problema bien planteado es mejor que cualquier solución gratuita.

Análisis de Requerimientos.
 En esta parte se logra claridad sobre lo que quiere el usuario y la forma en la cual se le va a
presentar la solución de esta.
 Un requerimiento es una declaración abstracta de alto nivel de un servicio que debe brindar el
sistema o una restricción de este.

Diseño Global
 Es un diseño general del problema que está planteado, es también la elaboración en la búsqueda de
una solución en cualquier campo, tomando en cuenta los parámetros y análisis de requerimientos
que se hayan conseguido para el desarrollo de un resultado que debe estar relacionado con el
problema.
METODOS EVOLUTIVOS
Desarrollo en Cascada - Evolutivo
 En Ingeniería de software el desarrollo en cascada, también llamado
secuencial o ciclo de vida de un programa (denominado así por la posición de
las fases en el desarrollo de esta, que parecen caer en cascada “por
gravedad” hacia las siguientes fases), es el enfoque metodológico que ordena
rigurosamente las etapas del proceso para el desarrollo de software, de tal
forma que el inicio de cada etapa debe esperar a la finalización de la etapa
anterior.1 Al final de cada etapa, el modelo está diseñado para llevar a cabo
una revisión final, que se encarga de determinar si el proyecto está listo para
avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la
base de todos los demás modelos de ciclo de vida
 Ingeniería y Análisis del Sistema.
 Debido a que el software es siempre parte de un sistema mayor, el trabajo comienza estableciendo los requisitos de todos los
elementos del sistema y luego asignando algún subconjunto de estos requisitos al software.
 Análisis de los requisitos del software
 Análisis: Se analizan las necesidades de los usuarios finales del software para determinar qué objetivos debe cubrir. De esta
fase surge una memoria llamada SRD (Documento de Especificación de Requisitos), que contiene la especificación completa de
lo que debe hacer el sistema sin entrar en detalles internos (debe comprender el ámbito de la información del software, así
como la función, el rendimiento y las interfaces requeridas).
 Diseño
 El diseño del software se enfoca en cuatro atributos distintos del programa: la estructura de los datos, la arquitectura del
software, el detalle procedimental y la caracterización de la interfaz. El proceso de diseño traduce los requisitos en una
representación del software con la calidad requerida antes de que comience la codificación. Como resultado surge el SDD
(Documento de Diseño del Software), que contiene la descripción de la estructura global del sistema y la especificación de lo
que debe hacer cada una de sus partes, así como la manera en que se combinan unas con otras.
 Codificación
 Es la fase de programación. Aquí se desarrolla el código fuente, el diseño debe traducirse en una forma legible para la
máquina, haciendo uso de prototipos así como pruebas y ensayos para corregir errores. El paso de codificación realiza esta
tarea. Si el diseño se realiza de una manera detallada la codificación puede realizarse mecánicamente.
 Prueba
 Una vez que se ha generado el código comienza la prueba del programa. La prueba se centra en la lógica interna del software,
y en las funciones externas, realizando pruebas que aseguren que la entrada definida produce los resultados que realmente se
requieren. Se comprueba que funciona correctamente antes de ser puesto en explotación.
 Mantenimiento
 El software sufrirá cambios después de que se entrega al cliente. Los cambios ocurrirán cuando se hayan encontrado errores,
esto en lugar de que el software debe adaptarse a cambios del entorno externo (sistema operativo o dispositivos periféricos), o
debido a que el cliente requiera ampliaciones funcionales o del rendimiento.
 Modelo Espiral
 3.2.1 Modelo Original de Boehm
 Los evolutivos son los modelos iterativos, permiten realizar versiones cada vez
más completas y complejas, hasta llegar al objetivo final que se desea;
incluso evolucionar más allá,durante la etapa de operación. Los modelos
“Iterativo incremental” y “Espiral” (entre otros) son dos de los que más se
conocen y utilizan del tipo evolutivo.
 La idea que existe detrás de este modelo es la elaboración de una
implantación del sistema inicial, exponerla a los comentarios del usuario,
mejorarla en N versiones hasta que se realice el sistema adecuado.Una de las
ventajas de este modelo es que se obtiene una rápida realimentación del
usuario, dado que las actividades de especificación, desarrollo y pruebas se
ejecutan en cada iteración.
METODOS AGILES
SCRUM
 Este modelo fue identificado y definido por Ikujiro Nonaka y Takeuchi a principios
de los 80, al analizar cómo desarrollaban los nuevos productos las principales
empresas de manufactura tecnológica: Fuji-Xerox, Canon, Honda, NEC, Epson,
Brother, 3M y Hewlett-Packard (Nonaka & Takeuchi, The New New Product
Development Game, 1986).
 En su estudio, Nonaka y Takeuchi compararon la nueva forma de trabajo en
equipo, con el avance en formación de melé (scrum en inglés) de los jugadores de
Rugby, a raíz de lo cual quedó acuñado el término “scrum” para referirse a ella.
 Aunque esta forma de trabajo surgió en empresas de productos tecnológicos, es
apropiada para cualquier tipo de proyecto con requisitos inestables y para los que
requieren rapidez y flexibilidad, situaciones frecuentes en el desarrollo de
determinados sistemas de software.
 Kanban
 El término japonés Kanban, fue el empleado por Taiichi Onho (Toyota), para referirse al
sistema de visualización empleado en los procesos de producción que coordinan en una
cadena de montaje la entrega a tiempo de cada parte en el momento que se necesita,
evitando sobreproducción y almacenamiento innecesario de producto. Se puede traducir
como tablero o tarjeta de señalización, y su origen se remonta finales de los cuarenta o
principio de los cincuenta.
 Kanban en el sector TIC
 El uso de tableros kanban muestra y gestiona el flujo de avance y entrega, y ayuda a evitar
los dos problemas más importantes: cuellos de botella y tiempos muertos.
 El desarrollo ágil de software emplea prácticas de gestión visual por ser las que mejor sirven
a los principios de comunicación directa y simplicidad en la documentación y gestión.
 Desde 2005 es cada vez más frecuente reemplazar los formatos de lista para las pilas de
producto y de sprint por notas adhesivas en tableros, que resultan más versátiles al poder
cambiar su posición, bien para reordenar las prioridades de las historias de una pila de
producto, o para reflejar a través de su posición en, cuáles se están programando, probando,
o se encuentran terminadas. Las prácticas kanban son válidas para gestión evolutiva con
entrega continua. Deben emplearse con criterios de flexibilidad, sin considerar prescripciones
ni excepciones en el método de trabajo, para lograr la implementación personalizada, que dé
la mejor respuesta a los principios ágiles, de ingeniería concurrente, o de síntesis de ambos,
con los que trabaja la organización.
 PROGRAMACIÓN EXTREMA XP
 La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería de
software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme
Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles
de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las
metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que
en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la
marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos.
Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida
del proyecto es una aproximación mejor y más realista que intentar definir todos los
requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en
los requisitos.
Características
 Las características fundamentales del método son:
 Se valora al individuo y las interacciones del equipo de desarrollo sobre el proceso y las
herramientas. La gente es el principal factor de éxito de un proyecto software.
 Desarrollar software que funciona más que conseguir una buena documentación.
 La colaboración con el cliente. Se propone que exista una interacción constante entre el
cliente y el equipo de desarrollo.
 Responder a los cambios. La habilidad de responder a los cambios que puedan surgir a lo
largo del proyecto determina también el éxito o fracaso del mismo. La planificación no debe
ser estricta sino flexible y abierta.

Más contenido relacionado

La actualidad más candente

14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de softwareJhon Barrera
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesosEIYSC
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de SoftwareMaricela Ramirez
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremarianela0393
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. Cristhian Martinez
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i procesovictdiazm
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareSergio Sanchez
 
Fases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareFases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareEugenio Del Pozo Dipre
 

La actualidad más candente (20)

14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
ingenieria del software
ingenieria del softwareingenieria del software
ingenieria del software
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesos
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
conceptos de ingenieria de software
conceptos de ingenieria de softwareconceptos de ingenieria de software
conceptos de ingenieria de software
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Introducción a la ingeniería del software
Introducción a la ingeniería del softwareIntroducción a la ingeniería del software
Introducción a la ingeniería del software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de Software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Software
SoftwareSoftware
Software
 
Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
 
Jose r ojas ii
Jose r ojas iiJose r ojas ii
Jose r ojas ii
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i proceso
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
 
Fases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareFases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de software
 

Similar a Inf 162

Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1Jose Garcia
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software jevo1994
 
Modelo lineal secuencial
Modelo lineal secuencialModelo lineal secuencial
Modelo lineal secuencialjenmer
 
Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del softwareoscar uriarte
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilvaeddysilva18
 
Fundamentos del diseno software
Fundamentos del diseno softwareFundamentos del diseno software
Fundamentos del diseno softwareclaudiocaizales
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareIngris Argueta
 

Similar a Inf 162 (20)

Sdf p4
Sdf p4Sdf p4
Sdf p4
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Modelo
ModeloModelo
Modelo
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Modelo lineal secuencial
Modelo lineal secuencialModelo lineal secuencial
Modelo lineal secuencial
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
 
Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del software
 
Software
SoftwareSoftware
Software
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
El software
El softwareEl software
El software
 
presentacion_edisleynissilva
presentacion_edisleynissilvapresentacion_edisleynissilva
presentacion_edisleynissilva
 
Software
SoftwareSoftware
Software
 
Fundamentos del diseno software
Fundamentos del diseno softwareFundamentos del diseno software
Fundamentos del diseno software
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 

Inf 162

  • 1. MODELOS DE PROCESOS DE SOFTWARE INTEGRANTES: • Mamani Vichini Marco Antonio • Limachi Zurita Naira • Delgado Vera Jose Luis • Torrez Leon Jorge Ruben • Mayta Tapia Richard • Guarachi Choque Jorge Luis • Chura Siñani Brian Miguel • Quispe Mamani Cenobio
  • 2. METODOS DE PROCESO DE SOFTWARE Una metodología de desarrollo de software se refiere a un framework (entorno o marco de trabajo) que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información. Existe la creencia extendida de que los programas software tienen que ver solamente con los ordenadores y las grandes computadoras. Sin embargo, la ingeniería del software va mucho más allá. Se trata del proceso cuya finalidad es desarrollar productos o soluciones para un cliente o mercado en particular, teniendo en cuenta factores como los costes, la planificación, la calidad y las dificultades asociadas. A todo esto es a lo que denominamos metodologías de desarrollo de software. Es decir, se trata del proceso que se suele seguir a la hora de diseñar una solución o un programa específico. Tiene que ver, por tanto, con la comunicación, la manipulación de modelos y el intercambio de información y datos entre las partes involucradas. O para ser más precisos, las metodologías de desarrollo de software son enfoques de carácter estructurado y estratégico que permiten el desarrollo de programas con base a modelos de sistemas, reglas, sugerencias de diseño y guías.
  • 3. METODOS SECUENCIALES Modelo lineal secuencial  También llamado “Ciclo de vida básico” tiene su origen en el “Modelo de cascada” basado en el modelo en cascada de Winston Royce, sugiere un enfoque sistemático o más bien secuencial del desarrollo de software que comienza en un nivel de sistemas y progresa con el análisis, diseño codificación, pruebas y mantenimiento.
  • 4.  Ingeniería y Análisis de Sistema: Debido a que el software pertenece siempre a un sistema mayor el trabajo empieza estableciendo los requisitos de todos los elementos del sistema y luego proporcionando algún subconjunto de estos requisitos a software.  Análisis de los requisitos del Software: La manera en que se hace la recopilación de los requisitos se enfoca e intensifica en el software. Los analistas deben entender el ámbito de la información del software, así como también la función, rendimiento e interfaces requeridas.  Diseño: El diseño del software se centra en cuatro atributos diferentes del programa: la estructura de los datos, la arquitectura del software, el detalle procedimental y la caracterización de la interfaz. El proceso de diseño modifica requisitos en una representación del software con la calidad necesitada antes de que empiece la codificación.  Codificación: El diseño debe traducirse en una forma entendible para la máquina.  Prueba: Una vez que se ha creado el código empieza la prueba del programa. La prueba se enfoca en la lógica interna del software, en las funciones externas, haciendo pruebas que aseguren que la entrada definida consigue los resultados que se necesitan. Existen varios tipos de pruebas: • Pruebas de unidad • Pruebas de integración • Pruebas de sistema • Pruebas de aceptación
  • 5. Modelo Secuencial por Etapas  Este modelo es similar al Modelo de prototipos ya que se presenta al cliente el software en diferentes estados continuos de desarrollo, existe diferencia en que las especificaciones no son conocidas en detalle al empiezo del proyecto entonces se van desarrollando paralelamente con las diferentes versiones del código existente. Es un modelo en que el software se presenta al cliente en etapas mejoradas sucesivamente.  Definición del problema.  Es una situación por resolver, algo que debe ser mejorado. Es típico decir que no existe investigación sin un “problema” y que un problema bien planteado es mejor que cualquier solución gratuita.  Análisis de Requerimientos.  En esta parte se logra claridad sobre lo que quiere el usuario y la forma en la cual se le va a presentar la solución de esta.  Un requerimiento es una declaración abstracta de alto nivel de un servicio que debe brindar el sistema o una restricción de este.  Diseño Global  Es un diseño general del problema que está planteado, es también la elaboración en la búsqueda de una solución en cualquier campo, tomando en cuenta los parámetros y análisis de requerimientos que se hayan conseguido para el desarrollo de un resultado que debe estar relacionado con el problema.
  • 6. METODOS EVOLUTIVOS Desarrollo en Cascada - Evolutivo  En Ingeniería de software el desarrollo en cascada, también llamado secuencial o ciclo de vida de un programa (denominado así por la posición de las fases en el desarrollo de esta, que parecen caer en cascada “por gravedad” hacia las siguientes fases), es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.1 Al final de cada etapa, el modelo está diseñado para llevar a cabo una revisión final, que se encarga de determinar si el proyecto está listo para avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la base de todos los demás modelos de ciclo de vida
  • 7.  Ingeniería y Análisis del Sistema.  Debido a que el software es siempre parte de un sistema mayor, el trabajo comienza estableciendo los requisitos de todos los elementos del sistema y luego asignando algún subconjunto de estos requisitos al software.  Análisis de los requisitos del software  Análisis: Se analizan las necesidades de los usuarios finales del software para determinar qué objetivos debe cubrir. De esta fase surge una memoria llamada SRD (Documento de Especificación de Requisitos), que contiene la especificación completa de lo que debe hacer el sistema sin entrar en detalles internos (debe comprender el ámbito de la información del software, así como la función, el rendimiento y las interfaces requeridas).  Diseño  El diseño del software se enfoca en cuatro atributos distintos del programa: la estructura de los datos, la arquitectura del software, el detalle procedimental y la caracterización de la interfaz. El proceso de diseño traduce los requisitos en una representación del software con la calidad requerida antes de que comience la codificación. Como resultado surge el SDD (Documento de Diseño del Software), que contiene la descripción de la estructura global del sistema y la especificación de lo que debe hacer cada una de sus partes, así como la manera en que se combinan unas con otras.  Codificación  Es la fase de programación. Aquí se desarrolla el código fuente, el diseño debe traducirse en una forma legible para la máquina, haciendo uso de prototipos así como pruebas y ensayos para corregir errores. El paso de codificación realiza esta tarea. Si el diseño se realiza de una manera detallada la codificación puede realizarse mecánicamente.  Prueba  Una vez que se ha generado el código comienza la prueba del programa. La prueba se centra en la lógica interna del software, y en las funciones externas, realizando pruebas que aseguren que la entrada definida produce los resultados que realmente se requieren. Se comprueba que funciona correctamente antes de ser puesto en explotación.  Mantenimiento  El software sufrirá cambios después de que se entrega al cliente. Los cambios ocurrirán cuando se hayan encontrado errores, esto en lugar de que el software debe adaptarse a cambios del entorno externo (sistema operativo o dispositivos periféricos), o debido a que el cliente requiera ampliaciones funcionales o del rendimiento.
  • 8.  Modelo Espiral  3.2.1 Modelo Original de Boehm  Los evolutivos son los modelos iterativos, permiten realizar versiones cada vez más completas y complejas, hasta llegar al objetivo final que se desea; incluso evolucionar más allá,durante la etapa de operación. Los modelos “Iterativo incremental” y “Espiral” (entre otros) son dos de los que más se conocen y utilizan del tipo evolutivo.  La idea que existe detrás de este modelo es la elaboración de una implantación del sistema inicial, exponerla a los comentarios del usuario, mejorarla en N versiones hasta que se realice el sistema adecuado.Una de las ventajas de este modelo es que se obtiene una rápida realimentación del usuario, dado que las actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración.
  • 9. METODOS AGILES SCRUM  Este modelo fue identificado y definido por Ikujiro Nonaka y Takeuchi a principios de los 80, al analizar cómo desarrollaban los nuevos productos las principales empresas de manufactura tecnológica: Fuji-Xerox, Canon, Honda, NEC, Epson, Brother, 3M y Hewlett-Packard (Nonaka & Takeuchi, The New New Product Development Game, 1986).  En su estudio, Nonaka y Takeuchi compararon la nueva forma de trabajo en equipo, con el avance en formación de melé (scrum en inglés) de los jugadores de Rugby, a raíz de lo cual quedó acuñado el término “scrum” para referirse a ella.  Aunque esta forma de trabajo surgió en empresas de productos tecnológicos, es apropiada para cualquier tipo de proyecto con requisitos inestables y para los que requieren rapidez y flexibilidad, situaciones frecuentes en el desarrollo de determinados sistemas de software.
  • 10.  Kanban  El término japonés Kanban, fue el empleado por Taiichi Onho (Toyota), para referirse al sistema de visualización empleado en los procesos de producción que coordinan en una cadena de montaje la entrega a tiempo de cada parte en el momento que se necesita, evitando sobreproducción y almacenamiento innecesario de producto. Se puede traducir como tablero o tarjeta de señalización, y su origen se remonta finales de los cuarenta o principio de los cincuenta.  Kanban en el sector TIC  El uso de tableros kanban muestra y gestiona el flujo de avance y entrega, y ayuda a evitar los dos problemas más importantes: cuellos de botella y tiempos muertos.  El desarrollo ágil de software emplea prácticas de gestión visual por ser las que mejor sirven a los principios de comunicación directa y simplicidad en la documentación y gestión.  Desde 2005 es cada vez más frecuente reemplazar los formatos de lista para las pilas de producto y de sprint por notas adhesivas en tableros, que resultan más versátiles al poder cambiar su posición, bien para reordenar las prioridades de las historias de una pila de producto, o para reflejar a través de su posición en, cuáles se están programando, probando, o se encuentran terminadas. Las prácticas kanban son válidas para gestión evolutiva con entrega continua. Deben emplearse con criterios de flexibilidad, sin considerar prescripciones ni excepciones en el método de trabajo, para lograr la implementación personalizada, que dé la mejor respuesta a los principios ágiles, de ingeniería concurrente, o de síntesis de ambos, con los que trabaja la organización.
  • 11.  PROGRAMACIÓN EXTREMA XP  La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos. Características  Las características fundamentales del método son:  Se valora al individuo y las interacciones del equipo de desarrollo sobre el proceso y las herramientas. La gente es el principal factor de éxito de un proyecto software.  Desarrollar software que funciona más que conseguir una buena documentación.  La colaboración con el cliente. Se propone que exista una interacción constante entre el cliente y el equipo de desarrollo.  Responder a los cambios. La habilidad de responder a los cambios que puedan surgir a lo largo del proyecto determina también el éxito o fracaso del mismo. La planificación no debe ser estricta sino flexible y abierta.