En un caso de uso pueden participar varios actores, pero no todos cumplen el mismo papel. Algunos actores buscan alcanzar el objetivo principal; otros colaboran, entregan información, reciben resultados o son consultados por el sistema durante el proceso.
Distinguir correctamente entre actor principal y actor secundario permite escribir casos de uso más claros. También ayuda a identificar quién obtiene valor directo, quién inicia la interacción, qué dependencias externas existen y qué pruebas deben considerarse.
Esta distinción es especialmente importante en sistemas que se integran con servicios externos, sistemas administrativos, dispositivos o áreas de una organización.
El actor principal es el actor que busca lograr el objetivo central del caso de uso. Es quien necesita obtener un resultado de valor a partir de la interacción con el sistema.
En el caso de uso Solicitar turno, el actor principal suele ser el Paciente, porque su objetivo es obtener una reserva para una consulta médica. El sistema existe para permitirle alcanzar ese resultado.
El actor secundario participa en el caso de uso, pero no es quien persigue el objetivo principal. Puede proveer información, recibir una notificación, validar datos, autorizar una operación o colaborar para que el sistema complete el proceso.
En el caso de uso Solicitar turno, un Servicio de mensajería puede ser actor secundario si el sistema lo utiliza para enviar la confirmación al paciente. También podría participar una Obra social si el sistema consulta la cobertura antes de permitir la reserva.
El actor principal impulsa el objetivo del caso de uso. Los actores secundarios participan como apoyo, dependencia o destinatarios de información. Esta diferencia no depende de si el actor es una persona o un sistema externo, sino del rol que cumple en esa interacción específica.
Un mismo actor puede ser principal en un caso de uso y secundario en otro. El papel depende del objetivo analizado.
Por ejemplo, en un sistema de turnos médicos:
Por eso no conviene etiquetar a un actor como principal o secundario para todo el sistema sin mirar cada caso de uso.
Muchas veces el actor principal inicia el caso de uso, pero no siempre ocurre así. Un caso de uso puede comenzar por tiempo, por un evento externo o por una solicitud de otro sistema, y aun así beneficiar a un actor distinto.
Por ejemplo, un sistema puede enviar recordatorios automáticos de turnos cada tarde. El disparador puede ser una tarea programada, pero el beneficiario principal podría ser el Paciente, que recibe el recordatorio para no olvidar su consulta.
Por eso conviene distinguir entre quién inicia y quién obtiene el valor principal.
El actor principal muchas veces es un usuario final, pero no siempre. En sistemas integrados, el actor principal puede ser otro sistema que necesita obtener un servicio.
Por ejemplo, una plataforma de comercio electrónico puede tener un caso de uso Consultar estado de envío. Si una aplicación móvil externa solicita esa información para mostrársela al cliente, esa aplicación puede actuar como actor principal frente al servicio consultado.
Lo importante es identificar quién solicita o necesita el resultado desde fuera del sistema analizado.
Para encontrar el actor principal de un caso de uso, se pueden aplicar estas preguntas:
Para encontrar actores secundarios, conviene preguntar:
Analicemos el caso de uso Solicitar turno en un sistema de turnos médicos:
| Actor | Tipo de participación | Motivo |
|---|---|---|
| Paciente | Actor principal | Busca reservar una consulta médica. |
| Servicio de mensajería | Actor secundario | Envía la confirmación del turno. |
| Obra social | Actor secundario | Puede validar la cobertura del paciente. |
| Médico | No necesariamente participa en este caso | Su agenda se consulta, pero el médico no siempre interactúa durante la reserva. |
En el caso de uso Administrar agenda, el actor principal puede ser el Administrador o la Recepcionista, según quién tenga la responsabilidad de configurar horarios, días de atención y disponibilidad.
El Médico podría ser actor secundario si el sistema le notifica cambios, o podría ser actor principal si el objetivo del caso de uso es que el propio médico defina su disponibilidad. La clasificación depende del objetivo concreto del caso de uso.
El nombre del caso de uso debe ayudar a reconocer el objetivo del actor principal. Si el nombre no deja claro quién obtiene valor, puede ser una señal de que el caso de uso está mal definido.
Por ejemplo, Enviar datos a servicio externo parece una acción técnica del sistema. En cambio, Confirmar pago o Validar cobertura médica expresan objetivos más comprensibles desde el punto de vista de la interacción.
Los actores secundarios suelen ser importantes para identificar flujos alternativos y excepciones. Si el caso de uso depende de una pasarela de pago, un servicio de mensajería o un sistema externo de validación, hay que pensar qué ocurre cuando esa dependencia no responde o rechaza la operación.
Por ejemplo:
Estas situaciones no deben ignorarse, porque afectan el comportamiento esperado del sistema.
Al distinguir actores principales y secundarios, suelen aparecer estos errores:
Una forma simple de decidir es leer el caso de uso como una frase:
Si al aplicar esta frase el caso de uso no queda claro, probablemente haga falta revisar el nombre del caso de uso, el alcance, los actores o el objetivo que se está intentando describir.
Identificar correctamente actores principales y secundarios permite comprender mejor el sentido de cada caso de uso. El actor principal explica para quién existe la funcionalidad; los actores secundarios muestran con qué entidades externas debe colaborar el sistema.
Esta distinción mejora la especificación, ayuda a encontrar flujos alternativos y permite detectar dependencias externas. En el próximo tema analizaremos los objetivos de los actores y el valor entregado por el sistema.