SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Ó UML por sus siglás en inglés
(Unified Modeling Language)
Lenguaje Unificado de
Modelado (LUM)
Universidad Centroccidental “Lisandro Alvarado”
Decanato de Ciencias y Tecnología
Análisis de Sistemas
Departamento de Sistemas
Programación
Coordinación del Área de Programación Lapso 2013-1
Contenido Programático
UNIDAD II. Segunda Parte
Objetivo General
Aplicar los conceptos básicos de la POO, la técnica de
modelado orientado a objetos y la representación de las
clases en un lenguaje de programación.
Objetivos Específicos
• Aplicar una técnica de modelado del mundo real
mediante objetos, para la resolución de problemas,
siguiendo una notación UML.
• Identificar los componentes básicos de un diagrama de
clases.
• Emplear para un lenguaje de programación la
representación de las clases diagramadas en UML.
Contenido Programático
¿Qué es UML?
Diagramas UML
Diagrama del Clases
Elementos de Diagrama de Clases
Relaciones entre Clases
¿Qué es UML?
UML
Especificar
Construir Visualizar
Documentar
Un Lenguaje de Modelado Unificado
basado en una notación gráfica, que nos
permite:
Unificación de los métodos de
modelado orientados a objetos de
Booch, Rumbaugh (OMT:
Object Modeling Technique) y
Jacobson (OOSE: Object-
Oriented Sotfware Engineering) .
Diagramas UML
Modelado de Requisitos
• Caso de Uso
Modelado de Dinámica
• Secuencia
• Colaboración
Modelado de Objetos
• Objetos
• Clases
Modelado de Ciclo de Vida
• Estado
Modelado de Actividades
• Actividades
Modelado de la Arquitectura
• Componente
• Despliegue
Diagrama de Clases
Es un tipo de diagrama estático que describe la
estructura de un sistema mostrando sus clases,
atributos y las relaciones entre ellos.
Fecha
- dia : int
- mes : int
- anno : int
+ Fecha()
+ Fecha(d:int, m:int, a:int)
+ SetDia(d:int): void
+ SetMes(m:int) : void
+ SetAnno(a:int) : void
+ GetDia():int
+ GetMes():int
+ GetAnno():int
Atributos
Métodos
Nombre
Privado (-)
Público (+)
Protegido (#)
Representación de una Clase en UML
Elementos de un
Diagrama de Clases
• Representa una propiedad de una entidad.
Cada atributo de un objeto tiene un valor
que pertenece a un dominio de valores
determinado.
• Las sintaxis de una atributo es:
Visibilidad <nombre>: tipo = valor
inicial
Atributos
• El conjunto de operaciones que describen
el comportamiento de los objetos de una
clase.
• La sintaxis de una operación en UML es:
visibilidad <nombre> (lista de
parámetros) : tipo de retorno
Métodos
Relaciones entre Clases
Existen tipos de relaciones entre clases entre ellas:
Dependencia
Agregación
Generalización
Composición
Relaciones entre Clases
Relación de Dependencia ó Uso
• Una relación de uso sucede cuando la clase utilizada envía mensajes a
la clase utilizadora, pero la clase utilizada no se almacena en una de las
variables de la instancias de la clase utilizadora.
• Por su parte, la clase utilizada se pasa a la clase utilizadora por alguna
tercera parte, como un argumento (parámetro) de uno de los métodos
de la clase utilizadora.
• Cuando una clase necesita hacer uso de otra clase pero no necesita
incorporar esa clase en su propia estructura.
Clase
Utilizadora
Clase
Utilizada
Relaciones entre Clases
(Relación de Uso-UML)
• La Asociación de Beisbol Juvenil requiere un programa que lleve el registro de
sus jóvenes. Por cada Joven se conoce su edad y nacionalidad. Se desea
Mostrar por cada Joven: si es admitido o no (es admitido siempre y cuando sea
venezolano y su edad esté entre 18 y 21 años). Por la Asociación: mostrar el
porcentaje de jóvenes admitidos.
El método ProcesarJoven recibe como parámetro un objeto de la clase Joven,
con el propósito de solicitarle la información que necesita para realizar sus
operaciones, como son: contar jóvenes y contar jóvenes admitidos.
Principal.cpp
Asociacion.cpp
Relaciones entre Clases
(Relación de Uso - C++)
Relaciones entre Clases
Relación de Agregación
• Implica en su significado que una clase Todo “contiene” “tiene”o
“posee” otra(s) clase(s) independiente(s), llamada(s) Parte(s).
• Es una relación que no exige dependencia existencial y se denota
por un rombo o diamante sin rellenar del lado de la clase Todo.
• Los objetos se consideran prácticamente como independientes y
aún así están ligados.
• El tiempo de vida de cada uno de los objetos es independiente.
La clase Todo contiene a la
clase Parte
Relaciones entre Clases
(Relación de Agregación - UML)
• Se conoce de cada uno de los estudiantes de una sección su cedula y nota
final. Se desea conocer para dicha sección el porcentaje de aprobados, el
porcentaje de aplazados y promedio de notas.
El método ProcesarEstudiante crea un objeto de la clase Estudiante, con el
propósito de solicitarle la información que necesita para realizar sus
operaciones, como son: acumular nota, contar aprobados y contar aplazados
Relaciones entre Clases
(Relación de Agregación – C++)
Seccion.cpp
Principal.cpp
Relaciones entre Clases
Relación de Generalización
• Son relaciones que implican en su significado que una clase “es un tipo de”
otra clase.
• La relación de generalización denota una relación de herencia entre clases.
• La subclase hereda todos los atributos y métodos descritos en la superclase y
puede tener sus propios atributos y métodos.
• Se representa dibujando un triángulo sin rellenar en el lado de la superclase.
La clase CuentaAhorro
es un tipo de la clase
CuentaBancaria.
Relaciones entre Clases
Relación de Composición
• Son relaciones que implican en su significado que una clase “está
compuesta por” otras clases dependientes.
• Cuando deja de existir la clase compuesta, deja de existir el resto de las clases
de la composición.
• Se denota dibujando un rombo o diamante relleno del lado de la clase que
contiene a la otra en la relación (clase Todo).
• Al implementar una relación de composición la(s) clase(s) Parte(s) son
atributos de la clase Todo.
La clase Todo está
compuesta por la clase
Parte
Relaciones entre Clases
(Relación de Composición)
• Ejemplo: La Universidad está compuesta por varios decanatos, …
• En esta relación, una Universidad puede tener varios Decanatos
y si esta deja de existir, no tiene sentido la existencia de los
Decanatos por separado.
En un hotel se desea determinar ciertas estadísticas con respecto a los
clientes que se matriculan a diario. Se conoce de cada cliente: cedula,
tipo de habitación que solicita (1=Doble, 2=Triple, 3=Cuádruple), tipo de
pago (‘C’=Cheque, ‘D’=Depósito) y región de procedencia (1=Andes,
2=Llanos, 3=Oriente, 4=Central).Los precios según el tipo de habitación
son los siguientes: (1= Bs. 200, 2= Bs. 300, 3= Bs. 400, 4= Bs. 500).
Además se conoce que si el cliente pertenece a la región de Los Llanos
tiene un descuento de un 10% en el costo de la habitación. Al final del día
el hotel desea conocer: a) por cliente: monto a pagar por la habitación, b)
por el hotel: Tipo de pago más usado, Monto total de las ventas.
La Academia Americana ofrece cursos en diversas áreas. Por cada curso
se conoce nombre, área al que pertenece (1=Hogar, 2=Contabilidad,
3=Salud, 4=Informática), turno (‘D’=Diurno, ‘N’=Nocturno) y duración (1=8
horas, 2=16 horas, 3=32 horas, 4=42 horas). Los precios del curso según
el área que pertenece son los siguientes: (1= Bs. 200, 2= Bs. 300, 3= Bs.
400, 4= Bs. 500). Además se conoce que si la duración del curso es de
42 horas, el precio del curso tiene un descuento del 15%. Al final del día
la academia desea conocer: Porcentaje de cursos del área de
informática, Monto total cancelado.
Ejercicios Propuestos
Elaborar el Diagrama de Clases y Programa en C++
Referencias Bibliográficas
• JOYANES, L y ZAHONERO, I. 2010.
Programación en C, C++, JAVA y UML. Mc
Graw Hill, Interamericana Editores, S.A. DE
C.V.
• JOYANES, L. 2006. Programación en C++.
Algoritmos, estructuras de datos y objetos.
2a Edición. Mc Graw Hill, Interamericana de
España, S.A.U.
Repasar lo visto en Clase.
Realizar Ejercicios Propuestos.
Próxima Clase
El éxito está en la vida que uno lleva, en cómo vive, cómo goza,
cómo se integra, cómo disfruta de las pequeñas cosas.
Laura Esquivel

Weitere ähnliche Inhalte

Was ist angesagt?

Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Fundamentos programacion poo
Fundamentos programacion pooFundamentos programacion poo
Fundamentos programacion pooRicardo Garcia
 
02 examen diagnóstico bd
02 examen diagnóstico bd02 examen diagnóstico bd
02 examen diagnóstico bdJosé Mendoza
 
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 UMLLuis Fernando Aguas Bucheli
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Diagramas de despliegue
Diagramas de despliegueDiagramas de despliegue
Diagramas de desplieguegmjuan
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)programadorjavablog
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definicionesBoris Salleg
 
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
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracionstill01
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 

Was ist angesagt? (20)

Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Fundamentos programacion poo
Fundamentos programacion pooFundamentos programacion poo
Fundamentos programacion poo
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
02 examen diagnóstico bd
02 examen diagnóstico bd02 examen diagnóstico bd
02 examen diagnóstico bd
 
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
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Diagramas de despliegue
Diagramas de despliegueDiagramas de despliegue
Diagramas de despliegue
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 
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
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracion
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 

Andere mochten auch

Análisis y Diseño OO 1
Análisis y Diseño OO 1Análisis y Diseño OO 1
Análisis y Diseño OO 1Jano González
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas umlUVM
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLGabriel Cortez
 
Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5Grupo PHP Argentina
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 

Andere mochten auch (8)

Análisis y Diseño OO 1
Análisis y Diseño OO 1Análisis y Diseño OO 1
Análisis y Diseño OO 1
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UML
 
Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5Enrique Place: Introducción a POO / UML / PHP5
Enrique Place: Introducción a POO / UML / PHP5
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 

Ähnlich wie Clase4 poo-uml

S03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herenciaS03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herenciaelvisalberto2
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLCindy Adriana Bohórquez Santana
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instanciasCarlos Castro
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdfRicardoOByrne1
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado umlevelyna villamar
 
Logica computacional t
Logica computacional tLogica computacional t
Logica computacional tUPTC
 

Ähnlich wie Clase4 poo-uml (20)

Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
S03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herenciaS03.s2 - Relaciones entre clases herencia
S03.s2 - Relaciones entre clases herencia
 
UML Café
UML Café UML Café
UML Café
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
 
Clase 17
Clase 17Clase 17
Clase 17
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Uml - Caso práctico
Uml - Caso prácticoUml - Caso práctico
Uml - Caso práctico
 
Modelado con clases instancias
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 
3. Clases y Objetos.pdf
3. Clases y Objetos.pdf3. Clases y Objetos.pdf
3. Clases y Objetos.pdf
 
Uml diagrama clase objeto
Uml diagrama clase objetoUml diagrama clase objeto
Uml diagrama clase objeto
 
Programacion orientada a objetos parte 2
Programacion orientada a objetos parte 2Programacion orientada a objetos parte 2
Programacion orientada a objetos parte 2
 
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
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
UML traducción código PHP
UML traducción código PHPUML traducción código PHP
UML traducción código PHP
 
Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml
 
Logica computacional t
Logica computacional tLogica computacional t
Logica computacional t
 

Kürzlich hochgeladen

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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.pptxMiguelAtencio10
 
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 JUNITMaricarmen Sánchez Ruiz
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
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 eyvanamcerpam
 
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 estossgonzalezp1
 
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.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
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.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
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 UninoveFagnerLisboa3
 

Kürzlich hochgeladen (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
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
 
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
 
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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
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
 

Clase4 poo-uml

  • 1. Ó UML por sus siglás en inglés (Unified Modeling Language) Lenguaje Unificado de Modelado (LUM) Universidad Centroccidental “Lisandro Alvarado” Decanato de Ciencias y Tecnología Análisis de Sistemas Departamento de Sistemas Programación Coordinación del Área de Programación Lapso 2013-1
  • 2. Contenido Programático UNIDAD II. Segunda Parte Objetivo General Aplicar los conceptos básicos de la POO, la técnica de modelado orientado a objetos y la representación de las clases en un lenguaje de programación. Objetivos Específicos • Aplicar una técnica de modelado del mundo real mediante objetos, para la resolución de problemas, siguiendo una notación UML. • Identificar los componentes básicos de un diagrama de clases. • Emplear para un lenguaje de programación la representación de las clases diagramadas en UML.
  • 3. Contenido Programático ¿Qué es UML? Diagramas UML Diagrama del Clases Elementos de Diagrama de Clases Relaciones entre Clases
  • 4. ¿Qué es UML? UML Especificar Construir Visualizar Documentar Un Lenguaje de Modelado Unificado basado en una notación gráfica, que nos permite: Unificación de los métodos de modelado orientados a objetos de Booch, Rumbaugh (OMT: Object Modeling Technique) y Jacobson (OOSE: Object- Oriented Sotfware Engineering) .
  • 5. Diagramas UML Modelado de Requisitos • Caso de Uso Modelado de Dinámica • Secuencia • Colaboración Modelado de Objetos • Objetos • Clases Modelado de Ciclo de Vida • Estado Modelado de Actividades • Actividades Modelado de la Arquitectura • Componente • Despliegue
  • 6. Diagrama de Clases Es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Fecha - dia : int - mes : int - anno : int + Fecha() + Fecha(d:int, m:int, a:int) + SetDia(d:int): void + SetMes(m:int) : void + SetAnno(a:int) : void + GetDia():int + GetMes():int + GetAnno():int Atributos Métodos Nombre Privado (-) Público (+) Protegido (#) Representación de una Clase en UML
  • 7. Elementos de un Diagrama de Clases • Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado. • Las sintaxis de una atributo es: Visibilidad <nombre>: tipo = valor inicial Atributos • El conjunto de operaciones que describen el comportamiento de los objetos de una clase. • La sintaxis de una operación en UML es: visibilidad <nombre> (lista de parámetros) : tipo de retorno Métodos
  • 8. Relaciones entre Clases Existen tipos de relaciones entre clases entre ellas: Dependencia Agregación Generalización Composición
  • 9. Relaciones entre Clases Relación de Dependencia ó Uso • Una relación de uso sucede cuando la clase utilizada envía mensajes a la clase utilizadora, pero la clase utilizada no se almacena en una de las variables de la instancias de la clase utilizadora. • Por su parte, la clase utilizada se pasa a la clase utilizadora por alguna tercera parte, como un argumento (parámetro) de uno de los métodos de la clase utilizadora. • Cuando una clase necesita hacer uso de otra clase pero no necesita incorporar esa clase en su propia estructura. Clase Utilizadora Clase Utilizada
  • 10. Relaciones entre Clases (Relación de Uso-UML) • La Asociación de Beisbol Juvenil requiere un programa que lleve el registro de sus jóvenes. Por cada Joven se conoce su edad y nacionalidad. Se desea Mostrar por cada Joven: si es admitido o no (es admitido siempre y cuando sea venezolano y su edad esté entre 18 y 21 años). Por la Asociación: mostrar el porcentaje de jóvenes admitidos. El método ProcesarJoven recibe como parámetro un objeto de la clase Joven, con el propósito de solicitarle la información que necesita para realizar sus operaciones, como son: contar jóvenes y contar jóvenes admitidos.
  • 12. Relaciones entre Clases Relación de Agregación • Implica en su significado que una clase Todo “contiene” “tiene”o “posee” otra(s) clase(s) independiente(s), llamada(s) Parte(s). • Es una relación que no exige dependencia existencial y se denota por un rombo o diamante sin rellenar del lado de la clase Todo. • Los objetos se consideran prácticamente como independientes y aún así están ligados. • El tiempo de vida de cada uno de los objetos es independiente. La clase Todo contiene a la clase Parte
  • 13. Relaciones entre Clases (Relación de Agregación - UML) • Se conoce de cada uno de los estudiantes de una sección su cedula y nota final. Se desea conocer para dicha sección el porcentaje de aprobados, el porcentaje de aplazados y promedio de notas. El método ProcesarEstudiante crea un objeto de la clase Estudiante, con el propósito de solicitarle la información que necesita para realizar sus operaciones, como son: acumular nota, contar aprobados y contar aplazados
  • 14. Relaciones entre Clases (Relación de Agregación – C++) Seccion.cpp Principal.cpp
  • 15. Relaciones entre Clases Relación de Generalización • Son relaciones que implican en su significado que una clase “es un tipo de” otra clase. • La relación de generalización denota una relación de herencia entre clases. • La subclase hereda todos los atributos y métodos descritos en la superclase y puede tener sus propios atributos y métodos. • Se representa dibujando un triángulo sin rellenar en el lado de la superclase. La clase CuentaAhorro es un tipo de la clase CuentaBancaria.
  • 16. Relaciones entre Clases Relación de Composición • Son relaciones que implican en su significado que una clase “está compuesta por” otras clases dependientes. • Cuando deja de existir la clase compuesta, deja de existir el resto de las clases de la composición. • Se denota dibujando un rombo o diamante relleno del lado de la clase que contiene a la otra en la relación (clase Todo). • Al implementar una relación de composición la(s) clase(s) Parte(s) son atributos de la clase Todo. La clase Todo está compuesta por la clase Parte
  • 17. Relaciones entre Clases (Relación de Composición) • Ejemplo: La Universidad está compuesta por varios decanatos, … • En esta relación, una Universidad puede tener varios Decanatos y si esta deja de existir, no tiene sentido la existencia de los Decanatos por separado.
  • 18. En un hotel se desea determinar ciertas estadísticas con respecto a los clientes que se matriculan a diario. Se conoce de cada cliente: cedula, tipo de habitación que solicita (1=Doble, 2=Triple, 3=Cuádruple), tipo de pago (‘C’=Cheque, ‘D’=Depósito) y región de procedencia (1=Andes, 2=Llanos, 3=Oriente, 4=Central).Los precios según el tipo de habitación son los siguientes: (1= Bs. 200, 2= Bs. 300, 3= Bs. 400, 4= Bs. 500). Además se conoce que si el cliente pertenece a la región de Los Llanos tiene un descuento de un 10% en el costo de la habitación. Al final del día el hotel desea conocer: a) por cliente: monto a pagar por la habitación, b) por el hotel: Tipo de pago más usado, Monto total de las ventas. La Academia Americana ofrece cursos en diversas áreas. Por cada curso se conoce nombre, área al que pertenece (1=Hogar, 2=Contabilidad, 3=Salud, 4=Informática), turno (‘D’=Diurno, ‘N’=Nocturno) y duración (1=8 horas, 2=16 horas, 3=32 horas, 4=42 horas). Los precios del curso según el área que pertenece son los siguientes: (1= Bs. 200, 2= Bs. 300, 3= Bs. 400, 4= Bs. 500). Además se conoce que si la duración del curso es de 42 horas, el precio del curso tiene un descuento del 15%. Al final del día la academia desea conocer: Porcentaje de cursos del área de informática, Monto total cancelado. Ejercicios Propuestos Elaborar el Diagrama de Clases y Programa en C++
  • 19. Referencias Bibliográficas • JOYANES, L y ZAHONERO, I. 2010. Programación en C, C++, JAVA y UML. Mc Graw Hill, Interamericana Editores, S.A. DE C.V. • JOYANES, L. 2006. Programación en C++. Algoritmos, estructuras de datos y objetos. 2a Edición. Mc Graw Hill, Interamericana de España, S.A.U.
  • 20. Repasar lo visto en Clase. Realizar Ejercicios Propuestos. Próxima Clase El éxito está en la vida que uno lleva, en cómo vive, cómo goza, cómo se integra, cómo disfruta de las pequeñas cosas. Laura Esquivel