1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un...

39
1 Introducción: UML Técnicas de Modelamiento

Transcript of 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un...

Page 1: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

1

Introducción: UML

Técnicas de Modelamiento

Page 2: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

2

¿Qué es UML?

UML = Unified Modeling Language

Un lenguaje de propósito general para el modelado orientado a objetos

Documento “OMG Unified Modeling Language Specification”

UML combina notaciones provenientes desde:• Modelado Orientado a Objetos • Modelado de Datos• Modelado de Componentes • Modelado de Flujos de Trabajo (Workflows)

I. Introducción: UML

Page 3: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

3

Situación de Partida Diversos métodos y técnicas OO, con muchos

aspectos en común pero utilizando distintas notaciones

Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc.

Pugna entre distintos enfoques (y correspondientes gurús)

Establecer una notación estándar

I. Introducción: UML

Page 4: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

4

Historia de UML

Comenzó como el “Método Unificado”, con la participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95

El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía Rational Software. Herramienta CASE Rational Rose

I. Introducción: UML

Page 5: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

5

Historia de UML

Nov ‘97 UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.4

2001 UML 2.0

Revisiones menores

I. Introducción: UML

Page 6: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

6

Participantes en UML 1.0 Rational Software

(Grady Booch, Jim Rumbaugh y Ivar Jacobson)

Digital Equipment Hewlett-Packard i-Logix (David Harel)

IBM ICON Computing

(Desmond D’Souza) Intellicorp and James

Martin & co. (James Odell)

MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium

Technology Sterling Software Taskon Texas Instruments Unisys

I. Introducción: UML

Page 7: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

7

UML “aglutina” enfoques OO

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

I. Introducción: UML

Page 8: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

10

Perspectivas de UML UML será el lenguaje de modelado orientado a

objetos estándar predominante los próximos años

Razones:• Participación de metodólogos influyentes• Participación de importantes empresas• Aceptación del OMG como notación estándar

Evidencias:• Herramientas que proveen la notación UML• “Edición” de libros• Congresos, cursos, “camisetas”, etc.

I. Introducción: UML

Page 9: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

11

Breve Tour por UML

Page 10: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

12

Modelos y Diagramas Un modelo captura una vista de un sistema del mundo

real. Es una abstracción de dicho sistema, considerando

un cierto propósito. Así, el modelo describe

completamente aquellos aspectos del sistema que son

relevantes al propósito del modelo, y a un apropiado

nivel de detalle.

Diagrama: una representación gráfica de una colección

de elementos de modelado, a menudo dibujada como

un grafo con vértices conectados por arcos

OMG UML 1.4 Specification

II. Breve Tour por UML

Page 11: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

13

Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés

El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

... Modelos y Diagramas

II. Breve Tour por UML

Page 12: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

14

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 Interacción

Diagrama de Secuencia Diagrama de Colaboración

Diagramas de implementación Diagrama de Componentes Diagrama de Despliegue

II. Breve Tour por UML

Page 13: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

15

... Diagramas de UML

Use CaseDiagramsUse Case

DiagramsDiagramas de Casos de Uso

ScenarioDiagramsScenario

DiagramsDiagramas deColaboración

StateDiagramsState

DiagramsDiagramas deComponentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribución

StateDiagramsState

DiagramsDiagramas de Objetos

ScenarioDiagramsScenario

DiagramsDiagramas deEstados

Use CaseDiagramsUse Case

DiagramsDiagramas deSecuencia

StateDiagramsState

DiagramsDiagramas deClases

Diagramas deActividad

Modelo

II. Breve Tour por UML

Los diagramas expresan gráficamente partes de un modelo

Page 14: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

16

4+1 vistas de Kruchten (1995)

Vista Lógica

Vista de Procesos

Vista de Distribución

Vista de Realización

Vista de los Casos de Uso

Organización de Modelos

Este enfoque sigue el browser de Rational Rose

II. Breve Tour por UML

Page 15: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

17

... Organización de Modelos

Propuesta de Rational Unified Process (RUP)

M. de Casos de Uso del Negocio (Business Use-Case Model) M. de Objetos del Negocio (Business Object Model) M. de Casos de Uso (Use-Case Model) M. de Análisis (Analysis Model) M. de Diseño (Design Model) M. de Despliegue (Deployment Model) M. de Datos (Data Model) M. de Implementación (Implementation Model) M. de Pruebas (Test Model)

II. Breve Tour por UML

Page 16: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

18

Paquetes en UML

Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado

Se representan gráficamente como:

Nombre de paquete

II. Breve Tour por UML

Page 17: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

19

… Paquetes en UML

Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema)

Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete

Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes

II. Breve Tour por UML

Page 18: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

20

… Paquetes en UML

Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa

El operador “::” permite designar una clase definida en un contexto distinto del actual

II. Breve Tour por UML

Práctica 1

Page 19: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

21

… Paquetes en UML

II. Breve Tour por UML

Práctica 1

Page 20: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

22

Diagrama de Casos de Uso

Casos de Uso es una técnica para capturar información de cómo un sistema o negocio trabaja, o de cómo se desea que trabaje

No pertenece estrictamente al enfoque orientado a objeto, es una técnica para captura de requisitos

II. Breve Tour por UML

Page 21: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

23

Ejemplos

II. Breve Tour por UML

Supervisor Verificar Situación del Cliente

Administrativo Preparar Catálogo Sistema Inventario

Tipos de Venta

Page 22: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

24

… EjemplosEn el paquete tipos de venta:

II. Breve Tour por UML

Venta Normal

Venta en Rebajas

Venta en Ofertas

Vendedor

Page 23: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

25

… Ejemplos

II. Breve Tour por UML

Solicitar Nueva Tarjeta

ClienteSolicitar Préstamo

<<extend>>

[Tarjeta Caducada]

Page 24: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

26

… Ejemplos

II. Breve Tour por UML

Verificar Operación

Reintegro Cuenta Corriente

Cliente

Reintegro Cuenta de Crédito

<<include>>

<<include>>

Práctica 2

Page 25: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

27

Diagrama de Clases

El Diagrama de Clases es el diagrama principal para el análisis y diseño

Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia

La definición de clase incluye definiciones para atributos y operaciones

El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones

II. Breve Tour por UML

Page 26: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

28

Ejemplos (Clase y Visibilidad)

Alumno

DNI : char[10]número_exp : intnombre : char[50]

alta()poner_nota(asignatura : char *, año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()

II. Breve Tour por UML

Page 27: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

29

… Ejemplos (Asociación)

ProfesorDepartamento

10..1

director

1

dirige

0..1

II. Breve Tour por UML

Page 28: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

30

… Ejemplos (Clase Asociación)

II. Breve Tour por UML

Empresa Empleado

1..** 1..**

trabajadoresempleador

Cargo

nombresueldo 0..1

1..*

superior

subordinado 1..*

0..1

Page 29: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

31

… Ejemplos (Generalización)

II. Breve Tour por UML

Trabajador

Directivo Administrativo Obrero

{ disjunta, completa }

Page 30: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

32

… Ejemplos

Prácticas 4-8

II. Breve Tour por UML

Avión militar Avión comercial

Avión de carga Avión de pasajeros

Motor Vendedor de billetes

Avión

1..4

1

1..4

1

Piloto

Reserva

n

1

n

1

Línea aérea

Vuelon1 n1

1..2

n

1..2

nn1 n1

1

n

1

n{ disjunta, completa }

{ disjunta, completa }

Page 31: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

33

Diagrama de Secuencia

II. Breve Tour por UML

: Encargado:WInPréstamos :Socio :Video :Préstamo

prestar(video, socio)

verificar situación socio

verificar situación video

registrar préstamo

entregar recibo

Page 32: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

34

Diagrama de Colaboración

Práctica 3

II. Breve Tour por UML

: Encargado

:WInPréstamos

:Socio

:Video

:Préstamo

1: prestar(video, socio)

2: verificar situación socio

3: verificar situación video

4: registrar préstamo5: entregar recibo

Page 33: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

35

Diagrama de Estados

con préstamos

sin préstamos

alta baja

prestar devolver[ número_préstamos = 1 ]

prestar

devolver[ número_préstamos > 1 ]

número_préstamos = 0

número_préstamos > 0

II. Breve Tour por UML

Socio

número : intnombre : char[50]número_prestamos : int = 0

alta()baja()prestar(código_libro : int, fecha : date)devolver(código_libro : int, fecha : date)

Page 34: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

36

Diagrama de Actividad

Buscar Bebida

Poner café en filtro Añadir agua al depósito Coger taza

Poner filtro en máquina

Encender máquina

Café en preparación

Servir café

Coger zumo

Beber

[no hay café]

[hay café

[no zumo]

[hay zumo]

/ cafetera.On

indicador de fin

II. Breve Tour por UML

Page 35: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

37

Emitir billete

Pasajero Vendedor Airline

… Otro Ejemplo (con swim lines)

Solicitar pago Reservar plazas

Confirmar plaza reservadaPagar pasaje

Informar alternativas y precios

Verificar existencia vuelo

Dar detalles vuelo

Solicitar pasaje

Seleccionar vuelo

Práctica 9

II. Breve Tour por UML

Page 36: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

38

Diagrama Componentes

Control y Análisis

Comment

Acceso a BD

Comment

Rutinas de Coneccion

Comment

Interfaz de Terminal

Comment

Gestión de Cuentas

Comment

II. Breve Tour por UML

Page 37: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

39

Diagrama de Despliegue

Punto de Venta

Servidor Central

Terminal de Consulta

Gestión de Cuentas

Comment

Interfaz de Terminal

Comment

Rutinas de Coneccion

Comment

Rutinas de Coneccion

Comment

Interfaz de Terminal

Comment

Rutinas de Coneccion

Comment

Acceso a BD

Comment

Control y Análisis

Comment

Práctica 10

II. Breve Tour por UML

Page 38: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

40

Resumen

UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos

El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch

II. Breve Tour por UML

Page 39: 1 Introducción: UML Técnicas de Modelamiento. 2 ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado.

41

Referencias www.dsic.upv.es/~uml