Capítulo IX. Diagramas de Clase

Documentos relacionados
CLA. Diagramas de clases en Métrica V3

Elementos Diagramas de Clases Clase:

Lenguaje de Modelamiento Unificado.

Introducción a la Orientación a Objetos

TEMA 4. PROCESO UNIFICADO

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

DIAGRAMA DE CLASES EN UML

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

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

Modelos de Datos. Modelo Entidad-Relación

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

Capítulo 16. Diagrama de Clases UML

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

Tema: Herramientas UML, Análisis y diseño UML

Diagramas de interacción

Formato para prácticas de laboratorio

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Diagramas de secuencia

Cristian Blanco

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

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

Índice.

Diagramas De Casos De Uso

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Notación UML para modelado Orientado a Objetos

Unidad II. 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función.

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

Diagramas de clases de UML

La Herencia: Teoría (1)

Una Introducción al UML. El Modelo de Componentes

Análisis y Diseño de Sistemas

Una Introducción al UML. El Modelo Físico

REINGENIERÍA DE LOS PROCESOS DEL NEGOCIO. Modelado del Negocio con UML

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Curso de Java POO: Programación orientada a objetos

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Relaciones entre clases: Diagramas de clases UML

Modelo relacional. Modelo relacional

Una Introducción al UML. El Modelo de Proceso de Negocio

Enterprise Architect y UML Básico

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES RED DIGITAL DE SERVICIOS INTEGRADOS (RDSI) ESTRUCTURA GENERALES

Esquema Relacional Pasaje a Tablas. Sistemas de Bases de Datos I ITS EMT CETP

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

DISEÑO DE COMPONENTES DE SOFTWARE *

Análisis y Diseño de Sistemas

Las Funciones generales o básicas.

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

De los números naturales a los números enteros. Exposición de contenidos matemáticos. Sobre el número cardinal

Conceptos de Programación Orientada a Objetos

John Venn Matemático y filósofo británico creador de los diagramas de Venn

El Lenguaje Unificado de Modelado (UML)

Se utiliza para representar los tipos de objetos dentro del sistema (proceso) y las diversas relaciones estáticas que existen entre ellos

Fundamentos de programación y Bases de Datos

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Capitulo III. Diseño del Sistema.

Capítulo 6: Diseño de BD y el modelo ER

Modelo Entidad Relación.MER.

Introducción a la programación orientada a objetos

Microsoft Project 2013

EL MODELO RELACIONAL

Unidad III: Curvas en R2 y ecuaciones paramétricas

Modelo de Análisis (Modelo Conceptual) Diagramas de Clases. Diagramas de Clase. Diagrama de Clases Contenido. Clases

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO UNIDAD DIDÁCTICA : ANÁLISIS Y DISEÑO DE SISTEMAS INFORMÁTICOS

Ingeniería a de Software CC51A

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

INGENIERÍA DEL SOFTWARE DE GESTIÓN II PROBLEMA DE DIAGRAMA DE CLASES "GESTIÓN DE RELACIONES HUMANAS EN DEPARTAMENTOS"

Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

Diagramas de Clase en UML 1.1

de Procesos de Negocio 4. Productos de la ingeniería del software 5. Procesos de la ingeniería del software

PROGRAMACION ORIENTADA A OBJETOS EN C++

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

MODELADO DE CASOS DE USO (Libro UML 2-Arlow & Neustad)

Diagrama de Clases. Diagrama de Clases

Carlos Castillo UPF 2008

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

cüévxáé TwÅ Ç áàütà äé bezta\mtv\ła

CAPACITANCIA Introducción

Programa del curso IC Diseño de Software. Escuela de Computación Carrera de Ingeniería en Computación, Plan 410

Modelo ERE. Universidad de los Andes Demián Gutierrez Marzo

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

Diseño lógico de. Bases de Datos. Modelo. Entidad - Relación

SISTEMA DE VENTAS Y COMPRA DE TIENDA DE VESTIR SIVECO VISION. Versión 1.0 MANUEL PABLO GUERRA MARTÍNEZ.

Universidad Salesiana de Bolivia

BASES DE DATOS. Ivon Tarazona Oriana Gomez

Programación orientada a

Transcripción:

Diagramas de Clase

Diagramas de clase Tabla de contenido 1.- Objetos y clases en UML...135 2.- Representación de clases...135 3.- Relaciones...135 4.- Interfaces y realizaciones...141 5.- Ejemplos...141 134

Diagramas de clase Diagramas de clase 1.- Objetos y clases en UML Tal como observamos en el capítulo anterior, uno de los conceptos centrales en UML es la noción de clase. En este lenguaje, se define clase como un conjunto de objetos que tiene un nombre específico, atributos y operaciones (tomado de Business Modeling with UML - Hans-Eril Eriksson y Magnus Pender - John Wiley & Sons - 2000). Decíamos que es uno de los conceptos centrales, porque, como lo expresa la publicación OMG Unified Modeling Language Specification, UML busca declarar un conjunto de métodos, operaciones y atributos que describan en su totalidad la estructura y el comportamiento de los objetos. 2.- Representación de clases Un diagrama de clases muestra el conjunto de clases que participan o forman parte de un sistema, junto con las relaciones que existen entre dichas clases. Muestra de una manera estática la estructura de la información que maneja el sistema y la visibilidad que tiene cada una de las clases, dada por sus relaciones con los demás en el modelo En un diagrama de clases, una clase se representa por un rectángulo en el cual se inscriben tres secciones: en la sección superior se coloca el nombre de la clase; en la intermedia, se presentan los atributos que caracterizan a la clase y en la sección inferior se listan sus métodos u operaciones. 3.- Relaciones En un diagrama de clases, los vínculos entre clases se representan por líneas, a las que se les da diferentes características, dependiendo del tipo de relación. En los extremos de esas líneas que representan las relaciones 135

puede colocarse la descripción del Rol que asume cada clase en esa relación. También, en los extremos de la línea, se coloca la Cardinalidad, que describe cuántos objetos de cada clase pueden participar en la relación. La cardinalidad de una relación puede ser: Ninguno o muchos, puede denotarse como 0..*, como *, o también como (0..n) Uno o muchos (por lo menos uno), puede denotarse como 1..*, o también (1..n) Exactamente uno, puede denotarse como 1, o también (1) Un número fijo de instancias, puede denotarse como m o (m), donde m es el número de instancias. Un número variable, pero limitado de instancias, como pudiera ser por lo menos dos, pero no más de seis, puede denotarse como 2..6 o como (2..6) Opcionalmente, puede indicarse con un Calificador cuál es el atributo que liga los objetos en la relación, como es el caso de las clases Pasajeros y Vuelos, que están vinculadas a través del calificador Número de Reservación o Localizador. 136

Diagramas de clase Veamos, a continuación, diferentes tipos de relación que pueden existir entre clases: 1. Tal como se señaló en el capítulo anterior, entre dos clases puede existir una relación de Herencia o, en la terminología de UML, de Generalización, si una de las clases es más genérica que la otra. Por ejemplo, si sabemos que algo es un electrodoméstico, sabemos que tiene un cable para ser enchufado a la corriente eléctrica y que tiene un interruptor. En estos casos, la clase secundaria, hereda los atributos y operaciones de la clase principal o superclase y siempre que se haga referencia a la clase secundaria, se estará haciendo referencia a la clase primaria. Nótese que lo opuesto no es necesariamente cierto; esto es, si se hace referencia a la clase primaria, no se estará haciendo referencia a la clase secundaria. 2. Diremos que existe una relación de Agregación, cuando una clase es parte o componente de otra clase, como ocurre entre la clase Perros y la clase Mamíferos. 137

Existen casos en los que la agregación es total (composición), como ocurre con un motor, que está compuesto enteramente por partes y sólo existe como una combinación de éstas. Existen, por el contrario, casos en que la agregación no es total, sino sólo parcial, como es el caso que señaláramos de la clase Mamíferos y la clase Perros. 3. Diremos que entre dos clases existe una relación de Asociación, cuando exista un vínculo entre los objetos de las clases. Por ejemplo, entre las clases Proveedores y Órdenes de Compra existe una relación de asociación, en la que cada objeto Proveedor puede tener asociados ninguno, uno o muchos objetos Órdenes de Compra y cada instancia de Orden de Compra tiene asociado un objeto Proveedor. 138

Diagramas de clase 4. Muchas clases pueden estar asociadas a una misma clase. 5. Entre dos clases pueden existir múltiples asociaciones y, dentro de éstas, pueden existir asociaciones disyuntivas, es decir, asociaciones conformadas por clases que se relacionan en forma alternativa, como pudiera ser la asociación entre Personal y Cargos, en la que un objeto de la clase Empleado puede estar asignado a un cargo como empleado fijo o como empleado temporal. 6. También, para una misma clase puede existir una asociación recursiva, como es el caso de la clase Empleado, en la que unos empleados son supervisores de otros. 139

7. Las asociaciones son, normalmente simples - Cliente/Proveedor, Persona/Rol, etc.- Sin embargo existen asociaciones que no sólo contienen información de las clases asociadas, sino que también contienen información propia de la asociación como sucede en el caso de una Factura y los Artículos o Ítems que en ella se facturan a un cliente o como ocurre en una empresa de servicios de consultoría, en la cual las clases Proyecto, Servicio y Consultor se relacionan en virtud de la asignación de los consultores a los diferentes proyectos y, dado que un consultor puede estar capacitado para prestar diferentes servicios -Analista, Líder de Proyecto, Diseñador de Bases de Datos-, puede ser asignado a diferentes proyectos (o a un mismo proyecto) para desempeñar diferentes roles. En estos casos, utilizamos una clase Asociativa, cuya relación con las clases asociadas se muestra con una línea punteada y dentro de ella se indican los atributos propios de la asociación. 140

4.- Interfaces y realizaciones Diagramas de clase Existen clases que, aun siendo totalmente diferentes, tienen en común una serie de operaciones. Por ejemplo, en un sistema de recursos humanos la clase Vacación -esta clase corresponde a los períodos de vacación tomados por un empleado- contiene una operación de Cantidad-de-días-hábiles que es similar a la operación que contiene la clase Interés-Devengado en un sistema de finanzas. Esta operación de cálculo de los días hábiles transcurridos entre dos fechas, una vez definida, muy bien puede ser reutilizada en diversos sistemas o módulos, por lo que puede desarrollarse separadamente y tratarse como una clase que sólo contiene operaciones. Este tipo de clases se denominan interfaces. En un diagrama de clases, una interfaz puede representarse como un círculo o como una clase en la cual se coloca el descriptor <<interface>> encima del nombre de la clase. La relación que vincula una clase con una interfaz se denomina Realización y, en el diagrama de clases, se denota por una línea discontinua y una cabeza de flecha triangular. 5.- Ejemplos 141

142

Diagramas de clase 143

144

Diagramas de clase 145

146