Metodologías y Herramientas para el Desarrollo de Software
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,25 KB
Metodologías de Desarrollo de Software
Metodologías Ágiles
- Son estrategias integrales que impulsan la gestión de proyectos con rapidez y flexibilidad.
- Proceso de una metodología ágil:
- Evaluación de procesos
- Sugerencias de mejora
- Diseño de aplicaciones
- Construcción e implementación
- Evaluación y monitoreo
- Principios de las metodologías ágiles:
- La simplicidad es importante
- Mantener un ritmo de trabajo sostenible
- La excelencia continua mejora la agilidad
- Ventajas:
- Entregas rápidas y continuas
- Mejora de la calidad del producto
- Aumento de la motivación de los trabajadores
- Estimulación del trabajo colectivo
Metodologías Tradicionales
- Definen los requisitos de forma rígida al inicio de los proyectos.
- Los ciclos de desarrollo son poco flexibles y no permiten cambios.
- Ventajas:
- Funcionan bien en proyectos de innovación
- Evaluación en cada fase que permite cambios de objetivos
- Seguimiento detallado en cada fase
Metodologías Específicas
Waterfall (Cascada)
- Proceso de desarrollo secuencial que se ejecuta en etapas:
- Requisitos
- Diseño
- Implementación
- Verificación
- Mantenimiento
Modelo Waterfall de Royce
- Análisis de requisitos del sistema y del software
- Diseño
- Implementación y pruebas de unidades
- Integración y pruebas del sistema
- Mantenimiento
Espiral
- Representado como una espiral, cada giro representa una fase en el proceso.
- Los riesgos se identifican y resuelven explícitamente.
- Actividades:
- Planificación
- Determinación de objetivos
- Análisis de riesgo
- Desarrollo y pruebas
RAD
- Permite desarrollar software de alta calidad en poco tiempo.
- Fases:
- Modelado de gestión
- Modelado de datos
- Modelado de procesos
- Generación de aplicaciones
- Pruebas y volumen
Prototipado
- Construcción de un prototipo de software para que los usuarios lo prueben y aporten comentarios.
- Modelo iterativo basado en el método de prueba y error.
Desarrollo Incremental
- Construcción progresiva del producto final.
- Se agregan nuevas funcionalidades en cada etapa incremental.
- El software se puede utilizar antes de completarse.
Metodologías de Desarrollo Orientado a Objetos
Diseño Orientado a Objetos (OOD)
- Ayuda a explotar el poder de los lenguajes de programación orientados a objetos.
- Incluye 6 diagramas:
- Clase
- Objeto
- Estado de transición
- Interacción
- Módulo
- Proceso
- Fases:
- Análisis
- Diseño
- Implementación
Top-Down Programming
- Divide el problema en subproblemas más pequeños.
- Ventajas:
- Mayor legibilidad
- Mayor productividad
Proceso Unificado
- Recopilación de buenas prácticas de ingeniería de software.
- Organiza el desarrollo de software en cuatro fases:
- Creación
- Elaboración
- Construcción
- Transición
Herramientas CASE
- Conjunto de programas que asisten en el ciclo de vida del desarrollo de software.
Clasificación
- Herramientas integradas: Abarcan todas las fases del ciclo de vida.
- Herramientas de alto nivel: Automatizan las actividades de análisis y diseño.
- Herramientas de bajo nivel: Dirigidas a las fases de construcción e implantación.
- Juegos de herramientas: Automatizan una fase específica del ciclo de vida.
Tipos
- Herramientas de gestión: Estimación, planificación y seguimiento del proyecto.
- Herramientas técnicas:
- Upper CASE: Planificación, análisis de requisitos y diseño de software.
- Lower CASE: Generación de código.
- Herramientas de soporte: Sistemas de diccionario/repositorio, seguridad, control y configuración.
Componentes
- Repositorio (Diccionario): Almacena elementos definidos por la herramienta.
- Metamodelo: Marco para las técnicas y metodologías soportadas por la herramienta.
- Carga o descarga de datos: Permite intercambiar datos con otros sistemas.
- Comprobación de errores: Analiza la exactitud, integridad y consistencia de los esquemas.
- Interfaz de usuario: Editores de texto y herramientas de diseño gráfico para definir diagramas y matrices.