Ing. de software, los casos de uso y dia
Como se pudo leer en este post la ing. de software es el conjunto de técnicas que permite que hacer uso de técnicas para el diseño, desarrollo e implementación de un software, para que vaya con una determinada calidad. Ahora es momento de que se conozca los casos de uso.
¿Qué es un caso de uso?
Según la Junta de Andalucia un caso de uso es:
es una técnica para la captura de requisitos potenciales de un nuevo sistema o una actualización de software. Cada caso de uso proporciona uno o más escenarios que indican cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo específico. Normalmente, en los casos de usos se evita el empleo de jergas técnicas, prefiriendo en su lugar un lenguaje más cercano al usuario final. En ocasiones, se utiliza a usuarios sin experiencia junto a los analistas para el desarrollo de casos de uso.
juntadeandalucia.es
Para ecured, un caso de uso es:
Un caso de uso es una secuencia de interacciones que se desarrollarán entre un sistema y sus actores en respuesta a un evento que inicia un actor principal sobre el propio sistema. Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema.
ecured.cu
y de acuerdo a ejemplo.net un caso de uso es:
Un caso de uso se trata de una secuencia llevada por interacciones desarrolladas en conjunto entre un sistema y sus actores, siendo esta la respuesta que se genera producto de un evento iniciado por un actor principal dentro del mismo sistema.
ejemplos.net
De lo anterior se puede decir que un caso de uso no es más que: “no es mas que un conjunto de gráficos que interaccionan entre para brindar de una forma sencilla, como van a interactuar los usuarios, con el software que se este desarrollando o en su caso actualizando. También puede aplicar a la forma en que el sistema se comunique con otro para obtener información y procesarlo o enviar información.”
¿Qué características tiene un caso de uso?
Cada caso de uso se centra en describir cómo alcanzar una única meta o tarea de negocio. Desde una perspectiva tradicional de la ingeniería de software, un caso de uso describe una característica del sistema. Para la mayoría de proyectos de software, esto significa que quizás a veces es necesario especificar diez o centenares de casos de uso para definir completamente el nuevo sistema. El grado de la formalidad de un proyecto particular del software y de la etapa del proyecto influenciará el nivel del detalle requerido en cada caso de uso.
Los casos de uso pretenden ser herramientas simples para describir el comportamiento del software o de los sistemas. Un caso de uso contiene una descripción textual de todas las maneras que los actores previstos podrían trabajar con el software o el sistema. Los casos de uso no describen ninguna funcionalidad interna (oculta al exterior) del sistema, ni explican cómo se implementará. Simplemente muestran los pasos que el actor sigue para realizar una tarea.
Un caso de uso debe:
- describir una tarea del negocio que sirva a una meta de negocio
- tener un nivel apropiado del detalle
- ser bastante sencillo como que un desarrollador lo elabore en un único lanzamiento
Situaciones que pueden sarse:
- Un actor se comunica con un caso de uso (si se trata de un actor primario la comunicación la iniciará el actor, en cambio si es secundario, el sistema será el que inicie la comunicación).
- Un caso de uso extiende otro caso de uso.
- Un caso de uso utiliza otro caso de uso.
Las buenas prácticas de los casos de usos:
- El caso de uso debe describir qué debe hacer el sistema a desarrollar en su interacción con los actores y no cómo debe hacerlo. Es decir, debe describir sólo comportamiento observable externamente, sin entrar en la funcionalidad interna del sistema.
- El nombre del caso de uso debe ilustrar el objetivo que pretende alcanzar el actor al realizarlo.
- El caso de uso debe describir interacciones con los actores sin hacer referencias explícitas a elementos concretos de la interfaz de usuario del sistema a desarrollar.
- La invocación de unos casos de uso desde otros casos de uso (lo que se conoce como inclusión, o extensión si es condicional, en UML), sólo debe usarse como un mecanismo para evitar repetir una determinada secuencia de pasos que se repite en varios casos de uso. Nunca debe usarse para expresar posibles menús de la interfaz de usuario.
- Se debe ser cuidadoso al usar estructuras condicionales en la descripción del caso de uso, ya que los clientes y usuarios no suelen estar familiarizados con este tipo de estructuras, especialmente si son complejas.
- Se debe intentar que todos los casos de uso de una misma ERS estén descritos al mismo nivel de detalle.
- En los diagramas de casos de uso, debe evitarse que se crucen las líneas que unen los actores a los casos de uso.
¿Qué software utilizo para un caso de uso?
Para responder a esta pregunta se hace uso del software libre dia, que permite realizar estos diagramas, se puede mirar aqui para su instalación. Partiendo de que se tiene instalado dia, se procede a realizar un caso de uso en la aplicación. En la imagen 1, se puede observar los elementos gráficos que componente a los casos de usos.
Lo primero que hay que hacer es abrir la aplicación dia. Se mostrará una pantalla como la que se puede observar en la imagen 2, es importante cambiar el tipo de diagrama que se tiene, si es la primera vez que ejecuta la aplicación, se mostrará los diagramas de flujo, para cambiar a la creación de los casos de uso hay que pulsar sobre la lista de opciones que ofrece la caja de opciones (comboBox) donde se encuentra la el texto “diagrama de flujo”, una vez que haya pulsado sobre el, debe de elegir la opción UML y ya se podrá contar con los gráficos de la imagen 1.
Es importante destacar que dia, tiene su pantalla principal divido en dos, es decir, del lado izquierdo se puede observar, el conjunto de opciones que muestra, en otras palabras, las diferentes gráficos de diagramas con los que se puede trabajar, esta columna esta dividida en tres secciones, la parte de arriba donde se encuentra las herramientas de selección, agrupación y demás. La parte media donde se elige el tipo de diagrama que se quiere usar. y la parte de abajo donde se muestra los gráficos con los que se dispone para cada tipo de diagrama.
La segunda parte en la que se encuentra constituido la ventana principal es el lienzo, es todo esa parte de color blanco cuadriculado donde se colocan los gráficos, que se van a usar para generar el diagrama. para ello solo hay que hacer clic sobre el tipo de figura que se quiere usar, hacer un clic sobre ella y arrastrarlo hacia el lienzo de trabajo. después se llenan los valores de cada dibujo.
Para cuestión del ejercicio se realizara el caso de uso de cuando un cliente usa un cajero automático, Debe de quedar claro que para cuestión de ejemplo solo se tendrán dos actores, el usuario (el cliente que usa el cajero) y el cajero (el ATM que interactúa con el usuario), puede existir casos de uso al que se invoquen para completar una transacción, como por el ejemplo el caso de uso de validación de PIN, O el de validar que tenga disponibilidad de efectivo o incluso el de dispensar efectivo al usuario, en el caso que registre o el de consulta de saldo. Para cada opción (modulo) es un caso de uso al que se puede incluir (invocar) o hacer referencia desde el exterior. Entonces nuestro caso de uso práctica trata de que el cliente realice un retiro (vea imagen 3).
En el vídeo 1, se puede observar lo fácil que es realizar estos tipos de diagramas y otros como los diagramas de flujo al ser una herramienta case para la parte de diseño permite generar de una manera mas rápida lo que permite que la integración con los documentos que se utilizan sea mucho más pro. Espero que la recreación de esta práctica sea mucho mas entretenida y se hayan animado a instalar dia, es software libre, multiplataforma por lo que no hay que estar pirateando , ni mucho menos tener que usar imágenes con marca de agua porque no se tiene una licencia. Espero tus comentarios.