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

Slides:



Advertisements
Presentaciones similares
IBD Plan 90 y 2003 Clase 11.
Advertisements

Tecnicatura Universitaria en Informática
IBD Plan 90 y 2003 Clase 10.
Instituto Universitario de Gerencia y Tecnología N - Análisis de Sistemas DIAGRAMA DE CLASES INTEGRANTES: LEIVYS MAZA Informática Mención 205 Profesor:
TECNICATURA UNIVERSITARIA EN INFORMATICA
Modelo Entidad Relación
Rocío Contreras Águila Primer Semestre 2010
Introducción a LAS Bases de Datos
TEMA 8: DIAGRAMAS EN UML.
Tomado de:
Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Conceptual Ing. Alfonso Vicente, PMP
En esta clase se tratarán los siguientes temas: Concepción de una clase Atributos Operaciones Responsabilidades y Restricciones Ing. José Manuel Poveda.
U NIDAD 2 L ENGUAJE DE DEFINICIÓN DE DATOS (DDL) 1.
Modelo de Datos Unidad II.
Introducción a la Orientación a Objetos
Metadatos Geoespaciales
DISEÑO Y GESTIÓN DE BASES DE DATOS Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca INTRODUCCIÓN.
Fundamentos de Ingeniería de Software
UML.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
DIAGRAMAS ENTIDAD RELACIÓN
CAPITULO 2 La Representación del Conocimiento
Modelo Entidad-Relación
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a Base de Datos Conceptos básicos.
DIAGRAMA DE CLASE.
Análisis y Diseño orientado a objetos con UML.
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Diagramas de Clase Angela Carrillo R..
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Fundamentos de programación
INGENIERIA EN COMPUTACION INTEGRANTES: EFRÉN ODILÓN COLÍN FAUSTINO ELIZABETH DOROTEO MENDOZA ARACELI MEJIA GONZÁLEZ ROSALBA GONZÁLEZ MIRANDA UNIVERSIDAD.
UML.
DIAGRAMAS ENTIDAD RELACIÓN
BASES DE DATOS Entidad-Relación
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Pensar Relacionalmente: Bases de Datos Relacionales (una visión.
Diagrama de Clases ACI 570.
Introducción a XML por Joel Candia C Universidad Técnica Federico Santa María Departamento de Electrónica ELO-330 Programación de Sistemas.
Bases de Datos.
UNIVERSIDAD LATINA BASES DE DATOS DISEÑO DE BASES DE DATOS (modelos para el diseño)
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
TEMA 9: DIAGRAMA DE CLASE EN UML
I NGENIERÍA DE S OFTWARE L ABORATORIO VI Diseño - Diagrama de clases Eduardo Saavedra A. 07/10/2009.
Ingeniería de Requisitos
Introducción a UML Ing. José Manuel Poveda.
Jairo Pinto Ing. sistemas
El Modelo de Datos Entidad-Relación (E/R)
UNIDAD 2 Modelo Entidad-Relación
Metodología de la programación
Enseñar con Aprendizaje Basado en Problemas
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
Técnica: es un procedimiento o conjunto de procedimientos, (reglas normas o protocolos), que tienen como objetivo obtener un resultado determinado, ya.
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
COLEGIO VIRTUAL GERSAIN
La Programación Orientado a Objetos
Instituto Tecnológico de Chihuahua
DISEÑO DE BASES DE DATOS (modelos para el diseño)
Catálogo de Objetos Geográficos
Diagrama de Clases.
GML Geography Markup Language
Sistemas de Información I
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Modelado UML Diagrama de Clases
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
 Tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, interfaces, relaciones y colaboraciones.  Se utiliza durante.
METADATOS QUE SON LOS METADATOS? SON LOS DATOS DE LOS DATOS Los metadatos forman parte de un elemento de ArcGIS. Archivo xml complementario En los metadatos.
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Transcripción de la presentación:

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

/27 Introducción al modelado Modelado de datos Lenguajes de modelado Lenguaje Unificado de Modelado Ejemplos Conclusiones

/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

/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

/27  Construcción de un edificioPlanos  Implantación de un SIModelo

/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

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

/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

/27 ¿Porqué es tan importante UML?  Es el lenguaje de modelado UNIVERSAL  Las normas ISO 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

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

/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..

/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

/27 Agregación y Composición  A veces es dudoso  En caso de duda y por defecto: Agregación Es más general

/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 …

/27  Las clases hijas no siempre son excluyentes Ni tampoco exhaustivas Generalizaciones no limpias

/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

/27 Clases de generalizaciones Completa: no es posible añadir más clases hijas La clase madre es abstracta y se escribe con cursiva

/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

/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

/27 Asociaciones reflexivas  Se relaciona una instancia de una clase con otra instancia de la misma clase  No necesariamente una instancia consigo misma

/27 Relaciones  Agregación  Composición  Generalización  Asociación lógica Multiplicidades

/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…?”

/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

/27

/27

/27 Clase-asociación  Una asociación lógica con atributos

/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

/27 Clases PROFESOR ASIGNATURA ALUMNO

/27 UML: un esquema

/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

/27

/27

/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

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

/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

/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»

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

/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

/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

/27 Primitivas de ISO Spatial schema

/27 Ejemplo de uso de los Tipos de primitiva

/27 Estereotipos  Estereotipos Enumeration Codelist Type …

/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

/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

/27 Notas y restricciones  Conectados a los objetos afectados Nota Restricción

/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?

/27 Objetos geométricos

/27 ISO Modelo espacial esencial

/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…)

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

/27 Antonio F. Rodríguez CNIG (IGN) ¡Muchas gracias!

/27 Referencias  «Aprendiendo UMP en 24 horas» Joseph SchummerAprendiendo UMP en 24 horas  Herramientas para UML 