SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Fundamentos de Ingeniería de software
2017
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
JOSÉ GUSTAVO ZIMBRÓN LARA
INGENIERÍA EN SISTEMAS COMPUTACIONALES | 5 IS1 | Juan Francisco Guzmán Gutiérrez
AGOSTO – DICIEMBRE 2017 | 29 de agosto de 2017
Clásicas
Cascada
El modelo de cascada original se desarrolló entre las décadas de los años 60 y 70,y se define como
una secuencia de actividades, donde la estrategia principal es seguir el progreso del desarrollo de
software hacia puntos de revisión bien definidos
Fases del modelo cascada:
· Ingeniería y análisis del sistema: análisis y de diseño de todos los componentes del sistema
computacional.
· Análisis de requisitos software: se debe conocer que necesita el usuario para saber que
necesidades debemos cubrir.
· Diseño: en esta fase se realizan los algoritmos necesarios para que se cumplan los
requerimientos del usuario, así como también los análisis necesarios para saber que herramientas
usar en la etapa de codificación. se dividen en:
1. Diseño de alto nivel o arquitectónico.
2. Diseño detallado.
Codificación: es la fase de programación propiamente dicha
Pruebas: las componentes una vez programadas, se ensamblan para formar el sistema y se
demuestra que trabaja correctamente antes de ser puesto en práctica por el usuario. Existen varios
tipos de pruebas:
· Pruebas de unidad.
· Pruebas de integración.
· Pruebas de sistema.
Mantenimiento: el software necesitará cambios después de la entrega. los tipos de mantenimiento
son:
· Mantenimiento preventivo y perfectivo.
Incremental
El modelo incremental consiste de un desarrollo inicial de la arquitectura completa del sistema,
seguida de incrementos y versiones parciales.
Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema. Conforme se
completa cada etapa, se verifica e integra la última versión con las demás versiones ya completadas
del sistema.
Durante cada incremento, el sistema se evalúa con respecto al desarrollo de versiones futuras. Las
actividades se dividen en procesos y subprocesos, dando lugar al término fábrica de software (en
inglés, software Factory). Para que la secuencia de desarrollo sea exitosa, es esencial definir etapas
que no requieran cambiar los resultados anteriores al agregar nuevas. Por lo tanto, es importante
comprender al inicio los requisitos completos del sistema, algo que normalmente es muy difícil de
lograr.
Evolutivo
Este modelo considera que el desarrollo de sistemas es un proceso de cambios progresivos
mediante deltas (cambios) de especificación de requerimientos. El modelo evolutivo es también
conocido como desarrollo rápido de aplicaciones (en inglés, RAD—rapid application development),
que se basa tradicionalmente en el uso de prototipos (en inglés, rapid prototyping).
Un prototipo de software se considera como un medio para especificar los requisitos y un enlace de
comunicación entre el usuario final y el diseñador, ayudando a reducir el riesgo de carecer de
requerimientos iniciales completos y estables.
Espiral
El modelo espiral, desarrollado durante la década de los años 80, es una extensión del modelo de
cascada.
Cada ciclo del modelo espiral termina con una revisión que discute los logros actuales y los planes
para el siguiente ciclo. Al igual que el modelo evolutivo, el modelo espiral incorpora una estrategia
de uso de prototipos como parte del manejo del riesgo.
Prototipos
Un prototipo es una versión preliminar, intencionalmente incompleta o reducida de un sistema. El
uso de prototipos es una estrategia que puede aplicarse en casi todas las actividades del proceso de
software. El propósito de los prototipos es obtener de manera rápida la información necesaria como
ayuda en la toma de decisiones.
Los siguientes son algunos tipos de prototipo:
• Los prototipos de requisitos permiten que los usuarios perciban la funcionalidad del
producto final a través del diseño de interfaces o pantallas del sistema. El objetivo es ayudar
a aclarar los requisitos y solicitar nuevas ideas.
• Los prototipos de análisis permiten generar rápidamente una arquitectura general que
considere las características principales del sistema de acuerdo con la especificación de
requisitos.
• Los prototipos de diseño permiten explorar y comprender la arquitectura particular de un
sistema para poder evaluar aspectos como cuellos de botella (rendimiento y uso de
memoria) o incoherencias en el diseño.
Basado en componentes
Ingeniería de Software Basada en Componentes (ISBC).
La ISBC parte de la idea de la integración de componentes software ya existente
(Desarrollo ascendente o bottom-up). Las tecnologías de objetos proporcionan el marco de trabajo
técnico, para la ingeniería de software, para un modelo de proceso basado en componentes. El
paradigma orientado a objetos enfatiza la creación de clases que encapsulan tanto los datos como
los algoritmos para manejar esos datos. Si se diseñan y se implementan adecuadamente, las clases
Orientadas a objetos son reutilizables por diferentes aplicaciones.
Fases de Ingeniería y Construcción y Acción de éste modelo por una sola fase de Construcción y
adaptación de la Ingeniería:
• Comunicación con el cliente- las tareas requeridas para establecer comunicación entre el
desarrollador y el cliente.
• Planificación- las tareas requeridas para definir recursos, el tiempo y otra información
relacionadas con el proyecto.
• Análisis de riesgos- las tareas requeridas para evaluar riesgos técnicos y de gestión.
• Construcción y adaptación de la Ingeniería
• Evaluación del cliente- las tareas requeridas para obtener la reacción del cliente según la
evaluación de las representaciones del software creadas durante la etapa de ingeniería e
implementada durante la etapa de instalación.
Metodologías Agiles
Esta metodología nace en febrero del 2001 en una reunión celebrada en Utah EEUU.
Principales ideas de la metodología ágil:
• Se encarga de valorar al individuo y las iteraciones del equipo más que a las herramientas o
los procesos utilizados.
• Se hace mucho más importante crear un producto software que funcione que escribir
mucha documentación.
• El cliente está en todo momento colaborando en el proyecto.
• Es más importante la capacidad de respuesta ante un cambio realizado que el seguimiento
estricto de un plan
Otras metodologías
Scrum
Es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e
incremental, Scrum estaba enfocado a la gestión de procesos de desarrollo de software, puede ser
utilizado en equipos de mantenimiento de software, o en una aproximación de gestión de
programas: Scrum de Scrums.
Programación Extrema
La programación extrema o eXtreme Programming (XP) es una metodología de desarrollo de
la ingeniería de software formulada 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.
Ganar Ganar
El modelo ganar-ganar (en inglés, win-win) extiende el modelo espiral, haciendo énfasis en la
identificación de las condiciones de ganancia para todas las partes, creando un plan para alcanzar
las condiciones ganadoras y evitar los riesgos correspondientes. Se establecen las reglas para definir
el proceso de desarrollo del proyecto, tomando en cuenta todas las partes implicadas. El modelo no
necesita mucho tiempo de gestión. Esto permite utilizarlo tanto en proyectos pequeños como
grandes.
Se consideran cuatro los ciclos, cada uno compuesto de cuatro actividades.
• Ciclo 0 (grupos de aplicación) se determina la viabilidad de un grupo apropiado de
aplicaciones.
• Ciclo 1 (objetivos del ciclo de vida de la aplicación) se desarrollan los objetivos del ciclo de
vida, incluyendo prototipos, planes y especificaciones de aplicaciones individuales, y se
verifica la existencia de al menos una arquitectura viable para cada aplicación. En el
• Ciclo 2 (arquitectura del ciclo de vida de la aplicación) se establece una arquitectura del ciclo
de vida detallado, se verifica su viabilidad, y se determina que no existen riesgos mayores
en satisfacer los planes y especificaciones.
• Ciclo 3 (capacidad de operación inicial) se alcanza una capacidad operacional inicial para
cada etapa crítica del proyecto en el ciclo de vida del software.
Proceso Unificado
El proceso unificado considera como aspecto esencial del desarrollo de software una visión que
parte de la arquitectura del sistema, siguiendo un proceso iterativo e incremental. El proceso
considera e integra diferentes aspectos, como son los ciclos, fases, flujos de trabajo, mitigación de
riesgo, control de calidad, administración de proyecto y control de configuración.
Ingeniería Web
Es una aplicación de software que permite al usuario recuperar y visualizar documentos de
hipertexto, comúnmente descritos en HTML.
Los sitios web pueden ser categorizados de la siguiente forma:
• Sólo estático que se enfoca en la organización de la estructura y el contenido, en la forma
como se va a presentar la información y que sea fácil de manejar para cualquier usuario,
pero debe tener en cuenta la eficiencia y la confiabilidad.
• Sitio estático con formularios de entrada este sitio tiene las mismas características que el
anterior, adicionándole que él le permite a los usuarios la interacción por medio de
cuestionarios, comentario y sugerencias.
• Sitio con acceso de datos dinámicos aquí, además de las características antes mencionadas,
cuenta con bases de datos en las cuales el usuario puede realizar consultas y búsquedas.
• Sitio creado dinámicamente en este sitio los requerimientos son parecidos, pero deben
suplir con las necesidades de cada usuario; creando sitios dinámicos que sean compatibles
con el entorno de navegación de cada usuario.
• Aplicación de software basada en la Web este sitio puede tener todas las características
antes mencionadas, pero logrando un parecido con una implementación cliente/servidor
comúnmente conocido que a un sitio web estático.
En general, las aplicaciones web, necesitan ser funcionales, mantenible, escalables y seguras. Como
podemos ver, la actual demanda de las aplicaciones web es totalmente diferente de las aplicaciones
convencionales y por lo tanto hay una gran necesidad de la ingeniería web.
Referencias:
Blog spot y Google Académico

Más contenido relacionado

La actualidad más candente

4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De RationalJulio Pari
 
Principios de RUP
Principios de RUPPrincipios de RUP
Principios de RUPradoslawkb
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de softwarejhonatanalex
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo VVivitaGranizo
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agilesfmmeson
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup finalMariaC7
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwarePrimoLaura
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwarejairo sanchez
 
Modelos Del ciclo de vida del Software
Modelos Del ciclo de vida del SoftwareModelos Del ciclo de vida del Software
Modelos Del ciclo de vida del Softwareguest37183b
 
Fases de RUP - PDF
Fases de RUP - PDFFases de RUP - PDF
Fases de RUP - PDFradoslawkb
 
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
 
RUP - Fase de Elaboración
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de ElaboraciónAdrian González
 
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
 

La actualidad más candente (19)

4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
 
Principios de RUP
Principios de RUPPrincipios de RUP
Principios de RUP
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Fases del rup
Fases del rupFases del rup
Fases del rup
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo V
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agiles
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
 
Grupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-softwareGrupo 5-modelos-de-procesos-de-software
Grupo 5-modelos-de-procesos-de-software
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Modelos Del ciclo de vida del Software
Modelos Del ciclo de vida del SoftwareModelos Del ciclo de vida del Software
Modelos Del ciclo de vida del Software
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Fases de RUP - PDF
Fases de RUP - PDFFases de RUP - PDF
Fases de RUP - PDF
 
AMSI
AMSIAMSI
AMSI
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Requerimientos del rup
Requerimientos del rupRequerimientos del rup
Requerimientos del rup
 
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.
 
RUP - Fase de Elaboración
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de Elaboració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 Software
 

Similar a Fundamentos de ingenieria de software - metodologias.pdf

Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de softwareAbner Garcia
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del softwareDiego Llusco
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de SistemasT.I.C
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Hendrick Rodriguez
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_softwareMiguel Castro
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxMaikoUrizar1
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-shome
 
Definición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentaciónDefinición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentaciónOvidio Fernando Hernández Albarran
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwareRadel Fuentes
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Jhostin vasquez modelos de software
Jhostin vasquez   modelos de softwareJhostin vasquez   modelos de software
Jhostin vasquez modelos de softwarejhostinvasquez
 

Similar a Fundamentos de ingenieria de software - metodologias.pdf (20)

Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Modelos de proceso del software
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
metodologia
metodologia metodologia
metodologia
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )Los modelos de desarrollo de software (hendrick rodriguez )
Los modelos de desarrollo de software (hendrick rodriguez )
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 
Rup
RupRup
Rup
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
Definición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentaciónDefinición de planificación de proyectos de software presentación
Definición de planificación de proyectos de software presentación
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Jhostin vasquez modelos de software
Jhostin vasquez   modelos de softwareJhostin vasquez   modelos de software
Jhostin vasquez modelos de software
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (10)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Fundamentos de ingenieria de software - metodologias.pdf

  • 1. Fundamentos de Ingeniería de software 2017 METODOLOGÍAS DE DESARROLLO DE SOFTWARE JOSÉ GUSTAVO ZIMBRÓN LARA INGENIERÍA EN SISTEMAS COMPUTACIONALES | 5 IS1 | Juan Francisco Guzmán Gutiérrez AGOSTO – DICIEMBRE 2017 | 29 de agosto de 2017
  • 2. Clásicas Cascada El modelo de cascada original se desarrolló entre las décadas de los años 60 y 70,y se define como una secuencia de actividades, donde la estrategia principal es seguir el progreso del desarrollo de software hacia puntos de revisión bien definidos Fases del modelo cascada: · Ingeniería y análisis del sistema: análisis y de diseño de todos los componentes del sistema computacional. · Análisis de requisitos software: se debe conocer que necesita el usuario para saber que necesidades debemos cubrir. · Diseño: en esta fase se realizan los algoritmos necesarios para que se cumplan los requerimientos del usuario, así como también los análisis necesarios para saber que herramientas usar en la etapa de codificación. se dividen en: 1. Diseño de alto nivel o arquitectónico. 2. Diseño detallado. Codificación: es la fase de programación propiamente dicha Pruebas: las componentes una vez programadas, se ensamblan para formar el sistema y se demuestra que trabaja correctamente antes de ser puesto en práctica por el usuario. Existen varios tipos de pruebas: · Pruebas de unidad. · Pruebas de integración. · Pruebas de sistema. Mantenimiento: el software necesitará cambios después de la entrega. los tipos de mantenimiento son: · Mantenimiento preventivo y perfectivo. Incremental El modelo incremental consiste de un desarrollo inicial de la arquitectura completa del sistema, seguida de incrementos y versiones parciales. Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema. Conforme se completa cada etapa, se verifica e integra la última versión con las demás versiones ya completadas del sistema. Durante cada incremento, el sistema se evalúa con respecto al desarrollo de versiones futuras. Las actividades se dividen en procesos y subprocesos, dando lugar al término fábrica de software (en inglés, software Factory). Para que la secuencia de desarrollo sea exitosa, es esencial definir etapas que no requieran cambiar los resultados anteriores al agregar nuevas. Por lo tanto, es importante
  • 3. comprender al inicio los requisitos completos del sistema, algo que normalmente es muy difícil de lograr. Evolutivo Este modelo considera que el desarrollo de sistemas es un proceso de cambios progresivos mediante deltas (cambios) de especificación de requerimientos. El modelo evolutivo es también conocido como desarrollo rápido de aplicaciones (en inglés, RAD—rapid application development), que se basa tradicionalmente en el uso de prototipos (en inglés, rapid prototyping). Un prototipo de software se considera como un medio para especificar los requisitos y un enlace de comunicación entre el usuario final y el diseñador, ayudando a reducir el riesgo de carecer de requerimientos iniciales completos y estables. Espiral El modelo espiral, desarrollado durante la década de los años 80, es una extensión del modelo de cascada. Cada ciclo del modelo espiral termina con una revisión que discute los logros actuales y los planes para el siguiente ciclo. Al igual que el modelo evolutivo, el modelo espiral incorpora una estrategia de uso de prototipos como parte del manejo del riesgo. Prototipos Un prototipo es una versión preliminar, intencionalmente incompleta o reducida de un sistema. El uso de prototipos es una estrategia que puede aplicarse en casi todas las actividades del proceso de software. El propósito de los prototipos es obtener de manera rápida la información necesaria como ayuda en la toma de decisiones. Los siguientes son algunos tipos de prototipo: • Los prototipos de requisitos permiten que los usuarios perciban la funcionalidad del producto final a través del diseño de interfaces o pantallas del sistema. El objetivo es ayudar a aclarar los requisitos y solicitar nuevas ideas. • Los prototipos de análisis permiten generar rápidamente una arquitectura general que considere las características principales del sistema de acuerdo con la especificación de requisitos. • Los prototipos de diseño permiten explorar y comprender la arquitectura particular de un sistema para poder evaluar aspectos como cuellos de botella (rendimiento y uso de memoria) o incoherencias en el diseño. Basado en componentes Ingeniería de Software Basada en Componentes (ISBC). La ISBC parte de la idea de la integración de componentes software ya existente
  • 4. (Desarrollo ascendente o bottom-up). Las tecnologías de objetos proporcionan el marco de trabajo técnico, para la ingeniería de software, para un modelo de proceso basado en componentes. El paradigma orientado a objetos enfatiza la creación de clases que encapsulan tanto los datos como los algoritmos para manejar esos datos. Si se diseñan y se implementan adecuadamente, las clases Orientadas a objetos son reutilizables por diferentes aplicaciones. Fases de Ingeniería y Construcción y Acción de éste modelo por una sola fase de Construcción y adaptación de la Ingeniería: • Comunicación con el cliente- las tareas requeridas para establecer comunicación entre el desarrollador y el cliente. • Planificación- las tareas requeridas para definir recursos, el tiempo y otra información relacionadas con el proyecto. • Análisis de riesgos- las tareas requeridas para evaluar riesgos técnicos y de gestión. • Construcción y adaptación de la Ingeniería • Evaluación del cliente- las tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software creadas durante la etapa de ingeniería e implementada durante la etapa de instalación. Metodologías Agiles Esta metodología nace en febrero del 2001 en una reunión celebrada en Utah EEUU. Principales ideas de la metodología ágil: • Se encarga de valorar al individuo y las iteraciones del equipo más que a las herramientas o los procesos utilizados. • Se hace mucho más importante crear un producto software que funcione que escribir mucha documentación. • El cliente está en todo momento colaborando en el proyecto. • Es más importante la capacidad de respuesta ante un cambio realizado que el seguimiento estricto de un plan Otras metodologías Scrum Es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental, Scrum estaba enfocado a la gestión de procesos de desarrollo de software, puede ser utilizado en equipos de mantenimiento de software, o en una aproximación de gestión de programas: Scrum de Scrums. Programación Extrema La programación extrema o eXtreme Programming (XP) es una metodología de desarrollo de la ingeniería de software formulada por Kent Beck, autor del primer libro sobre la materia, Extreme
  • 5. Programming Explained: Embrace Change(1999). Es el más destacado de los procesos ágiles de desarrollo de software. Ganar Ganar El modelo ganar-ganar (en inglés, win-win) extiende el modelo espiral, haciendo énfasis en la identificación de las condiciones de ganancia para todas las partes, creando un plan para alcanzar las condiciones ganadoras y evitar los riesgos correspondientes. Se establecen las reglas para definir el proceso de desarrollo del proyecto, tomando en cuenta todas las partes implicadas. El modelo no necesita mucho tiempo de gestión. Esto permite utilizarlo tanto en proyectos pequeños como grandes. Se consideran cuatro los ciclos, cada uno compuesto de cuatro actividades. • Ciclo 0 (grupos de aplicación) se determina la viabilidad de un grupo apropiado de aplicaciones. • Ciclo 1 (objetivos del ciclo de vida de la aplicación) se desarrollan los objetivos del ciclo de vida, incluyendo prototipos, planes y especificaciones de aplicaciones individuales, y se verifica la existencia de al menos una arquitectura viable para cada aplicación. En el • Ciclo 2 (arquitectura del ciclo de vida de la aplicación) se establece una arquitectura del ciclo de vida detallado, se verifica su viabilidad, y se determina que no existen riesgos mayores en satisfacer los planes y especificaciones. • Ciclo 3 (capacidad de operación inicial) se alcanza una capacidad operacional inicial para cada etapa crítica del proyecto en el ciclo de vida del software. Proceso Unificado El proceso unificado considera como aspecto esencial del desarrollo de software una visión que parte de la arquitectura del sistema, siguiendo un proceso iterativo e incremental. El proceso considera e integra diferentes aspectos, como son los ciclos, fases, flujos de trabajo, mitigación de riesgo, control de calidad, administración de proyecto y control de configuración. Ingeniería Web Es una aplicación de software que permite al usuario recuperar y visualizar documentos de hipertexto, comúnmente descritos en HTML. Los sitios web pueden ser categorizados de la siguiente forma: • Sólo estático que se enfoca en la organización de la estructura y el contenido, en la forma como se va a presentar la información y que sea fácil de manejar para cualquier usuario, pero debe tener en cuenta la eficiencia y la confiabilidad. • Sitio estático con formularios de entrada este sitio tiene las mismas características que el anterior, adicionándole que él le permite a los usuarios la interacción por medio de cuestionarios, comentario y sugerencias.
  • 6. • Sitio con acceso de datos dinámicos aquí, además de las características antes mencionadas, cuenta con bases de datos en las cuales el usuario puede realizar consultas y búsquedas. • Sitio creado dinámicamente en este sitio los requerimientos son parecidos, pero deben suplir con las necesidades de cada usuario; creando sitios dinámicos que sean compatibles con el entorno de navegación de cada usuario. • Aplicación de software basada en la Web este sitio puede tener todas las características antes mencionadas, pero logrando un parecido con una implementación cliente/servidor comúnmente conocido que a un sitio web estático. En general, las aplicaciones web, necesitan ser funcionales, mantenible, escalables y seguras. Como podemos ver, la actual demanda de las aplicaciones web es totalmente diferente de las aplicaciones convencionales y por lo tanto hay una gran necesidad de la ingeniería web. Referencias: Blog spot y Google Académico