En el diseño y desarrollo de software, un caso de uso desempeña un papel crucial en la fase de análisis, ya que proporciona una descripción de cómo puede utilizarse y define su interacción con el usuario.
Para simplificar, podríamos definirlo como una especie de manual de instrucciones del propio software.
Es el punto de partida para la definición de los propios casos de prueba.
El concepto de «caso de uso» fue introducido por primera vez en 1987 por Ivar Jakobs, pero se generalizó a principios de los 90, tras la publicación del libro: «Object-Oriented Software Engineering. A Use Case Driven Approach».
Los casos de uso se utilizan para numerosos fines, entre ellos:
- gestión y seguimiento de los requisitos;
- identificación de clases y objetos;
- diseño y codificación;
- desarrollo de la documentación de la aplicación;
- formación;
- desarrollo de casos de prueba.
Como ya se ha anticipado, los casos de uso y los casos de prueba no pueden confundirse. Si los primeros, en efecto, contienen acciones secuenciales que describen las interacciones entre el usuario y el sistema, los segundos contienen condiciones, entradas y salidas para validar el funcionamiento del propio software.
Si, además, el caso de uso se refiere a los requisitos del software, el segundo, como se ha dicho, depende de éste y tiene por objeto verificar el comportamiento del propio software.
Hoy en día, el término «caso de uso» ha entrado en el lenguaje común hasta el punto de que también se utiliza en contextos distintos al diseño de software, como el modelado de procesos de negocio (y la reingeniería de procesos de negocio).