SlideShare une entreprise Scribd logo
1  sur  19
Diseño de clases Ing. Rolando Steep Quezada Martínez [email_address] Programación Básica en Java y Programación Orientada a Objetos
Diagrama de Clases ,[object Object],Los diagramas de clases proporcionan una perspectiva estática del sistema (representan su diseño estructural)
Relaciones ,[object Object],[object Object],[object Object],[object Object],[object Object]
Asociación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Asociación binaria
Asociación reflexiva
Asociación n-aria
Asociación de agregación
Asociación de composición
Asociación de dependencia
Asociación de generalización/especialización generalización especialización
Navegación de las asociaciones
Paquetes UML Sistema de Archivos Netbeans Definición de una Clase
La sentencia import
La sentencia import static (jdk 1.5)
Resumen ,[object Object],[object Object],[object Object],[object Object],[object Object]
Práctica 4 ,[object Object],[object Object],[object Object]
 
 

Contenu connexe

Tendances

Lenguaje de definicion de datos(ddl)
Lenguaje  de definicion de datos(ddl)Lenguaje  de definicion de datos(ddl)
Lenguaje de definicion de datos(ddl)
rosamelosa
 
Arquitectura de Comunicación Basada en Capas
Arquitectura de Comunicación Basada en CapasArquitectura de Comunicación Basada en Capas
Arquitectura de Comunicación Basada en Capas
Dayasev Urueta
 
Router y su funcionamiento
Router y su funcionamientoRouter y su funcionamiento
Router y su funcionamiento
Alejandro Murcia
 
Topologías y Componentes de una red Inalámbrica
Topologías y Componentes de una red InalámbricaTopologías y Componentes de una red Inalámbrica
Topologías y Componentes de una red Inalámbrica
Eduardo J Onofre
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
ralbarracin
 
Tecnologia de red
Tecnologia de red Tecnologia de red
Tecnologia de red
UPTM
 

Tendances (20)

Lenguaje de definicion de datos(ddl)
Lenguaje  de definicion de datos(ddl)Lenguaje  de definicion de datos(ddl)
Lenguaje de definicion de datos(ddl)
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Dispositivos de red capa fisica
Dispositivos de red capa  fisicaDispositivos de red capa  fisica
Dispositivos de red capa fisica
 
Diagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetesDiagrama paquetes, colaboracion y componetes
Diagrama paquetes, colaboracion y componetes
 
4.1. Funciones de la capa de red
4.1. Funciones de la capa de red4.1. Funciones de la capa de red
4.1. Funciones de la capa de red
 
Arquitectura de Comunicación Basada en Capas
Arquitectura de Comunicación Basada en CapasArquitectura de Comunicación Basada en Capas
Arquitectura de Comunicación Basada en Capas
 
Router y su funcionamiento
Router y su funcionamientoRouter y su funcionamiento
Router y su funcionamiento
 
Vistas en SQL
Vistas en SQLVistas en SQL
Vistas en SQL
 
Packet tracer
Packet tracerPacket tracer
Packet tracer
 
Diagrama de paquete
Diagrama de paqueteDiagrama de paquete
Diagrama de paquete
 
Estandar (ieee 802.1 802.15)
Estandar (ieee 802.1   802.15)Estandar (ieee 802.1   802.15)
Estandar (ieee 802.1 802.15)
 
Topologías y Componentes de una red Inalámbrica
Topologías y Componentes de una red InalámbricaTopologías y Componentes de una red Inalámbrica
Topologías y Componentes de una red Inalámbrica
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Estándares, modelos y normas internacionales de redes
Estándares, modelos y normas internacionales de redesEstándares, modelos y normas internacionales de redes
Estándares, modelos y normas internacionales de redes
 
Presentación tcp y udp
Presentación tcp y udpPresentación tcp y udp
Presentación tcp y udp
 
Estándar IEEE 802.x
Estándar IEEE 802.x Estándar IEEE 802.x
Estándar IEEE 802.x
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Lenguajes de bases de datos
Lenguajes de bases de datosLenguajes de bases de datos
Lenguajes de bases de datos
 
Tecnologia de red
Tecnologia de red Tecnologia de red
Tecnologia de red
 
2 diagnostico del problema de desarrollo de sistemas
2 diagnostico del problema de desarrollo de sistemas2 diagnostico del problema de desarrollo de sistemas
2 diagnostico del problema de desarrollo de sistemas
 

Similaire à Diseño de Clases (20)

UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Clases
ClasesClases
Clases
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clase y-objeto
Clase y-objetoClase y-objeto
Clase y-objeto
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas 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
 
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
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
CLASE1-UML.ppt
CLASE1-UML.pptCLASE1-UML.ppt
CLASE1-UML.ppt
 
Concepto diagramas de clases
Concepto diagramas de clasesConcepto diagramas de clases
Concepto diagramas de clases
 
Diagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetosDiagrama de clases y diagrama de objetos
Diagrama de clases y diagrama de objetos
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Intro oo2
Intro oo2Intro oo2
Intro oo2
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases
ClasesClases
Clases
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
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
 

Plus de Rolando Steep Quezada Martinez (11)

Multitarea
MultitareaMultitarea
Multitarea
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
Colecciones
ColeccionesColecciones
Colecciones
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Networking
NetworkingNetworking
Networking
 
Arreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de FlujoArreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de Flujo
 
Tipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de JavaTipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de Java
 
Módulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología JavaMódulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología Java
 
Manejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/SalidaManejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/Salida
 

Dernier

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (15)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Diseño de Clases

Notes de l'éditeur

  1. Objetivos Entender e implementar las relaciones presentes en un Diagrama de Clases. Reconocer la diferentes formas de asociación entre clases. Definir la navegabilidad unidireccional en una asociación.
  2. Diagrama de Clases Análisis y diseño con el Diagrama de Clases El Diagrama de Clase es el diagrama principal de análisis y diseño para un sistema. En él se especifica la estructura de clases del sistema, con relaciones entre clases y estructuras de herencia. Su objetivo varia en análisis y diseño: Durante el análisis del sistema, el diagrama se desarrolla buscando una solución ideal. Durante el diseño, se usa el mismo diagrama, y se modifica para satisfacer los detalles de las implementaciones. El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones. El mundo real puede ser visto desde abstracciones diferentes (subjetividad)
  3. Relaciones Una relación en un diagrama de clases, se representa mediante una línea que une dos o más clases. La línea puede ir acompañada de diferentes tipos de adornos que definen su semántica y características. Las relaciones más comunes entre las clases presentes en un diagrama estático pueden ser: asociación (binaria o n-aria), agregación, generalización, dependencia y composición. Los elementos adicionales que pueden aparecer en la representación de una relación son: Rol : Identifica con nombres a los elementos que aparecen en los extremos de la línea que denota la relación, dicho nombre describe la semántica que tiene la relación en el sentido indicado. Por ejemplo, la asociación entre Persona que Trabaja Para una Empresa , recibe el nombre de trabajador y empleador como rol en ese sentido. Multiplicidad : Indica la cardinalidad de la relación. En el ejemplo se utilizan 1 , 1 ..* , 5 , * , como indicadores de multiplicidad. Relación Rol Multiplicidad
  4. Asociación La 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. Puede determinarse por la 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 n exactamente n (entro natural) 0..* Cero o muchos 1..* Uno o muchos (al menos uno) Cuando la multiplicidad mínima es 0, la relación es opcional. Una multiplicidad mínima mayor o igual que 1 establece una relación obligatoria.
  5. Asociación binaria Una asociación binaria se representa mediante una línea sólida que une dos clases, se trata de una relación entre las dos clases no muy fuerte, es decir, no se exige dependencia existencial ni encapsulamiento.
  6. Asociación reflexiva Una asociación binaria se representa mediante una línea sólida que recae sobre la misma clase de forma recursiva, se trata de una relación no muy fuerte, es decir, no se exige dependencia existencial ni encapsulamiento.
  7. Asociación n-aria Es una forma de expresar una relación entre tres o más clases. La clase de asociación es dependiente en existencia de las otras clase.
  8. Asociación de agregación La agregación representa una relación – débil – parte de entre objetos. En UML se proporciona una escasa caracterización de la agregación. Esta relación puede ser caracterizada con precisión determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado y cada uno de sus objetos componentes. Es un tipo de relación débil, el objeto agregado puede existir de forma independiente. Las partes pueden forma parte de distintos agregados. Gráficamente, se muestra con un rombo vacío en uno de los extremos.
  9. Asociación de composición La composición representa una relación – fuerte – parte de entre objetos. En UML se proporciona una escasa caracterización de la composición. Esta relación puede ser caracterizada con precisión determinando las relaciones de comportamiento y estructura que existen entre el objeto compuesto y cada uno de sus objetos componentes. Es un tipo de relación fuerte, el objeto agregado no puede existir de forma independiente. Agregación disjunta y estricta: Las partes sólo existen asociadas al compuesto (sólo se accede a ellas a través del compuesto). Gráficamente, se muestra con un rombo lleno en uno de los extremos (compuesto).
  10. Asociación de dependencia Relación (más débil que una relación) que muestra la relación entre un cliente y el proveedor de un servicio usado por el cliente: Cliente es el objeto que solicita un servicio. Servidor es el objeto que provee el servicio solicitado. Gráficamente, la dependencia se muestra como una línea discontinua con una punta de flecha que apunta del cliente al proveedor. Si un paquete A depende de un paquete B , entonces hay una o más clases en el paquete A que inician comunicación con una o más clases públicas del paquete B . Ejemplo: Un objeto de la clase A envía un mensaje a un objeto de la clase B. Un objeto de la clase A crea un objeto de la clase B. Un objeto de la clase A recibe un mensaje con un objeto de la clase B como argumento aun sin tenerlo como atributo.
  11. Asociación de generalización/especialización Permite gestionar la complejidad mediante un ordenamiento taxonómico de clases, se obtiene usando los mecanismos de abstracción de Generalización y/o Especialización. La Generalización consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general. Los nombres usados: clase padre - clase hija. Otros nombres: superclase - subclase, clase base - clase derivada. Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de la clase padre están disponibles en sus clases hijas. La Generalización y Especialización son equivalentes en cuanto al resultado: la jerarquía y herencia establecidas. Generalización y Especialización no son operaciones reflexivas ni simétricas pero sí transitivas. La especialización es una técnica muy eficaz para la extensión y reutilización. Las subclases heredan características de las clases de las que se derivan y añaden características específicas que las diferencian.
  12. Navegación de las asociaciones Aunque las asociaciones suelen ser bidireccionales (se pueden recorrer en ambos sentidos), en ocasiones es deseable hacerlas unidireccionales (restringir su navegación en un único sentido). Gráficamente, cuando la asociación es unidireccional, la línea termina en una punta de flecha que indica el sentido de la asociación.
  13. Paquetes Definen contextos de denominación para evitar colisión de nombres. Sirven para definir bibliotecas de clases e interfaces (reutilización: no volver a inventar la rueda). Permiten organizar el código de una gran aplicación. Un paquete determina un subdirectorio del disco. Las declaraciones de los paquetes tienen que estar al principio de los ficheros fuente. Sólo se permite la declaración de un paquete en cada fichero fuente. Los nombres de los paquetes están jerarquizados separados por puntos. La palabra reservada package debe aparecer en la primera línea del fichero fuente. Por lo general el nombre de los elementos de un paquete es todo en minúsculas. El nombre de las clases empieza en mayúscula y la primera letra de cada palabra añadida al nombre también. Los paquetes pueden anidarse (define una jerarquía) paquete.subpaquete.subpaquete.clase Convención para el nombrado de paquetes (para conseguir nombres únicos): dominio.empresa.departamento.proyecto
  14. La sentencia import Por defecto las clases sólo se pueden comunicar con clases del mismo paquete donde se encuentran definidas. import permite acceder a una clase declarada en un paquete distinto del actual. Indica al compilador dónde encontrar las clases. Debe preceder a todas las declaraciones de las clases. Para importar clases de un paquete se usa el comando import . Se puede importar una clase individual: import java.util.Date ; o bien, se puede importar las clases declaradas públicas de un paquete completo, utilizando un arterisco (*) para reemplazar los nombres de clase individuales: import java.util.* ;
  15. La sentencia import static (jdk 1.5) Los miembros estáticos (atributos o métodos) de una clase pueden ser accedidos sin necesidad de una instancia previa de la misma. import static permite incorporar como propio cualquier miembro estático; a nivel de bytes codes no existe relación de uso, se libera la dependencia con la clase que define el miembro estático. La importaciones pueden ser por miembro: import static java.lang.Math.pow ; O por clase: import static java.lang.Math.* ;
  16. Práctica 4: Implementar las clases y relaciones de un Diagrama de Clases Objetivo Crear el código Java para la implementación de un Diagrama de Clases, respetando sus asociaciones, dependencia y jerarquía. Caso de Estudio 1 A continuación se muestra el Diagrama de clases resultante del análisis y diseño del área de Gestión Académica de un centro de educación superior. Escribir en Java las clases necesarias para su implementación.
  17. Caso de Estudio 2 A continuación se muestra el Diagrama de clases resultante del análisis y diseño de las áreas de Ventas, Compras y Personal de la empresa XYZ . Tenga en cuenta la agrupación por paquetes: xyz.compras xyz.ventas xyz.personal