Curso uml-clase-01-1211931122395265-9

Post on 07-Jun-2015

1.356 views 3 download

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

1

“Lenguaje de Modelamiento Unificado” Clase 01

Curso: “Lenguaje de Modelamiento Unificado”

Clase 01

Relatores:• Gerardo Cerda Neumann (gcerda@ucinf.cl)• Alejandro Reyes Zúñiga (areyes@infodesign.cl)• José Miguel Santibáñez Allendes (jms@caos.cl)

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

3

“Lenguaje de Modelamiento Unificado” Clase 01

Contexto de Desarrollo: Grado de Complejidad

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.

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.

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

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)

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

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.

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.

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

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”

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.

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

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

16

“Lenguaje de Modelamiento Unificado” Clase 01

Diagramas de UML

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

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

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

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

21

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Asociación)

ProfesorDepartamento

10..1

director

1

dirige

0..1

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

23

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos

• En el paquete tipos de venta:

Venta Normal

Venta en Rebajas

Venta en Ofertas

Vendedor

24

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos

Solicitar Nueva Tarjeta

ClienteSolicitar Préstamo

<<extend>>

[Tarjeta Caducada]

25

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos

Verificar Operación

Reintegro Cuenta Corriente

Cliente

Reintegro Cuenta de Crédito

<<include>>

<<include>>

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»

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

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

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

30

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Actividad parte 1)

31

“Lenguaje de Modelamiento Unificado” Clase 01

Ejemplos (Diagrama de Actividad parte 2)

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

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

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

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

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)

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)

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

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/

40

“Lenguaje de Modelamiento Unificado” Clase 01

Curso: “Lenguaje de Modelamiento Unificado”

Clase 01

Relatores:• Gerardo Cerda Neumann (gcerda@ucinf.cl)• Alejandro Reyes Zúñiga (areyes@infodesign.cl)• José Miguel Santibáñez Allendes (jms@caos.cl)