You are on page 1of 51

Lenguaje unificado de modelado (UML).

Jssica Bull Torres. jbull@ubiobio.cl 2006

UML: Conceptos Bsicos


Qu es un modelo?
Un modelo es una simplificacin de la realidad

Objetivos de Modelar
Ayudan a visualizar como es un sistema. Permiten especificar la estructura o comportamiento de un sistema. Proporcionan plantillas que nos guan en la construccin. Documentan decisiones que hemos adoptado.

UML: Conceptos Bsicos


Principios bsicos del modelado
La eleccin de qu modelos crear tiene una profunda influencia sobre cmo se enfrenta un problema y cmo se da forma a una solucin. Todo modelo puede ser expresado a diferentes niveles de precisin. Los mejores modelos estn ligados a la realidad. Un nico modelo no es suficiente. Cualquier sistema no trivial se aborda mejor a travs de un pequeo conjunto de modelos casi independientes.

Flexsim

UML: Conceptos Bsicos


Enfoques para un modelo
Visin tradicional: perspectiva algortmica el bloque principal de construccin es el procedimiento o funcin. Visin orientada a objetos: perspectiva orientada a objetos el bloque de construccin es el objeto o clase. Objeto: cosa, generalmente extrada del espacio del problema o solucin. Clase: conjunto de objetos similares.

Diagramas de UML
Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagramas de Comportamiento Diagrama de Estados Diagrama de Actividad Diagramas de Interaccin Diagrama de Secuencia Diagrama de Colaboracin Diagramas de implementacin Diagrama de Componentes Diagrama de Despliegue

Diagramas de UML
Use Case Use Case Diagramas Diagrams de Diagrams Secuencia Scenario Scenario Diagramas Diagrams de Diagrams Colaboracin Scenario Scenario Diagramas Diagrams de Diagrams Estados Use Case Use Case Diagramas Diagrams de Diagrams Casos de Uso State State Diagrams de Diagramas Diagrams Clases State State Diagramas Diagrams de Diagrams Objetos State State Diagramas Diagrams de Diagrams Componentes
Component Component Diagrams de Diagramas Diagrams

Modelo

Diagramas de Actividad

Distribucin

Diagrama de Casos de Uso

Diagrama de Casos de Uso


Casos de Uso es una tcnica para capturar informacin de cmo un sistema o negocio trabaja, o de cmo se desea que trabaje No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura de requisitos
Actor

Procesar prstamo Responsable Prestamos

Caso de uso

Diagrama de Casos de Uso


Actores: Principales: personas que usan el sistema Secundarios: personas que mantienen o administran el sistema Material externo: dispositivos materiales imprescindibles que forman parte del mbito de la aplicacin y deben ser utilizados Otros sistemas: sistemas con los que el sistema interacta La misma persona fsica puede interpretar varios papeles como actores distintos El nombre del actor describe el papel desempeado

Diagrama de Casos de Uso


Los Casos de Uso se determinan observando y precisando, actor por actor, las secuencias de interaccin, los escenarios, desde el punto de vista del usuario Un escenario es una instancia de un caso de uso Los casos de uso intervienen durante todo el ciclo de vida. El proceso de desarrollo estar dirigido por los casos de uso

Casos de Uso: Relaciones


Comunicacin Extensin : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino
<<extend>>

Actor

C aso de U so

Caso de Uso Origen

C aso de U so Desti no

Inclusin : una instancia del Caso de Uso origen incluye tambin el comportamiento descrito por el Caso de Uso destino
<<include>>

Herencia : el Caso de Uso origen hereda la especificacin del Caso de Uso destino y posiblemente la modifica y/o ampla

Caso de Uso Origen

C aso de U so Desti no

<<include>> reemplaz al denominado <<uses>>

Caso de Uso Hij o

Caso de Uso Padre

Casos de Uso: Relaciones


Ide n f i caci ti n

<<include>>

Cliente

Transferencia

<< e xten d >>

Transferencia en Internet

Casos de Uso: Construccin


Un caso de uso debe ser simple, claro y conciso Generalmente hay pocos actores asociados a cada Caso de Uso 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?

Ejemplos
Venta Normal

Supervisor

Verificar Situacin del Cliente

Vendedor

Venta en Rebajas

Administrativo

Preparar Catlogo

Sistema Inventario
Venta en Ofertas

Cliente

Solicitar Prstamo
Reintegro Cuenta Corriente

<<include>>

[Tarjeta Caducada] <<extend> >


Cliente Verificar Operacin <<include>>

Solic itar N ueva Tarjeta

Reintegro Cuenta de Crdito

Diagrama de Clases

Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el anlisis y diseo Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia La definicin de clase incluye definiciones para atributos y operaciones El modelo de casos de uso aporta informacin para establecer las clases, objetos, atributos y operaciones

Clases
La clase define el mbito de definicin de un conjunto de objetos Cada objeto pertenece a una clase Los objetos se crean por instanciacin de las clases Cada clase se representa en un rectngulo con tres compartimientos: nombre de la clase atributos de la clase operaciones de la clase
Motocicleta color cilindrada velocidad mxima arrancar() acelerar() frenar()

Relaciones entre Clases


Los enlaces entre de objetos pueden representarse entre las respectivas clases Formas de relacin entre clases: Asociacin y Agregacin (vista como un caso particular de asociacin) Generalizacin/Especializacin Las relaciones de Agregacin y Generalizacin forman jerarquas de clases

Asociacin
La asociacin expresa una conexin bidireccional entre objetos Una asociacin es una abstraccin de la relacin existente en los enlaces entre los objetos
Univ. de Murcia : Universidad Un enlace Antonio : Estudiante

Universidad Una asociacin

Estudiante

Asociacin
marido casado-con mujer
0..1 0..1

Persona nombre s.s.

emplea-a

Compaa trabaja-para nombre direccin *

jefe Administra

0.. 1

empleado

Asociacin
Especificacin de multiplicidad (mnima...mxima) 1 Uno y slo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos 0..* Cero o muchos 1..* Uno o muchos (al menos uno)

Agregacin
La agregacin representa una relacin parte_de entre objetos Puede ser caracterizada con precisin determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado y cada uno de sus objetos componentes

Motor

Avin

Generalizacin
Permite gestionar la complejidad mediante un ordenamiento de clases Se obtiene usando los mecanismos de abstraccin de Generalizacin y/o Especializacin La Generalizacin consiste en factorizar las propiedades comunes de un conjunto de clases en una clase ms general Nombres usados: clase padre - clase hija. Otros nombres: superclase - subclase, clase base - clase derivada Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de la clase padre estn disponibles en sus clases hijas

Generalizacin
Vehculo

Veihculo Terrestre

Vehculo Areo

Coche

Camin

Avin

Helicptero

Generalizacin
Esttica:
Ve hcu lo Areo
{ esttica }

Dinmica:
Coche
{ dinmica }

Funcionando
Avin Helicptero

Est ropeado

Generalizacin
Ejemplo: varias especializaciones a partir de la misma clase padre
Comercial Militar

uso

Vehculo Areo

estructura

Avin

Helicptero

Ejemplos
Motor 1..4 Piloto 1..2 Vendedor de billetes 1

1 Avin 1 n

n Vuelo n 1 n

n Reserva

{ disjunta, completa }

1 Avin militar Avin comercial Lnea area

{ disjunta, completa }

Avin de carga

Avin de pasajeros

Clasificacin Mltiple (herencia mltiple)


Se presenta cuando una subclase tiene ms de una superclase La herencia mltiple debe manejarse con precaucin. Algunos problemas son el conflicto de nombre y el conflicto de precedencia Se recomienda un uso restringido y disciplinado de la herencia. Java y Ada 95 simplemente no ofrecen herencia mltiple

Herencia Mltiple
Bpedo nro patas Con Pelos cubertura Con Plumas cobertura cobertura Con Escamas Animal comida Carnvoro comida Cuadrpedo nro patas Herbvoro

Conejo

Polimorfismo
El trmino polimorfismo se refiere a que una caracterstica de una clase puede tomar varias formas El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones

Polimorfismo
Ejemplo: todo animal duerme, pero cada clase lo hace de forma distinta
Animal dormir()

?
dormir

?
Len Oso Tigre

Polimorfismo
Animal dormir()
Dormir() { }

Len dormir()
Dormir() { sobre el vientre }

Oso dormir()

Tigre dormir()

Dormir() { sobrela espalda }

Dormir() { en un rbol }

Diagramas de Comportamiento

Diagramas de Comportamiento
Se utilizan para modelar aspectos dinmicos. Existen dos tipos de diagramas de comportamiento: el Diagrama de Actividad y el Diagrama de Estados. El diagrama de estados, representa los aspectos dinmicos de un objeto individual. El diagrama de Actividades modela los aspectos dinamicos de un sistema.

Diagrama de Actividad
El Diagrama de Actividad es una especializacin del Diagrama de Estado, organizado respecto de las acciones y usado para especificar: Un mtodo Un caso de uso Un proceso de negocio (Workflow) Las actividades se enlazan por transiciones automticas. Cuando una actividad termina se desencadena el paso a la siguiente actividad

Diagrama de Actividad
B u s c a r B e b id a [ h a y c a f ] [ hay z um o ] P o n e r c a f e n filtro A ad i r a g u a a l d e p s i to C o g e r ta z a C oger zumo [ n o h a y c a f ] [ no zumo ]

P o n e r filtro e n m q u in a

E ncender m q u in a / c a fe t e ra .O n C af e n p re p a ra c i n i n d i c a d o r d e fi n S e rv ir c a f B eber

Diagrama de Estados
Los Diagramas de Estados representan autmatas de estados finitos, desde el p.d.v. de los estados y las transiciones Son tiles slo para los objetos con un comportamiento significativo

Diagrama de Estados
Cada objeto est en un estado en cierto instante El estado est caracterizado parcialmente por los valores algunos de los atributos del objeto El estado en el que se encuentra un objeto determina su comportamiento Cada objeto sigue el comportamiento descrito en el D. de Estados asociado a su clase Los D. De Estados y escenarios son complementarios

Diagrama de Estados
Los D. de Estados son autmatas jerrquicos que permiten expresar concurrencia, sincronizacin y jerarquas de objetos Los D. de Estados son grafos dirigidos Los estados inicial y final estn diferenciados del resto La transicin entre estados es instantnea y se debe a la ocurrencia de un evento

Diagrama de Estados
Estados y Transiciones

Evento [condicin] / Accin

B
Tanto el evento como la accin se consideran instantneos

Diagrama de Estados
Ejemplo de un Diagrama de Estados para la clase persona:
c ontratar en el paro perder em pleo jubilars e jubil ars e en ac tivo

jub ilado

Diagrama de Estados
Calentando alimentos llegando a la cocina
llenando hervidor

preparando la mesa

Agua
conectanto hervidor

Preparando cafe Introduciendo cafe y azucar en la taza


sacando el pan

Pan introduciendo pan al horno


colocando los minutos

Introduciendo agua

revolviendo

Preparando Pan Tomando cafe trozando pan Esparciendo mantequilla Esparciendo mermelada Comientdo pan

Diagrama de estados "Desayuno"

Diagramas de Interaccin

Interaccin
Los objetos interactan para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interaccin muestran cmo se comunican los objetos en una interaccin Existen dos tipos de diagramas de interaccin: el Diagrama de Colaboracin y el Diagrama de Secuencia El Diagrama de Secuencia es ms adecuados para observar la perspectiva cronolgica de las interacciones El Diagrama de Colaboracin ofrece una mejor visin espacial mostrando los enlaces de comunicacin entre objetos El D. de Colaboracin puede obtenerse automticamente a partir del correspondiente D. de Secuencia (o viceversa)

Diagrama de Secuencia
Muestra la secuencia de mensajes entre objetos durante un escenario concreto Cada objeto viene dado por una barra vertical El tiempo transcurre de arriba abajo Cuando existe demora entre el envo y la atencin se puede indicar usando una lnea oblicua

Diagrama de Secuencia
: Encargado : WInP rstamos :Socio :Video : Prstamo prestar(video, socio) verificar situacin socio verificar situacin video

registrar prstamo entregar recibo

Diagrama de Colaboracin
Son tiles en la fase exploratoria para identificar objetos La distribucin de los objetos en el diagrama permite observar adecuadamente la interaccin de un objeto con respecto de los dems La estructura esttica viene dada por los enlaces; la dinmica por el envo de mensajes por los enlaces

Diagrama de Colaboracin
:Socio

:Video 2: verificar situacin socio

1: prestar(video, socio) :WInPrstamos 5: entregar recibo : Encargado

3: verificar situacin video

4: registrar prstamo

:Prstamo

Conclusiones

Modelado de SI: Algunas Reflexiones


Modelar para la concebir el sistema y/o para la documentarlo Pragmatismo, los modelos deben ser tiles Sencillez y Elegancia Distintos nivel de abstraccin, diferentes modelos Seguimiento de transformaciones durante el proceso (Traceability) Sincronizacin de modelos Dificultades para la introduccin de tcnicas y herramientas de modelado

You might also like