Anda di halaman 1dari 111

Diagramas UML

UML
Curso: Desarrollo de Sistemas de Informacin
10 de Agosto

Aprendizajes Esperados
Comprender los conceptos asociados a la clase y el diseo de un diagrama de clases que representen la solucin para proyectos planteados.

UML

Actividades a Realizar
Conocer trminos bsicos de Orientacin a Objetos. Estudiar las tcnicas de modelado de datos UML. Comprender diagramas de clases para ser aplicados a una problemtica. Construir clases sencillas, aplicando conceptos aprendidos.

UML

Introduccin
El trmino de Programacin Orientada a Objetos indica ms una forma de diseo y una metodologa de desarrollo de software que un lenguaje de programacin.

UML

UML
Lenguaje Unificado de Modelado (Unified Modeling Language). Lenguaje de modelado de sistemas de software. Lenguaje grfico para construir, documentar, visualizar y especificar un sistema de software.

UML

Diagramas UML
Modela procesos de negocios, funciones, esquemas de bases de datos, expresiones de lenguajes de programacin, etc. En UML 2.0 hay 13 tipos de diagramas. - Diagramas de estructura: Diagrama de clases Diagrama de componentes Diagrama de objetos Diagrama de estructura compuesta (UML 2.0) Diagrama de despliegue Diagrama de paquetes

UML

Diagramas UML
-Diagramas de comportamiento: Diagrama de actividades Diagrama de casos de uso Diagrama de estados -Diagramas de interaccin: Diagrama de secuencia Diagrama de comunicacin Diagrama de tiempos (UML 2.0) Diagrama de vista de interaccin (UML 2.0) Algunos programas gratuitos para modelar en UML son: ArgoUML, Dia, gModeler, MonoUML, StarUML, TCM, Umbrello Herramienta, UMLet.

UML

Paradigma OO
Resultado de la evolucin natural de la programacin, devenido en metodologa de programacin de propsito general que simula la forma en que el hombre trabaja y cuya idea bsica es que percibimos al mundo que nos rodea como una variedad de objetos.

UML

Ejemplo: Enviar flores a una persona


de otra ciudad

UML

Beneficios POO
Beneficios que se obtienen con el desarrollo de la P.O.O. Permite obtener aplicaciones ms modificables, fcilmente extendibles y a partir de componentes reusables. Esta reusabilidad del cdigo disminuye el tiempo que se utiliza en el desarrollo y hace que el desarrollo del software sea mas intuitivo. El esfuerzo del programador ante una aplicacin orientada a objetos se centra en la identificacin de las clases, sus atributos y operaciones asociadas

UML

Conceptos Bsicos
Un Objeto es una entidad con una estructura de datos interna bien definida, junto a un conjunto de acciones que describen su comportamiento. Es la unidad bsica de la POO.

Ejemplo: Mara la florista Perla la florista Jos el florista


UML

Objetos
Un objeto o instancia es una variable concreta de una clase con su propia copia de variables miembros. Un objeto tiene estado, comportamiento e identidad. Tiene datos internos que le dan el estado. Tiene mtodos para producir comportamiento. Cada objeto tiene una direccin nica en memoria lo que le da identidad.

UML

Objetos
son cosas que se pueden percibir por los 5 sentidos..

representacin real abstracta del mundo real.


cualquier cosa real o abstracta, en la que se almacenan datos y que contienen mtodos que los manipulan

Ejemplo de objetos reales: carro reloj barco telfono ..

UML

Objetos
Caractersticas de Objetos Reales Tienen propiedades especficas Tienen un comportamiento Relaciones.
Ejemplos:
Perro: Propiedades su nombre, su color, su estado de hambre. Comportamiento est ladrando, est corriendo..

Bicicleta: Propiedades marca, cadencia de los pedales, velocidades. Comportamientos frenado, acelerado, cambios.

UML

Objetos
Los objetos, son modelados a partir de los objetos reales, basndose en sus propiedades y comportamientos. Las propiedades o atributos de un objeto se almacenan en VARIABLES Los comportamientos se implementan utilizando los METODOS Variable: es un item de data referenciado por un identificador. Metodo: es una funcin o procedimiento asociado a un objeto. Son las operaciones que pueden realizarse sobre el objeto.

UML

Objetos
Mensajes

Instruccin que se enva a un objeto. Un objeto slo no es muy til....


Un objeto normalmente forma parte de un programa que contiene muchos otros objetos. Los objetos interactan mediante el envo de mensajes.

UML

Objetos
Mensajes Instruccin que se enva a un objeto.
El objeto al cual se le enva el mensaje El mtodo que se desea ejecutar. Cualquier otra informacin que necesite el mtodo para
poder actuar (parmetros).

Objeto.mtodo(parmetros)
Ejemplo: Telefono.llamar(2416881)

UML

Conceptos Bsicos
Mensaje: Forma de solicitar una accin a un objeto.

Cliente Emisor

Servidor

Mensaje
Receptor Objeto

Objeto, Usuario, Aplicacin

UML

Conceptos Bsicos
Una clase es: una categora de objetos con caractersticas comunes. una plantilla que se usa para crear mltiples objetos con caractersticas similares.
Las clases engloban las caractersticas de un conjunto particular de objetos. Ejemplo: Florista

UML

Conceptos Bsicos
Las clases son tipos de variables o tipos de datos creados por el usuario. Las clases pueden estar formadas por variables miembros y funciones miembros.

UML

Conceptos Bsicos
Cada clase puede estar compuesta por:

Atributos: definen el estado de la clase.


atributos pasivos, variables miembros, campos. Mtodos: definen el comportamiento de la clase. funciones miembros, atributos activos, operaciones, comportamiento, responsabilidades.

UML

Ejemplos:
Variables Miembros
Funciones miembros Variables Miembros Funciones miembros

Notacin UML para representar una clase

Florista
Nombre Salario Edad Vender flores Enviar flores a otra ciudad

Bombillo Consumo Encender Apagar Aumentar Brillo Disminuir brillo

UML

Clases
Mientras que un objeto es una entidad concreta que existe en tiempo y espacio, una clase representa slo una abstraccin, la escencia del objeto.

Una clase es un conjunto de objetos

Un objeto es simplemente la instancia de una clase.


Cuando se crea una clase se involucran dos procesos: La definicin de atributos que se utilizarn para almacenar la data de un objeto. La definicin de los mensajes que se desea que los objetos entiendan. Para cada mensaje se crea un mtodo.

UML

Clases
Instancias de una Clase
Son aquellos objetos de esa clase, que aunque tienen las mismas caractersticas tienen valores asociados diferentes para esas caractersticas.
Ejemplo: Clase Telfono

014-975874

9785482

UML

Consultas?

Ejercicios
Buscar 4 ejemplos de clase indicando sus caractersticas (atributos) y comportamiento (mtodos). Para cada clase, mencionar tres instancias e indicar los valores de los atributos.

UML

Resumen clase anterior


CLASE
Motocicleta color Motocicleta color cilindrada cilindrada mxima velocidad velocidad mxima arrancar() arrancar() acelerar() acelerar() frenar() frenar()

OBJETOS (Motocicleta) Verde 180 (Motocicleta) Negro 210

UML DISEO DE CLASES

Aprendizajes Esperados
Conocer la estructura de atributos y mtodos de una clase. Entender la visibilidad de una clase. Comprender las relaciones entre las clases. Aplicar las buenas prcticas para el diseo de Clases. Trabajar con las herramientas StarUML y/o ArgoUML para disear Clases.

UML DISEO DE CLASES

Atributos de Diagrama de Clases


Atributo: Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinados. El nombre del atributo es un sustantivo y empieza en minsculas.

Las sintaxis de una atributo es:

Visibilidad <nombre>: tipo = valor


+ pblico. # protegido. - privado.

Donde visibilidad es uno de los siguientes:

UML DISEO DE CLASES

Operaciones de Diagrama de clases


Operacin: Conjunto de operaciones que comportamiento de los objetos de una clase. describen el El nombre emplear un verbo con un sustantivo. La primera letra se escribir en minscula.

La sintaxis de una operacin en UML es: Visibilidad <nombre> (lista de parmetros): tipo que retorna
Donde visibilidad es uno de los siguientes:

+ pblico. # protegido. - privado.

UML DISEO DE CLASES

Visibilidad
Publico: Un atributo, propiedad o mtodo pblico es visible fuera de clase en cualquier parte. Se nos ocultan otros detalles tcnicos. (+) Protegido: Un elemento protegido es visible solamente en la unidad donde se declare la clase y en cualquier clase que descienda de sta. (#) Privado: Un atributo, propiedad o mtodo privado es invisible fuera de la unidad donde se lo declara. (slo sus mtodos de la misma clase lo pueden accesar).(-)

UML DISEO DE CLASES

Ejemplo
Persona #nombre: cadena = " " #rut: cadena = " " #edad: entero = 0 +mostrarEdad(rutPersona): entero

UML DISEO DE CLASES

Diagrama de Clases

UML DISEO DE CLASES

Relaciones entre clases


Las relaciones existentes entre las distintas clases indican como se comunican los objetos de esas clases entre s.
Los mensajes navegan por las relaciones existentes entre las distintas clases.

UML DISEO DE CLASES

Relaciones entre Clases

Multiplicidad 0..1

nombre Trabaja-para * empleado

empleador
rol

UML DISEO DE CLASES

Relaciones entre Clases


Nombre: Identifica caracterizndola. la asociacin entre los objetos,

Rol: Identificado como un nombre a los finales de la lnea, describe la semntica de la relacin en el sentido indicado. Cada asociacin tiene dos roles; cada rol es una direccin en la asociacin. El rol puede estar representado en el nombre de la clase.

UML DISEO DE CLASES

Relaciones entre Clases


Multiplicidad: Describe la cardinalidad de la relacin, es decir, cuanto objetos de esa clase pueden participar en la relacin dada. Cada asociacin tiene 2 multiplicidades (una en cada extremo) Exactamente 1 Cero 0..1 Cero o ms Uno o ms Subrango 1 0..1 0..* 1..* m..n

Si la multiplicidad mnima = 0 establece una relacin OPCIONAL. Si la multiplicidad mnima >= 1 establece una relacin OBLIGATORIA.

UML DISEO DE CLASES

Ejemplos:

UML DISEO DE CLASES

Ejemplos

UML DISEO DE CLASES

Tipos de relaciones entre Clases


Asociacin (conexin entre clases) Dependencia (relacin de uso) Generalizacin / Especializacin (relacin de herencia)

UML DISEO DE CLASES

Asociacin
Relacin estructural que describe conexin entre objetos. Lnea que une dos o ms clases. Tipos de asociaciones Unaria Binaria N-aria
UML DISEO DE CLASES

una

Asociacin
Asociacin Binaria: Representa una relacin sencilla entre dos clases, no muy fuerte (es decir, no se exige dependencia existencial). Se indica como una lnea slida que une dos clases. Asociacin n-aria: Es una asociacin entre tres o ms clases. Se representa como un diamante del cual salen lneas de asociacin a las clases.
UML DISEO DE CLASES

Asociacin Binaria
Departamento
dirige 0..1 director 1

Profesor

Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.

UML DISEO DE CLASES

Asociacin n-aria
empleador Empresa trabajadores Empleado

1..*

Cargo nombre sueldo

superior 0..1

subordinado 1..*

UML DISEO DE CLASES

Relaciones involutivas
Cuando la misma clase aparece en los dos extremos de la asociacin.

UML DISEO DE CLASES

Casos particulares de Asociaciones Composicin Agregacin

UML DISEO DE CLASES

Composicin
Por Valor: Es un tipo de relacin esttica, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Es una asociacin fuerte que implica:
Dependencia existencial. El elemento dependiente desaparece al destruirse el que lo contiene y, si es de cardinalidad 1, es creado al mismo tiempo. Hay una pertenencia fuerte. Se puede decir que el objeto contenido es parte constitutiva y vital del que lo contiene.
UML DISEO DE CLASES

Composicin

Los objetivos contenidos no son compartidos, esto es, no hacen parte del estado de otro objeto. Son relaciones que impliquen en su significado que una clase est compuesta por otras clases dependientes.

Se denota dibujando un rombo coloreado del lado de la clase que contiene a la otra en la relacin.

UML DISEO DE CLASES

Ejemplo 1: Composicin

UML DISEO DE CLASES

Ejemplo 2: Composicin
La relacin entre ambos objetos es tal, que el contenido es una parte importante del contenedor, de tal forma que el primero no tiene sentido suelto, y el segundo, necesita definir al primero para ampliar su significado. El avin tiene sentido por si solo, pero esta claro que esta compuesto de 2 alas, esta claro, que un avin siempre tendr sus dos alas, y estas siempre sern del mismo avin.

UML DISEO DE CLASES

Ejemplo 3: Composicin

UML DISEO DE CLASES

Agregacin
Por Referencia: Tipo de relacin dinmica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Son relaciones que implican en su significado que una clase contiene a otras clases independientes. Cuando deja de existir la clase agregada no tiene por qu dejar de existir el resto de las clases de la agregacin Se denota por un rombo sin rellenar en un o de los extremos.

UML DISEO DE CLASES

Ejemplo 1: Agregacin
Un objeto de tipo, ciudad tiene una lista de objetos de tipo aereopuerto, esto quiere decir, que una ciudad, tiene un nmero de aereopuertos, destacar, que la cardinalidad del extremo que lleva el rombo, es siempre uno.

UML DISEO DE CLASES

Ejemplo 2: Agregacin

UML DISEO DE CLASES

Ejemplo: Agregacin y Composicin

Un Almacn posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias). Cuando se destruye el Objeto Almacn tambin son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados.

UML DISEO DE CLASES

Dependencia
Relacin (ms dbil que una asociacin) que muestra la relacin entre un cliente y el proveedor de un servicio usado por el cliente. Es una relacin donde existen entidades independientes y otras dependientes, lo que implica que cambiar el elemento independiente puede requerir cambios en los dependientes. Se representa con una lnea punteada direccional, indicando el sentido de la dependencia.
UML DISEO DE CLASES

Ejemplo: Dependencia

La Clase Aplicacin depende de la Clase Ventana

UML DISEO DE CLASES

Generalizacin/Especializacin
Relacin entre una superclase (clase padre) y sus subclases (clases hijos). Objetos de distintas clases pueden tener atributos similares y exhibir comportamientos parecidos (ej. Animales, mamferos)

UML DISEO DE CLASES

Ejemplo 1: Generalizacin

UML DISEO DE CLASES

Ejemplo 2: Generalizacin

UML DISEO DE CLASES

Clase Abstracta
Se denota con el nombre de la clase y de los mtodos con letra "itlica". Esto indica que la clase definida no puede ser instanciada pues posee mtodos abstractos (an no han sido definidos, es decir, sin implementacin). La nica forma de utilizarla es definiendo subclases, que implementan los mtodos abstractos definidos.

UML DISEO DE CLASES

Ejemplo 1: Clase Abstracta

UML DISEO DE CLASES

Identificacin de Clases

UML DISEO DE CLASES

Problema
Una biblioteca contiene libros y revistas. Puede haber varias copias de un libro. Algunos de los libros son reservados slo para prstamos a corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas. Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden obtener prestado revistas.

El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.

UML DISEO DE CLASES

Problema

ENCONTRAR LOS SUSTANTIVOS

Una biblioteca contiene libros y revistas. Puede haber varias copias de un libro. Algunos de los libros son reservados slo para prstamos a corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas. Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden obtener prestado revistas.

El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.

UML DISEO DE CLASES

Clases Candidatas
Biblioteca Libro Revista Copia PrstamosACortoPlazo MiembroDeBiblioteca Semana Itemlibro o revista Tiempo MiembroDelStaff Sistema Regla Nombre del Sistema

evento medida trmino abstracto

trmino general trmino general

UML DISEO DE CLASES

Relaciones entre Clases


Libro es unItem Revista es unItem Copia es una copia de Libro MiembroDeBiblioteca Item MiembroDeStaffes unMiembroDeBiblioteca

Es el Item necesario? UML DISEO DE CLASES

Operaciones
MiembroDeBiblioteca MiembroDeBiblioteca MiembroDeStaff MiembroDeStaff pide prestado devuelve pide prestado devuelve Copia Copia Revista Revista

UML DISEO DE CLASES

Diagrama de Clases

UML DISEO DE CLASES

Ejemplo 2: Club de Baile

UML DISEO DE CLASES

UML DISEO DE CLASES

Club de Baile

Definicin de las reglas del negocio


UML DISEO DE CLASES

Consejos Prcticos
No lanzarse a dibujar clases y asociaciones sin sentido Elaborar un modelo simple Los nombres de objetos, asociaciones, atributos y operaciones deben ser significativos Tratar de usar asociaciones binarias Utilizar los elementos necesarios Documentar el modelo
UML DISEO DE CLASES

Aprendizajes Esperados
Conocer y disear los documentos asociados al Anlisis de sistema. Conocer y aplicar Diagramas de casos de Uso, escenario, diseo de prototipo en el proceso de Anlisis de Sistema.

UML

Actividades a Realizar
Repasar conceptos (requerimientos). de especificacin de requisitos

Conocer composicin de Casos de Uso

Definir Escenarios y Sub-escenarios dentro del contexto de casos de Uso.


Diagramar casos de Uso de una problemtica en particular.

UML

Especificacin de Requisitos o requerimientos


En el anlisis lo ms relevante es determinar y documentar adecuadamente los requisitos. Es difcil definir los requerimientos.

Los requisitos funcionales (que debe hacer el sistema) se pueden especificar por niveles y estos deben corresponder con diagramas de casos de uso. Los requerimientos mal planteados incrementan los costos.

UML DIAGRAMAS DE CASOS DE USO

Requerimientos Funcionales
Son declaraciones de los servicios que proveer el sistema, de la manera en que ste reaccionar a entradas particulares. Los requerimientos funcionales de un sistema describen la funcionalidad o los servicios que se espera que ste provea.

UML DIAGRAMAS DE CASOS DE USO

Ejemplo de Requerimiento Funcional Sistema de Biblioteca


El usuario deber tener la posibilidad de buscar referencias bibliogrficas en el conjunto inicial de la base de datos o seleccionar un subconjunto de ella. El sistema deber proveer visores adecuados para que el usuario lea documentos en el almacn de documentos. A cada pedido se le deber asignar un identificador nico que el usuario podr copiar al rea de almacenamiento permanente de la cuenta.

UML DIAGRAMAS DE CASOS DE USO

Ejemplo de Requerimientos Funcionales


Id Nombre Entradas Salidas
RF-001 Alquilar un ejemplar Bonos, datos de la pelcula Comprobante con los ejemplares solicitados y la fecha de devolucin alquilar el tipo de pelcula deseado. El cliente no ha devuelto todas las pelculas del alquiler anterior

Excepciones No tiene bonos para alquilar. Los bonos que tiene no sirven para

UML DIAGRAMAS DE CASOS DE USO

Requerimientos No Funcionales
Restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo, estndares, etc.

UML DIAGRAMAS DE CASOS DE USO

Ejemplos Requerimientos No Funcionales


La respuesta en el tiempo. La capacidad de almacenamiento.

Alternativamente definen las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y la representacin de datos que se utiliza en la interface del sistema.

UML DIAGRAMAS DE CASOS DE USO

Tipos de Requerimientos
Requerimientos del producto.
Especifican el comportamiento del producto;
como los requerimientos de desempeo en la rapidez de ejecucin del sistema y cunta memoria se requiere;

Los de fiabilidad que fijan la tasa de fallas para que el sistema sea aceptable; Los de portabilidad.

UML DIAGRAMAS DE CASOS DE USO

Tipos de Requerimientos
Requerimientos organizacionales. Se derivan de las polticas y procedimientos existentes en la organizacin del cliente y en la del desarrollador:
estndares en los procesos que deben utilizarse; requerimientos de implementacin como los lenguajes de programacin o el mtodo de diseo a utilizar. los requerimientos de entrega que especifican cundo se entregar el producto y su documentacin.

UML DIAGRAMAS DE CASOS DE USO

Tipos de Requerimientos
Requerimientos externos. Se derivan de los factores externos al sistema y de su proceso de desarrollo.
Requerimientos que definen la manera en que el sistema interacta con los otros sistemas de la organizacin. Requerimientos legales que deben seguirse para asegurar que el sistema opere dentro de la ley. Requerimientos ticos. Estos ltimos son impuestos al sistema para asegurar que ser aceptado por el usuario y por el pblico en general.

UML DIAGRAMAS DE CASOS DE USO

Casos de Uso
Describen el comportamiento del sistema bajo la forma de acciones y reacciones bajo el punto de vista del usuario. Los casos de uso describen funcionalidad del sistema sin dar detalles de implementacin. Permiten la comunicacin entre desarrolladores y usuarios. Permiten definir los lmites de un sistema y las relaciones entre el sistema y el entorno.

UML DIAGRAMAS DE CASOS DE USO

Casos de Usos
Un diagrama de Casos de Uso muestra la distintas operaciones que se esperan de una aplicacin o sistema y cmo se relaciona con su entorno (usuario u otras aplicaciones). Es una herramienta esencial para la captura de requerimientos y para la planificacin y control de un proyecto interactivo.

UML DIAGRAMAS DE CASOS DE USO

Casos de Usos
Se representa en el diagrama por una elipse que denota un requerimiento solucionando por el sistema. Cada caso de uso de uso es una operacin completa desarrollada por los actores y por el sistema en un dilogo.

El conjunto de casos de uso representa la totalidad de operaciones desarrolladas por el sistema.


UML DIAGRAMAS DE CASOS DE USO

Casos de Uso
Ejemplo:

Actor A

Caso de Uso A

Caso de Uso B

Actor B

UML DIAGRAMAS IIDE CASOS DE USO Informatica - 2002

88

Ejemplos

Supervisor

Verificar Situacin del Cliente

Administrativo

Preparar Catlogo

Sistema Inventario

UML DIAGRAMAS DE CASOS DE USO

Un actor es una entidad que interacta con el sistema

UML DIAGRAMAS DE CASOS DE USO

Actor
Es un usuario del sistema, que necesita o usa alguno de los casos de uso. Un usuario puede jugar ms de un rol. Un solo actor puede actuar en muchos casos de uso; recprocamente, un caso de uso puede tener varios actores. Los actores no necesitan ser humanos pueden ser sistemas externos que necesitan alguna informacin del sistema actual.

UML DIAGRAMAS DE CASOS DE USO

Un Actor
Puede ser
Un usuario humano Un sistema que provee o recibe informacin del sistema Es una Abstraccin un Rol, no es una persona o un cargo determinado.

UML DIAGRAMAS DE CASOS DE USO

Tipos de Actores
Principal: Inicia el Caso de Uso Secundario: Participa en el caso de uso.

UML DIAGRAMAS DE CASOS DE USO

Diagramas de Casos de Uso


Es una relacin entre Casos de Uso, Actores y relacin entre si. Los diagramas de casos de uso son tiles para:
Determinar Requerimientos Comunicacin entre usuarios y desarrolladores Generar caso de Prueba

UML DIAGRAMAS DE CASOS DE USO

Escenarios
Los Casos de uso describen la funcionalidad del sistema a alto nivel, los escenarios describen la funcionalidad de una parte.

UML DIAGRAMAS DE CASOS DE USO

Tipos de Relacin en los diagramas de Caso de Uso


Comunicacin Inclusin Extensin

UML DIAGRAMAS DE CASOS DE USO

Comunicacin
Entre un actor y un caso de uso, denota la participacin del actor en el caso de uso determinado.

Actor

Caso de Uso

UML DIAGRAMAS DE CASOS DE USO

Inclusin
Una instancia del Caso de Uso origen incluye tambin el comportamiento descrito por el Caso de Uso destino. <<include>> en su versin actual, reemplaz al denominado <<uses>>

UML DIAGRAMAS DE CASOS DE USO

Casos de Uso: Relaciones


<<include>>

Caso de Uso Origen

Caso de Uso Destino

UML DIAGRAMAS DE CASOS DE USO

99

Ejemplo Inclusin

UML DIAGRAMAS DE CASOS DE USO

Extensin
El Caso de Uso origen extiende comportamiento del Caso de Uso destino. <<extends>> el

UML DIAGRAMAS DE CASOS DE USO

Casos de Uso: Relaciones


<<extend>>

Caso de Uso Destino

Caso de Uso Origen

UML DIAGRAMAS DE CASOS DE USO

102

Ejemplo extend

UML DIAGRAMAS DE CASOS DE USO

Include vs extend
<<include>> pretende evitar duplicacin de interacciones en distintos casos de uso, la relacin <<extends>> pretende describir una variacin del comportamiento normal de un caso de uso, sobre todo cuando dicha variacin pudiera complicar la legibilidad del caso de uso.

UML DIAGRAMAS DE CASOS DE USO

Ejemplo Extend / Include

UML DIAGRAMAS DE CASOS DE USO

Casos de Uso: Construccin


Un caso de uso debe ser simple, claro y conciso.

Generalmente hay pocos actores asociados a cada Caso de Uso

UML DIAGRAMAS DE CASOS DE USO

106

Casos de Uso: Construccin


Preguntas clave:

cules son las tareas del actor? qu informacin crea, guarda, modifica, destruye o lee el actor? debe el actor notificar al sistema los cambios externos? debe el sistema informar al actor de los cambios internos?
UML DIAGRAMAS DE CASOS DE USO
107

Casos de Uso: Construccin


La descripcin del Caso de Uso comprende: el inicio: cundo y qu actor lo produce? el fin: cundo se produce y qu valor devuelve? la interaccin actor-caso de uso: qu mensajes intercambian ambos?

UML DIAGRAMAS DE CASOS DE USO

108

Casos de Uso: Construccin


objetivo del caso de uso: qu lleva a cabo o intenta? cronologa y origen de las interacciones repeticiones de comportamiento: qu operaciones son iteradas? situaciones opcionales: qu escenarios alternativos se presentan en el caso de uso?

UML DIAGRAMAS DE CASOS DE USO

109

Casos de Usos

UML DIAGRAMAS DE CASOS DE USO

Resumen para recopilar RF mediante CU


1. Especificar la misin del sistema. 2. Identificar quines utilizarn el sistema (actores primarios). 3. Averiguar cules objetivos desean cumplir los actores al usar el sistema (casos de uso). 4. Identificar los pasos o eventos de cada caso de uso (especificacin del caso de uso).
UML DIAGRAMAS DE CASOS DE USO