INGENIERIA DE SOFTWARE UNIDAD 2 Flashcards
(22 cards)
representan diferentes enfoques para organizar, planificar y estructurar el proceso de creación de software. Estos modelos ayudan a gestionar el ciclo de vida del software de manera eficiente.
modelo de desarrollo
Es el modelo tradicional donde el desarrollo del software sigue una secuencia lineal de etapas.
modelo en cascada
fases del modelo en cascada
Requerimientos → Definición completa de lo que se va a construir.
Diseño → Estructura del sistema (arquitectura, base de datos, etc.).
Implementación → Programación del software.
Pruebas → Verificación del correcto funcionamiento.
Despliegue → Instalación y entrega al cliente.
Mantenimiento → Corrección de errores y mejoras.
permite al cliente interactuar con el sistema antes de que se desarrolle la versión final.
Modelo de prototipos
fases del modelo de prototipos
Recolección de requerimientos iniciales.
Creación del prototipo.
Evaluación por parte del cliente.
Refinamiento del prototipo.
Desarrollo final del sistema.
Es una variación del modelo en cascada, pero con énfasis en la validación y verificación. Cada fase de desarrollo tiene una fase de prueba asociada.
modelo en V
Cada fase de desarrollo tiene una fase de prueba asociada.
modelo en V
e divide el desarrollo en pequeños incrementos funcionales. Se entrega el software por partes, agregando funciones en cada iteración.
modelo incremental
Se entrega el software por partes, agregando funciones en cada iteración.
modelo incremental
Es un modelo basado en iteraciones con enfoque en gestión de riesgos.
modelo espiral
fases del modelo espiral
Identificación de objetivos y requerimientos.
Evaluación y análisis de riesgos.
Desarrollo y validación de una versión inicial (prototipo).
Planificación para la siguiente iteración.
Es un marco de trabajo iterativo que organiza el desarrollo en fases y se centra en la entrega continua de versiones mejoradas del software.
RUP (Rational Unified Process).
fases del RUP
nicio (Inception): Definición de objetivos y estimación de costos.
Elaboración (Elaboration): Diseño de la arquitectura del sistema.
Construcción (Construction): Desarrollo e implementación del software.
Transición (Transition): Entrega final, pruebas y capacitación del cliente.
Es un conjunto de metodologías flexibles basadas en ciclos cortos de desarrollo llamados sprints (en Scrum). Se centra en entregas frecuentes y colaboración con el cliente.
Modelo Agil (Scrum)
integra desarrollo y operaciones para acelerar la entrega de software mediante automatización, integración continua y despliegue continuo (CI/CD).
DevOPS
Añade seguridad desde el inicio del desarrollo, en lugar de tratarla al final.
DevSecOps
Uso de inteligencia artificial y machine learning para mejorar el desarrollo de software.
Incluye generación automática de código, detección de errores y optimización de rendimiento.
Ingeniería de Software Basada en IA (AI-Driven Development).
permiten desarrollar aplicaciones sin necesidad de escribir mucho código (low-code) o sin programar nada (no-code). Se usan principalmente en desarrollo rápido de aplicaciones empresariales.
Low-Code y No-Code Development.
En lugar de construir aplicaciones monolíticas, se dividen en microservicios que funcionan de manera independiente y se comunican entre sí.
Modelos Basados en Microservicios.
Un modelo donde las aplicaciones reaccionan a eventos en tiempo real en lugar de ejecutar procesos de manera secuencial.
Arquitectura de Software Basada en Eventos (Event-Driven Architecture).
Optimización del consumo energético de servidores y código eficiente.
Ingeniería de Software Ética y Sostenible.
Usa contenedores (Docker) y orquestadores (Kubernetes).
Desarrollo Nativo en la Nube (Cloud-Native Development).