Modelado y Verificación de Software: Conceptos Esenciales de UML, Pruebas y Diagramas de Gestión

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,63 KB

Fundamentos de Ingeniería de Software y Calidad

Lenguaje Unificado de Modelado (UML)

UML es un lenguaje que permite modelar, construir y documentar los elementos que forman un sistema de software orientado a objetos.

Pruebas de Software: Garantía de Calidad

La calidad del software depende del proceso de pruebas, el cual es esencial para garantizar que el software cumpla con las funcionalidades requeridas.

Tipos de Pruebas

  • Pruebas Estáticas: Se realizan sin ejecutar código, enfocándose en el análisis lógico y documental.
  • Pruebas Dinámicas: Implican la ejecución del código.
  • Pruebas Funcionales: Validan requisitos específicos del sistema.
  • Pruebas No Funcionales: Evalúan aspectos como rendimiento, seguridad, usabilidad, etc.
  • Pruebas Unitarias: Pruebas individuales y específicas de componentes.
  • Pruebas de Integración: Verifican el funcionamiento combinado de varias unidades.
  • Pruebas de Regresión: Aseguran que las modificaciones no causen nuevos errores en funcionalidades existentes.

Proceso de Ejecución de Pruebas

Enfoque Principal (Basado en Cajas)

El enfoque principal se basa en la técnica de cajas:

  • Caja Blanca: Requiere conocimiento detallado de la estructura interna del código.
  • Caja Negra: Las pruebas se realizan sin conocimiento de los detalles internos.
  • Caja Gris: Combina elementos de ambos enfoques.
Niveles Fundamentales
  • Usabilidad y accesibilidad.
  • Adaptación y seguridad.
  • Pruebas A/B.

Pruebas de Código

El objetivo es asegurar la fiabilidad, seguridad y calidad del software mediante la verificación del código fuente.

  • Cobertura: Asegura la ejecución de cada línea de código.
  • Valores Límite: Comprobación de condiciones extremas o bordes de rangos.
  • Clases de Equivalencia: Técnica para reducir el número de pruebas verificando casos representativos.

Optimización y Refactorización de Código

La refactorización reestructura el código para mejorar su claridad y eficiencia sin modificar su comportamiento externo.

Ventajas de la Refactorización

  • Código más claro y sencillo.
  • Mejor rendimiento y mantenibilidad.

Patrones Esenciales de Refactorización

  • Renombrado de variables, métodos, etc.
  • Encapsulamiento de campos.
  • Extracción de métodos.
  • Reubicación de métodos.

Diagramación de Sistemas y Gestión de Proyectos

Diagramas UML Esenciales

Casos de Uso

Muestran las funcionalidades que ofrece el sistema a los usuarios.

Elementos Clave
  • Actores.
  • Casos de uso.
  • Sistema.
Relaciones
  • Inclusión.
  • Extensión.
  • Generalización.

Diagrama de Secuencia

Representa el flujo de mensajes entre objetos en el tiempo.

Elementos
  • Línea de vida.
  • Mensajes (asíncronos, síncronos y respuesta).

Diagrama de Colaboración (o Comunicación)

Similar al Diagrama de Secuencia, pero se diferencia en que no muestra el tiempo, solo el orden lógico de las interacciones entre objetos.

Diagrama de Actividad

Representa el flujo de actividades de un proceso.

Elementos
  • Estado inicial.
  • Actividad.
  • Acciones:
    • Nodo Objeto: Representa datos que se usan o se producen.
    • Nodo Acción: Tareas específicas que se ejecutan.
    • Nodo de Control: Se usan para tomar decisiones, dividir o unir procesos.

Diagrama de Tiempo (Cronogramas)

Muestra cómo cambian los estados de los objetos a lo largo del tiempo.

Diagrama de Estados (Máquina de Estados)

Muestra los estados por los que pasa un objeto durante su ciclo de vida.

Elementos
  • Estado inicial y final.
  • Estados.
  • Eventos.
  • Transición.

Diagramas de Gestión de Proyectos

Diagrama de Gantt

Permite una representación gráfica de las tareas sobre una escala de tiempo, representado por un diagrama de barras.

PERT (Program Evaluation and Review Technique)

Controla, ordena y asigna el progreso de determinadas actividades, siendo fundamental para la gestión de proyectos complejos.

Entradas relacionadas: