Introducción universitaria
El diagrama de casos de uso es una herramienta fundamental en el análisis y diseño de sistemas de información. Permite representar las interacciones entre los usuarios y el sistema, facilitando la comprensión de los requisitos funcionales y el alcance del software.
En la ingeniería de software, esta herramienta se utiliza principalmente en las etapas iniciales del proyecto para establecer qué debe hacer el sistema y cómo se relaciona con los actores externos. Su importancia radica en que permite comunicar de forma clara las funcionalidades del sistema a desarrolladores, stakeholders y usuarios.
El uso de diagramas de casos de uso facilita la planificación del desarrollo, la documentación del sistema y la creación de escenarios de prueba, constituyéndose en un elemento clave en proyectos de software académicos y profesionales.
Fundamentos del sistema de software
Definición de sistema de software
Un sistema de software es un conjunto de componentes interconectados que trabajan de manera coordinada para lograr un objetivo específico. Incluye código, bases de datos, servidores y recursos tecnológicos.
Estos sistemas permiten ejecutar funcionalidades orientadas a resolver necesidades de usuarios y organizaciones.
Requisitos del sistema
Los requisitos representan las condiciones que el sistema debe cumplir.
Tipos
| Tipo | Descripción |
|---|---|
| Funcionales | Qué debe hacer el sistema |
| No funcionales | Cómo debe comportarse (rendimiento, seguridad, etc.) |
Análisis de requisitos
Proceso que consiste en recopilar, analizar y documentar las necesidades del sistema.
Su finalidad es garantizar que el producto final cumpla con las expectativas del usuario y del negocio.
Modelado
El modelado es la representación gráfica o textual de los elementos del sistema. Incluye diagramas que permiten visualizar estructuras, procesos y comportamientos.
Arquitectura, pruebas y mantenimiento
-
Arquitectura: estructura de alto nivel del sistema
-
Pruebas: validación del cumplimiento de requisitos
-
Mantenimiento: actualizaciones y mejoras posteriores
-
Documentación: soporte para uso y evolución del sistema
Caso de uso en ingeniería de software
Definición
Un caso de uso es una herramienta para capturar requisitos funcionales del sistema y describir la interacción entre usuarios y funcionalidades.
Propósito
-
Comprender qué hará el sistema desde la perspectiva del usuario
-
Facilitar la comunicación entre stakeholders
-
Servir como base para pruebas y documentación
Nomenclatura del diagrama
| Elemento | Representación |
|---|---|
| Actor | Entidad externa |
| Caso de uso | Elipse |
| Asociación | Línea de interacción |
| Sistema | Rectángulo delimitador |
Ejemplo aplicado: sistema ecommerce
Actores
-
Cliente
-
Administrador
Casos de uso principales
-
Añadir al carrito
-
Realizar pago
-
Gestionar inventario
Recuadro pedagógico
Aplicación real
Este tipo de modelado se utiliza en proyectos reales de desarrollo de software para definir funcionalidades antes de programar.
Generalización en casos de uso
La generalización permite reutilizar comportamientos comunes y evitar duplicaciones.
Beneficios
-
Abstracción
-
Claridad del modelo
-
Reducción de complejidad
-
Mantenibilidad
Inclusiones «include»
Permiten reutilizar comportamientos obligatorios dentro de otros casos de uso.
Ejemplo:
Realizar compra incluye realizar pago.
Extensiones «extend»
Permiten añadir comportamientos adicionales bajo condiciones específicas.
Ejemplo:
Realizar compra puede extenderse con aplicar cupón de descuento.
Diagrama de casos de uso
Elementos
| Elemento | Función |
|---|---|
| Actor | Interactúa con el sistema |
| Caso de uso | Funcionalidad |
| Relación | Conexión |
| Sistema | Alcance del software |
Usos en ingeniería de software
-
Captura de requisitos
-
Comunicación con stakeholders
-
Planificación del proyecto
-
Diseño inicial
-
Base para pruebas
-
Documentación
Ejemplo resuelto — Sistema de delivery
Actores
-
Cliente
-
Administrador
Casos de uso
-
Realizar pedido
-
Realizar pago
-
Gestionar pedidos
Relaciones
-
Include: realizar pago
-
Extend: aplicar descuento
Estudio rápido
Conceptos clave
-
Sistema de software
-
Requisitos funcionales
-
Modelado
-
Caso de uso
-
Generalización
-
Include
-
Extend
Autoevaluación
-
¿Qué representa un caso de uso?
-
¿Qué diferencia existe entre include y extend?
-
¿Por qué se utilizan en etapas iniciales del desarrollo?
-
¿Cómo se relacionan con las pruebas del software?
Continúa aprendiendo análisis de sistemas, UML y desarrollo de software en:
https://www.youtube.com/@LideratecAcademy
Accede a material LMS, ejercicios y modelado paso a paso.
Lectura relacionada: Especificación de Casos de Uso.