Metodologías Ágiles vs. Tradicionales: Desarrollo de Software Moderno
Clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 91,11 KB
Metodologías Ágiles vs. Tradicionales: Un Enfoque Comparativo
Las metodologías de desarrollo de software se pueden clasificar en dos grandes categorías: ágiles y tradicionales (secuenciales). A continuación, se presenta una comparación de sus características principales:
- Iterativo vs. Secuencial: Las metodologías ágiles son iterativas, permitiendo cambios y ajustes en cada ciclo. Las tradicionales siguen una secuencia rígida de pasos.
- Adaptabilidad: Las metodologías ágiles aceptan y gestionan los cambios fácilmente. En las tradicionales, los cambios son costosos y difíciles de implementar.
- Interacción con el cliente: En las metodologías ágiles, el cliente está activamente involucrado en todo el proceso. En las tradicionales, la interacción es más limitada y suele ocurrir principalmente al inicio y al final.
- Entrega continua vs. Entrega final: Las metodologías ágiles entregan versiones funcionales del producto en cada iteración. En las tradicionales, el producto final se entrega al completar todo el ciclo de desarrollo.
Preguntas y Respuestas Clave sobre Desarrollo de Software
P: ¿Los modelos de desarrollo contemplan actividades técnicas o de desarrollo del sistema, implementación y pruebas?
R: Verdadero (V).
P: ¿Qué es un requerimiento?
R: Es una noción, característica o descripción de algo que el usuario necesita para ejecutar un sistema con objetivos de optimización.
Pasos para el Análisis de Tareas
Los pasos para un caso de tarea de análisis son:
- Reconocimiento del problema.
- Evaluación y síntesis.
- Modelado.
- Especificación.
- Revisión.
Casos de Uso
Un caso de uso es una técnica de descubrimiento que identifica a los actores implicados y nombra el tipo de interacción entre ellos y el sistema.
P: ¿Qué son las métricas de software?
R: Son la aplicación continua de mediciones basadas en técnicas para el desarrollo del software, con el fin de suministrar información relevante y a tiempo.
Tipos de Modelos de Calidad de Software
- MCCALL: Define factores, criterios y métricas con una estructura jerárquica.
- FURPS: Considera un conjunto de factores y atributos de calidad (Funcionalidad, Usabilidad, Fiabilidad, Rendimiento, Soportabilidad).
- DROMEY: Permite construir y utilizar un modelo de calidad, enfocado en la facilidad y practicidad.
Normas ISO 9000
Las normas ISO 9000 se centran en la gestión de la calidad y el control de calidad. Incluyen aspectos como:
- Funcionalidad.
- Confiabilidad.
- Usabilidad.
- Eficiencia.
- Mantenibilidad.
- Portabilidad.
SCRUM: Un Marco de Trabajo Ágil
SCRUM es un marco de gestión de proyectos ágil que ayuda a los equipos a estructurar y gestionar el trabajo. Sus elementos clave son:
- Roles:
- Product Owner.
- Equipo autogestionado.
- Scrum Master.
- Backlog: Lista priorizada y abierta de tareas.
- Proceso iterativo (Sprint): Ciclos de trabajo de 2 a 4 semanas.
Diseño en la Ingeniería de Software
El diseño en la ingeniería de software es el proceso de aplicar técnicas y principios para definir un producto o sistema.
Proceso de Desarrollo de Software
El proceso de desarrollo de software típicamente incluye las siguientes etapas:
- Comunicación.
- Planeación.
- Modelado.
- Construcción.
- Despliegue.
Fases del ciclo de vida del software:
- Planificación.
- Análisis.
- Diseño.
- Implementación.
- Pruebas.
- Instalación o despliegue.
- Uso y mantenimiento.
Ingeniería de Requisitos:
- Iniciación.
- Obtención.
- Elaboración.
- Negociación.
- Especificación.
- Validación.
- Administración.
Definición de Proyecto
P: ¿Qué es un proyecto?
R: Un proyecto es un conjunto de actividades planificadas con un propósito específico, cuyo objetivo es crear un producto, servicio o resultado único. Ejemplos: desarrollar software para una empresa, construir un puente o lanzar un nuevo producto al mercado.
Problemas Comunes en la Producción de Software
- Mala administración.
- Detección tardía de errores.
- Envejecimiento del software.
Enfoques para evitar problemas:
- Ciclos de vida bien definidos.
- Técnicas de cuarta generación (4GL).
- Prototipación.
Ciclo de Vida Clásico
El ciclo de vida clásico incluye:
- Establecimiento de requerimientos.
- Análisis.
- Diseño.
- Programación.
- Prueba.
- Mantenimiento.
- Documentación.
Tipos de Ciclos de Vida
- Lineal: El más sencillo, divide las actividades del proyecto en grupos separados e independientes.
- Cascada: Rígido y poco flexible, con muchas restricciones. Ventaja: planificación sencilla.
- Prototipos: Utilizado en productos innovadores o con tecnologías nuevas. La falta de conocimiento previo impide iniciar un proyecto secuencial.
- Evolutivo: Útil cuando los requisitos del cliente pueden cambiar o no se conocen completamente al inicio.
- Espiral: Mayor atención al riesgo debido a la incertidumbre de los requisitos. Incluye planificación, análisis de riesgo, implementación y evaluación. Adecuado para grandes proyectos internos donde el usuario está presente.