Desarrollo de Software Iterativo
Introducción
Iteración: Un miniproyecto que resulta en una versión interna del software. En el desarrollo de software, es un conjunto de actividades que transforman los requisitos del usuario en un sistema funcional. Se basa en componentes y utiliza UML como herramienta de modelado.
Fases del Proceso Iterativo
- Inicio: Define el alcance del producto, identifica y mitiga riesgos, prepara el análisis inicial y establece objetivos.
- Elaboración: Obtiene una línea base de la arquitectura, captura la mayoría de los requisitos y reduce riesgos adicionales.
- Construcción: Desarrolla el sistema completo y garantiza una funcionalidad operativa inicial.
- Transición: Asegura que el producto esté listo para su entrega.
Especificación de Requisitos
Es el proceso de documentar los requisitos del usuario y del sistema, actuando como un contrato entre usuarios y desarrolladores.
Tipos de Requisitos
- Funcionales: Describen las funciones del sistema.
- No Funcionales: Especifican características como rendimiento, seguridad y usabilidad.
- Del Dominio: Relacionados con el contexto específico del sistema.
Niveles de Descripción de Requisitos
- Del Usuario: En lenguaje natural y diagramas.
- Del Sistema: Diagramas de casos de uso, plantillas detalladas, prototipos y modelos de objetos.
Modelo de Casos de Uso
Especifica el comportamiento deseado del sistema desde la perspectiva del usuario, representando los requisitos funcionales.
Partes de un Caso de Uso
- Secuencias: Interacciones entre elementos externos y el sistema.
- Actores: Roles de los usuarios que interactúan con el sistema.
- Variantes: Casos de uso incluidos dentro de otros.
- Resultado Tangible: Valor generado para un actor.
Workflow de Requisitos
Un flujo de trabajo para capturar requisitos y guiar el desarrollo del software.
Pasos
- Enumerar Requisitos Candidatos: Crear listas de ideas y características con prioridad y nivel de riesgo.
- Comprender el Contexto: Utilizar modelos de dominio y negocio.
- Capturar Requisitos Funcionales: Mediante casos de uso y conocimiento del contexto.
- Capturar Requisitos No Funcionales: Restricciones de entorno, plataforma y rendimiento.
- Capturar Requisitos Adicionales: Según sea necesario.
Workflow de Análisis
Un método para analizar aspectos internos del sistema y refinar los requisitos.
Artefactos
- Modelo de Análisis: Representado por un sistema de análisis con paquetes y clases.
- Clase de Análisis: Se centra en requisitos funcionales, define atributos y participa en relaciones.
- Realización de Casos de Uso: Descripción textual, diagramas de clases e interacción, y requisitos especiales.
- Paquete de Análisis: Organiza clases y realizaciones de casos de uso.
- Descripción de la Arquitectura: Descomposición del modelo de análisis y vista de la arquitectura.
Scrum
Una metodología ágil que maximiza la productividad del equipo, reduce la burocracia y produce resultados rápidos en iteraciones cortas (Sprints).
Metodología de Trabajo
Equipos pequeños revisan requisitos, tecnología y conocimientos para determinar cómo aumentar la funcionalidad. Se realizan reuniones diarias y se trabaja en Sprints hasta que el proyecto esté listo para producción.