Posted by: Iván Garcerant on: 25-07-08
En teatro, un actor representa un papel según las indicaciones de un guión. Nosotros tomamos esa metáfora para indicar que un agente externo realiza una acción sobre el sistema, acción esta que puede ser capturada como un guión que sea parte de un caso de uso.
Es interesante observar que llamamos actor a toda entidad externa que demanda funcionalidad del sistema, ya sea un ser humano o un sistema de software; por lo cual el término usuario puede ser un poco limitado.
Normalmente representamos a los actores de nuestro sistema por medio de la simple imagen de una figura humana de rayas. pero dada la flexibilidad del UML es posible representarlo también como una clase estereotipada o bien, con una imagen provista por nosotros según algún criterio artístico.
La siguiente imagen ilustra las tres formas que he mencionado:
Fig. 1 – Tres formas de representar un Actor en un diagrama de UML
La especificación UML lidía con el lenguaje visual pero como en otras ocasiones esta no es más que una fracción de lo que queremos decir sobre nuestros modelos, en este caso, es de interes capturar información adicional de nuestros actores, para lo cual podemos pensar en tener una tabla como la siguiente para cada uno de ellos:
Nombre: Actor
Representado por: Nombre y datos de contacto del stakeholder que puede responder preguntas sobre este actor
Facilidades de comunicación: Protocolos o estilos de comunicación que el actor entiende.
Relación con otros actores: Relaciones de herencia o dependencia entre actores
Tabla 1 – Definición de un Actor
La definición anterior la podemos llevar en el cuerpo de comentarios de nuestro modelador UML y exportarlo a un documento de texto cada vez que sea necesario.
Los actores nos sirven para capturar a los usuarios del sistema pero también, son la forma en la que podemos expresar el contexto del mismo. Es decir, que los actores toman el lugar de cualquier entidad de interes con la que nuestro sistema interactua.
Pese a lo anterior, ciertas cosas generalmente vistas como externas al sistema no son considerados buenos actores. Los sistemas de persistencia como las bases de datos o los archivos, si bien externos, no son actores. Entre otras cosas, debido a que estos no demandan funcionalidad del sistema (son pasivos respecto a él) además, es de interes que estos elementos estén bajo la definición del diseño de nuestro sistema, por lo que puede resultar de más provecho considerarlos parte del mismo.
[...] Un actor es cualquier entidad externa al sistema que demanda una funcionalidad de este. Con esta definición [...]
[...] hemos de identificar al actor. En este caso es claramente el operador o usuario del teléfono. Tendremos en cuenta siempre que [...]
[...] una presentación de las responsabilidades del sistema desde el punto de vista de cada uno de los actores que requieren los servicios del sistema. A esta forma de documentar los requisitos le llamamos Caso [...]
[...] sencillez, llamaremos actor a cada operador externo, tanto si es un sistema aparte del nuestro como si se trata de un operador [...]
[...] uso persigue capturar la funcionalidad del sistema visto desde el punto de vista de sus operadores -actores- por lo que es fundamentalmente una construcción de elementos de modelado comprensibles por los [...]
[...] Un flujo de eventos consiste en enumerar los pasos que sucesivamente realizan los actores y el sistema en el contexto de un caso de uso. Es decir, que un flujo de eventos es en su forma [...]
Hola en que sentido se dice que el actor es una entidad, que sentido tiene la palabra entidad en la definición…es como decir es algo que se encuentra fuera del sistema y le requiere algo a dicho sistema? o es entidad en sentido mas técnico que desconozco. Gracias. Saludos.
17-10-08 a 3:05 am
hola, tengo una duda sobre el modelo de base de datos como actores en uml, no he encontrado que en algun libro mencione que no se pueda modelar una base de datos como actor, lo que hice: puse como actor una base de datos en un modelo de casos de uso (el sistema) que interactuan a su vez con otros actores como son un administrador y usuarios, asi que mi duda es que es realmente imposible evitar modelar una bases de datos como un actor como parte del modelado de casos de uso?, es decir me gustaria modelar la base de datos asi como parte del sistema o es una restriccion o una prohibicion hacerlo, gracias por su atencion, saludos desde mexico.