SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNmellcv
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacionjosebrandon24
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
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 ClaseGuillermo Díaz
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de ClasesAdal Dg
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismonestor_moren
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
 

Mais procurados (20)

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
 
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
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
 
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
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Fun_01_fundamentacion_objetos
Fun_01_fundamentacion_objetosFun_01_fundamentacion_objetos
Fun_01_fundamentacion_objetos
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 

Destaque

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 softwareYaskelly Yedra
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades umlcamiloan40
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesTerryJoss
 
DIAGRAMA DE CLASES
DIAGRAMA DE CLASESDIAGRAMA DE CLASES
DIAGRAMA DE CLASESBiingeSof
 
Ejercicios base de_datos
Ejercicios base de_datosEjercicios base de_datos
Ejercicios base de_datosxinithazangels
 
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.1Henry Upla
 
Modelo conceptual de uml
Modelo conceptual de umlModelo conceptual de uml
Modelo conceptual de umlSergio Girado
 
Ejercicios en clase Unidad II
Ejercicios en clase Unidad IIEjercicios en clase Unidad II
Ejercicios en clase Unidad IILuis Caiza
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesstill01
 

Destaque (14)

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
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
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
 

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

Semelhante 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
 

Mais de Clara Patricia Avella Ibañez

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 objetosClara Patricia Avella Ibañez
 
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 procesoClara Patricia Avella Ibañez
 
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áClara Patricia Avella Ibañez
 

Mais de Clara Patricia Avella Ibañez (13)

17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
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
 
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
 
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

Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
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.pptxlclcarmen
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
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 ESOluismii249
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
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 UPCCarlosEduardoSosa2
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

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
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
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
 
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
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
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
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
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
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 

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