1 2015-11-23/27 1 introducción a uml antonio f. rodríguez cnig (ign)

52
1 2015-11-23/27 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

Upload: santiago-agueero-garcia

Post on 25-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 2: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

22015-11-23/27

Introducción al modelado

• Modelado de datos

• Lenguajes de modelado

• Lenguaje Unificado de Modelado

• Ejemplos

• Conclusiones

Page 3: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

32015-11-23/27

Modelado de datos

Búsqueda de la estructura de datos óptima

Cuántos ficheros, registros, campos, claves,...Formatos, longitudes de campos,...

Para explotar un SI Para intercambiar datos Para armonizar un campo de

aplicación

Problema de ingeniería

Page 4: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

42015-11-23/27

Ventajas de tener un Modelo

Comprensión profunda del problema

Modelo independiente de plataformas

Facilita: migraciones, ampliaciones, y mejoras

Permite la estandarización

Descripción formalizada Inteligible por otros (humanos/sistemas)Documentación del sistema

Page 5: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

52015-11-23/27

Construcción de un edificioPlanos

Implantación de un SIModelo

Page 6: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

62015-11-23/27

Para modelar

Tener experiencia

Tener tiempo suficienteEs un proceso de maduración

Nunca modelar en solitarioSiempre en equipo

Hay métodos Experiencia y criterios generales a aplicar

Page 7: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

72015-11-23/27

El modelo

El modelo explica el significado de los datos

Transforma los datos en información

Datos: representación simbólica de una información

Datos diferente, información igual2015 MMXV

Información: conocimiento comunicado o adquirido

Datos iguales, información diferente2015 puede ser : 2015 d. C. 1393 (hégira)

Page 8: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

82015-11-23/27

Lenguajes de Modelado

Diagramas Entidad-Relación Lenguaje gráfico adaptado al Modelo Relacional

UMLNorma ISO/IEC 19501: 2005Lenguaje Unificado de Modelado

Tiene muchos tipos de diagramasDiagramas de claseDiagramas de casos de uso

Page 9: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

92015-11-23/27

¿Porqué es tan importante UML?

Es el lenguaje de modelado UNIVERSAL

Las normas ISO 19100 están en UML

Las especificaciones OGC están en UML

Las especificaciones Inspire están en UML

Incluso hay esquemas UML publicados en el BOE, todo está en UML

Page 10: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

102015-11-23/27

UML: Diagramas de clase

Nombre

+ atributo1+ atributo2+…

OperacionA ( )OperacionB ( )…

ClaseAgrupación genérica<<hombre>>

InstanciaCaso, ejemplarFulano

Page 11: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

112015-11-23/27

Agregación y composición

Agregación

Características:Agrupación débil1) Se puede concebir una Uva separada del Racimo2) Si se destruye el Racimo, no siempre desaparece la UvaUna Uva puede formar parte de un Racimo o de otroMultiplicidad típica: 1..* a 0..1 La frase “A es una mera agrupación de B” tiene sentido

Bosque y ÁrbolProvincia y

MunicipioRebaño y Oveja

0..

Page 12: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

122015-11-23/27

Agregación y composición

Composición

Características:Agrupación fuerte1) No se puede concebir un Dedo separado de la Mano2) Si se destruye la Mano, siempre desaparece el DedoEl Dedo no puede formar parte de una Mano u otraMultiplicidad típica: 1 a NLa frase “A está hecho de B” tiene sentido

Silla y PataFamilia y

PersonaCoche y Motor

Page 13: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

132015-11-23/27

Agregación y Composición

A veces es dudoso

En caso de duda y por defecto:Agregación

Es más general

Page 14: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

142015-11-23/27

Generalización

Caso particular, especializado, incluido en

PropiedadesToda instancia de una clase hija, lo es de la madreLas clases hijas heredan todo de la clase madreLa frase “B es un caso particular de A” tiene sentido

Vía interurbana

Autopista Autovía Carretera

Desdoblada De 1 orden …

Page 15: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

152015-11-23/27

Las clases hijas no siempre son excluyentes

Ni tampoco exhaustivas

Generalizaciones no limpias

Page 16: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

162015-11-23/27

Clases de generalizaciones

Disyuntiva: las instancias de la clase madre, lo son solo de una clase hija No hay instancias de las dos, no hay intersección

Page 17: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

172015-11-23/27

Clases de generalizaciones

Completa: no es posible añadir más clases hijas

La clase madre es abstracta y se escribe con cursiva

Page 18: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

182015-11-23/27

Asociaciones lógicas

Establecen vínculos lógicos entre clasesRelación casual, contingente

Es una relación que puede darse o no La frase que mejor funciona tiene un verbo diferente a los anteriores: «tiene»Se debe dar siempre nombre (tiene) a la asociación

Page 19: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

192015-11-23/27

Multiplicidad y roles

MultiplicidadesSe elige una claseUna Persona ¿con cuántos Perros se relaciona? 0..*Un Perro ¿con cuántas Personas se relaciona? 0..1

RolesNombre del papel que juega cada clase

Inspire: poner siempre nombre de rol

Page 20: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

202015-11-23/27

Asociaciones reflexivas

Se relaciona una instancia de una clase con otra instancia de la misma clase

No necesariamente una instancia consigo misma

Page 21: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

212015-11-23/27

Relaciones

Agregación

Composición

Generalización

Asociación lógicaMultiplicidades

Page 22: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

222015-11-23/27

Para modelar

Lo primero: Definir el Universo de discurso

El subconjunto abstraído del mundo real que tiene todo lo que resulta de interés

El contextoAyuda a fijar los límites del modelo y a no echar a volar la imaginación Evita los: “¿no quedaría mejor si añadimos…?”

Page 23: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

232015-11-23/27

Un ejemplo: el jardín de Juan

Juan es un jardinero muy cuidadoso que tiene un jardín con un invernadero y cuatro parterres exteriores, dónde cultiva plantas con flores de colores

Mantiene la temperatura del invernadero casi sin fluctuaciones, para que las plantas de interior que cultiva allí sobrevivan sin problemas

También mantiene una acidez diferente en el suelo de cada parterre para poder cultivar plantas de exterior de todo varios tipos

Tiene etiquetas para nombrar a cada planta con el nombre común y el nombre científico

Page 26: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

262015-11-23/27

Clase-asociación

Una asociación lógica con atributos

Page 27: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

272015-11-23/27

Otro ejemplo: la academia

Se quiere diseñar una Base de Datos para la gestión administrativa de un centro educativo:

Para generar HorariosListas de claseListas de notasCalcular sueldo de los profesores

Cada asignatura es impartida por un solo profesor, en las asignaturas hay alumnos matriculados que sacan notas

Page 28: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

282015-11-23/27

Clases

PROFESOR

ASIGNATURA ALUMNO

Page 29: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

292015-11-23/27

UML: un esquema

Page 30: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

302015-11-23/27

Otro ejemplo: el Registro Civil muy tradicional

Relaciones entre personas: matrimonios (gananciales, separación de bienes), relación padres-hijos y entre los hermanos

MatrimonioFecha Régimen

No hay divorcio Persona

Datos de identificación

• Se tienen en cuenta:• Matrimonio (clásico)• Nacimientos• Defunciones

Page 33: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

332015-11-23/27

Objetos

• Nombres autoexplicativos• Hay que buscar el mejor nombre

posible, el más claro• En singular

• Salvo excepciones: gafas, tijeras, pantalones…

• En español, mejor en español• Comenzar por Mayúscula, cada

palabra con May.• A, B, C…Z, a, b…z, 1, 2 , 3, 4… con _ en

prefijo y sin -UPM_DirectordeCine

Page 34: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

342015-11-23/27

Atributos

Autoexplicativos, claros y en españolComienzan por minúscula, sin _ ni –

A, B, C…Z, a, b…z…1, 2, 3…

Hay atributos que pueden tener (n) valores

Por defecto: públicos (+)

Page 35: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

352015-11-23/27

Para modelar

1) Definir el contextoUniverso de discurso: parte y visión del mundo que interesa

2) Resumirlo 3) Definir los requerimientos de usuario

Las preguntas que va a responder el sistema 4) Sustantivos objetos 5) Verbos relaciones 6) Adjetivos atributos 7) Simplificar 8) La semántica es importante

Page 36: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

362015-11-23/27

Estereotipos

Es una manera de clasificar las clases UML, de decir que son de un tipo (estereotipo) especial.

Se escribe un nombre entre « »

Por ejemplo «Enumeration», Tipos «type», Interfaces «interface»

Page 37: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

372015-11-23/27

Enumeration y codelist

Se pueden definir listas de valores controlados cerradas (enumeration) y abiertas (codelist)

Siempre mejor codificadascodelist

Page 38: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

382015-11-23/27

Tipos de datos de usuario

Tipo de datos de usuarioUn lenguaje nos da unos tipos de datos básicos

Char, string, boolean, integer, real….

Se pueden definir tipos de datos de usuario

Page 39: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

392015-11-23/27

Un objeto puede ser un tipo de datos

Manejar un objeto como un tipo de datos

Se define como «type»Se utiliza como un tipo de datos de usuario

Page 40: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

402015-11-23/27

Primitivas de ISO 19107 Spatial schema

Page 41: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

412015-11-23/27

Ejemplo de uso de los Tipos de primitiva

Page 42: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

422015-11-23/27

Estereotipos

EstereotiposEnumerationCodelistType…

Page 43: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

432015-11-23/27

Dependencia

Cuando una clase depende de otraTiene una operación que utiliza los atributos de otra clase

Se representa con una flecha discontinua

Page 44: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

442015-11-23/27

Paquetes

Son submodelos o partes del modelo que interesa aislar por su significado Los objetos

pueden llevar un prefijo de paquete

GM_Point

TP_Node

Page 45: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

452015-11-23/27

Notas y restricciones

Conectados a los objetos afectados

Nota

Restricción

Page 46: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

462015-11-23/27

Un concepto de modelado en INSPIRE

Un atributo [1] es obligatorio[0..1] es opcional«voidable» significa: si se conoce el valor, es obligatorio (es omisible)

Ejemplo:El CRS de un fichero

Parece obligatorioPero ¿y si no se sabe?

Page 47: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

472015-11-23/27

Objetos geométricos

Page 48: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

482015-11-23/27

ISO 19137 Modelo espacial esencial

Page 49: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

492015-11-23/27

Modelo, esquema y especificaciones

Un Modelo consta de:Esquema

Objetos, atributos, asociaciones…

DefinicionesReglasUn texto explicativo

Unas especificaciones constan de un Modelo y más cosas (metadatos, calidad, CRS, catálogo de objetos geográficos, representación…)

Page 50: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

502015-11-23/27

Conclusiones

Modelar, tarea clave

Larga vida al UML Normas ISO, estándares OGC, textos Inspire…

Hay que aprender a leer UML

Page 51: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

512015-11-23/27

Antonio F. RodríguezCNIG (IGN)

[email protected]+34 91 5979661

¡Muchas gracias!

Page 52: 1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)

522015-11-23/27

Referencias

«Aprendiendo UMP en 24 horas» Joseph Schummer

Herramientas para UMLhttp://modeling-languages.com/herramientas-para-uml/

http://www.umlzone.com/