Operación - GeoBolivia

Anuncio
GeoBolivia
Infraestructura de Datos Espaciales
NORMA ISO 19103
Wilfredo Mendoza Murillo
wmendoza@geo.gob.bo
Introducción
Que es UML
Modelo Visual
Uml objetos
Perfil UML – ISO 19103
Uso general del UML
Introducción
• La ISO 19103 establece normas y guías
para el uso de un lenguaje de esquema
conceptual dentro de la serie de
normas ISO 19100 de información
geográfica, tomando como base el
Lenguaje Unificado de Modelado (UML).
Introducción
Esta especificación técnica se refiere
a la adopción y uso de un lenguaje
de esquema conceptual (CSL) para
desarrollar modelos o esquemas de
información geográfica.
Que es UML
UML - Historia
Modelado Visual
UML es un lenguaje de modelado.
-Un modelo es una simplificación de la
realidad.
-El objetivo del modelado de un sistema es
capturar las partes esenciales del sistema.
-Para facilitar este modelado, se realiza una
abstracción y se plasma en una notación
gráfica.
UML composición
• Elementos: Los elementos son abstracciones de cosas
reales o ficticias (objetos, acciones, etc.)
• Relaciones: relacionan los elementos entre sí.
• Diagramas: Son colecciones de elementos con sus
relaciones.
El diagrama de clases muestra un conjunto de clases,
interfaces y sus relaciones. Éste es el diagrama más
común a la hora de describir el diseño de los sistemas
orientados a objetos.
Caso de uso
Objetivo de conocer UML
Uno de los objetivos de la serie de normas
19100 usando modelos UML, es que sirva
de base para la cartografía a los fines de la
norma ISO 19118, así como una base para
la creación de especificaciones de
implementación en la aplicación de perfiles
de diferentes entornos.
Perfil de UML de ISO/TS 19103
Esta cláusula proporciona reglas y pautas
sobre el uso de UML dentro del campo de
información geográfica.
Las subclases se estructuran como sigue:
-Uso general de UML
-Clases
-Atributos
-Tipos de datos básicos
-Asociaciones
-Operaciones
-Estereotipos y valor etiquetado
-Paquetes
-Restricciones
-Documentación de modelos
Uso general de UML
-Los modelos normativos usarán diagramas
de clase y diagramas de paquetes.
-Otros diagramas-tipo de UML pueden ser
usados informativamente.
-Todos los modelos normativos deberán
contener definiciones completas de
atributos, asociaciones, operaciones y
definiciones apropiadas de tipos de datos
UML - Clases
Una clase es una descripción de un conjunto
de objetos que comparten los mismos
atributos, operaciones, métodos, relaciones,
comportamientos y restricciones.
Nombre de Clase
Atributos
Operaciones
UML - Clases
Operaciones
Nombre de Clase
ᄎ
Relaciones
Atributos
UML - Clases
UML - atributos
Un atributo de Notación UML tiene la forma:
<<estereotipo>> [visibilidad] nombre [multiplicidad] [:tipo] [= valor
inicial] [{propiedad-string}]
EJEMPLOS
+ centro: punto = (0,0) {helado}
+ origen [0 ..1]: punto / / multiplicidad 0 ..1 significa que esto es
opcional
El estandar UML define las propiedades que pueden usarse, estas
son: cambiable, agregable, helado (const). Un atributo debe ser
único dentro del contexto de una clase y de sus supertipos, o
también puede ser un atributo derivado, es decir un atributo
redefinido de un supertipo.
UML – Tipos de Datos
Los tipos básicos se han agrupado en tres
categorías:
a) Tipos Primitivos: tipos básicos para representar
los valores, por ejemplos son: Cadena de
Caracteres, Entero, Booleano, Fecha, Tiempo, etc.
b) Tipos de implementación: Tipos de plantilla para
representar ocurrencias múltiples de otros tipos,
por ejemplo: Conjunto, Bolsa, Secuencia y
Registro.
c) Tipos derivados: Tipos de medida y unidades de
medida
UML – Tipos de datos
UML- relaciones
Una relación en UML es una conexión
semántica materializada entre los elementos del
modelo. Los tipos de relaciones incluyen
asociación, generalización,
agregación/composición,
Metarelación, flujo, y Varios tipos Agrupados
bajo la
dependencia
UML- relaciones
UML- Asociación,
composición y agregación
Una asociación en UML es la relación semántica entre
dos o más clasificadores (por ejemplo clase, interface,
tipo,...) que involucra conexiones entre sus instancias.
Asociación
UML- Asociación,
composición y agregación
Una asociación de agregación es una
relación entre dos clases, en que una
de las clases juega el rol de contenedor
y otra juega el rol del que contiene
Agregación
UML- Asociación,
composición y agregación
Una asociación composición es una agregación
fuerte. En una asociación composición, si un objeto
contenedor es eliminado entonces todos los
objetos del que lo contiene son eliminados
también. La asociación composición se usará
cuando los objetos representan las partes de los
objeto del que lo contiene, no pueden existir sin el
objeto contenedor
UML-Estereotipos y valores
etiquetados
UML contiene tres mecanismos de extensibilidad que se usan
para especializar el uso de UML para el modelado de
información y servicios geográficos.
Un estereotipo de UML es un mecanismo de extensión para los
conceptos de UML existentes. Es un modelo elemental que se
usa para clasificar (o marcar) otros elementos de UML para
que en algún comportamiento se clasifiquen como si fueran
instancias de una nueva clase virtual o pseudo metamodelo
cuya forma esta basada en la existencia de clases de
metamodelo base. Los estereotipos aumentan los mecanismos
de clasificación en base a la incorporación de la jerarquía de
clases del metamodelo de UML. Por consiguiente, nombres de
nuevos estereotipos no deben chocar con elementos
predefinidos del metamodelo o de otros estereotipos.
UML-Valores Etiquetados
Los valores etiquetados son Nombre (etiqueta)
separador (=) valor (de la etiqueta) propiedades
de un elemento – relevante para la generación
del código o la configuración de la dirección
a) << Interfaz >> una definición de una colección de
operaciones que soportan objetos que tienen esta
interface.
b) << Tipo >> un estereotipo de clase usado para
especificar un dominio de instancias (objetos), junto con
las operaciones aplicables a los objetos. Un tipo puede
tener atributos y asociaciones.
c) << Control >> para una clase cuyo propósito principal
es proporcionar un servicio y no representar los datos
particulares en sí mismos -extensión de un standard UML
del Proceso Unificado de Desarrollo de Software.
d) << Entidad >> significa una clase que representa la
información-llevada de objetos potencialmente
persistentes. -extensión de un standard UML del Proceso
Unificado de Desarrollo de Software.
e) << Límite >> significa que una clase representa la
interface externa para un sistema. Una extensión de la
norma UML del Proceso Unificado de Desarrollo de
Software.
f) << Enumeración >> Un tipo de datos cuyas instancias
forman una lista de valores llamados literales. Se declara
el nombre de la enumeración y sus valores literales. Los
ejemplos clásicos son Booleanos que tienen sólo 2 (o 3)
valores potenciales VERDADERO, FALSO (y NULO).
g) << Excepción >> Una señal levantada en respuesta
las faltas de comportamiento en la ejecución de la
maquinaria subyacente.
h) << Metaclase >> Una clase cuyas instancias son
clases. Se usan típicamente metaclases en la
construcción de metamodelos. Por ejemplo,
"TipoCaracterística" y "TipoAtributo" son las
metaclases para el “Característica” y “Atributo”.
i) << Tipo de Dato >> Un descriptor de un conjunto
de valores que carecen de identidad. Los tipos de
datos incluyen los tipos predefinidos primitivos y los
tipos usuario-definibles. Un Tipo deDatos es una
clase con alguna o ninguna operación cuyo propósito
primario es sostener el estado abstracto de otra
clase para la transmisión, almacenamiento,
codificación o almacenamiento persistente.
UML- Atributos y asociaciones Optativo, condicional y obligatorio
En UML todos los atributos son obligatorios por
defecto. La posibilidad de mostrar multiplicidad
para atributos y nombres de rol de
asociaciones proporciona una manera de
describir atributos opcionales y condicionales.
UML - Nombres y Espacios de
nombres
-Todas las clases deberían tener nombres únicos.
-Todas las clases se definirán dentro de un
paquete. -Los nombres de la clase empezarán con
una mayúscula.
-Una clase no tendrá un nombre que esté basado
en su uso externo, ya que esto puede limitar su
reuso.
-Un nombre de una clase no debe contener
espacios.
-Palabras separadas en un nombre de la clase
deberán ser concatenadas.
-Cada subpalabra en un nombre deberé comenzar
con una mayúscula, como "XnnnYmmm".
UML - Notas
Las cajas de nota se usan para comentar el
modelo en un ítem general o específico (es
decir clase o asociación) del modelo en
particular. Estos también pueden usarse para
especificar restricciones y condiciones.
UML - Paquetes
Un paquete de UML es un contenedor que se usa
para agrupar declaraciones de subpaquetes, clases y
sus asociaciones.
La estructura del paquete en UML habilita una
estructura jerárquica de subpaquetes, declaraciones
de la clase, y asociaciones.
Un paquete deberá ser usado para representar un
esquema
Ejemplo de Estructura de paquete
Los paquetes de UML serán usados para agrupar
clases y sus asociaciones.
• Todas las clases deben ser puestas en un paquete
definido de UML. El paquete deberá ser referenciado
si un componente del paquete clase es usado dentro
de otro paquete diagrama.
• Para la documentación del Paquete, un diagrama de
clase deberá ser preparado para cada subclase de
jerarquía en un paquete, mostrando todas las clases
principales contenidas en el paquete. Subclases de
diagramas no deberán mostrar atributo interior y
operaciones de clase, como éstos serán en el
contexto de clase, diagramas asociados a la
documentación de la clase descrita anteriormente.
Los paquetes de UML serán usados para
agrupar clases y sus asociaciones.
Las dos-letras mnemónicas (o bi alfa) deben
ser prefijadas a nombres de clase en orden a
identificar el paquete o Tópico volumen (como
GM para geometría, TP para topología, CS para
catálogos y CT para sistemas de coordenada y
transformaciones).
Las Etiquetas de visibilidad determina cómo
una clase es accedida y un paquete de
dependencias determinará cómo los
componentes de implementación son
organizados.
UML - Restricciones
Pueden describirse usando el lenguaje de
Restricción de Objeto [32], un conjunto basado en
un lenguaje en expresiones lógicas de objetos y
propiedades del objeto. Una restricción de OCL
es válida en una expresión OCL del tipo del
booleano, es decir una expresión con un valor
verdadero o falso.
UML - Restricciones
Pueden describirse usando el lenguaje de
Restricción de Objeto [32], un conjunto basado en
un lenguaje en expresiones lógicas de objetos y
propiedades del objeto. Una restricción de OCL es
válida en una expresión OCL del tipo del
booleano, es decir una expresión con un valor
verdadero o falso. Puede usarse para describir
restricciones en varias partes de un modelo,
incluyendo restricciones en:
*clases
*atributos y asociaciones de clases
*operaciones de clases (pre y post-condición)
*clases abstractas
UML – Documentación de modelos
Además de los diagramas, es necesario
documentar la semántica del modelo. El
significado de los atributos,
asociaciones, operaciones y
restricciones necesitan ser explicadas
UML – Documentación de modelos
Descripción general de clase A
Nombre de clase: A
Especializada: una lista de
superclases/superTipos
Atributos:
Nombre: descripción del significado del
atributo
Asociaciones:
Rol: descripción del rol
Operaciones:
Operación: nombre
Descripción: < texto>
Precondición: < texto + OCL>
UML – Documentación de modelos
Parámetros de entrada: < descripción>
Parámetros de salida: < descripción>
Valor de retorno: < descripción>
Excepciones: < descripción>
Postcondicion: < texto + OCL>
Restricciones: <cualquier restricción de
secuencia en el uso de esta operación con
otras
operaciones?>
Otras Restricciones:
Cualquier otra restricción es descrita. < texto
+ OCL>
Referencias
RESUMEN DE NORMA ISO 19103, INFORMACIÓN GEOGRÁFICA
LENGUAJE DE ESQUEMA CONCEPTUAL
Aprendiendo UML en 24 horas, Joseph Schmuller, Prentice Hall
http://www.uml.org
Descargar