SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Diseño de clases Ing. Rolando Steep Quezada Martínez [email_address] Programación Básica en Java y Programación Orientada a Objetos
Diagrama de Clases ,[object Object],Los diagramas de clases proporcionan una perspectiva estática del sistema (representan su diseño estructural)
Relaciones ,[object Object],[object Object],[object Object],[object Object],[object Object]
Asociación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Asociación binaria
Asociación reflexiva
Asociación n-aria
Asociación de agregación
Asociación de composición
Asociación de dependencia
Asociación de generalización/especialización generalización especialización
Navegación de las asociaciones
Paquetes UML Sistema de Archivos Netbeans Definición de una Clase
La sentencia import
La sentencia import static (jdk 1.5)
Resumen ,[object Object],[object Object],[object Object],[object Object],[object Object]
Práctica 4 ,[object Object],[object Object],[object Object]
 
 

Weitere ähnliche Inhalte

Was ist angesagt?

Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoEdwin Loayza
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4Francesc Perez
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacionjosebrandon24
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓNORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓNstandarman
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentesmarianela0393
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 

Was ist angesagt? (20)

Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismo
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4Fundamentos de redes: 6. Direccionamiento de la red ipv4
Fundamentos de redes: 6. Direccionamiento de la red ipv4
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓNORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
ORGANIZACIONES NACIONALES E INTERNACIONALES DE ESTANDARIZACIÓN
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentes
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 

Ähnlich wie Diagramas de clases UML: tipos de asociaciones

Ähnlich wie Diagramas de clases UML: tipos de asociaciones (20)

UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Clases
ClasesClases
Clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clase y-objeto
Clase y-objetoClase y-objeto
Clase y-objeto
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
 
D Iagramas U Ml
D Iagramas U MlD Iagramas U Ml
D Iagramas U Ml
 
D Iagramas U Ml
D Iagramas U MlD Iagramas U Ml
D Iagramas U Ml
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
CLASE1-UML.ppt
CLASE1-UML.pptCLASE1-UML.ppt
CLASE1-UML.ppt
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
 
Diagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosDiagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetos
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases
ClasesClases
Clases
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Diagramasuml
DiagramasumlDiagramasuml
Diagramasuml
 

Mehr von Rolando Steep Quezada Martinez (11)

Multitarea
MultitareaMultitarea
Multitarea
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
Colecciones
ColeccionesColecciones
Colecciones
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Networking
NetworkingNetworking
Networking
 
Arreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de FlujoArreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de Flujo
 
Tipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de JavaTipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de Java
 
Módulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología JavaMódulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología Java
 
Manejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/SalidaManejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/Salida
 

Kürzlich hochgeladen

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 

Kürzlich hochgeladen (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 

Diagramas de clases UML: tipos de asociaciones

Hinweis der Redaktion

  1. Objetivos Entender e implementar las relaciones presentes en un Diagrama de Clases. Reconocer la diferentes formas de asociación entre clases. Definir la navegabilidad unidireccional en una asociación.
  2. Diagrama de Clases Análisis y diseño con el Diagrama de Clases El Diagrama de Clase es el diagrama principal de análisis y diseño para un sistema. En él se especifica la estructura de clases del sistema, con relaciones entre clases y estructuras de herencia. Su objetivo varia en análisis y diseño: Durante el análisis del sistema, el diagrama se desarrolla buscando una solución ideal. Durante el diseño, se usa el mismo diagrama, y se modifica para satisfacer los detalles de las implementaciones. El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones. El mundo real puede ser visto desde abstracciones diferentes (subjetividad)
  3. Relaciones Una relación en un diagrama de clases, se representa mediante una línea que une dos o más clases. La línea puede ir acompañada de diferentes tipos de adornos que definen su semántica y características. Las relaciones más comunes entre las clases presentes en un diagrama estático pueden ser: asociación (binaria o n-aria), agregación, generalización, dependencia y composición. Los elementos adicionales que pueden aparecer en la representación de una relación son: Rol : Identifica con nombres a los elementos que aparecen en los extremos de la línea que denota la relación, dicho nombre describe la semántica que tiene la relación en el sentido indicado. Por ejemplo, la asociación entre Persona que Trabaja Para una Empresa , recibe el nombre de trabajador y empleador como rol en ese sentido. Multiplicidad : Indica la cardinalidad de la relación. En el ejemplo se utilizan 1 , 1 ..* , 5 , * , como indicadores de multiplicidad. Relación Rol Multiplicidad
  4. Asociación La asociación expresa una conexión bidireccional entre objetos. Una asociación es una abstracción de la relación existente en los enlaces entre los objetos. Puede determinarse por la especificación de multiplicidad (mínima...máxima): 1 Uno y sólo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos n exactamente n (entro natural) 0..* Cero o muchos 1..* Uno o muchos (al menos uno) Cuando la multiplicidad mínima es 0, la relación es opcional. Una multiplicidad mínima mayor o igual que 1 establece una relación obligatoria.
  5. Asociación binaria Una asociación binaria se representa mediante una línea sólida que une dos clases, se trata de una relación entre las dos clases no muy fuerte, es decir, no se exige dependencia existencial ni encapsulamiento.
  6. Asociación reflexiva Una asociación binaria se representa mediante una línea sólida que recae sobre la misma clase de forma recursiva, se trata de una relación no muy fuerte, es decir, no se exige dependencia existencial ni encapsulamiento.
  7. Asociación n-aria Es una forma de expresar una relación entre tres o más clases. La clase de asociación es dependiente en existencia de las otras clase.
  8. Asociación de agregación La agregación representa una relación – débil – parte de entre objetos. En UML se proporciona una escasa caracterización de la agregación. Esta relación puede ser caracterizada con precisión determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado y cada uno de sus objetos componentes. Es un tipo de relación débil, el objeto agregado puede existir de forma independiente. Las partes pueden forma parte de distintos agregados. Gráficamente, se muestra con un rombo vacío en uno de los extremos.
  9. Asociación de composición La composición representa una relación – fuerte – parte de entre objetos. En UML se proporciona una escasa caracterización de la composición. Esta relación puede ser caracterizada con precisión determinando las relaciones de comportamiento y estructura que existen entre el objeto compuesto y cada uno de sus objetos componentes. Es un tipo de relación fuerte, el objeto agregado no puede existir de forma independiente. Agregación disjunta y estricta: Las partes sólo existen asociadas al compuesto (sólo se accede a ellas a través del compuesto). Gráficamente, se muestra con un rombo lleno en uno de los extremos (compuesto).
  10. Asociación de dependencia Relación (más débil que una relación) que muestra la relación entre un cliente y el proveedor de un servicio usado por el cliente: Cliente es el objeto que solicita un servicio. Servidor es el objeto que provee el servicio solicitado. Gráficamente, la dependencia se muestra como una línea discontinua con una punta de flecha que apunta del cliente al proveedor. Si un paquete A depende de un paquete B , entonces hay una o más clases en el paquete A que inician comunicación con una o más clases públicas del paquete B . Ejemplo: Un objeto de la clase A envía un mensaje a un objeto de la clase B. Un objeto de la clase A crea un objeto de la clase B. Un objeto de la clase A recibe un mensaje con un objeto de la clase B como argumento aun sin tenerlo como atributo.
  11. Asociación de generalización/especialización Permite gestionar la complejidad mediante un ordenamiento taxonómico de clases, se obtiene usando los mecanismos de abstracción de Generalización y/o Especialización. La Generalización consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general. Los nombres usados: clase padre - clase hija. Otros nombres: superclase - subclase, clase base - clase derivada. Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de la clase padre están disponibles en sus clases hijas. La Generalización y Especialización son equivalentes en cuanto al resultado: la jerarquía y herencia establecidas. Generalización y Especialización no son operaciones reflexivas ni simétricas pero sí transitivas. La especialización es una técnica muy eficaz para la extensión y reutilización. Las subclases heredan características de las clases de las que se derivan y añaden características específicas que las diferencian.
  12. Navegación de las asociaciones Aunque las asociaciones suelen ser bidireccionales (se pueden recorrer en ambos sentidos), en ocasiones es deseable hacerlas unidireccionales (restringir su navegación en un único sentido). Gráficamente, cuando la asociación es unidireccional, la línea termina en una punta de flecha que indica el sentido de la asociación.
  13. Paquetes Definen contextos de denominación para evitar colisión de nombres. Sirven para definir bibliotecas de clases e interfaces (reutilización: no volver a inventar la rueda). Permiten organizar el código de una gran aplicación. Un paquete determina un subdirectorio del disco. Las declaraciones de los paquetes tienen que estar al principio de los ficheros fuente. Sólo se permite la declaración de un paquete en cada fichero fuente. Los nombres de los paquetes están jerarquizados separados por puntos. La palabra reservada package debe aparecer en la primera línea del fichero fuente. Por lo general el nombre de los elementos de un paquete es todo en minúsculas. El nombre de las clases empieza en mayúscula y la primera letra de cada palabra añadida al nombre también. Los paquetes pueden anidarse (define una jerarquía) paquete.subpaquete.subpaquete.clase Convención para el nombrado de paquetes (para conseguir nombres únicos): dominio.empresa.departamento.proyecto
  14. La sentencia import Por defecto las clases sólo se pueden comunicar con clases del mismo paquete donde se encuentran definidas. import permite acceder a una clase declarada en un paquete distinto del actual. Indica al compilador dónde encontrar las clases. Debe preceder a todas las declaraciones de las clases. Para importar clases de un paquete se usa el comando import . Se puede importar una clase individual: import java.util.Date ; o bien, se puede importar las clases declaradas públicas de un paquete completo, utilizando un arterisco (*) para reemplazar los nombres de clase individuales: import java.util.* ;
  15. La sentencia import static (jdk 1.5) Los miembros estáticos (atributos o métodos) de una clase pueden ser accedidos sin necesidad de una instancia previa de la misma. import static permite incorporar como propio cualquier miembro estático; a nivel de bytes codes no existe relación de uso, se libera la dependencia con la clase que define el miembro estático. La importaciones pueden ser por miembro: import static java.lang.Math.pow ; O por clase: import static java.lang.Math.* ;
  16. Práctica 4: Implementar las clases y relaciones de un Diagrama de Clases Objetivo Crear el código Java para la implementación de un Diagrama de Clases, respetando sus asociaciones, dependencia y jerarquía. Caso de Estudio 1 A continuación se muestra el Diagrama de clases resultante del análisis y diseño del área de Gestión Académica de un centro de educación superior. Escribir en Java las clases necesarias para su implementación.
  17. Caso de Estudio 2 A continuación se muestra el Diagrama de clases resultante del análisis y diseño de las áreas de Ventas, Compras y Personal de la empresa XYZ . Tenga en cuenta la agrupación por paquetes: xyz.compras xyz.ventas xyz.personal