SlideShare una empresa de Scribd logo
1 de 16
Análisis y Diseño OO con UML



       Diagramas de Clases
CLASES
Modelado Conceptual:

 Organización del conocimiento del
 dominio del problema en un conjunto
 de abstracciones ordenadas de forma
 que se obtiene un conocimiento más
 profundo del problema
Clasificación
 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
¿Qué es una Clase?
 Es una descripción de un conjunto de
  objetos que comparten los mismos
  atributos, operaciones, relaciones y
  semántica.




 Son una abstracción de las cosas que
  forman parte del vocabulario del dominio.
Clases
 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
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
Clases
Atributo
 Es una propiedad, cualidad o característica asociada a
   una clase, identificada por un nombre que describe un
   rango de valores que puede tomar la propiedad.

 El nombre de un atributo es un nombre corto o
  expresión nominal extraída del dominio.
   Por lo general se suele poner la primera letra de cada
      palabra en mayúsculas, excepto de la primera
      (precio; tipoProducto)

 Junto al nombre se pueden incluir otras características
  (tipo, valor por defecto, etc.)
Clases
Operación
 Es una implementación de un servicio que puede ser
  requerido a cualquier objeto de la clase para que
  muestre un comportamiento.

 Generalmente la invocación de una operación sobre
  un objeto produce un cambio en los datos o el estado
  de éste.

 El nombre de una operación es un verbo o expresión
  verbal extraído del dominio.
   Por lo general se suele poner la primera letra de cada
      palabra en mayúsculas, excepto de la primera
      (comprar; calcularImporte)
Clases
Operación
  Junto al nombre se puede especificar su
  signatura.

   Nombre, tipo y valores por defecto de los
    parámetros y en ciertos casos necesarios tipo de
    retorno.
Clases
Especificación de una clase

 Para facilitar la comprensión no se suelen
  mostrar todos los atributos y operaciones
  de la clase, o incluso a veces sólo se
  muestra el nombre de la clase.

   Se puede indicar explícitamente que hay más
    atributos o propiedades mediante: ...
Clases
Identificación de clases

  El objetivo es identificar los conceptos
  significativos del dominio.
  Dos posibles estrategias:
   A partir de una lista de categorías.
   A partir de identificación de frases
    nominales.
Clases
Identificación de frases nominales
   Este método consiste en identificar en las descripciones
   textuales del dominio nombre o frases nominales y
   considerarlas como conceptos.

    En esta estructura los verbos representan
  asociaciones entre conceptos.

Ejemplo.-
               El cliente realiza los pedidos

            CLIENTE         REALIZA             PEDIDO
Clases
Errores y problemas en la identificación
 de clases
Incorporación de documentos como clases.
  Incorporarlos sólo si cumplen un papel especial
   respecto a las reglas del negocio (ejemplo.- un
   recibo de compra puede ser necesario para
   realizar una devolución).

Distinción entre atributo y clase.
 Si el concepto identificado no se describe
  mediante un simple número o texto
  descriptivo, posiblemente sea una clase.
Clases: Encapsulación
 La encapsulación presenta dos ventajas
 básicas:
  Se protegen los datos de accesos indebidos
  El acoplamiento entre las clases se disminuye
  Favorece la modularidad y el mantenimiento

 Los atributos de una clase no deberían ser
 manipulables directamente por el resto de
 objetos
…Clases: Encapsulación
 Los niveles de encapsulación están heredados de los
  niveles de C++:
   (-) Privado : es el más fuerte. Esta parte es
    totalmente invisible (excepto para clases friends en
    terminología C++)

   (#) Los atributos/operaciones protegidos están
   visibles para las clases friends y para las clases
   derivadas de la original

   (+) Los atributos/operaciones públicos son
   visibles a otras clases (cuando se trata de atributos
   se está transgrediendo el principio de encapsulación)
Relaciones entre Clases
 Los enlaces entre objetos pueden representarse entre
  las respectivas clases

 Expresa una conexión entre las clases del dominio.

 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

Más contenido relacionado

La actualidad más candente

java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )brayan0015
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objetoboncastell
 
DIAGRAMA DE CLASES
DIAGRAMA DE CLASESDIAGRAMA DE CLASES
DIAGRAMA DE CLASESBiingeSof
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospontifica
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesstill01
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 

La actualidad más candente (20)

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
UML
UMLUML
UML
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
DIAGRAMA DE CLASES
DIAGRAMA DE CLASESDIAGRAMA DE CLASES
DIAGRAMA DE CLASES
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Elementos De Una Clase
Elementos De Una ClaseElementos De Una Clase
Elementos De Una Clase
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 

Destacado

Base de datos
Base de datosBase de datos
Base de datoscaoxman
 
metodologia de diseño de base de datos
metodologia de diseño de base de datosmetodologia de diseño de base de datos
metodologia de diseño de base de datosemnero
 
Relaciones en una base de datos
Relaciones en una base de datosRelaciones en una base de datos
Relaciones en una base de datoskabinfive
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
DiseñO De Sitemas
DiseñO De SitemasDiseñO De Sitemas
DiseñO De Sitemaslincoln25
 

Destacado (8)

base de datos
base de datosbase de datos
base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Dise O Conceptual
Dise O ConceptualDise O Conceptual
Dise O Conceptual
 
Tema6
Tema6Tema6
Tema6
 
metodologia de diseño de base de datos
metodologia de diseño de base de datosmetodologia de diseño de base de datos
metodologia de diseño de base de datos
 
Relaciones en una base de datos
Relaciones en una base de datosRelaciones en una base de datos
Relaciones en una base de datos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
DiseñO De Sitemas
DiseñO De SitemasDiseñO De Sitemas
DiseñO De Sitemas
 

Similar a Análisis y diseño oo con umldclases

Similar a Análisis y diseño oo con umldclases (20)

clases
clasesclases
clases
 
Clases 2
Clases 2Clases 2
Clases 2
 
Diagramadeclase
DiagramadeclaseDiagramadeclase
Diagramadeclase
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Tutorial uml
Tutorial umlTutorial uml
Tutorial uml
 
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
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clase 17
Clase 17Clase 17
Clase 17
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Clases
ClasesClases
Clases
 
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
 
1 2 5 Modelando Clases
1 2 5 Modelando Clases1 2 5 Modelando Clases
1 2 5 Modelando Clases
 
Portafolio ingenieria de software ii
Portafolio ingenieria de software iiPortafolio ingenieria de software ii
Portafolio ingenieria de software ii
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
Guía
GuíaGuía
Guía
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basico
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 

Último

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Último (20)

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Análisis y diseño oo con umldclases

  • 1. Análisis y Diseño OO con UML Diagramas de Clases
  • 2. CLASES Modelado Conceptual: Organización del conocimiento del dominio del problema en un conjunto de abstracciones ordenadas de forma que se obtiene un conocimiento más profundo del problema
  • 3. Clasificación  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
  • 4. ¿Qué es una Clase?  Es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.  Son una abstracción de las cosas que forman parte del vocabulario del dominio.
  • 5. Clases  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
  • 6. 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
  • 7. Clases Atributo  Es una propiedad, cualidad o característica asociada a una clase, identificada por un nombre que describe un rango de valores que puede tomar la propiedad.  El nombre de un atributo es un nombre corto o expresión nominal extraída del dominio.  Por lo general se suele poner la primera letra de cada palabra en mayúsculas, excepto de la primera (precio; tipoProducto)  Junto al nombre se pueden incluir otras características (tipo, valor por defecto, etc.)
  • 8. Clases Operación  Es una implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre un comportamiento.  Generalmente la invocación de una operación sobre un objeto produce un cambio en los datos o el estado de éste.  El nombre de una operación es un verbo o expresión verbal extraído del dominio.  Por lo general se suele poner la primera letra de cada palabra en mayúsculas, excepto de la primera (comprar; calcularImporte)
  • 9. Clases Operación Junto al nombre se puede especificar su signatura.  Nombre, tipo y valores por defecto de los parámetros y en ciertos casos necesarios tipo de retorno.
  • 10. Clases Especificación de una clase  Para facilitar la comprensión no se suelen mostrar todos los atributos y operaciones de la clase, o incluso a veces sólo se muestra el nombre de la clase.  Se puede indicar explícitamente que hay más atributos o propiedades mediante: ...
  • 11. Clases Identificación de clases El objetivo es identificar los conceptos significativos del dominio. Dos posibles estrategias:  A partir de una lista de categorías.  A partir de identificación de frases nominales.
  • 12. Clases Identificación de frases nominales Este método consiste en identificar en las descripciones textuales del dominio nombre o frases nominales y considerarlas como conceptos. En esta estructura los verbos representan asociaciones entre conceptos. Ejemplo.- El cliente realiza los pedidos CLIENTE REALIZA PEDIDO
  • 13. Clases Errores y problemas en la identificación de clases Incorporación de documentos como clases. Incorporarlos sólo si cumplen un papel especial respecto a las reglas del negocio (ejemplo.- un recibo de compra puede ser necesario para realizar una devolución). Distinción entre atributo y clase. Si el concepto identificado no se describe mediante un simple número o texto descriptivo, posiblemente sea una clase.
  • 14. Clases: Encapsulación  La encapsulación presenta dos ventajas básicas:  Se protegen los datos de accesos indebidos  El acoplamiento entre las clases se disminuye  Favorece la modularidad y el mantenimiento  Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos
  • 15. …Clases: Encapsulación  Los niveles de encapsulación están heredados de los niveles de C++:  (-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminología C++)  (#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original  (+) Los atributos/operaciones públicos son visibles a otras clases (cuando se trata de atributos se está transgrediendo el principio de encapsulación)
  • 16. Relaciones entre Clases  Los enlaces entre objetos pueden representarse entre las respectivas clases  Expresa una conexión entre las clases del dominio.  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