Curso uml-clase-01-1211931122395265-9

40
1 “Lenguaje de Modelamiento Unificado” Clase 01 Curso: “Lenguaje de Modelamiento Unificado” Clase 01 Relatores: Gerardo Cerda Neumann ([email protected]) Alejandro Reyes Zúñiga ([email protected]) José Miguel Santibáñez Allendes ([email protected])

Transcript of Curso uml-clase-01-1211931122395265-9

Page 1: Curso uml-clase-01-1211931122395265-9

1

“Lenguaje de Modelamiento Unificado” Clase 01

Curso: “Lenguaje de Modelamiento Unificado”

Clase 01

Relatores:• Gerardo Cerda Neumann ([email protected])• Alejandro Reyes Zúñiga ([email protected])• José Miguel Santibáñez Allendes ([email protected])

Page 2: Curso uml-clase-01-1211931122395265-9

2

“Lenguaje de Modelamiento Unificado” Clase 01

Agenda

• Desarrollo de Software

• UML: Historia

• Características de UML

• Modelos y Diagramas

• Ejemplos varios

• Resumen UML

• Reflexiones

Page 3: Curso uml-clase-01-1211931122395265-9

3

“Lenguaje de Modelamiento Unificado” Clase 01

Contexto de Desarrollo: Grado de Complejidad

Page 4: Curso uml-clase-01-1211931122395265-9

4

“Lenguaje de Modelamiento Unificado” Clase 01

Desarrollo de Software

Metodología. 1. f. Ciencia del método.2. f. Conjunto de métodos que se siguen en

una investigación científica o en una exposición doctrinal.

Page 5: Curso uml-clase-01-1211931122395265-9

5

“Lenguaje de Modelamiento Unificado” Clase 01

Fundamento Metodológico

AnálisisDiseñoConstrucciónPruebas

Estructurados según alguno de los modelos conocidos:• Cascada.• Iterativo.• Incremental.• otros.

Page 6: Curso uml-clase-01-1211931122395265-9

6

“Lenguaje de Modelamiento Unificado” Clase 01

Claves en el Análisis y Diseñode Software

Herramientasp.e. Enterprise

Architect

Procesop.e. RUP

Notación UML

Page 7: Curso uml-clase-01-1211931122395265-9

7

“Lenguaje de Modelamiento Unificado” Clase 01

¿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)

Page 8: Curso uml-clase-01-1211931122395265-9

8

“Lenguaje de Modelamiento Unificado” Clase 01

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

Page 9: Curso uml-clase-01-1211931122395265-9

9

“Lenguaje de Modelamiento Unificado” Clase 01

Historia de UML Todo se inicia en la empresa “Rational Machines”,

(después, simplemente “Rational”). Comenzó como el “Método Unificado”, con la

participación de Grady Booch (Método Booch en Rational) y Jim Rumbaugh (OMT en GE). Se presentó en el OOPSLA’95

El mismo año se unió Ivar Jacobson (OOSE en Objectory). Los “Tres Amigos” crean UML, RUP y la herramienta

CASE: Rose. En el 2003, la empresa IBM adquiere Rational por 2

millardos.

Page 10: Curso uml-clase-01-1211931122395265-9

10

“Lenguaje de Modelamiento Unificado” Clase 01

Historia de UML (2)

• En 1996, los Tres Amigos deciden dejar de lado el “Método Unificado” y crean UML.

• Presentan una versión preliminar al UML Partners (consorcio creado ad-hoc) quienes definen la propuesta al OMG (Object Management Group) eso será UML 1.0

• Es estándar internacional ISO/IEC 19501:2005 corresponde a UML versión 1.4.2

• En Octubre de 2004, OMG adopta oficialmente UML 2.0 como versión de trabajo actualizada.

• Se esperaba la revisión 2.1 para este año, pero no ha ocurrido.

Page 11: Curso uml-clase-01-1211931122395265-9

11

“Lenguaje de Modelamiento Unificado” Clase 01

Aspectos Novedosos

Definición semi-formal del Metamodelo de UML

Mecanismos de Extensión en UML:

Stereotypes

Constraints

Tagged Values

Permiten adaptar los elementos de modelado,

asignándoles una semántica particular

Page 12: Curso uml-clase-01-1211931122395265-9

12

“Lenguaje de Modelamiento Unificado” Clase 01

Inconvenientes en UML

Definición del proceso de desarrollo usando UML. UML no es una metodología

Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc.

Ejemplos aislados

“Monopolio de conceptos, técnicas y métodos en torno a UML”

Page 13: Curso uml-clase-01-1211931122395265-9

13

“Lenguaje de Modelamiento Unificado” Clase 01

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.

Page 14: Curso uml-clase-01-1211931122395265-9

14

“Lenguaje de Modelamiento Unificado” Clase 01

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

Page 15: Curso uml-clase-01-1211931122395265-9

15

“Lenguaje de Modelamiento Unificado” Clase 01

Diagramas de UML

• Los diagramas expresan gráficamente partes de un modelo

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

Page 16: Curso uml-clase-01-1211931122395265-9

16

“Lenguaje de Modelamiento Unificado” Clase 01

Diagramas de UML

Page 17: Curso uml-clase-01-1211931122395265-9

17

“Lenguaje de Modelamiento Unificado” Clase 01

Diagramas de UML Diagrama de Proceso de Negocio (extensión) Diagrama de Clases Diagrama de Casos de Uso Diagramas de Interacción

Diagrama de Secuencia Diagrama de Colaboración

Diagramas de Comportamiento Diagrama de Actividad Diagrama de Estado

Diagramas de Implementación Diagrama de Componente Diagrama de Despliegue

Page 18: Curso uml-clase-01-1211931122395265-9

18

“Lenguaje de Modelamiento Unificado” Clase 01

Organización de Modelos

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

Este enfoque sigue el CASE Enterprise Architect

Page 19: Curso uml-clase-01-1211931122395265-9

19

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Proceso de Negocio)od Business Process Model

Venta en Internet

«objetivo»

Vender el Juguete

Distribuidor

Base de Datos

Juguetes

«entidad de negocio»

Venta

Solicitud de

Compra

Proceso NUEVO

salida

entrada

Page 20: Curso uml-clase-01-1211931122395265-9

20

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Clase y Visibilidad)

Alumno

RUT : 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()

Page 21: Curso uml-clase-01-1211931122395265-9

21

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Asociación)

ProfesorDepartamento

10..1

director

1

dirige

0..1

Page 22: Curso uml-clase-01-1211931122395265-9

22

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagramas de Casos de Uso)

Supervisor Verificar Situación del Cliente

Administrativo Preparar Catálogo Sistema Inventario

Tipos de Venta

Page 23: Curso uml-clase-01-1211931122395265-9

23

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos

• En el paquete tipos de venta:

Venta Normal

Venta en Rebajas

Venta en Ofertas

Vendedor

Page 24: Curso uml-clase-01-1211931122395265-9

24

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos

Solicitar Nueva Tarjeta

ClienteSolicitar Préstamo

<<extend>>

[Tarjeta Caducada]

Page 25: Curso uml-clase-01-1211931122395265-9

25

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos

Verificar Operación

Reintegro Cuenta Corriente

Cliente

Reintegro Cuenta de Crédito

<<include>>

<<include>>

Page 26: Curso uml-clase-01-1211931122395265-9

26

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagramas de Casos de Uso)

ud CU

Distribuidor

Consultar Juguetes

Agregar Juguete en Carro de

Compra

Confirmar Compra Registrar Venta

Contabilidad

«include»

«extend»

Page 27: Curso uml-clase-01-1211931122395265-9

27

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Secuencia)

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

prestar(video, socio)

verificar situación socio

verificar situación video

registrar préstamo

entregar recibo

Page 28: Curso uml-clase-01-1211931122395265-9

28

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Secuencia de Sistema)

sd Consultar Juguetes

:Distribuidor Sistema

Ingresar Filtro de Búsqueda

Realizar Búsqueda de Juguetes

Desplegar Resultados de Búsqueda

Page 29: Curso uml-clase-01-1211931122395265-9

29

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (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

Page 30: Curso uml-clase-01-1211931122395265-9

30

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Actividad parte 1)

Page 31: Curso uml-clase-01-1211931122395265-9

31

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Actividad parte 2)

Page 32: Curso uml-clase-01-1211931122395265-9

32

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Componente)

Control y Análisis

Comment

Acceso a BD

Comment

Rutinas de Coneccion

Comment

Interfaz de Terminal

Comment

Gestión de Cuentas

Comment

Page 33: Curso uml-clase-01-1211931122395265-9

33

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (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

Page 34: Curso uml-clase-01-1211931122395265-9

34

“Lenguaje de Modelamiento Unificado” Clase 01

Resumen

• UML define una notación que se expresa como diagramas que 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

Page 35: Curso uml-clase-01-1211931122395265-9

35

“Lenguaje de Modelamiento Unificado” Clase 01

Modelado de Software: Algunas Reflexiones

• Modelar para concebir el sistema y/o para documentarlo

• Pragmatismo, los modelos deben ser útiles

• Sencillez y Elegancia

• Distintos nivel de abstracción, diferentes modelos

Page 36: Curso uml-clase-01-1211931122395265-9

36

“Lenguaje de Modelamiento Unificado” Clase 01

Modelado de Software: Algunas Reflexiones (2)

• Seguimiento de transformaciones durante el proceso (Traceability)

• Sincronización de modelos

• Dificultades para la introducción de técnicas y herramientas de modelado

• Necesidad de Herramientas CASE (Enterprise Architect)

Page 37: Curso uml-clase-01-1211931122395265-9

37

“Lenguaje de Modelamiento Unificado” Clase 01

Finalmente

• Apostar por enfoque Orientado a Objetos usando notación UML

• Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales

• Posibles mejoras a mediano plazo– Evolución: Uso de BDOO y/o mejoras en los LPOO

– Revolución: Generación Automática de Código a partir de Modelos OO (Compilación de Modelos)

Page 38: Curso uml-clase-01-1211931122395265-9

38

“Lenguaje de Modelamiento Unificado” Clase 01

Bibliografía RecomendadaUML

http://www.omg.org/uml/ y http://www.uml.orghttp://en.wikipedia.org/wiki/Unified_Modeling_LanguageMeta-link http://www.cetus-links.org/oo_uml.html Pierre-Alain Muller “Instant UML”Martin Fowler, “UML Destilled” (“UML Gota a Gota”)Terry Quatrani, “Visual Modeling ...”, un caso de estudio

Herramientas CASEHerramientas basadas en UML http://www.objectsbydesign.com/tools/umltools_byPrice.html International Council in SE (INCOSE) www.incose.org/http://www.incose.org/ProductsPubs/products/toolsdatabase.aspx

OtrasRevista IEEE Software, Conferencias: OOPSLA, ECOOP Tutoriales en inglés http://www.ptcorp.com/training.htm

Page 39: Curso uml-clase-01-1211931122395265-9

39

“Lenguaje de Modelamiento Unificado” Clase 01

Material basado en:

• Archivo PPT: Taller de UML y Herramientas CASE” de Gerardo Cerda N. Universidad de Ciencias de la Informática.

• Archivo PPT “Desarrollo de software orientado al objeto” preparado por Patricio Letelier Torres, Departamento Sistemas Informáticos y Computación (DSIC), Universidad Politécnica de Valencia (UPV) – España

• Sitio Web “Craftware” http:www.craftware.net• Sitio Web “Wikipedia”:

http://en.wikipedia.org/wiki/Unified_Modeling_Language• Se recomienda: http://www.dcc.uchile.cl/~psalinas/uml/

Page 40: Curso uml-clase-01-1211931122395265-9

40

“Lenguaje de Modelamiento Unificado” Clase 01

Curso: “Lenguaje de Modelamiento Unificado”

Clase 01

Relatores:• Gerardo Cerda Neumann ([email protected])• Alejandro Reyes Zúñiga ([email protected])• José Miguel Santibáñez Allendes ([email protected])