SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
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
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAMichelle Torres
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoEdwin Loayza
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacionjosebrandon24
 
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
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 

Was ist angesagt? (20)

Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
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
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismo
 
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
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
MVC
MVCMVC
MVC
 
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
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 

Andere mochten auch

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 UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de ClasesAdal Dg
 
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
 

Andere mochten auch (15)

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
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML 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
 

Ähnlich wie 7 Curso de POO en java - diagrama de clases

Ähnlich wie 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
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
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
 
Paradigma POO.pptx
Paradigma POO.pptxParadigma POO.pptx
Paradigma POO.pptx
 

Mehr von Clara Patricia Avella Ibañez

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 analizadoresClara 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
 

Mehr von Clara Patricia Avella Ibañez (15)

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
 
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á
 

Kürzlich hochgeladen

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Kürzlich hochgeladen (20)

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.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