Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONTENIDOS
2
1 PLANIFICACIN
1.1 Introduccin 1.2 Prototipado 1.3 Casos de Uso
2 CASOS DE USO
2.1 Introduccin 2.2 Actores 2.3 Sujetos 2.4 Flujos de eventos
7 EJEMPLOS
7.1 Mquina de reciclaje 7.2 Terminal punto de venta
3 RELACIONES
3.1 Tipos de relaciones 3.2 Generalizacin 3.3 Inclusin 3.4 Extensin
PLANIFICACIN Introduccin
3
estudia las necesidades de la empresa, se investigan alternativa, se estudia la viabilidad del proyecto, se realiza un anlisis de riesgos y se definen los objetivos del proyecto.
3 actividades principales:
Obtencin de los Requisitos (funcionales funcionales). Creacin de Prototipos preliminares Especificacin de los casos de Uso
no
Diagramas de Casos de Uso Descripcin de los Casos de Uso Ordenacin Casos de Uso
PLANIFICACIN Prototipado
4
Actividad que se suele realizar para clarificar requisitos poco intuitivos y facilitar al cliente la comprensin del producto. se caracterizan por
Se centran en mostrar las interfaces de usuario Fcil de construir con herramientas visuales. Sirve para validar los requisitos. Ejemplo: Pensad un prototipo de un interfaz para que un socio de una biblioteca obtenga el prstamo de un libro o lo reserve cuando no queden ejemplares disponibles.
Escola Tecnica Superior de Engineria
PLANIFICACIN Prototipado
5
Prototipo.
SIGNATURA LIBRO: NMERO SOCIO:
rea de texto donde aparecer el nmero de copia del libro que se ha tomado en prstamo. Si no hay ninguna libre o si el socio ha sobrepasado su nmero mximo de prstamos entonces se indicar aqu mismo.
TOMAR EN PRSTAMO
RESERVAR LIBRO
Cancel
Representan los requisitos funcionales que proporciona un sistema para aadir valor a sus usuarios.
Especifican
unificada del sistema desde distintos puntos de vista. Validar la arquitectura y a verificar el sistema.
Escola Tecnica Superior de Engineria
CASOS DE USO
INTRODUCCION Definicin
8
Un caso de uso especifica un conjunto de secuencias de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un actor en particular. Partes de un caso de uso (PCU)
Conjunto de secuencias de acciones. Cada secuencia representa un posible comportamiento del sistema. Actores, roles que realizan los usuarios. Interviene un Actor (o varios) interactuando con el Sistema. Incluye variantes: versiones especializadas (extensin o inclusin).
INTRODUCCION Sintaxis
9
distingue de otros CU. Mejores nombres: expresiones verbales que describen algn comportamiento del sistema.
Sintaxis:
Procesar Datos Procesar Datos Procesar Datos
INTRODUCCION Clasificacin
10
Segn la importancia
Primario: Representan los procesos fundamentales Secundario: Representan procesos menos importantes o menos habituales Opcional: Representan procesos que podran no realizarse
ACTORES Introduccin
11
Un actor representa un conjunto coherente de roles que juegan los usuarios de los casos de uso al interaccionar con el sistema. Un actor puede representar:
personas, dispositivos
Puntualizaciones:
El
tiempo puede ser un actor. Un usuario puede jugar diferentes roles. Los actores no forman parte del sistema.
Escola Tecnica Superior de Engineria
ACTORES Sintaxis
12
Sintaxis
<< actor >> Responsable prstamos Responsable prstamos
Responsable prstamos
ACTORES Semntica
13
Los actores se conectan a los casos de uso a travs de relaciones de tipo asociacin
El
actor y el caso de uso se comunican entre s, pueden enviar y recibir mensajes o datos.
Actualizar catalogo
Bibliotecario
ACTORES Semntica
14
Usuario
Ordenar Pedido
Escola Tecnica Superior de Engineria
Suministrador
ACTORES Clasificacin
15
Principales:
Utilizan
el sistema directamente Requieren al sistema el cumplimiento de un objetivo. Realizan las tareas principales.
Secundarios:
Supervisan
y mantienen el sistema. El sistema necesita de ellos para satisfacer un objetivo. Existen para que los primarios puedan utilizar el sistema.
Escola Tecnica Superior de Engineria
ACTORES Clasificacin
16
Ejemplo:
Alumno
Realizar preinscripcin
Gestin expedientes
Actor Principal
Matriculacin
Entidad Bancaria
Actores Secundarios
SUJETOS Definicin
17
Cliente
Pedido Telefnico
Distribuidor
Distribuir Pedido
Establecer crdito
Supervisor
y cundo empieza y acaba el caso de uso. Cundo interacta con los actores y qu objetos se intercambian. El flujo normal y los flujos alternativos del comportamiento.
Escola Tecnica Superior de Engineria
estructurado informal Texto estructurado formal (plantillas) Pseudocdigo Notaciones grficas: diagramas de secuencia
Suele incluir:
Descripcin
Reflejando
general.
uno o varios requisitos funcionales del
sistema.
Pre-condiciones
Condiciones
que deben cumplirse para que se realice el caso de uso. que se cumplen posteriormente al caso
Post-condiciones:
Condiciones
de uso.
Escenarios
Con
Durante el proceso de desarrollo se emplean dos formatos para los casos de uso:
Formato Formato
Ms
Descripcin
Expandido (o extendido):
Caso de Uso: nombre del caso de uso Actores: lista de actores (agentes externos). Tipo:
Primario, secundario y opcional. Esencial o real. Este caso de uso inicia cuando <actor> <inicia un EVENTO>. Realizar Venta Cliente, Cajero Primario y esencial Un cliente llega a la caja con los productos que desea comprar. El cajero registra la compra y recoge el pago. Al finalizar, el cliente se lleva los productos.
Formato expandido
Caso de Uso: nombre del caso de uso Actores: lista de actores, indicando tipo (principal o secundario). Propsito: intencin del caso de uso Resumen: misma descripcin del caso de uso de alto nivel o algn resumen similar. Tipo:
Referencias: a las funciones del sistema y los casos de uso relacionados. Pre-condiciones Post-condiciones Flujo de Eventos Principal Flujos Alternativos
Escola Tecnica Superior de Engineria
El cajero repite los pasos 3 y 4 hasta que se indique. 5. Al completar la entrada de productos el cajero se lo indica al sistema 7. El cajero indica al cliente el precio total. 8. El cliente entrega una cantidad de dinero. 9. El cajero registra la cantidad recibida 11. El cajero entrega el dinero del cambio y el recibo al cliente 13. El cliente retira los productos.
Escola Tecnica Superior de Engineria
10. Visualiza la cantidad a devolver al cliente. Genera un recibo 12. Se registra la venta completada y se actualiza el inventario
Flujos alternativos
Cajero
Realizar Venta
Cliente
Interacciones
RELACIONES Tipos
29
Generalizacin
Un cdu hereda el comportamiento y significado de otro Un cdu base incorpora explcitamente el comportamiento de otro en algn lugar de su secuencia. Un cdu base incorpora implcitamente el comportamiento de otro Caso de Uso en el lugar especificado indirectamente por este otro Caso de Uso
RealizarPedido Extension Points Establecerprioridad <<Include>> ComprobarClave
Inclusin
Extensin
EXTENSIN
<<Extend>>
INCLUSIN
RealizarPedidoUrgente
ValidarUsuario <<Include>>
GENERALIZACIN
ConsultarPedido
Escola Tecnica Superior de Engineria
ExaminarRetina
RELACIONES Generalizacin
30
Relaciona un caso de uso especializado con uno ms general. El caso de uso hijo hereda el comportamiento y el significado del caso de uso padre.
El C.U. A es una especializacin del C.U. B. Todo lo que se haya definido que se va a ejecutar para B se ejecutar tambin para A.
CASOA CASOB
RELACIONES Generalizacin
31
Ejemplo
ValidarUsuario
ComprobarClave
ExaminarRetina
ValidarUsuario:Flujodeeventosprincipal ComprobarClave:Flujodeeventosprincipal ObtenercontraseasdeBBDD Pediralusuariocontrasea Elusuariointroducelacontrasea ComprobarsilacontraseaintroducidacoincideconladelasBBDD ExaminarRetina:Flujodeeventosprincipal ObtenerlecturasderetinasdeBBDD Escanearlaretinadelusuarioyobtenerlecturaderetina ComprobarsilalecturaderetinadelusuariocoincideconladelasBBDD
Escola Tecnica Superior de Engineria
RELACIONES Inclusin
32
Se usa para evitar describir el mismo flujo de eventos repetidas veces Se saca el comportamiento comn
Si los casos de uso A y B presentan una parte comn, sta se puede sacar a un tercer caso de uso C. SIEMPRE que se ejecuta el caso de uso A o B, se ejecuta el caso de uso C Para especificarla en el flujo de eventos se debe escribir include seguido del nombre del caso de uso que se quiere incluir. Los casos incluidos son casos de uso en s mismos, aunque NO son casos de uso normales no son activados por un actor
CASOA <<Include>> CASOC <<Include>> CASOB
Escola Tecnica Superior de Engineria
RELACIONES Inclusin
33
Ejemplo
<<Include>>
Realizarseguimientopedido
ValidarUsuario
RELACIONES Extensin
34
Si una condicin es cierta se necesita otro caso de uso para completar su conducta. El caso de uso extendido es un uso de caso normal, que suele ser activado por un actor. Sirve para modelar
La parte opcional del sistema. Un subflujo que slo se ejecuta bajo ciertas condiciones. Varios flujos que se pueden insertar en un punto.
RELACIONES Extensin
35
Esquema
CasoA Extension Points HacerB <<Extend>> B
Ejemplo
RealizarPedido Extension Points Establecerprioridad <<Extend>> RealizarPedidoUrgente
RELACIONES Extensin
36
Modelar mediante casos de uso el proceso de devolucin de un libro en una biblioteca. Tener en cuenta que:
La devolucin se hace a travs del bibliotecario. Se pondr una multa a las devoluciones realizadas fuera de plazo.
Requieren ayuda del sistema para llevar a cabo sus tareas Son necesarios para ejecutar las funciones del sistema Interactan con el hardware externo o con otros sistemas. Realizan funciones secundarias de administracin y mantenimiento
3) Organizar actores (generalizaciones) 4) Identificar los Casos de uso de cada Actor 5) Estructurar los casos de uso Inclusiones y exclusiones 6) Adornar los casos de uso Notas adicionales 7) Especificar el comportamiento textos y diagramas 8) Revisar
Escola Tecnica Superior de Engineria
Escribir casos de uso independientes de la interfaz o de detalles de implementacin, escribirlos a nivel esencial Centrarse en el qu no en el cmo. Comprobar que los casos de uso incluyen toda la funcionalidad del sistema. Mantener la validez y consistencia del conjunto de casos de uso. Cada CU debe representar un comportamiento distinto e identificable del sistema o de una parte del mismo.
Escola Tecnica Superior de Engineria
Recomendaciones de representacin :
Asignarle un nombre que comunique su propsito. Distribuir sus elementos para minimizar los cruces de lneas. Organizar sus elementos espacialmente para que los comportamientos y roles semnticamente cercanos se encuentren cercanos fsicamente. Utilizar las notas y los colores como seales visuales. Mostrar slo los CU y actores relevantes. Intentar no mostrar demasiados tipos de relaciones
Escola Tecnica Superior de Engineria
Este sistema se encarga de la gestin del proceso de compras con las tarjetas de crdito del banco. Cuando el cliente realiza una compra y paga con tarjeta el sistema se encarga de realizar la transaccin de la compra, para lo que necesita introducir su n secreto. El sistema realiza el cargo a la cuenta del banco del cliente, en su momento el banco del cliente se encargar de traspasar el dinero a la cuenta del comercio. El sistema se encarga de imprimir un recibo de la compra tanto para el cliente como para el comercio.
Hay consenso en considerar casos de uso como esenciales para capturar requisitos y guiar el modelado. Pero todava existe mucha confusin sobre cmo usarlos.
Cul
1) No mostrar ms de 15 casos 2) Particionar los grficos por actor. 3) Si las relaciones de inclusin y las extensiones entran en el diagrama principal dejarlas ah. (igual para los actores abstractos) 4) Si las relaciones de inclusin no entran mostrarlas en grficos auxiliares incluyendo a todos los c.u. que incluyen a otro en un mismo diagrama. 5) Si un caso de uso es incluido por gran parte de los otros casos evitar mostrarlo en el grfico principal.
Escola Tecnica Superior de Engineria
Un caso de uso se puede asociar a un objetivo del usuario o a una interaccin bsica con el sistema. Se debe definir un caso de uso por cada objetivo del usuario. Se distinguen:
Objetivo de un usuario
para planificar el proyecto Se les asocia un flujo de interacciones actorsistema Deben ser objetivos del usuario
El desarrollo de un software se organiza alrededor de los casos de uso deben de ser ordenados por importancia relativa los primeros ciclos se deben tratar los ms relevantes Se puede asignar una puntuacin en cada apartado a cada caso de uso y despus asignar una prioridad (orden)
Aspectos a valorar para la ordenacin. Impacto sobre el diseo arquitectnico. Aportacin de informacin significativa (o grande) sobre el diseo con poco esfuerzo. Incluir funciones complejas o crticas. Implicar mucha investigacin o nueva tecnologa. Representar lneas fundamentales de negocio. Aporte importante de ingresos (o reduccin de costes).
Especificar no es dibujar sino describir con el detalle necesario el flujo principal y los flujos alternativos: centrado en la escritura en vez del dibujo El objetivo inicial es identificar los actores y a partir de sus objetivos encontrar los casos de uso el diagrama de casos de uso es una ayuda visual. El texto de los casos de uso debe ser claro. Un error comn es no identificar como casos de uso las tareas que inicia el propio sistema (Actor Tiempo)
Un caso de uso debe tener una granularidad apropiada, pues especifica una interaccin en la que se produce un resultado de valor para un actor.
No identificar interacciones que forman parte de una mayor como casos de uso de inclusin.
Cuidado con el empleo de la relacin include. No hacer una descomposicin funcional! No abusar de las relaciones de extensin. La relacin utilizarse. de generalizacin no debera
A adir libro
< < inc lude> > < < inc lude> >
A a dir pet ic in
B i bliot ecario
G es tionar bibliotec a
No incluir como casos de uso las operaciones CRUD sobre un objeto de negocio (alta, consulta, borrado, actualizacin).
CRUD
es el acrnimo de Crear, Obtener, Actualizar y Borrar (Create, Retrieve, Update y Delete, en ingls).
hay actor que lo ejecute Es un procedimiento interno del sistema Ocurre normalmente al buscar includes o extends
REGLA DE ORO Un Caso de Uso es funcionalidad del sistema que proporciona algn resultado o valor a por lo menos a un actor.
Escola Tecnica Superior de Engineria
Realizar Matrcula
Estudiante
Sistema
Error: No se trata de un sistema externo sino del propio sistema (el c.u. es parte de l)
Escola Tecnica Superior de Engineria
Error: Si al realizar la matrcula, se van seleccionando (en la interfaz) asignaturas en las que matricularse NO ES CASO DE USO
Escola Tecnica Superior de Engineria
Imprimir informe
Estudiante
Error: Imprimir informe es una subfuncin de imprimir informes por tanto no es caso de uso.
Escola Tecnica Superior de Engineria
Retirar Dinero
En este caso no parece que Realizar Transaccin sea un CASO DE USO REAL, pero PUEDE resultar TIL para no repetir muchos flujos de eventos. Puede ocurrir en el caso de GENERALIZACIN .
Escola Tecnica Superior de Engineria
Estudiante
Sistema Bancario
Profesor
Y si los profesores tambin pueden solicitar carnet deportivo? Pueden utilizar el mismo caso de uso?
NO, ya que eso significa que los 3 actores participan en el caso de uso y eso no es lo que queremos
Escola Tecnica Superior de Engineria
Solicitar Carnet Deportivo Estudiante Estudiante Sistema Bancario Solicitar Carnet Deportivo Profesor Profesor
Universitario
Sistema Bancario
Estudiante
Profesor
1) El caso LOGIN incluye todos los otros casos que deben ser seguros
Supone:
Actualizar el diagrama Escribir en el texto del caso de uso login referencias al resto de casos de uso (include). El resto de casos de uso no se modifican.
Beneficios:
La
Inconvenientes:
El
texto del caso de uso es difcil de mantener en el caso que se introduzcan nuevos casos de uso. es bueno que el LOGIN tenga conocimiento de todas las otras partes del sistema.
Escola Tecnica Superior de Engineria
No
el diagrama Escribir en el texto del caso de uso del resto de casos de uso
Beneficios:
El
Inconvenientes:
El
diagrama y los casos de uso hacen entender que el cliente debe identificarse cada vez que quiere hacer algo.
el diagrama Escribir en el texto del caso de uso LOGIN las referencias a los casos extendidos
Beneficios:
El
cliente se identifica una vez y desde all se accede al resto del sistema. LOGIN aade un punto de extensin, pero eso es todo, no es necesario cambiarlo cuando se aaden nuevos casos de uso.
Inconvenientes:
La
descripcin de la extensin. Puede ser una relacin difcil de explicar, especialmente para gente que no es desarrolladora.
Escola Tecnica Superior de Engineria
Beneficios:
El
Inconvenientes:
La
descripcin de la relacin de extensin puede ser difcil de explicar, especialmente para gente que no es desarrolladora. Todos los casos de uso tienen que aadir el punto de extensin.
Escola Tecnica Superior de Engineria
Beneficios:
El caso de uso LOGIN describe slo el proceso de identificacin y nada ms. El diagrama y el texto es claro y fcil de comprender y el sistema es ms flexible. El resto de casos de uso no requieren de LOGIN para ejecutarse, slo un usuario vlido identificado. Ejecutar LOGIN es un modo para ser un usuario vlido pero podran existir otros mtodos de validacin.
CONCLUSIONES:
La ltima aproximacin parece la ms fcil de leer y la ms flexible, sin embargo todas son correctas el desarrollador debe escoger la que mejor se adapta a su proyecto.
Escola Tecnica Superior de Engineria
Reciclar Elemento
Reciclar Elemento
REQUISITOS
Funcin
Registrar la venta, los productos comprados Calcular el total de la venta, incluyendo impuesto y descuentos.
Ref.
F1.1 F1.2 F1.3 F1.4 F1.5 F1.6 F1.7 F1.8 F1.9 F1.10
Categora
Evidente Evidente
Capturar informacin de los productos mediante el cdigo de barras o manualmente, Evidente mediante la introduccin del UPC. Reducir las cantidades del inventario cuando se realiza una compra Guardar un histrico de las ventas realizadas Identificar al cajero mediante un cdigo de acceso al sistema Proporcionar almacenamiento permanente de la informacin Proporcionar mecanismos de comunicacin entre procesos en el interior del sistema Visualizar datos y precio de los productos registrados Manejar pago en efectivo, calculando devolucin del pago Oculta Oculta Evidente Oculta Oculta Evidente Evidente
PROTOTIPADO
Realizar Venta Cajero y Stock Primario y esencial Un cliente llega a la caja con los productos que desea comprar. El cajero registra la compra y recoge el pago. Al finalizar, el sistema actualiza el stock y el cliente se lleva los productos.
DESCRIPCION EXTENDIDA
Caso de uso Actores Propsito Resumen Realizar Venta (en metlico) Cajero y Stock Capturar una venta y su pago en metlico Un cliente llega a la caja con los productos que desea comprar. El cajero registra la compra y recoge el pago. Al finalizar, el sistema actualiza el stock y el cliente se lleva los productos. Primario y esencial Funciones: F1.1, F1.2, F1.3, F1.7, F1.9, F1.10,...
DESCRIPCION EXTENDIDA
Flujo de eventos principal Accin de los actores 1. El caso comienza cuando un cajero inicia una nueva venta al llegar un cliente Respuesta del Sistema
3. Determina el precio del producto y 2. El cajero registra el identificador de cada aade el producto a la venta en curso. producto. Si hay varios items del producto, el Se visualizan la descripcin, el precio cajero puede introducir la cantidad tambin. del producto y la suma parcial. El cajero repite los pasos 2 y 3 hasta que se indique. 4. Al completar la entrada de productos el 5. Calcula y visualiza el total de la cajero se lo indica al sistema venta. 6. El cajero indica al cliente el precio total. 7. El cliente entrega una cantidad de dinero. 9. Visualiza la cantidad a devolver al 8. El cajero registra la cantidad recibida cliente. Genera un recibo. 10. El cajero entrega el dinero del cambio y el 11. Se registra la venta completada y recibo al cliente se actualiza el inventario del stock.
DESCRIPCION EXTENDIDA
Flujos alternativos
A1: Identificador no vlido La secuencia comienza en el punto 2. El escenario vuelve al punto 2. A2: El cliente pide eliminar un artculo de la compra La secuencia puede ocurrir entre los puntos 2-5. 1. El cajero introduce identificador a 2. El sistema actualiza la suma. eliminar. El escenario contina en el punto 5. A3: El cliente no tiene suficiente dinero La secuencia comienza en el punto 7. 8. El cajero cancela la compra. El escenario termina 9. El sistema cancela la operacin y vuelve al estado de reposo. 3. El sistema seala el error y rechaza la entrada.