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.

Entradas relacionadas: