Pregunta

Para una tarea escolar, tenemos que hacer un diagrama de caso de uso. Pero la documentación que tenemos no está muy extendida. Simplemente describe en qué componentes consiste un caso de uso y un ejemplo.
Tenemos que hacer un caso de uso sobre un sistema de biblioteca. Hemos encontrado 11 casos de uso, pero no te molestaré con todos ellos.

IIRC, un caso de uso describe un uso típico de un sistema, ¿verdad? Pero, ¿qué cosas pertenecen en un diagrama de caso de uso y cómo se conectan entre sí?

Lo que tenemos ahora son cuatro actores (miembro, empleado, gerente y contador). Los que tenemos más problemas son miembros y empleados.
El empleado es quien está usando el sistema. ¿Un miembro todavía pertenece aquí como actor?

Algunos casos de uso que tenemos:

  • Miembro se une a la biblioteca.
  • El miembro altera sus registros.
  • El miembro toma prestado un libro.
  • El miembro divide la biblioteca (se da de baja).
  • Un miembro reserva un artículo.
  • El miembro devuelve el libro.
  • El miembro paga (una parte) de los honorarios y multas.

Esos se convierten en casos de uso en el diagrama. Pero si hubiera más casos de uso, como, el empleado ingresa el número de miembro, el empleado ingresa el número de libro y así sucesivamente (¿usos?).

¿Alguien puede arrojar (?) una luz sobre esto?

Editar: ¿Cómo se describen las secuencias de acción? Me han dicho que puede ver una asociación de usos como una llamada de método a algún tipo de rutina que se repite. ¿Es esto correcto? ¿Y cómo se usa extendido?

¿Fue útil?

Solución

  

IIRC, un caso de uso describe un típico   uso de un sistema, ¿verdad? Pero que   thin [g] s pertenecen a un diagrama de caso de uso, y   ¿Cómo se conectan entre sí?

Sus diagramas de casos de uso (sí, un proyecto típico tendrá más de uno) probablemente deberían ser los diagramas más simples en su conjunto UML. Deben asignar actores / roles que haya definido directamente a los casos de uso de su sistema. De hecho, deberían centrarse principalmente en un solo actor y solo incluir a otros actores si deben participar en un caso de uso particular.

Aquí hay un ejemplo que obtuve de Google:

Ejemplo de diagrama de caso de uso http://java.sun.com /mailers/newsletters/fundamentals/img/usecase.png

Tenga en cuenta la simplicidad. Un actor, un sistema, 5 casos de uso. Nada más.

Además, como @Eric P sugirió y mi imagen de ejemplo implica que debe titular sus Casos de uso con un "[Verbo] [Objeto]" estructura; es decir, "miembro toma prestado un libro" se convierte en "Prestar libro". El tema faltante de su oración de caso de uso ("miembro") está codificado en su diagrama de caso de uso como un actor con una asociación al caso de uso.

  

El empleado es el que está usando   el sistema. ¿Un miembro todavía   pertenece aquí como actor?

Me temo que la respuesta a eso es subjetiva. Algunos dirán que no, que debido a que el sistema solo está siendo utilizado por el empleado, entonces el empleado es el único actor. Yo personalmente no estoy de acuerdo.

¿Por qué? Por un lado, los casos de uso son parte de la fase de recopilación de requisitos. Están allí para ayudarlo a organizar la funcionalidad eventual del sistema. Pero negarle al Actor Miembro simplemente porque su creencia actual es que la tecnología no será utilizada por el Miembro es limitarse en esa fase.

¿Qué sucede si su eventual sistema está automatizado, lo que significa que el Miembro va a una terminal para sacar un libro ella misma? Si realizó una suposición durante la recopilación de requisitos, es posible que se pierda una funcionalidad importante.

  

Edit: ¿Cómo son las secuencias de acción?   descrito? Me han dicho que puedes ver   una asociación de usos como una llamada a método   a algún tipo de rutina que se repite?   ¿Es esto correcto? Y como se extiende   utilizado?

Los diagramas de casos de uso son de alto nivel . Deben mostrar su funcionalidad de alto nivel (en la forma de cada caso de uso) y los actores que los utilizan y nada más. No ensucies tus diagramas de casos de uso con extensiones e incluye; esos deben ser raros y solo en casos especiales. El mayor error de novato que puedes cometer (¡y créeme, lo he cometido!) Es intentar modularizar tu código dentro de tu diagrama de Caso de Uso. Sí, lo sé, es lo primero que intenta hacer cualquier programador que valga la pena, pero los diagramas de casos de uso no son el lugar adecuado.

Con respecto a las secuencias de acción: en un conjunto típico de diagramas UML, cada caso de uso tiene asociado uno o más Diagramas de actividad . Estos son más o menos análogos a un diagrama de flujo y sirven como una representación gráfica de la estructura narrativa de casos de uso típica que la mayoría de los libros de texto de Ingeniería de Software fomentan.

De todos modos, espero que esto ayude. Si tiene otras preguntas, ¡no dude en preguntar!

Otros consejos

Me enseñaron que el enfoque de todos para usar diagramas de casos es un poco diferente, por lo que no sé si esto se aplica a usted, pero los actores son generalmente aquellos que tienen contacto directo con el sistema. Entonces, un miembro no sería un actor a menos que escanee su propia tarjeta de la biblioteca o algo así porque tendría que pasar por el empleado.

Los casos de uso deberían cubrir todo, pero no ser muy detallados. Por lo tanto, el empleado verificará la membresía, si no existe, vaya a crear un caso de uso de membresía, de lo contrario, verifique las tarifas pendientes. Si la membresía está al día, escanee el libro, etc.

Parece que tienes una comprensión confusa de lo que son los casos de uso. Aquí hay algunos recursos para que avance en la dirección correcta:

El actor es la persona que usa el sistema, por lo que si el Empleado es el único que usa el sistema, entonces ellos deberían ser el actor. También podría tener múltiples actores posibles si, por ejemplo, una función está disponible tanto para Empleados como para Gerentes.

Por lo tanto, es posible que desee reformular sus casos de uso a algo así como "Agregar nuevo miembro", "Modificar cuenta de miembro", etc.

En cuanto al nivel de detalle, incluiría tantos detalles como sea posible sin obtener "técnico". Las sugerencias de Brandon son bastante buenas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top