CLA. Diagramas de clases en Métrica V3

Documentos relacionados
Contenido. 1 Qué es un diagrama de clase? 2 Elementos de un diagrama de clase. 3 Clase, atributo, método y visibilidad. 4 Agregación y composición

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

UNIDAD 2: INTRODUCCION AL PARADIGMA ORIENTADO A OBJETOS. MODELADO DE OBJETOS USANDO DIAGRAMA DE CLASES

Modelado Estructural F E B R E R O,

12/08/2017. Diagrama de clases y objetos. Modelo de clases y objetos. Diagrama de clases y objetos. Diagrama de clases y objetos

09/01/2008. Nombre de la clase. Atributos. Métodos/Operaciones

Nombre de la clase. Atributos. Métodos/Operaciones

INTRODUCCIÓN A LA NOTACIÓN UML Diagramas de clases

TIPOS DE DIAGRAMAS. Diagramas de estructura: mostrar la estructura estática del sistema que se está modelando

Análisis y Diseño de Sistemas Orientado a Objeto. Captura y Análisis de Requerimiento

Diagrama de Clase. Tipos de diagramas

Diagrama de clases. Diagrama que contiene elementos clasificadores conectados por relaciones estáticas.

UML: Diagrama de Clases

Tema 3. Diagramas de Clases y Objetos C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA

Ingeniería de Software

Sesión 1. Porque es útil usar UML Sesión 2. Casos de uso Modelo del Negocio Sesión 3. Diagramas de Casos de Uso Sesión 4. Diagrama de Actividad

Unified modeling language

2 Técnicas y Prácticas

Capítulo IX. Diagramas de Clase

Modelado Estático Básico. Diseño de Software Avanzado Departamento de Informática

Lenguaje Unificado de Modelado

Capítulo 16. Diagrama de Clases UML

Héctor Cuadra. Diseño de Sistemas de Información

Introducción a la Orientación a Objetos

Diagrama de Clases I: asociaciones

Introducción a OOP. Programación Orientada a Objeto

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Anterior Introducción a UML Siguiente

Tema 10: Interfaces. Índice

El Sistema de Información (S.I.) regula la distribución, el compartimiento y el almacenamiento de la información.

CLASE 5: DIAGRAMAS DE CLASES: MODELO CONCEPTUAL. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Martínez

Introducción a la orientación a objetos y a UML

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

Gestion y Modelación de Datos Diseño de BD - Modelo Entidad Relación

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

Diagramas de clases de UML

Elementos Diagramas de Clases Clase:

Curso de Java POO: Programación orientada a objetos

Variantes del conceptos de clases(1/2)

DIAGRAMAS DE CLASES. Clases, asociaciones y atributos. Interfaces con sus operaciones y constantes. Información acerca del tipo de los atributos.

UML Unifield Modeling Languaje

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

GUÍAS DE DISEÑO CON UML. Técnicas para creación de diagramas de software óptimos en UML

Principios de la Tecnología de Objetos

Programación orientada a objetos. Introducción

Modelos de Software. Ingeniería en Sistemas de Información

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

Modelo de Análisis. Programación Orientada a Objetos 2

Curso de Java POO: Programación orientada a objetos

Diagramas De Casos De Uso

La Orientación a Objetos. Diseño de Software Avanzado Departamento de Informática

UML. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

PROCESOS DE DESARROLLO DE SOFTWARE UNPA UARG (Versión 0.9)

TRABAJO PRÁCTICO 7: OBJETOS

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

Programación Orientada a Objetos

Modelo del Dominio del Problema y Representación en UML. UNIDAD 6 Análisis y Diseño de Sistemas de Información

Figura 3.9: Ejemplo de Casos de Uso. Se representa mediante un símbolo que personifica una persona, y va acompañado de un nombre significativo.

UML 2.5 Iniciación, ejemplos y ejercicios corregidos (4ª edición)

Ingeniería del Software de Gestión

UML. (Unified Modeling Language) Lenguage Unificado de Modelado

Programación Orientada a Objetos

Tema 4g: Proceso Unificado: Implementación

UML: Lenguaje Unificado de Modelado

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017

Ingeniería del Software Orientado a Objetos. Unidad 6: Vistas del UML

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de Diseño de sistemas automatizados.

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

Modelado Estático Diagramas de Clases y Objetos

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Redes Semánticas. Redes semánticas. Limitaciones de las redes semánticas. Notas

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

08 Introducción a UML

TEMA 3.- MODELOS CONCEPTUALES DE DATOS.

Ingeniería de Software.

Módulo IV. Subclasificación y Herencia

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición.

Desarrollo Orientado a Objetos en Métrica v. 3

Bases de datos 1. Teórico: Diseño Conceptual

BASES DE DATOS 1. Teórico: Diseño Conceptual

UML (I): el modelo estático

Principios de Computadoras II

El documento presenta la especificación de la semántica del UML. Utilizando lenguaje natural y formal para hacerlo fácil de entender.

Reutilización con Delegación y Herencia

MAGIC DRAW UML. Índice. José Ignacio Colmenero González Carlos Pérez Herrero José Luis Bravo Sánchez

Enfoque de Desarrollo de software OO

Diagrama de Clases II : tipos de relaciones entre clases

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

Unidad 2. Elementos Intermedios del Lenguaje

Transcripción:

CLA Diagramas de clases en Métrica V3 1 Diagramas de clases Qué es? Representa la estructura y comportamiento de cada uno de los objetos del sistema y sus relaciones con los demás objetos. Objetivos? Representar los aspectos estáticos del sistema Qué no hace? No representa la dinámica de los objetos 2

Elementos de un diagrama de clases Clases. Describen un conjunto de objetos con propiedades y comportamientos comunes. Relaciones. Enlaces entre los distintos elementos de los diagramas Interfaces. Conjunto de operaciones de una clase o paquete visibles desde otras clases o paquetes. 3 Clases Conjunto de objetos con las mismos comportamientos y propiedades. Dentro de la estructura de una clase se han de definir: Los atributos: Datos asociados a los elementos y que toman valor al instanciar objetos de una clase. Las operaciones (Métodos): Funciones o procesos propios de los objetos de una clase. 4

Notación: Zopa Superior: Estereotipo: entre << y >> y sobre el nombre de la clase. Es opcional he indica una clasificación Nombre: identificador de la clase, si es abstracta entonces va en cursiva. 5 Notación: Zopa Medio: Atributos de la clase: el nivel de detalle puede variar, siendo su formato: Visibilidad Nombre : tipo = valor inicial {propiedad} 6

Notación: Zopa Inferior: Operaciones: lista de operaciones, una por línea: Visibilidad Nombre (parámetros): tipo_devuelto {propiedad} donde: parámetro será: nombre: tipo=valor por defecto 7 Visibilidad Índica el nivel de acceso que tienen el resto de clases a los datos y operaciones definidos Podrá ser: Pública : + Visible para todos los clientes de la clase Privada : - Visible solo para la propia clase Protegida: # Visible solo para las subclases 8

Ejemplo <<GUI>> Formulario de Reservas +Título : Título +Socio : Información_socio +BotonBuscarTitulo_Pulsado() +BotonBuscarSocio_Pulsado() +BotonOk_Pulsado() +BotonCancelar_Pulsado() +TítuloResultado() +SocioResultado() -ComprobarEstado() +FormulariodeReservas() #BotonEliminarTitulo() 9 Clases Abstractas Se define como clase abstracta aquella que no se puede instanciar de forma directa. E.g. No se han implementado todos sus métodos Figura Dibujar() Circulo Dibujar() 10

Clases Parametrizadas Realmente no son clases. Más bien actúan como una función que recibe clases y devuelve clases. También reciben el nombre de template (Plantilla) (Métrica no las propone UML si) Son utilizadas cuando un grupo de clases comparten una misma estructura y funcionalidad pero se diferencian en el significado. E.g. Listas de elementos Lista T añadir(t:t,pos:int) tomar(i:int):t Lista_estudiantes <<bind>>(estudiante) 11 Relaciones. Asociación. Relación genérica entre dos clases que representa un conjunto de enlaces entre objetos. Denota generalmente una dependencia semántica: "Libro es leído por socio" Las asociaciones pueden caracterizarse mediante Nombres de Rol (papel desempeñado por el objeto) y Multiplicidad (Cardinalidad de la relación) 12

Mediante una línea continua que une las clases asociadas. Navegabilidad: Indica el sentido de navegación habitual entre las clases. Se indica mediante una cabeza de flecha. Multiplicidad: valor concreto, rango o colección de números ('n' o '*' indican 'muchos') colocados en el extremo adecuado. Rol: Indica el papel desempeñado por una clase en la asociación. Orden: Las instancias de una determinada clase deben estar ordenadas. Se indica mediante la palabra clave "{Ordered}" 13 Herencia Establecimiento de una jerarquía padre/hijo entre las clases implicadas. Permite a una clase (hijo o subclase) heredar los atributos de otra (padre o superclase) siendo posible añadir atributos y operaciones especificas. El proceso contrario se denomina generalización y permite generar una superclase en la que se colocan los atributos y operaciones comunes a varias clases. 14

Dependencia Indica que una clase necesita de otra para poder prestar sus servicios. Flecha sin cerrar a trazos 15 Composición Representación de una relación de composición entre un elementos y sus componentes. Rombo relleno 16

Agregacion Parte de una asociación en la cual los objetos representan componentes o partes de otro objeto. (Composición débil) Rombo sin rellenar 17 Ejemplo 18

Restricciones Otros elementos en las relaciones Permiten establecer limitaciones o 'restricciones' entre los elementos del diagrama de clases (asociaciones, clases, etc) 19 Cualificación Un cualificador es un indice entre un conjunto de objetos pertenecientes a una clase. 20

Clases de asociación / Atributos de asociación Es posible añadir a las asociaciones atributos e incluso operaciones relacionandolas con clases que contienen la citada información. 21 Clases de asociación / Atributos de asociación Es posible añadir a las asociaciones atributos e incluso operaciones relacionandolas con clases que contienen la citada información. 22

Interfaces Un interface es una especificación del conjunto de operaciones de una clase o paquete y que son visibles desde otras clases o paquetes. Una interface se representa mediante una caja con nombre y atributos y el estereotipo <<Interface>>. O bien mediante un circulo pequeño con el nombre de la interface debajo: Interface de A No tiene hueco de atributos 23 Los interfaces son útiles sobre todo cuando se trabaja con módulos y se han agrupado clases en el interior de los mismos. La clase Módulo realiza o provee el interface <<Interface>> Encadenable Encadenar():cadena Módulo Encadenar():cadena Puede omitirse la conexión con el interface, si ya esta conectada la clase al circulo. La clase interface debe dibujarse. La clase Impresora depende solamente del interface Encadenable. No necesita de ningún otro método de la clase <<Usa>> Imprime Impresora Encadenable El interface nos permite conocer además que cualquier cambio sobre la clase Módulo que no afecte al método Encadenar() no afectada 24 a la clase Impresora

CLA Diagramas de clases en Métrica V3 25