SlideShare una empresa de Scribd logo
1 de 24
INTERACCIÓN
ENTRE CLASES,
HERENCIA
FERNANDO SOLIS
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
Diseño de Sistemas Orientados a Objetos
• Diagramas de Clases
 El Diagrama de Clases es el diagrama principal para el
análisis y diseño.
 Un diagrama de clases presenta las clases del sistema con
sus relaciones estructurales y de herencia.
 La definición de clase incluye definiciones para atributos y
operaciones.
 El modelo de casos de uso aporta información para
establecer las clases, objetos, atributos y operaciones.
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 El mundo real puede ser visto desde abstracciones
diferentes (subjetividad)
 Mecanismos de abstracción:
 Clasificación / Instanciación
 Composición / Descomposición
 Agrupación / Individualización
 Especialización / Generalización
 La clasificación es uno de los mecanismos de abstracción
más utilizados
• Diagramas de Clases - Clasificación
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 Los enlaces entre objetos pueden representarse entre las
respectivas clases
 Formas de relación entre clases:
 Asociación y Agregación (vista como un caso particular de
asociación)
 Generalización/Especialización
 Las relaciones de Agregación y Generalización forman
jerarquías de clases
• Diagramas de Clases - Relaciones
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 La clase define el ámbito de definición de un conjunto de
objetos
 Cada objeto pertenece a una clase
 Los objetos se crean por instanciación de las clases
• Diagramas de Clases
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Cada clase se representa en un rectángulo con tres
compartimientos:
 nombre de la clase
 atributos de la clase
 operaciones de la clase
Motocicleta
color
cilindrada
velocidad máxima
arrancar()
acelerar()
frenar()
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
lista
primero()
ultimo()
añadir()
quitar()
cardinalidad()
pila
apilar()
desapilar()
cardinalidad()
• Diagramas de Clases - Notación Gráfica
 Otros ejemplos:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Atributo: Generalmente son de tipos simples, ya que los
atributos de tipos compuestos se representan mediante
asociaciones de composición con otras clases.
 La sintaxis de un atributo es:
 nombre = valor_inicial {propiedad}
 donde:
nombre: si comienza con minúscula se considera un atributo de
objeto.
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Asociación: expresa una conexión bidireccional entre
objetos
 Una asociación es una abstracción de la relación existente
en los enlaces entre los objetos
Universidad Estudiante
Una asociación
Univ. de Murcia : Universidad Antonio : EstudianteUn enlace
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Una asociación, en general, es una línea que une dos o más
símbolos. Pueden tener varios tipos de adornos, que
definen su semántica y características.
 Los tipos de asociaciones entre clases presentes en un
diagrama de clases son:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 Asociación binaria: se identifica como una línea sólida que une
dos clases. Representa una relación de algún tipo entre las dos
clases, que no exige dependencia existencial ni encapsulamiento.
Ejemplo:
• Diagramas de Clases - Notación Gráfica
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Asociación n-aria: es una forma de expresar una relación entre
tres o más clases. Se representa como un diamante del cual salen
líneas de asociación a las clases. Ejemplo:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Agregación: al comienzo de la línea que simboliza una
asociación se puede ubicar un rombo que simbolice una
asociación de composición o agregación compuesta (rombo
ennegrecido), lo que ocurre cuando la entidad determina la
existencia de la otra, o bien el concepto de agregación compartida
(rombo blanco), si los objetos pueden existir más allá de la
asociación. Ejemplo:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Generalización: la relación de generalización denota una
relación de herencia entre clases. Se representa dibujando un
triángulo sin rellenar en el lado de la superclase. La subclase
hereda todos los atributos y mensajes descritos en la superclase.
Ejemplo:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Ejemplo:
Compañía
nombre
dirección
Persona
nombre
s.s.
0..1
*
jefe 0..1
Administra
empleado
*
0..1
0..1
mujer
0..1
casado-con
marido
0..1
*
* trabaja-para
*emplea-a
*
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 Cada asociación puede presentar algunos elementos
adicionales que dan detalle a la relación, como son:
 Multiplicidad: describe la cardinalidad de la asociación. Cada
asociación tiene, en ambos sentidos, una multiplicidad: 1 indica
una ocurrencia; * indica 0 o más ocurrencias; 1..* señala una o
más; 1..40 indica de 1 a 40 ocurrencias; 3,5,8 indica que hay 3 ó 5
u 8 ocurrencias . Ejemplo:
• Diagramas de Clases - Notación Gráfica
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 Especificación de multiplicidad (mínima...máxima)
1 Uno y sólo uno
0..1 Cero o uno
M..N Desde M hasta N (enteros naturales)
* Cero o muchos
0..* Cero o muchos
1..* Uno o muchos (al menos uno)
 La multiplicidad mínima >= 1 establece una restricción de
existencia
• Diagramas de Clases - Notación Gráfica
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
 Nombre: describe el significado de la relación; se agrega al
nombre una punta de flecha que indica en qué sentido se debe leer
la frase para interpretarla adecuadamente. Ejemplo:
• Diagramas de Clases - Notación Gráfica
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Rol: identificado como un nombre al final de la línea, describe la
semántica de la relación en el sentido indicado. Ejemplo:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Atributos: como consecuencia de una relación puede necesitarse
almacenar cierta información de detalle. Ésta se denota como una
clase relacionada por una línea punteada a la relación. Ejemplo:
considerar una relación entre Muro y Ventana, la cual tiene como
detalle un objeto de la clase Posición; cabe notar que este objeto no
podría tomarse como atributo de ninguna de las clases anteriores,
ya que el contexto de su existencia está dado precisamente por la
relación entre las dos clases.
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Notación Gráfica
 Obvservación (comentario, nota): Es un comentario dentro de un
diagrama, es decir aclaraciones a éste. Puede estar relacionado con
uno o más elementos en el diagrama mediante líneas punteadas. Se
representa mediante un rectángulo con su borde superior derecho
doblado..
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Ejemplos
Window
scrollbar[2] : Slider
title : Header
body : Panel
Slider Header
Window
1
2
1
2
scrollbar
1
1
1
1title
Panel
1
1
1
1body
 Asociación:
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Ejemplos
Person Committee** **
Member-of
1 *1 *Chair-of
{ subset }
{Person.employer =
Person.boss.employer}
Represents an
incorporated entity.
CompanyPerson
*
0..1
worker
*
boss
0..1
0..1
*
employer
0..1
employee
*
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML
• Diagramas de Clases - Ejemplos
Asociación excluyente
Clase de asociación
Agregación
Persona
Cuenta
*
*
*
*
Empresa
1
*
1
*
or
Polígono Punto1
3..*
1
3..*
{ordenado}
contiene
EstaciónUsuario
** **
Autorización
prioridad
privilegios
camb_privil()
está-autorizado-en

Más contenido relacionado

La actualidad más candente

Diag de clases
Diag de clasesDiag de clases
Diag de clases
Lismirabal
 
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
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
still01
 

La actualidad más candente (17)

Diseño de Clases
Diseño de ClasesDiseño de Clases
Diseño de Clases
 
Diag de clases
Diag de clasesDiag de clases
Diag de clases
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
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
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
D clase
D claseD clase
D clase
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Uml relaciones
Uml relacionesUml relaciones
Uml relaciones
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
encuesta
encuestaencuesta
encuesta
 
DIAGRAMA DE CLASES
DIAGRAMA DE CLASESDIAGRAMA DE CLASES
DIAGRAMA DE CLASES
 

Similar a INTERACCIÓN ENTRE CLASES, HERENCIAS

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
pacosayas
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
William Lozano
 

Similar a INTERACCIÓN ENTRE CLASES, HERENCIAS (20)

UT5 - Introduccion al lenguaje unificado UML.pdf
UT5 - Introduccion al lenguaje unificado UML.pdfUT5 - Introduccion al lenguaje unificado UML.pdf
UT5 - Introduccion al lenguaje unificado UML.pdf
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Diagramas de clase.pptx
Diagramas de clase.pptxDiagramas de clase.pptx
Diagramas de clase.pptx
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
 
Diagramas de uml
Diagramas de umlDiagramas de uml
Diagramas de uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
Diagramas del uml
Diagramas del umlDiagramas del uml
Diagramas del uml
 
diagramas_del_uml.pdf
diagramas_del_uml.pdfdiagramas_del_uml.pdf
diagramas_del_uml.pdf
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
INTRODUCCION UML
INTRODUCCION UMLINTRODUCCION UML
INTRODUCCION UML
 
Introducion uml
Introducion umlIntroducion uml
Introducion uml
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1U1 s3 introducción a uml parte 1
U1 s3 introducción a uml parte 1
 
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
 
Unidad2
Unidad2Unidad2
Unidad2
 
Unidad2
Unidad2Unidad2
Unidad2
 

Más de mellcv

Más de mellcv (20)

Asp .net
Asp .netAsp .net
Asp .net
 
Asp
AspAsp
Asp
 
Eventos
EventosEventos
Eventos
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentes
 
Poc 2
Poc 2Poc 2
Poc 2
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Poc
PocPoc
Poc
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentes
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVA
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVA
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESO
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVA
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptos
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage java
 
Programar aplicaciones windows forms
Programar aplicaciones windows formsProgramar aplicaciones windows forms
Programar aplicaciones windows forms
 

Último

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

Último (20)

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
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
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...
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
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
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
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
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.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
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
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
 

INTERACCIÓN ENTRE CLASES, HERENCIAS

  • 2. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML Diseño de Sistemas Orientados a Objetos • Diagramas de Clases  El Diagrama de Clases es el diagrama principal para el análisis y diseño.  Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia.  La definición de clase incluye definiciones para atributos y operaciones.  El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones.
  • 3. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  El mundo real puede ser visto desde abstracciones diferentes (subjetividad)  Mecanismos de abstracción:  Clasificación / Instanciación  Composición / Descomposición  Agrupación / Individualización  Especialización / Generalización  La clasificación es uno de los mecanismos de abstracción más utilizados • Diagramas de Clases - Clasificación
  • 4. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  Los enlaces entre objetos pueden representarse entre las respectivas clases  Formas de relación entre clases:  Asociación y Agregación (vista como un caso particular de asociación)  Generalización/Especialización  Las relaciones de Agregación y Generalización forman jerarquías de clases • Diagramas de Clases - Relaciones
  • 5. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  La clase define el ámbito de definición de un conjunto de objetos  Cada objeto pertenece a una clase  Los objetos se crean por instanciación de las clases • Diagramas de Clases
  • 6. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Cada clase se representa en un rectángulo con tres compartimientos:  nombre de la clase  atributos de la clase  operaciones de la clase Motocicleta color cilindrada velocidad máxima arrancar() acelerar() frenar()
  • 7. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML lista primero() ultimo() añadir() quitar() cardinalidad() pila apilar() desapilar() cardinalidad() • Diagramas de Clases - Notación Gráfica  Otros ejemplos:
  • 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Atributo: Generalmente son de tipos simples, ya que los atributos de tipos compuestos se representan mediante asociaciones de composición con otras clases.  La sintaxis de un atributo es:  nombre = valor_inicial {propiedad}  donde: nombre: si comienza con minúscula se considera un atributo de objeto.
  • 9. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Asociación: expresa una conexión bidireccional entre objetos  Una asociación es una abstracción de la relación existente en los enlaces entre los objetos Universidad Estudiante Una asociación Univ. de Murcia : Universidad Antonio : EstudianteUn enlace
  • 10. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Una asociación, en general, es una línea que une dos o más símbolos. Pueden tener varios tipos de adornos, que definen su semántica y características.  Los tipos de asociaciones entre clases presentes en un diagrama de clases son:
  • 11. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  Asociación binaria: se identifica como una línea sólida que une dos clases. Representa una relación de algún tipo entre las dos clases, que no exige dependencia existencial ni encapsulamiento. Ejemplo: • Diagramas de Clases - Notación Gráfica
  • 12. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Asociación n-aria: es una forma de expresar una relación entre tres o más clases. Se representa como un diamante del cual salen líneas de asociación a las clases. Ejemplo:
  • 13. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Agregación: al comienzo de la línea que simboliza una asociación se puede ubicar un rombo que simbolice una asociación de composición o agregación compuesta (rombo ennegrecido), lo que ocurre cuando la entidad determina la existencia de la otra, o bien el concepto de agregación compartida (rombo blanco), si los objetos pueden existir más allá de la asociación. Ejemplo:
  • 14. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Generalización: la relación de generalización denota una relación de herencia entre clases. Se representa dibujando un triángulo sin rellenar en el lado de la superclase. La subclase hereda todos los atributos y mensajes descritos en la superclase. Ejemplo:
  • 15. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Ejemplo: Compañía nombre dirección Persona nombre s.s. 0..1 * jefe 0..1 Administra empleado * 0..1 0..1 mujer 0..1 casado-con marido 0..1 * * trabaja-para *emplea-a *
  • 16. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  Cada asociación puede presentar algunos elementos adicionales que dan detalle a la relación, como son:  Multiplicidad: describe la cardinalidad de la asociación. Cada asociación tiene, en ambos sentidos, una multiplicidad: 1 indica una ocurrencia; * indica 0 o más ocurrencias; 1..* señala una o más; 1..40 indica de 1 a 40 ocurrencias; 3,5,8 indica que hay 3 ó 5 u 8 ocurrencias . Ejemplo: • Diagramas de Clases - Notación Gráfica
  • 17. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  Especificación de multiplicidad (mínima...máxima) 1 Uno y sólo uno 0..1 Cero o uno M..N Desde M hasta N (enteros naturales) * Cero o muchos 0..* Cero o muchos 1..* Uno o muchos (al menos uno)  La multiplicidad mínima >= 1 establece una restricción de existencia • Diagramas de Clases - Notación Gráfica
  • 18. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML  Nombre: describe el significado de la relación; se agrega al nombre una punta de flecha que indica en qué sentido se debe leer la frase para interpretarla adecuadamente. Ejemplo: • Diagramas de Clases - Notación Gráfica
  • 19. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Rol: identificado como un nombre al final de la línea, describe la semántica de la relación en el sentido indicado. Ejemplo:
  • 20. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Atributos: como consecuencia de una relación puede necesitarse almacenar cierta información de detalle. Ésta se denota como una clase relacionada por una línea punteada a la relación. Ejemplo: considerar una relación entre Muro y Ventana, la cual tiene como detalle un objeto de la clase Posición; cabe notar que este objeto no podría tomarse como atributo de ninguna de las clases anteriores, ya que el contexto de su existencia está dado precisamente por la relación entre las dos clases.
  • 21. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Notación Gráfica  Obvservación (comentario, nota): Es un comentario dentro de un diagrama, es decir aclaraciones a éste. Puede estar relacionado con uno o más elementos en el diagrama mediante líneas punteadas. Se representa mediante un rectángulo con su borde superior derecho doblado..
  • 22. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Ejemplos Window scrollbar[2] : Slider title : Header body : Panel Slider Header Window 1 2 1 2 scrollbar 1 1 1 1title Panel 1 1 1 1body  Asociación:
  • 23. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Ejemplos Person Committee** ** Member-of 1 *1 *Chair-of { subset } {Person.employer = Person.boss.employer} Represents an incorporated entity. CompanyPerson * 0..1 worker * boss 0..1 0..1 * employer 0..1 employee *
  • 24. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS UTILIZANDO UML • Diagramas de Clases - Ejemplos Asociación excluyente Clase de asociación Agregación Persona Cuenta * * * * Empresa 1 * 1 * or Polígono Punto1 3..* 1 3..* {ordenado} contiene EstaciónUsuario ** ** Autorización prioridad privilegios camb_privil() está-autorizado-en