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.