La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "1 2015-11-23/27 1 Introducción a UML Antonio F. Rodríguez CNIG (IGN)"— Transcripción de la presentación:

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

2 2 2015-11-23/27 Introducción al modelado Modelado de datos Lenguajes de modelado Lenguaje Unificado de Modelado Ejemplos Conclusiones

3 3 2015-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

4 4 2015-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

5 5 2015-11-23/27  Construcción de un edificioPlanos  Implantación de un SIModelo

6 6 2015-11-23/27 Para modelar  Tener experiencia  Tener tiempo suficiente Es un proceso de maduración  Nunca modelar en solitario Siempre en equipo  Hay métodos Experiencia y criterios generales a aplicar

7 7 2015-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 igual 2015MMXV Información: conocimiento comunicado o adquirido Datos iguales, información diferente 2015 puede ser : 2015 d. C.1393 (hégira)

8 8 2015-11-23/27 Lenguajes de Modelado Diagramas Entidad-Relación Lenguaje gráfico adaptado al Modelo Relacional UML Norma ISO/IEC 19501: 2005 Lenguaje Unificado de Modelado Tiene muchos tipos de diagramas Diagramas de clase Diagramas de casos de uso

9 9 2015-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

10 10 2015-11-23/27 UML: Diagramas de clase Nombre + atributo1 + atributo2 +… OperacionA ( ) OperacionB ( ) …  Clase Agrupación genérica >  Instancia Caso, ejemplar Fulano

11 11 2015-11-23/27 Agregación y composición  Agregación Características: Agrupación débil 1) Se puede concebir una Uva separada del Racimo 2) Si se destruye el Racimo, no siempre desaparece la Uva Una Uva puede formar parte de un Racimo o de otro Multiplicidad típica: 1..* a 0..1 La frase “A es una mera agrupación de B” tiene sentido Bosque y Árbol Provincia y Municipio Rebaño y Oveja 0..

12 12 2015-11-23/27 Agregación y composición  Composición Características: Agrupación fuerte 1) No se puede concebir un Dedo separado de la Mano 2) Si se destruye la Mano, siempre desaparece el Dedo El Dedo no puede formar parte de una Mano u otra Multiplicidad típica: 1 a N La frase “A está hecho de B” tiene sentido Silla y Pata Familia y Persona Coche y Motor

13 13 2015-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

14 14 2015-11-23/27 Generalización  Caso particular, especializado, incluido en Propiedades Toda instancia de una clase hija, lo es de la madre Las clases hijas heredan todo de la clase madre La frase “B es un caso particular de A” tiene sentido Vía interurbana Autopista Autovía Carretera Desdoblada De 1 orden …

15 15 2015-11-23/27  Las clases hijas no siempre son excluyentes Ni tampoco exhaustivas Generalizaciones no limpias

16 16 2015-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

17 17 2015-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

18 18 2015-11-23/27 Asociaciones lógicas Establecen vínculos lógicos entre clases Relació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

19 19 2015-11-23/27 Multiplicidad y roles Multiplicidades Se elige una clase Una Persona ¿con cuántos Perros se relaciona? 0..* Un Perro ¿con cuántas Personas se relaciona? 0..1  Roles Nombre del papel que juega cada clase Inspire: poner siempre nombre de rol

20 20 2015-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

21 21 2015-11-23/27 Relaciones  Agregación  Composición  Generalización  Asociación lógica Multiplicidades

22 22 2015-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 contexto Ayuda 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…?”

23 23 2015-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

24 24 2015-11-23/27

25 25 2015-11-23/27

26 26 2015-11-23/27 Clase-asociación  Una asociación lógica con atributos

27 27 2015-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 Horarios Listas de clase Listas de notas Calcular sueldo de los profesores Cada asignatura es impartida por un solo profesor, en las asignaturas hay alumnos matriculados que sacan notas

28 28 2015-11-23/27 Clases PROFESOR ASIGNATURA ALUMNO

29 29 2015-11-23/27 UML: un esquema

30 30 2015-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  Matrimonio Fecha Régimen  No hay divorcio  Persona Datos de identificación Se tienen en cuenta: Matrimonio (clásico) Nacimientos Defunciones

31 31 2015-11-23/27

32 32 2015-11-23/27

33 33 2015-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

34 34 2015-11-23/27 Atributos Autoexplicativos, claros y en español Comienzan 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 (+)

35 35 2015-11-23/27 Para modelar  1) Definir el contexto Universo 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) Sustantivosobjetos  5) Verbosrelaciones  6) Adjetivosatributos  7) Simplificar  8) La semántica es importante

36 36 2015-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»

37 37 2015-11-23/27 Enumeration y codelist  Se pueden definir listas de valores controlados cerradas (enumeration) y abiertas (codelist)  Siempre mejor codificadas codelist

38 38 2015-11-23/27 Tipos de datos de usuario Tipo de datos de usuario Un lenguaje nos da unos tipos de datos básicos Char, string, boolean, integer, real…. Se pueden definir tipos de datos de usuario

39 39 2015-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

40 40 2015-11-23/27 Primitivas de ISO 19107 Spatial schema

41 41 2015-11-23/27 Ejemplo de uso de los Tipos de primitiva

42 42 2015-11-23/27 Estereotipos  Estereotipos Enumeration Codelist Type …

43 43 2015-11-23/27 Dependencia  Cuando una clase depende de otra Tiene una operación que utiliza los atributos de otra clase  Se representa con una flecha discontinua

44 44 2015-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

45 45 2015-11-23/27 Notas y restricciones  Conectados a los objetos afectados Nota Restricción

46 46 2015-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 obligatorio Pero ¿y si no se sabe?

47 47 2015-11-23/27 Objetos geométricos

48 48 2015-11-23/27 ISO 19137 Modelo espacial esencial

49 49 2015-11-23/27 Modelo, esquema y especificaciones Un Modelo consta de: Esquema Objetos, atributos, asociaciones… Definiciones Reglas Un texto explicativo Unas especificaciones constan de un Modelo y más cosas (metadatos, calidad, CRS, catálogo de objetos geográficos, representación…)

50 50 2015-11-23/27 Conclusiones  Modelar, tarea clave  Larga vida al UML Normas ISO, estándares OGC, textos Inspire…  Hay que aprender a leer UML

51 51 2015-11-23/27 Antonio F. Rodríguez CNIG (IGN) afrodriguez@fomento.es +34 91 5979661 ¡Muchas gracias!

52 52 2015-11-23/27 Referencias  «Aprendiendo UMP en 24 horas» Joseph SchummerAprendiendo UMP en 24 horas  Herramientas para UML http://modeling-languages.com/herramientas-para-uml/  http://www.umlzone.com/


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

Presentaciones similares


Anuncios Google