SlideShare uma empresa Scribd logo
1 de 24
 Muestra las clases que intervienen en un
sistema o parte de él
 Muestra como se relacionan entre sí
para cumplir los objetivos del sistema.
 Los diagramas de Clases representan la
vista de diseño estática de un sistema
 CLASE = Plantilla
 OBJETO = Instancia u ocurrencia de una
clase
 Compartimento superior: Contiene el
nombre de la Clase.
 Compartimento intermedio: Contiene los
atributos que determinan las
características de la Clase.
 Compartimento inferior: Contiene las
Operaciones que definen como una
instancia de la clase (objeto) interactúa
con su entorno.
 NOMBRE DE LA CLASE
 Nombre de la clase: Debe darnos una idea de lo que
representa. Primer carácter del nombre en mayúscula.
 Nombre simple (simple name): Indica solo el nombre de
la clase, Ej.: Cliente, SensorTemperatura.
 Nombre de ruta (Class path name): Indica además del
nombre el paquete al que pertenece. Un paquete
permite agrupar las clases según diferentes criterios
establecidos por el grupo del proyecto, Ej.:
Asociados::Cliente, donde Asociados es el nombre del
paquete.
 Multiplicidad de la clase: Indica la cantidad de
instancias (objetos) que una clase puede tener, se
especifica mediante un número en la esquina superior
derecha del compartimiento que representa a la clase.
 El campo atributos contiene los atributos de la clase mostrando para cada
atributo: Su nombre, visibilidad, tipo de dato, valor inicial entre otras
propiedades.
 Nombre del atributo: Por Ej. apellidoPaterno
 Visibilidad del Atributo: Determina si el atributo de una clase es accesible
para otras clases.
› Público: Indica que el atributo es visible desde todas las clases del
sistema. Se denota con el símbolo + delante del nombre del atributo.
› Privado: Atributo accesible solo dentro de la clase. Denotado con el
símbolo –
› Protegido: Atributo accesible solo desde la clase misma y clases
derivadas. Se indica con el símbolo #
 Tipo de dato del atributo: Puede tomar (Integer, String. Boolean, etc).
 Multiplicidad del atributo: Define el posible número de valores que el
atributo puede tener. Representado mediante una cadena de multiplicidad
entre corchetes. Si no hay corchetes entonces la multiplicidad es
exactamente 1
Alcance del Atributo: Determina si el valor del
atributo es distinto para cada instancia de
la clase o todas las instancias de la clase
comparten el mismo valor del atributo por
lo que el atributo puede tener:
› Alcance de Instancia: Cada instancia puede
tener su propio valor para el atributo. (Es por
defecto).
› Alcance de Clase: para todas las instancias el
valor del atributo es el mismo:
“Si el atributo tiene alcance de clase debe
subrayarse”.
 OPERACIONES DE UNA CLASE: Estas se especifican en el tercer
compartimiento del diagrama de una clase y especifican las
operaciones que un objeto de la clase puede ejecutar
mostrando su nombre, visibilidad parámetros, tipo de dato del
valor retornado, valores predeterminados y alcance.
 Nombre de la operación:
Ej. ImprimirInformeDiario
 Visibilidad: (Indicado como en los atributos)
 Público: Visible desde todas las clases del sistema. Se denota
con el símbolo + delante del nombre de la operación.
 Privado: Operación accesible solo dentro de la clase. Denotado
con el símbolo –
 Protegido: Operación accesible solo desde la clase misma y
clases derivadas. Se indica con el símbolo #
› in: el parámetro es un valor de entrada.
› Out: El parámetro es un valor de salida.
› Inout: similar a in, solo que el valor del parámetro
puede ser modificado por la operación
+ operación1 (in para1: string = “abc”, out para2: Date, inout para3:
Integer = 1)
nombreOperación(listaParámetros) : tipoValorRetorno [ = valorPredeterminado]
Ejemplo:
+ operación1 (in para1: string, out para2: Date, un para3: Integer = 1) : Integer = 0
Determina si la operación se aplica a solo una
instancia de la clase o se aplica a toda la clase.
Por lo tanto, el alcance de la operación puede
ser:
› Alcance de Instancia: Cuando la operación se aplica
a un objeto individual.
› Alcance de clase: Cuando la operación se aplica a
toda la clase, tal como un operación de creación
(constructor),
Las operaciones con alcance de clase deben
subrayarse
Relación de dependencia
 Es una relación de uso que
declara que un cambio en
la especificación de una
clase puede afectar a otra
clase que la utiliza. La
afección puede ser
semántica en la clase
dependiente, esta
necesita de la otro (Clase
independiente) para
cumplir su responsabilidad.
Relación de
generalización
Relación en la que hay
una vinculación de Clase
Padre a Clase Hija.
Relación de asociación
Describe la conexión
semántica entre las instancias
individuales de las clases.
Proporciona la conexión con
la que los Objetos de las clases
relacionadas pueden
interactuar, a diferencia de las
relaciones restantes que
relacionan las descripciones
de las clases con ellos mismos,
la relación de Asociación
describe la conexión entre los
Objetos.
A una relación de Asociación se le puede aplicar algunos
elementos adicionales con la finalidad de establecer bien su
definición, estos son
 NOMBRE
 ROL
 MULTIPLICIDAD
›Exactamente 1 : 1
›Cero o uno : 0..1
›Cero o muchos : 0..*
›Uno o muchos : 1..*
›Un valor exacto:
por ejemplo, 5
 Agregación.-
Representan
relaciones del
tipo Todo/Parte

Mais conteúdo relacionado

Mais procurados

Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Javasantosisidrorivera
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Juan Carlos Espinoza
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2 Cesar Mcfly
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)Manuel Ch.
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )brayan0015
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoJuan Carlos Espinoza
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
2.android java
2.android   java2.android   java
2.android javaguidotic
 

Mais procurados (20)

Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Guia poo
Guia pooGuia poo
Guia poo
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
 
Curso Java - Programación Digital
Curso Java - Programación DigitalCurso Java - Programación Digital
Curso Java - Programación Digital
 
Introduccio al Java
Introduccio al JavaIntroduccio al Java
Introduccio al Java
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
 
C2 clases en java
C2 clases en javaC2 clases en java
C2 clases en java
 
Presentacion5
Presentacion5Presentacion5
Presentacion5
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
2.android java
2.android   java2.android   java
2.android java
 

Destaque

Destaque (20)

14 09 02lagosdepontezuela1mesdespues 140915120803 phpapp01
14 09 02lagosdepontezuela1mesdespues 140915120803 phpapp0114 09 02lagosdepontezuela1mesdespues 140915120803 phpapp01
14 09 02lagosdepontezuela1mesdespues 140915120803 phpapp01
 
Elaboración de la lámpara de acuario
Elaboración de la lámpara de acuarioElaboración de la lámpara de acuario
Elaboración de la lámpara de acuario
 
Tutorial twitter
Tutorial twitterTutorial twitter
Tutorial twitter
 
Ceratto
CerattoCeratto
Ceratto
 
Pulseras de palito de madera
Pulseras de palito de maderaPulseras de palito de madera
Pulseras de palito de madera
 
Articulo de investigacion.
Articulo de investigacion.Articulo de investigacion.
Articulo de investigacion.
 
Huertas de cajicá
Huertas de cajicáHuertas de cajicá
Huertas de cajicá
 
ensayo en la red
ensayo en la red ensayo en la red
ensayo en la red
 
Informe jornada cualificaciones tmv 28 may-2015
Informe jornada cualificaciones tmv 28 may-2015Informe jornada cualificaciones tmv 28 may-2015
Informe jornada cualificaciones tmv 28 may-2015
 
Augusto comte emilio
Augusto comte emilioAugusto comte emilio
Augusto comte emilio
 
Adn
AdnAdn
Adn
 
Potencias
PotenciasPotencias
Potencias
 
Las7maravillas
Las7maravillasLas7maravillas
Las7maravillas
 
Dadadada
DadadadaDadadada
Dadadada
 
Métodos para motivar a la lectura en los
Métodos para motivar a la lectura en losMétodos para motivar a la lectura en los
Métodos para motivar a la lectura en los
 
Algebra
AlgebraAlgebra
Algebra
 
R1 b1
R1 b1R1 b1
R1 b1
 
Herramientas
HerramientasHerramientas
Herramientas
 
El código
El códigoEl código
El código
 
PROGRAMA UN MUNDO MEJOR
PROGRAMA UN MUNDO MEJORPROGRAMA UN MUNDO MEJOR
PROGRAMA UN MUNDO MEJOR
 

Semelhante a 06 diagrama de clases1

Semelhante a 06 diagrama de clases1 (20)

Diagramadeclase
DiagramadeclaseDiagramadeclase
Diagramadeclase
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Clases
ClasesClases
Clases
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
 
encuesta
encuestaencuesta
encuesta
 
D Iagramas U Ml
D Iagramas U MlD Iagramas U Ml
D Iagramas U Ml
 
D Iagramas U Ml
D Iagramas U MlD Iagramas U Ml
D Iagramas U Ml
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Análisis y diseño oo con umldclases
Análisis y diseño oo con umldclasesAnálisis y diseño oo con umldclases
Análisis y diseño oo con umldclases
 
diagrama de clases 2016 v3 sirven para diagramar las clases con sus t.pptx
diagrama de clases 2016 v3 sirven para diagramar las clases con sus t.pptxdiagrama de clases 2016 v3 sirven para diagramar las clases con sus t.pptx
diagrama de clases 2016 v3 sirven para diagramar las clases con sus t.pptx
 
Introduccion a UML
Introduccion a UMLIntroduccion a UML
Introduccion a UML
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 

06 diagrama de clases1

  • 1.
  • 2.  Muestra las clases que intervienen en un sistema o parte de él  Muestra como se relacionan entre sí para cumplir los objetivos del sistema.  Los diagramas de Clases representan la vista de diseño estática de un sistema
  • 3.  CLASE = Plantilla  OBJETO = Instancia u ocurrencia de una clase
  • 4.
  • 5.  Compartimento superior: Contiene el nombre de la Clase.  Compartimento intermedio: Contiene los atributos que determinan las características de la Clase.  Compartimento inferior: Contiene las Operaciones que definen como una instancia de la clase (objeto) interactúa con su entorno.
  • 6.  NOMBRE DE LA CLASE  Nombre de la clase: Debe darnos una idea de lo que representa. Primer carácter del nombre en mayúscula.  Nombre simple (simple name): Indica solo el nombre de la clase, Ej.: Cliente, SensorTemperatura.  Nombre de ruta (Class path name): Indica además del nombre el paquete al que pertenece. Un paquete permite agrupar las clases según diferentes criterios establecidos por el grupo del proyecto, Ej.: Asociados::Cliente, donde Asociados es el nombre del paquete.  Multiplicidad de la clase: Indica la cantidad de instancias (objetos) que una clase puede tener, se especifica mediante un número en la esquina superior derecha del compartimiento que representa a la clase.
  • 7.  El campo atributos contiene los atributos de la clase mostrando para cada atributo: Su nombre, visibilidad, tipo de dato, valor inicial entre otras propiedades.  Nombre del atributo: Por Ej. apellidoPaterno  Visibilidad del Atributo: Determina si el atributo de una clase es accesible para otras clases. › Público: Indica que el atributo es visible desde todas las clases del sistema. Se denota con el símbolo + delante del nombre del atributo. › Privado: Atributo accesible solo dentro de la clase. Denotado con el símbolo – › Protegido: Atributo accesible solo desde la clase misma y clases derivadas. Se indica con el símbolo #  Tipo de dato del atributo: Puede tomar (Integer, String. Boolean, etc).  Multiplicidad del atributo: Define el posible número de valores que el atributo puede tener. Representado mediante una cadena de multiplicidad entre corchetes. Si no hay corchetes entonces la multiplicidad es exactamente 1
  • 8.
  • 9.
  • 10. Alcance del Atributo: Determina si el valor del atributo es distinto para cada instancia de la clase o todas las instancias de la clase comparten el mismo valor del atributo por lo que el atributo puede tener: › Alcance de Instancia: Cada instancia puede tener su propio valor para el atributo. (Es por defecto). › Alcance de Clase: para todas las instancias el valor del atributo es el mismo: “Si el atributo tiene alcance de clase debe subrayarse”.
  • 11.
  • 12.  OPERACIONES DE UNA CLASE: Estas se especifican en el tercer compartimiento del diagrama de una clase y especifican las operaciones que un objeto de la clase puede ejecutar mostrando su nombre, visibilidad parámetros, tipo de dato del valor retornado, valores predeterminados y alcance.  Nombre de la operación: Ej. ImprimirInformeDiario  Visibilidad: (Indicado como en los atributos)  Público: Visible desde todas las clases del sistema. Se denota con el símbolo + delante del nombre de la operación.  Privado: Operación accesible solo dentro de la clase. Denotado con el símbolo –  Protegido: Operación accesible solo desde la clase misma y clases derivadas. Se indica con el símbolo #
  • 13.
  • 14.
  • 15.
  • 16. › in: el parámetro es un valor de entrada. › Out: El parámetro es un valor de salida. › Inout: similar a in, solo que el valor del parámetro puede ser modificado por la operación + operación1 (in para1: string = “abc”, out para2: Date, inout para3: Integer = 1)
  • 17. nombreOperación(listaParámetros) : tipoValorRetorno [ = valorPredeterminado] Ejemplo: + operación1 (in para1: string, out para2: Date, un para3: Integer = 1) : Integer = 0
  • 18. Determina si la operación se aplica a solo una instancia de la clase o se aplica a toda la clase. Por lo tanto, el alcance de la operación puede ser: › Alcance de Instancia: Cuando la operación se aplica a un objeto individual. › Alcance de clase: Cuando la operación se aplica a toda la clase, tal como un operación de creación (constructor), Las operaciones con alcance de clase deben subrayarse
  • 19.
  • 20. Relación de dependencia  Es una relación de uso que declara que un cambio en la especificación de una clase puede afectar a otra clase que la utiliza. La afección puede ser semántica en la clase dependiente, esta necesita de la otro (Clase independiente) para cumplir su responsabilidad.
  • 21. Relación de generalización Relación en la que hay una vinculación de Clase Padre a Clase Hija.
  • 22. Relación de asociación Describe la conexión semántica entre las instancias individuales de las clases. Proporciona la conexión con la que los Objetos de las clases relacionadas pueden interactuar, a diferencia de las relaciones restantes que relacionan las descripciones de las clases con ellos mismos, la relación de Asociación describe la conexión entre los Objetos.
  • 23. A una relación de Asociación se le puede aplicar algunos elementos adicionales con la finalidad de establecer bien su definición, estos son  NOMBRE  ROL  MULTIPLICIDAD ›Exactamente 1 : 1 ›Cero o uno : 0..1 ›Cero o muchos : 0..* ›Uno o muchos : 1..* ›Un valor exacto: por ejemplo, 5