SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Diagrama de clases
UML
Clara Patricia Avella Ibáñez
Tunja – Boyacá – Colombia
Docente universitaria
cpavella@gmail.com
Por qué usar un diagrama
de clases?
Es una de las primeras y más usadas
herramientas de generación automática de
código.
Ha sido el diagrama más importante en
todos los métodos orientados a objetos,
porque constituye la guía para convertir el
diseño lógico del sistema en lenguaje de
código.
Componentes del diagrama
Clases
Relaciones
Comentarios
Paquetes
Clases
NombreDeLaClase
Atributos
Operaciones
(métodos) - privado: el atributo sólo es visible por los
métodos de la clase
+ público: el atributo es visible dentro y fuera de
la clase
# protegido: el atributo es visible por los
métodos de la clase y por métodos de clases
derivadas de esta clase, cuando hay herencia.
Accesibilidad nombreDelAtributo :
tipoDeDato
Accesibilidad
Utilizar singular
Clases
NombreDeLaClase
Atributos
Operaciones
(métodos) - privado: el método sólo es visible por los otros
métodos de la clase.
+ público: el método es visible dentro y fuera de
la clase
# protegido: el método es visible por los métodos
de la clase y por métodos de clases derivadas de
esta clase, cuando hay herencia.
Accesibilidad
Accesibilidad nombreDelMétodo(parámetro1: tipoDeDato,
parámetro2: tipoDeDato, parámetroN: tipoDeDato) :
tipoDeDatoDeRetornoDelMétodo
Clases
Empleado
-id: int
-nombre: String
-apellido: String
-salario: double
+calcularPagoMensual(diasTrab:int):double
Ejemplo
Paquetes
Agrupan lógicamente las clases que tienen alguna relación entre sí.
Se pueden agrupar por clases que conforman módulos y submódulos
de la aplicación.
Se pueden agrupar por tipo de funcionalidad. Ej. Paquete con las
clases de la lógica del negocio, paquete con las clases de la Interfaz
Gráfica de usuario, paquete con las clases que manejan persistencia
de datos.
Paquete X Paquete Y
Paquetes
LogicaNegocio
Ejemplo
Empleado Fecha
Relaciones
Clase A
Las clases pueden conectarse con otras clases de diferentes
formas, estas conexiones se llaman relaciones.
Clase B
Clase A Clase B Clase A Clase B
Clase A Clase B Clase B
Clase A
Relaciones
ClaseA
Indica que una clase
invoca uno o varios
métodos que se
encuentran en la clase
con la cual se
relaciona.
ClaseB
Uso
La clase A usa a la clase B
La clase A invoca uno o varios
métodos de la clase B
Relaciones
public class ClaseA
{
public static void main(String args[])
{
ClaseB objeto1 = new ClaseB( );
objeto1.metodo1( );
}
}
ClaseA ClaseB
Uso Ejemplo en código java:
+main(args)
: void
+metodo1()
:void
public class ClaseB
{
// atributos
public void metodo1( )
{
// acá van las instrucciones del método
}
}
La clase A usa
(invoca) el
método1 de la
clase B
Relaciones
Herencia
Clase A
Clase B
Relación Los objetos de la
Clase B toman los
atributos y métodos
de la Clase A como
si fueran propios
La Clase B (subclase o
clase derivada)
hereda de la Clase A
(superclase o clase
general)
Herencia Simple
Clase A
Clase B Clase C
Clase A
Clase B
Una clase
hereda sólo
de una clase
Relaciones
Herencia
Clase A Clase B
Clase C
Una clase hereda
de más de una
clase
Herencia Múltiple
Relaciones
Herencia
Ejemplo
Profesor
#nombre:String
#apellido:String
#docIdentidad:String
ProfesorTC
-diasTrabajados:int
-salarioMensual:double
ProfesorCatedra
-horasTrabajadas:int
-valorHora:double
Herencia simple
Relaciones
Herencia
Relaciones
Agregación
Clase A Clase B
*
Se utiliza para expresar que
una clase contiene muchos
objetos de otra clase
En este caso se expresa que
la clase A contiene muchos
objetos de la clase B
El * indica la
multiplicidad de
la relación, es
decir, cuántos
objetos de la
clase B son
conocidos por la
clase A
Ejemplos de
Multiplicidad:
1 uno
1, 2 uno o dos
5 cinco
0..* entre cero y muchos
* entre cero y muchos
1..* entre 1 y muchos
5..10 entre cinco y diez
Relaciones
Agregación
Catalogo Libro
-isbn:string
-titulo: string
*
Un catálogo contiene
muchos libros
Clase
contenedora
Relaciones
Agregación
Curso
- nrc: int
- nombre: string
Estudiante
-id: int
-nombre: string
-apellido:s tring
5..30
Un curso contiene
entre 5 y 30
estudiantes
Ejemplo
Relaciones
Composición
Universidad
- nit: string
- nombre: string
Carrera
-id: int
-nombre: string1..*
Es una relación de
agregación fuertemente
ligada, es decir que por lo
menos debe existir un
objeto de la clase contenida
en la clase contenedora
para que exista la relación.
En el ejemplo: Una
Universidad por lo menos
debe tener una Carrera
para existir
Su paso a código fuente se
maneja de la misma forma que
la relación de agregación.
RelacionesAsociación
Cuando los objetos de una clase tienen alguna referencia con objetos de
otra clase se utiliza una relación de asociación. Se representa por una
línea continua.
Clase A Clase BClase A Clase B
Cada objeto de la Clase A conoce
una referencia de la clase B, pero
la clase B no conoce a la clase A.
1
Cada objeto de la Clase A conoce una
referencia de la clase B y cada objeto
de la clase B pertenece a una
referencia de la clase A.
conoce > 1
La relación de Asociación debe tener:
 Dirección: indica qué clase tiene la referencia a qué clase
-> <-
Si no hay flecha indica que las dos clases se conocen entre sí.
 Multiplicidad (el mismo concepto manejado en agregación)
 Nombre: sirve para identificar la relación en el diagrama
conoce 1 < pertenece a
Relaciones
Profesor
- codigo: int
- nombre: String
- apellido: String
Curso
-id: int
-nombre: String
1..3
Un profesor orienta
entre 1 y 3 cursos
Asociación
orienta
Ejemplo
Relaciones
Ciudad
- codigo: int
- nombre: string
Estudiante
-id: int
-nombre: string
-apellido:s tring
1
Un estudiante tiene una
ciudad de nacimiento y
una ciudad de residencia
Asociación
ciudad de
Nacimiento
1ciudad de
Residencia
Ejemplo
Referencias bibliográficas
• Knoernschild, Kirk. Java Design Objects, UML and process.
Addison Wesley, 2001. ISBN 0-201-75044-9
• Roques, Pascal. UML in practice. The art of modeling
software systems demostrated through worked examples
and solutions. Jhon Wiley & Sons, Ltd. Editorial, 2004.
• http://www.dcc.uchile.cl/~psalinas/uml/modelo.html

Más contenido relacionado

La actualidad más candente

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
Guillermo Díaz
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
TerryJoss
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
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
hector_h30
 

La actualidad más candente (20)

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
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
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
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-R
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 

Destacado

Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
camiloan40
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
TerryJoss
 
Ejercicios base de_datos
Ejercicios base de_datosEjercicios base de_datos
Ejercicios base de_datos
xinithazangels
 
Modelo conceptual de uml
Modelo conceptual de umlModelo conceptual de uml
Modelo conceptual de uml
Sergio Girado
 
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad II
Luis Caiza
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
still01
 

Destacado (13)

UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de software
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases y Objetos
Clases y ObjetosClases y Objetos
Clases y Objetos
 
DIAGRAMA DE CLASES
DIAGRAMA DE CLASESDIAGRAMA DE CLASES
DIAGRAMA DE CLASES
 
Ejercicios base de_datos
Ejercicios base de_datosEjercicios base de_datos
Ejercicios base de_datos
 
Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1
Diagramas de clases y aplicaciones  JAVA en NetBeans 6.9.1Diagramas de clases y aplicaciones  JAVA en NetBeans 6.9.1
Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1
 
Modelo conceptual de uml
Modelo conceptual de umlModelo conceptual de uml
Modelo conceptual de uml
 
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad II
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 

Similar a 7 Curso de POO en java - diagrama de clases

Similar a 7 Curso de POO en java - diagrama de clases (20)

Diagramas de clase(dream team)
Diagramas de clase(dream team)Diagramas de clase(dream team)
Diagramas de clase(dream team)
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Clase y-objeto
Clase y-objetoClase y-objeto
Clase y-objeto
 
encuesta
encuestaencuesta
encuesta
 
Clases 2
Clases 2Clases 2
Clases 2
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Introducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UMLIntroducción a la progrogramación orientada a objetos - UML
Introducción a la progrogramación orientada a objetos - UML
 
diapositivas_basicas_sobre_la_notacion_uml.pptx
diapositivas_basicas_sobre_la_notacion_uml.pptxdiapositivas_basicas_sobre_la_notacion_uml.pptx
diapositivas_basicas_sobre_la_notacion_uml.pptx
 
Clase 17
Clase 17Clase 17
Clase 17
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
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
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 

Más de Clara Patricia Avella Ibañez

Más de Clara Patricia Avella Ibañez (16)

17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales
 
13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse
 
4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse
 
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
 
Prestentacion parapentismoextremo
Prestentacion parapentismoextremoPrestentacion parapentismoextremo
Prestentacion parapentismoextremo
 
Netiqueta
NetiquetaNetiqueta
Netiqueta
 
Modelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de BoyacáModelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de Boyacá
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de Boyacá
 

Último

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 

Último (20)

Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 

7 Curso de POO en java - diagrama de clases

  • 1. Diagrama de clases UML Clara Patricia Avella Ibáñez Tunja – Boyacá – Colombia Docente universitaria cpavella@gmail.com
  • 2. Por qué usar un diagrama de clases? Es una de las primeras y más usadas herramientas de generación automática de código. Ha sido el diagrama más importante en todos los métodos orientados a objetos, porque constituye la guía para convertir el diseño lógico del sistema en lenguaje de código.
  • 4. Clases NombreDeLaClase Atributos Operaciones (métodos) - privado: el atributo sólo es visible por los métodos de la clase + público: el atributo es visible dentro y fuera de la clase # protegido: el atributo es visible por los métodos de la clase y por métodos de clases derivadas de esta clase, cuando hay herencia. Accesibilidad nombreDelAtributo : tipoDeDato Accesibilidad Utilizar singular
  • 5. Clases NombreDeLaClase Atributos Operaciones (métodos) - privado: el método sólo es visible por los otros métodos de la clase. + público: el método es visible dentro y fuera de la clase # protegido: el método es visible por los métodos de la clase y por métodos de clases derivadas de esta clase, cuando hay herencia. Accesibilidad Accesibilidad nombreDelMétodo(parámetro1: tipoDeDato, parámetro2: tipoDeDato, parámetroN: tipoDeDato) : tipoDeDatoDeRetornoDelMétodo
  • 6. Clases Empleado -id: int -nombre: String -apellido: String -salario: double +calcularPagoMensual(diasTrab:int):double Ejemplo
  • 7. Paquetes Agrupan lógicamente las clases que tienen alguna relación entre sí. Se pueden agrupar por clases que conforman módulos y submódulos de la aplicación. Se pueden agrupar por tipo de funcionalidad. Ej. Paquete con las clases de la lógica del negocio, paquete con las clases de la Interfaz Gráfica de usuario, paquete con las clases que manejan persistencia de datos. Paquete X Paquete Y
  • 9. Relaciones Clase A Las clases pueden conectarse con otras clases de diferentes formas, estas conexiones se llaman relaciones. Clase B Clase A Clase B Clase A Clase B Clase A Clase B Clase B Clase A
  • 10. Relaciones ClaseA Indica que una clase invoca uno o varios métodos que se encuentran en la clase con la cual se relaciona. ClaseB Uso La clase A usa a la clase B La clase A invoca uno o varios métodos de la clase B
  • 11. Relaciones public class ClaseA { public static void main(String args[]) { ClaseB objeto1 = new ClaseB( ); objeto1.metodo1( ); } } ClaseA ClaseB Uso Ejemplo en código java: +main(args) : void +metodo1() :void public class ClaseB { // atributos public void metodo1( ) { // acá van las instrucciones del método } } La clase A usa (invoca) el método1 de la clase B
  • 12. Relaciones Herencia Clase A Clase B Relación Los objetos de la Clase B toman los atributos y métodos de la Clase A como si fueran propios La Clase B (subclase o clase derivada) hereda de la Clase A (superclase o clase general)
  • 13. Herencia Simple Clase A Clase B Clase C Clase A Clase B Una clase hereda sólo de una clase Relaciones Herencia
  • 14. Clase A Clase B Clase C Una clase hereda de más de una clase Herencia Múltiple Relaciones Herencia
  • 16. Relaciones Agregación Clase A Clase B * Se utiliza para expresar que una clase contiene muchos objetos de otra clase En este caso se expresa que la clase A contiene muchos objetos de la clase B El * indica la multiplicidad de la relación, es decir, cuántos objetos de la clase B son conocidos por la clase A Ejemplos de Multiplicidad: 1 uno 1, 2 uno o dos 5 cinco 0..* entre cero y muchos * entre cero y muchos 1..* entre 1 y muchos 5..10 entre cinco y diez
  • 17. Relaciones Agregación Catalogo Libro -isbn:string -titulo: string * Un catálogo contiene muchos libros Clase contenedora
  • 18. Relaciones Agregación Curso - nrc: int - nombre: string Estudiante -id: int -nombre: string -apellido:s tring 5..30 Un curso contiene entre 5 y 30 estudiantes Ejemplo
  • 19. Relaciones Composición Universidad - nit: string - nombre: string Carrera -id: int -nombre: string1..* Es una relación de agregación fuertemente ligada, es decir que por lo menos debe existir un objeto de la clase contenida en la clase contenedora para que exista la relación. En el ejemplo: Una Universidad por lo menos debe tener una Carrera para existir Su paso a código fuente se maneja de la misma forma que la relación de agregación.
  • 20. RelacionesAsociación Cuando los objetos de una clase tienen alguna referencia con objetos de otra clase se utiliza una relación de asociación. Se representa por una línea continua. Clase A Clase BClase A Clase B Cada objeto de la Clase A conoce una referencia de la clase B, pero la clase B no conoce a la clase A. 1 Cada objeto de la Clase A conoce una referencia de la clase B y cada objeto de la clase B pertenece a una referencia de la clase A. conoce > 1 La relación de Asociación debe tener:  Dirección: indica qué clase tiene la referencia a qué clase -> <- Si no hay flecha indica que las dos clases se conocen entre sí.  Multiplicidad (el mismo concepto manejado en agregación)  Nombre: sirve para identificar la relación en el diagrama conoce 1 < pertenece a
  • 21. Relaciones Profesor - codigo: int - nombre: String - apellido: String Curso -id: int -nombre: String 1..3 Un profesor orienta entre 1 y 3 cursos Asociación orienta Ejemplo
  • 22. Relaciones Ciudad - codigo: int - nombre: string Estudiante -id: int -nombre: string -apellido:s tring 1 Un estudiante tiene una ciudad de nacimiento y una ciudad de residencia Asociación ciudad de Nacimiento 1ciudad de Residencia Ejemplo
  • 23. Referencias bibliográficas • Knoernschild, Kirk. Java Design Objects, UML and process. Addison Wesley, 2001. ISBN 0-201-75044-9 • Roques, Pascal. UML in practice. The art of modeling software systems demostrated through worked examples and solutions. Jhon Wiley & Sons, Ltd. Editorial, 2004. • http://www.dcc.uchile.cl/~psalinas/uml/modelo.html