2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
Transcript of 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 1/42
Unidad 4 : UML-CASOS DE USO
Octubre 2012
1
Ingeniería de Software
Universidad de Playa AnchaFacultad de Ingeniería
Departamento de Informática y Computación
Ingeniería Informática
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 2/42
Contenidos
2
Introducción - UML
Modelo de Casos de Uso
Especificación de casos de Uso (CU Narrativos)
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 3/42
Introducción - UML
3
“Lenguaje gráfico para visualizar, especificar, construir ydocumentar los artefactos de un sistema de SW…..
….ofrece una forma estándar de escribir los modelosde un sistema, incluyendo aspectos conceptuales talescomo procesos de negocio y funciones del sistema, así
como aspectos concretos, tales como instrucciones delenguaje de programación, esquemas de bases dedatos y componentes reutilizables de SW "
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 4/42
UML
• Un lenguaje de modelado
• NO ES un método o procedimientoQué es?
• Para definir un sistema de SW, para detallar losartefactos en el sistema, para documentarlo yconstruirlo
Para que se
usa?
• Puede ser usado de diversas formas parasoportar una metodología de D° de SW (ej:RUP), pero en si mismo no especifica quemetodología o proceso utilizar.
OJO!!!!
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 5/42
UML define notación y semántica para lossiguientes dominios:
• Describe el límite y la interacción entre el sistema y elusuario.Modelo de Casos de Uso
• Describe como los objetos del sistema deben interactuarentre si para lograr hacer su trabajo.
Modelo de Interacción yComunicación
• Diagramas de estado : describe estados o condiciones quelas clases asumen a través del tiempo.
• Diagramas de actividad : describe el flujo de trabajo delsistema a implementar.
Modelo de Estado o Dinámico
• Describe clases y objetos que componen el sistema.Modelo Lógico o de Clase
• Describe el SW (y algunos componentes de HW) quecomponen el sistema.
Modelo de Componente Físico
• Describe la arquitectura física y el despliegue de
componentes en la arquitectura de HW.
Modelo de Despliegue Físico
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 6/42
Modelo de Casos de Uso
• Describe la funcionalidad propuesta del nuevo sistema.Propósito
• Representa una unidad discreta de interacción entre un usuario y
el sistema• Es una unidad de trabajo significativo; por ejemplo crear una
solicitud y modificar una solicitud son ambos CU.
• Tiene una descripción que especifica la funcionalidad que seincorporará al sistema propuesto.
• Puede 'incluir' la funcionalidad de otro CU o puede 'extender' otroCU con su propio comportamiento.
Un caso de uso…
• Esp. Requerimiento, Análisis & Diseño, Implementación y PruebaEtapas
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 7/42
Tipos de Casos de Uso
Opcionales
Casos que pueden no
abordarse
Secundarios
Representan casos menores o raros
Primarios
Representan casos máscomunes e importantes
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 8/42
Componentes de un Modelo de Casos de Uso
Las asociaciones quevinculan a los actoresy las funcionalidades
Los requisitos funcionales
(casos de uso)
Los actores
(que interactúan con
el sistema)
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 9/42
Actores
• Un diagrama de caso de uso muestra la interacción
entre el sistema y entidades externas a él Estasentidades externas se denominan actores.
Qué son?
• Representan roles que pueden incluir usuarioshumanos, HW externo u otros sistemas.
Qué representan?
• Un actor es representado mediante una figura(“mono”) con nombre o alternativamente como un
rectángulo con la palabra clave “actor”. Notación ?
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 10/42
Actores
10
Los actores pueden generalizar/especificar a otros actores como se muestra en elsiguiente diagrama :
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 11/42
Tipos de Actores
11
Secundarios
•Supervisan y mantienenel sistema.
•Existen para que losactores primarios lopuedan utilizar.
Primarios/Principales
• Interaccionan con elsistema para explotar sufuncionalidad; trabajan
directa y frecuentementecon el SW.
•Utilizan directamente elsistema
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 12/42
12
COMUNICACIÓNACTOR SISTEMA
Para iniciar CU
Para solicitarinformación alsistema
Para modificar información del
sistema
Para informar al
sistema que haocurrido algo ensu entorno que le
concierne
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 13/42
13
COMUNICACIÓNSISTEMA ACTOR
Para comunicarle que hasucedido algo en el
sistema, que le concierne
Para que le ayude atomar una decisión
necesaria paracumplir los objetivos
del sistema
Para delegar algunaresponsabilidad en el actor
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 14/42
Cómo encontrar actores?
¿Quién esta interesado en cierto requerimiento (se beneficia o se ve afectado)?
¿En que lugar de la organización será usado el sistema?
¿Quiénes usan, modifican, eliminan o proporcionan información al sistema?
¿Quién usa una determinada función?
¿Quién mantiene o le da soporte al sistema?
¿El sistema usa un recurso externo?
¿Un actor realiza diferentes roles?
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 15/42
Descripción de Actores
15
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 16/42
Casos de Uso
• Unidad simple de trabajo significativo.Qué son?
• Una vista de alto nivel de un comportamientoobservable para alguien o algo fuera del sistema.
Qué proporciona?
• Un caso de uso se representa mediante una elipseNotación ?
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 17/42
Cómo identificar casos de uso?
Método basadoen Actores
Método basadoen Eventos
Análisis del CUdel Negocio
Análisis deRequerimientos
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 18/42
Asociaciones
• La utilización de un caso de uso por un actor delsistema
Qué representan?
• La notación para representar que un actor utilizaun caso de uso es una línea continua de conexión
(opcionalmente con una punta de flecha quemuestra la dirección de control).
Notación ?
El diagrama indica que el
actor "Cliente" usa el caso de
uso “Retirar”.
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 19/42
Asociaciones
19
El conector de uso puede opcionalmente, indicar una cardinalidad en cadaextremo.
El diagrama, muestra que un cliente sólo puede realizar un retiro a la vez, peroun banco puede tener cualquier número de clientes que hacen retirossimultáneamente.
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 20/42
Ejemplo – Sistema Video-Club
20
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 21/42
Ejemplo-Sistema Venta Telefónica
21
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 22/42
Inclusión de Casos de Uso
• Un CU (base) puede contener la funcionalidad de
otro CU como parte de su procesamiento normal.Descripción
• En general, se supone que cualquier CU incluidoserá llamado cada vez que se ejecuta el CU base.
Funcionamiento
• Un CU puede ser incluido por uno o más CU
Estoreduce la duplicación de funcionalidad al factorizarun comportamiento común en aquellos CU quedeben ser utilizados muchas veces.
VENTAJA
• CU “retirar” incluye la ejecución del CU“Identificación de Tarjeta” Ejemplo
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 23/42
Extensión de Casos de Uso
• Un CU puede utilizarse para extender el
comportamiento del otro CU, lo que se utilizanormalmente en circunstancias excepcionales.Descripción
• Si antes de modificar un tipo particular de ordendel cliente, un usuario debe obtener laaprobación de alguna autoridad superior,
entonces el CU <Obtener Aprobación> puedeopcionalmente extender el CU normal <Modificar Orden>.
Ejemplo
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 24/42
Puntos de Extensión
24
El punto en que CU extendido es agregado puede ser definido pormedio de un punto de extensión
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 25/42
Generalización de Casos de Uso
• Un CU puede ser una forma especializada de otro
CU existente• En un CU especializado siempre se esperará que el
CU padre (general) se ejecute
Descripción
• CU <Crear cliente GOLD> y CU <Crear clientePLATINUM > son especializaciones del CU <Crear
Cliente> y agreganpropiedades/comportamientos particulares
Ejemplo
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 26/42
Límites del Sistema
26
Lo habitual es desplegar los casos de uso al interior del sistema y losactores fuera del sistema
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 27/42
Especificación de Casos de Uso
• La especificación de un CU debe describir el modoen que un actor interactúa con el sistema.
Descripción
• Una narración que describe el rol desempeñado
por los actores en su interacción con el sistema.Qué es?
• Lo mas importante de los CU es su descripción,
mucho más que los diagramas de CU.Importancia
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 28/42
Especificación de CU debe responder:
28
Cuáles son las
principalesfunciones o
tareasrealizadas por
el actor?Qué información
del sistemaadquiere,produce o
transforma elactor?
Deberá el actorinformar al sistema
de los cambiosproducidos en el
entorno?
Que informacióndel sistema desea
el actor?
Debe informarseal actor de algún
cambioinesperado?
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 29/42
Especificación de Casos de Uso – Incluye:
29
Nombre y descripción
Requisitos
Limitaciones
Escenarios (Normal-Alternativo)
Diagramas de escenarios
Información adicional.
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 30/42
Plantilla – Parte 1
30
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 31/42
Plantilla - Parte2
31
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 32/42
Plantilla - Parte 3
32
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 33/42
Tipos de Casos de Uso
SEGÚN NIVEL DE DETALLE
Expandidos
En RUP por EJEMPLO durante lafase de elaboración los CU deben
escribirse de esta forma.
Resumidos
(DE ALTO NIVEL)
EN RUP por EJEMPLOdurante la fase de inicio la
mayor parte de los CUdeben tener esta forma.
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 34/42
Ejemplo – Diagrama CU ALTO NIVEL – Sistema de Cajero automático
34
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 35/42
Ejemplo – Especificación CU ALTO NIVEL – Sistema Biblioteca
35
Caso de Uso Realizar Préstamo
Actores Socio (indirecto, iniciador)Bibliotecario (directo)
Tipo Primario
Descripción Un socio elige los recursos de la biblioteca que deseasolicitar en préstamo, luego el bibliotecario los registracomo “prestados” y el socio se los lleva por un plazo
determinado.
Referencias RFA1, RFA2
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 36/42
Ejemplo – Diagrama CU Extendido – Sistema Cajero automático
36
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 37/42
Ejemplo CU Extendido- SistemaVideoClub
37
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 38/42
Ejemplo
38
Responsabilidad Actores Responsabilidad Sistema
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 39/42
Ejemplo
39
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 40/42
Tipos de Casos de Uso (especificación)
CU Extendidos
De implementación, reales oconcretos
(incluyen detalles de la UI)
Esenciales
(centrados en lasintenciones de los
actores yresponsabilidades delsistema, postergando
detalles de la UI)
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 41/42
Ejercicio – GESTIÓN DE CURSOS OPTATIVOS
Se requiere desarrollar un sistema para gestionar los cursos optativos en una universidad.Para especificar los requerimientos se cuenta con la siguiente información:
• Una oficina de registros introduce al sistema los formularios enviados por losdirectores de departamento con los cursos optativos programados para cadasemestre.
• Cada curso optativo es impartido por un profesor.• Los profesores pueden ofrecer a la dirección de departamento los cursos optativos a
dictar cada semestre (máximo 2 cursos).• Se debe imprimir un listado con los cursos programados para cada semestre para los
estudiantes.• Se debe imprimir un informe para los profesores indicando que cursos optativos
dictarán cada semestre.• Los estudiante pueden postular a los cursos optativos ofrecidos cada semestre.• Después del período de inscripción los profesores reciben la nómina de estudiantes
inscritos en los cursos que impartirán.
7/15/2019 2012_cif6558 Ingenieriasoftware Unidad 4 Uml-casos de Uso
http://slidepdf.com/reader/full/2012cif6558-ingenieriasoftware-unidad-4-uml-casos-de-uso 42/42
Ejercicio – GESTIÓN DE CURSOS ESTUDIOS GENERALES
Sobre los Cursos Optativos:
• Al comienzo del semestre los estudiantes reciben información de los cursos,profesores, departamentos, requisitos, etc.
• El estudiante puede postular a 2 cursos optativos por si uno esta completo ose cancela (en orden de preferencia).
• Un curso se cancela si no alcanza un mínimo de 5 alumnos.• El máximo de alumnos por curso optativo es 10.• Durante un período de tiempo estipulado los estudiantes pueden cambiarse o
desinscribirse de los cursos optativos.
Se pide:
• Identificar Actores, casos de usos, especificar casos de usos alto nivel,expandidos y diagramas. Utilizando herramienta (ARGOUML, STARUML, VISIO,etc…) y templates para descripción de actores y especificación de casos deuso.
• Establecer supuestos necesarios.