SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Técnicas de modelamiento


Modelo de Clases

Prof. César Luza Montero
Espacio de debate
 ¿Es importante para el usuario final si el
 sistema fue programado orientado a
 objetos o estructurado?
 Entonces. ¿A quién interesa el paradigma
 de programación utilizado para su
 desarrollo?
Paradigma estructurado
El sistema se modela como un conjunto de
procedimientos que intercambian
información.
Datos y lógica por separado



        Diagrama de Flujos de Datos
Paradigma Orientado a Objetos

  El sistema se modela como un conjunto de
  objetos que intercambian mensajes.
  Datos y lógica encapsulados en clases

   o1          o4          o3
        M1.4
                    M1.3
Conceptos O-O
 Objetos
 Clases
 Atributos y Operaciones
 Asociaciones y enlaces
 Generalización y Agregación
¿Qué es un Objeto?
• Informalmente, un objeto representa una entidad física,
  conceptual o programa

    Entidad física                        Entidad conceptual



        Camión                                   Proceso Químico




    Entidad
    Programa
                         Lista Enlazada
Objeto

 Persona     Persona     Vehículo      Vehículo
Juan        María       Ford          Chevrolet
García      Reyes       Mustang       Corsa
Rodríguez   Hernández   Blanco        Azul
Masculino   Femenino    SX-54852545   425-AB-8455
15          45
                        mover()       mover()
comer()     comer()     abrir()       abrir()
beber()     beber()     girar()       girar()
dormir()    dormir()    detener()     detener()
Una definición formal
• Un objeto es un concepto, una abstracción o una cosa
  con límites bien definidas y significado para una
  aplicación

• Un objeto es algo que tiene:
   –   Estado
   –   Comportamiento
   –   Identidad
Un Objeto tiene Estado
• El estado de un objeto es una de las posibles condiciones en que
  el objeto puede existir
• El estado normalmente cambia en el transcurso del tiempo
• El estado de un objeto es implementado por un conjunto de
  propiedades (llamadas atributos), con los valores de las
  propiedades, además de las conexiones que deben tener con
  otros objetos

  a + b = 10
                               Nombre:            Joyce Clark
                               Nº Empleado:       567138
                               Fecha de Contr.:   21 de marzo 1987
                               Estado:            Adjunto

 Profesor Clark
Estado

  Persona     Persona     Vehículo      Vehículo

Juan        Juan        Ford          Ford
García      García      Mustang       Mustang
Rodríguez   Rodríguez   Blanco        Rojo
Masculino   Masculino   SX-54852545   SX-54852545
15          32
                        mover()       mover()
                        abrir()       abrir()
comer()     comer()
                        girar()       girar()
beber()     beber()
                        detener()     detener()
dormir()    dormir()
Un Objeto tiene Comportamiento

• El comportamiento de un objeto determina
  cómo éste actúa y reacciona frente a las
  peticiones de otros objetos
• El comportamiento de un objeto es modelado
  por un conjunto de mensajes a los que puede
  responder (las operaciones que el objeto
  puede realizar)
Paso de mensajes

 Invocación de métodos
 Medio de colaboración
 entre objetos



                            Conectar()
         :MandoADistancia                :Televisor
                             Canal(4)
Un Objeto tiene Identidad
        • Cada objeto tiene una identidad única, incluso
          si su estado es idéntico al de otro objeto




Profesor “J Perez”   Profesor “J Perez”   Profesor “M Molina”
 enseña Algebra       enseña Algebra      enseña Matemátcias
¿Qué son las Clases?
• Hay muchos objetos identificados para cada
  dominio
• Una clase es una descripción de un grupo de
  objetos con propiedades en común (atributos),
  comportamiento similar (operaciones), la
  misma manera de relacionarse entre objetos
  (asociaciones y agregados) y una semántica
  en común
   – Un objeto es una instancia de una clase
Clases
 Representan un conjunto de objetos con
 características comunes.
                       COMPUTADORAS
   LIBROS
Clase

  Persona           Nombre
nombre
apellido materno
apellido paterno    Atributos
sexo
edad
comer()
beber()            Operaciones
dormir()
Clase

          Nombre        Vehículo
                      marca
                      modelo
         Atributos    color
                      número de serie
                      mover()
                      abrir()
        Operaciones   girar()
                      detener()
Clases y Objetos
 ¿Cuántas clases ve?
Clases y Objetos

 Clase :          Objeto:
 •   Lavadora,      • Mi lavadora,
 •   Automóvil,     • Auto de placa SGC437,
 •   Persona,       • Luis Quispe Garcia,
 •   Factura,       • Factura Nro. 12345.,
 •   Pedido.        • Pedido Nro. 54321
Atributos

Un atributo es una propiedad de una clase y
describe un rango de valores que la propiedad
podrá contener en los objetos de la clase.
 Atributos de la Clase   Valores en Objeto: Mi
 Lavadora:               lavadora:
    Marca,                  laundatorium,
    Modelo,                 washmeister,
    Número de serie,        GL57774 ,
    Capacidad.
    Capacidad               7 kg.
Operaciones

Una operación es algo que la clase puede realizar o
que otra clase puede hacer a una clase.
Es una función o transformación que se puede
aplicar o que puede ser aplicada por los objetos de
una clase.
Ejemplo : Lavadora
•   Agregar ropa,
•   Agregar detergente,
•   Secar ropa.
Tarea
 Proporcione Ud. 5 ejemplos de
 •   Clase,
 •   objetos,
 •   atributos y
 •   operaciones
Clase y objeto Conceptual


    Lavadora       miLavadora: Lavadora
marca            marca = “Laundatorium”
modelo           modelo = “Washmeister”
numeroSerie      numeroSerie = “GLS7774”
capacidad
                 capacidad = 16
agregarRopa ()
agregarDeter()
secarRopa()
Clase y objeto en UML

        Cuenta          Nombre de la Clase
  numeroCuenta
  saldo                   Atributos
  fechaApertura
  saldoPromedio
  abrir()
  consignar()            Operaciones
  suspender()
  sobregirar()

                  miCuenta : Cuenta
Enlaces y Asociaciones

 Las entidades o cosas del mundo real se
 relacionan con otras entidades.
 A las relaciones entre objetos se les llama
 enlaces.
 A las relaciones entre clases se les llama
 asociaciones.
 Ej. “ Jugador participa en Equipo”
 Ej. “ Claudio Pizarro participa en Bayern Munich”
Asociaciones

                   Participa en
    Jugador                                  Equipo




   Un cliente puede tener asociadas muchas Ordenes de
  Un cliente puede tener asociadas muchas Ordenes de
   Compra, en cambio una orden de compra solo puede
  Compra, en cambio una orden de compra solo puede
  tener asociado un cliente..
   tener asociado un cliente
Multiplicidad
Cantidad de objetos de una clase que se
relaciona con un objeto de la clase asociada.

    Jugador    11   Participa en   1   Equipo
... Multiplicidad

 Esposo    1 Casado con       1 Esposa      Uno a uno
            1 Enseña      *
                               Estudiante   Uno a muchos
 Maestro

 Cajero    1   Atiende 1..* Cliente         Uno a uno o más

                                            Uno a ninguno o
 Casa      1 Tiene      0,1 Chimenea
                                            uno
           1 Contiene     12 Huevos         Uno a 12
 Caja
Clase asociación

   Empresa    *                       1..*   Persona
              empleador           empleado



                            Empleo
                          descripción
                          salario
                          fechaContrato
Clases que representan propiedades y operaciones
              propios de la relación
Enlaces

Un enlace es una instancia de una asociación

                   Participa en
 J. Jayo Jugador                  Alianza Lima : Equipo
Elementos de una asociación
                             roles


   Compañia   empleador_de   emplea     empleado
                                                   Persona

              0..1                           *
                     Nombre                        owner   1
                     asociación
                                      dirección de
                                      navegación
               multiplicidad                            *
                                                   Password
Generalización/Especialización

Una clase (subclase) es un subtipo de otra
clase (superclase).
Indica que una subclase hereda los métodos
y atributos especificados por una
Superclase.
Generalización
                              Persona
                        nombre
                        apellido materno
                        apellido paterno
Superclase              sexo
                        edad
                        comer()
                        beber()
                        dormir()



           Estudiante                           Trabajador
      grado
                           Subclases       profesión
      colegio                              centro de trabajo
                                           salario
      matricular()
      estudiar()                           trabajar()
                                           cobrar()
Generalización/Especialización
   ¿Qué significa el siguiente diagrama?
...Generalización
                   Animal




     Anfibio       Mamifero         Reptil



                  Caballo


Relación: subclase “es un tipo de” con la superclase
Ejemplo de generalización

                        Persona




              Cliente             Proveedor

Aumento de
abstracciòn
Ejemplo de especialización

                            Cliente




                minorista             mayorista

  Abstracción
  descendente
Agregación
 Una clase consta de otras clases.
 Es una relación entre clases componentes
 asociada a una clase ensamble completo.
 Ejemplo: Un microcomputadora esta compuesta
 por :
 •   Un Monitor,
 •   Caja del Sistema,
 •   Uno o ningun ratón y
 •   Un teclado.
...Agregación
                   Computadora



    1            1              1          0,1
  Monitor       Cases         Teclado      Mouse



    CPU         RAM           Ventilador

Relación: subclase “es parte de” con la superclase
Agregación / composición
                                                    Pais
                    PC



                                                    Dpto
 Monitor Chasis Mouse Teclado


                                                  Municipio
Agregación : la existencia de las partes es
independiente de la existencia del todo (débil)
Composición : la existencia de las partes
depende de la existencia del todo. (fuerte)
Ejemplo - diagrama de clase

                Cuenta                +detalles
              nroCuenta           genera
                                                HistoriaMovimientos
              saldo
              fecha apertura 1..1          *




     Corriente                Ahorro
   topeSobregiro           saldoTrimestral
                           interes
Construcción de Diagrama de clases
Identificar las clases
 • Se seleccionan los sustantivos de la descripción del problema como
   posibles clases candidatas. Se construye una lista.
 • Se eliminan las clases redundantes, irrelevantes o vagas o bien por ser
   atributos, operaciones o construcciones de implementación.
Identificar las asociaciones entre clases.
 • Se le agrega la multiplicidad correcta.
 • También se puede representar la relación " es parte de" o agregación.
Identificar atributos.
Organizar y simplificar clases usando herencia.
 •   La herencia se puede usar para generalizar los aspectos comunes de las clases
     existentes construyendo una superclase, o para refinar una clase en subclases
     especializadas.
Verificar que el diagrama responda a los requerimientos.
Iterar y refinar el modelo.
Caso empresa de fabricación
                  Construcción de Diagrama de clases


Una empresa recién formada se dedica a integrar partes para formar productos,
con la intención de vender el valor agregado de la integración. Un relevamiento
preliminar describe los datos esenciales de la organización con el fin de realizar
un sistema computarizado para disminuir costos y responder con más agilidad.
Un texto informal enuncia los datos principales y sus relaciones. Se necesita
realizar un Class Diagram de UML para asegurarse de minimizar las
ambigüedades, vaguedades y facilitar la comunicación mediante un estándar;
éste es su trabajo.
Caso empresa de fabricación
                  Construcción de Diagrama de clases
Un producto tiene un nombre y un precio base. Un producto se forma
con muchas partes y cada parte puede formar muchos productos. La
definición de cada producto especifica qué cantidad de cada parte forma
a un producto dado.
Un vendedor tiene un apellido, nombre y un porcentual de comisión.
Tanto un cliente como un proveedor tienen los datos de todo agente
comercial; éstos son: cuit, razón social, e-mail, teléfono y dirección.
Además, un proveedor tiene un plazo de pago y un cliente un porcentual
de descuento.
Una parte puede ser comprada a muchos proveedores y un proveedor
puede proveer muchas partes. Cada compra de una parte tiene una
fecha y una cantidad. Una venta se realiza entre cualquier vendedor y
cualquier cliente, y éste puede comprar cualquier producto. De una venta
se quiere saber su fecha.
No se pueden vender productos que estén formados por una única
parte, esto es, no se permite vender productos sin elaborar .
Caso empresa de fabricación
                      Clases identificadas



           producto




vendedor                    parte

                                             proveedor

 cliente              agenteComercial
Caso empresa de fabricación
 Asociaciones
            producto 1..*        se forma     1..* parte
vendedor

                 0..*
                                                     0..*



                se vende

                                                 Se compra



                            agenteComercial




                0..*                                  0..*

                cliente                         proveedor
Caso empresa de fabricación
  atributos

vendedor      producto                                     parte
              nombre     1..*        se forma     1..*    numParte
apellido
nombre        precioBase                                  descripción
porcComis
               0..*
                                agenteComercial               0..*
              se vende
                                 cuit
                                 razSocial               Se compra
                                 email
                                 telf
                                 direcc




                                                               0..*
              0..*
              cliente                                    proveedor
              porcDesc                                   plazoPago
Caso empresa de fabricación
             organizar: clases asociación, herencia

vendedor            producto                                     parte
                    nombre     1..*        se forma     1..*   numParte
apellido
nombre              precioBase                                 descripción
porcComis
                     0..*                                           0..*
                                          definición
     1
participa
                    se vende
      0..*
                                                               Se compra     compra
                                      agenteComercial
 venta
                                        cuit
                                        razSocial
                                        email
                                        telf
                                        direcc



                     0..*                                            0..*
                     cliente                                   proveedor
                     porcDesc                                  plazoPago
vendedor     producto                                     parte
             nombre     1..*        se forma     1..*   numParte
apellido
nombre       precioBase                                 descripción
porcComis
              0..*                 definición                0..*
     1                              cantidad
participa
             se vende
                                                                      compra
      0..*                                              Se compra      fecha
                               agenteComercial
 venta                                                                 cantidad
                                cuit
  fecha                         razSocial
                                email
                                telf
                                direcc



             0..*                                             0..*
             cliente                                    proveedor
             porcDesc                                   plazoPago

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Diagrama uml ing software i promecys
Diagrama uml ing software i promecysDiagrama uml ing software i promecys
Diagrama uml ing software i promecys
 
JSP
JSP JSP
JSP
 
Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De Negocio
 
Ssoo cuadro comparativo
Ssoo  cuadro comparativoSsoo  cuadro comparativo
Ssoo cuadro comparativo
 
Glosario de terminos del modelo entidad relacion extendido
Glosario de terminos del modelo entidad relacion extendidoGlosario de terminos del modelo entidad relacion extendido
Glosario de terminos del modelo entidad relacion extendido
 
Elementos del escenario
Elementos del escenarioElementos del escenario
Elementos del escenario
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
Análisis y diseño de sistemas sesion 15 - casos de estudio
Análisis y diseño de sistemas   sesion 15 - casos de estudioAnálisis y diseño de sistemas   sesion 15 - casos de estudio
Análisis y diseño de sistemas sesion 15 - casos de estudio
 
Arquitectura integra 2
Arquitectura integra 2Arquitectura integra 2
Arquitectura integra 2
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Uml diagrama clase objeto
Uml diagrama clase objetoUml diagrama clase objeto
Uml diagrama clase objeto
 
diapositivas calzado ferrel
diapositivas calzado ferreldiapositivas calzado ferrel
diapositivas calzado ferrel
 
Diagrama de casos de uso
Diagrama de casos de usoDiagrama de casos de uso
Diagrama de casos de uso
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Caso de uso de caja negra
Caso de uso de caja negraCaso de uso de caja negra
Caso de uso de caja negra
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Documento Vision
Documento VisionDocumento Vision
Documento Vision
 
Terminologia de la POO
Terminologia de la POOTerminologia de la POO
Terminologia de la POO
 

Andere mochten auch

2 1 1 Definiendo Clases
2 1 1 Definiendo Clases2 1 1 Definiendo Clases
2 1 1 Definiendo ClasesUVM
 
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
 
Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Andres Garcia Garcia
 
Variables y metodos de instancia
Variables y metodos de instanciaVariables y metodos de instancia
Variables y metodos de instanciaRobert Wolf
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Daniel Gómez
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetosRenny Batista
 
Ecuaciones Cuadraticas
Ecuaciones CuadraticasEcuaciones Cuadraticas
Ecuaciones Cuadraticaseccutpl
 
Como programar java, 9na edicion deitel
Como programar java, 9na edicion   deitelComo programar java, 9na edicion   deitel
Como programar java, 9na edicion deitelSantos Isaias Itc
 

Andere mochten auch (18)

2 1 1 Definiendo Clases
2 1 1 Definiendo Clases2 1 1 Definiendo Clases
2 1 1 Definiendo Clases
 
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
 
Paradigma orientado a objetos
Paradigma orientado a objetosParadigma orientado a objetos
Paradigma orientado a objetos
 
METODOS
METODOSMETODOS
METODOS
 
Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6Introducción a la programación y la informática. Tema 6
Introducción a la programación y la informática. Tema 6
 
Variables y metodos de instancia
Variables y metodos de instanciaVariables y metodos de instancia
Variables y metodos de instancia
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
POO
POOPOO
POO
 
Clase math.java
Clase math.javaClase math.java
Clase math.java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 
MéTodos En Java
MéTodos En JavaMéTodos En Java
MéTodos En Java
 
Transp objetos
Transp objetosTransp objetos
Transp objetos
 
Ecuaciones Cuadraticas
Ecuaciones CuadraticasEcuaciones Cuadraticas
Ecuaciones Cuadraticas
 
Taller 1 3
Taller 1 3Taller 1 3
Taller 1 3
 
Java
JavaJava
Java
 
Como programar java, 9na edicion deitel
Como programar java, 9na edicion   deitelComo programar java, 9na edicion   deitel
Como programar java, 9na edicion deitel
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 

Ähnlich wie Tm04 modelo de clases

Ähnlich wie Tm04 modelo de clases (20)

Investigacion
InvestigacionInvestigacion
Investigacion
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
 
POO con PHP
POO con PHPPOO con PHP
POO con PHP
 
Poo
PooPoo
Poo
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Uml orientada a objetos
Uml orientada a objetosUml orientada a objetos
Uml orientada a objetos
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Clase 4 conceptos poo
Clase 4 conceptos pooClase 4 conceptos poo
Clase 4 conceptos poo
 
Introduccion orientación a objetos
Introduccion orientación a objetosIntroduccion orientación a objetos
Introduccion orientación a objetos
 
Cap3.0
Cap3.0Cap3.0
Cap3.0
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Clases y Objetos
Clases y ObjetosClases y Objetos
Clases y Objetos
 
Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)Unidad 1 Programación Orientada a Objetos (Programación III)
Unidad 1 Programación Orientada a Objetos (Programación III)
 
Java
JavaJava
Java
 
Construcción de una ontología OWL con protégé 4
Construcción de una ontología OWL con protégé 4Construcción de una ontología OWL con protégé 4
Construcción de una ontología OWL con protégé 4
 
Analisis de la PPO
Analisis de la PPOAnalisis de la PPO
Analisis de la PPO
 

Mehr von Julio Pari

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Julio Pari
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesJulio Pari
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesJulio Pari
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCJulio Pari
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMJulio Pari
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic EnterpriseJulio Pari
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioJulio Pari
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoJulio Pari
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de ArquitecturaJulio Pari
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISIJulio Pari
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIJulio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasJulio Pari
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIJulio Pari
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaJulio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialJulio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialJulio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bdJulio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sqlJulio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuarioJulio Pari
 

Mehr von Julio Pari (20)

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPC
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSM
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic Enterprise
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor Osorio
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de Arquitectura
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
 
UML Java
UML JavaUML Java
UML Java
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
 

Tm04 modelo de clases

  • 1. Técnicas de modelamiento Modelo de Clases Prof. César Luza Montero
  • 2. Espacio de debate ¿Es importante para el usuario final si el sistema fue programado orientado a objetos o estructurado? Entonces. ¿A quién interesa el paradigma de programación utilizado para su desarrollo?
  • 3. Paradigma estructurado El sistema se modela como un conjunto de procedimientos que intercambian información. Datos y lógica por separado Diagrama de Flujos de Datos
  • 4. Paradigma Orientado a Objetos El sistema se modela como un conjunto de objetos que intercambian mensajes. Datos y lógica encapsulados en clases o1 o4 o3 M1.4 M1.3
  • 5. Conceptos O-O Objetos Clases Atributos y Operaciones Asociaciones y enlaces Generalización y Agregación
  • 6. ¿Qué es un Objeto? • Informalmente, un objeto representa una entidad física, conceptual o programa Entidad física Entidad conceptual Camión Proceso Químico Entidad Programa Lista Enlazada
  • 7. Objeto Persona Persona Vehículo Vehículo Juan María Ford Chevrolet García Reyes Mustang Corsa Rodríguez Hernández Blanco Azul Masculino Femenino SX-54852545 425-AB-8455 15 45 mover() mover() comer() comer() abrir() abrir() beber() beber() girar() girar() dormir() dormir() detener() detener()
  • 8. Una definición formal • Un objeto es un concepto, una abstracción o una cosa con límites bien definidas y significado para una aplicación • Un objeto es algo que tiene: – Estado – Comportamiento – Identidad
  • 9. Un Objeto tiene Estado • El estado de un objeto es una de las posibles condiciones en que el objeto puede existir • El estado normalmente cambia en el transcurso del tiempo • El estado de un objeto es implementado por un conjunto de propiedades (llamadas atributos), con los valores de las propiedades, además de las conexiones que deben tener con otros objetos a + b = 10 Nombre: Joyce Clark Nº Empleado: 567138 Fecha de Contr.: 21 de marzo 1987 Estado: Adjunto Profesor Clark
  • 10. Estado Persona Persona Vehículo Vehículo Juan Juan Ford Ford García García Mustang Mustang Rodríguez Rodríguez Blanco Rojo Masculino Masculino SX-54852545 SX-54852545 15 32 mover() mover() abrir() abrir() comer() comer() girar() girar() beber() beber() detener() detener() dormir() dormir()
  • 11. Un Objeto tiene Comportamiento • El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos • El comportamiento de un objeto es modelado por un conjunto de mensajes a los que puede responder (las operaciones que el objeto puede realizar)
  • 12. Paso de mensajes Invocación de métodos Medio de colaboración entre objetos Conectar() :MandoADistancia :Televisor Canal(4)
  • 13. Un Objeto tiene Identidad • Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto Profesor “J Perez” Profesor “J Perez” Profesor “M Molina” enseña Algebra enseña Algebra enseña Matemátcias
  • 14. ¿Qué son las Clases? • Hay muchos objetos identificados para cada dominio • Una clase es una descripción de un grupo de objetos con propiedades en común (atributos), comportamiento similar (operaciones), la misma manera de relacionarse entre objetos (asociaciones y agregados) y una semántica en común – Un objeto es una instancia de una clase
  • 15. Clases Representan un conjunto de objetos con características comunes. COMPUTADORAS LIBROS
  • 16. Clase Persona Nombre nombre apellido materno apellido paterno Atributos sexo edad comer() beber() Operaciones dormir()
  • 17. Clase Nombre Vehículo marca modelo Atributos color número de serie mover() abrir() Operaciones girar() detener()
  • 18. Clases y Objetos ¿Cuántas clases ve?
  • 19. Clases y Objetos Clase : Objeto: • Lavadora, • Mi lavadora, • Automóvil, • Auto de placa SGC437, • Persona, • Luis Quispe Garcia, • Factura, • Factura Nro. 12345., • Pedido. • Pedido Nro. 54321
  • 20. Atributos Un atributo es una propiedad de una clase y describe un rango de valores que la propiedad podrá contener en los objetos de la clase. Atributos de la Clase Valores en Objeto: Mi Lavadora: lavadora: Marca, laundatorium, Modelo, washmeister, Número de serie, GL57774 , Capacidad. Capacidad 7 kg.
  • 21. Operaciones Una operación es algo que la clase puede realizar o que otra clase puede hacer a una clase. Es una función o transformación que se puede aplicar o que puede ser aplicada por los objetos de una clase. Ejemplo : Lavadora • Agregar ropa, • Agregar detergente, • Secar ropa.
  • 22. Tarea Proporcione Ud. 5 ejemplos de • Clase, • objetos, • atributos y • operaciones
  • 23. Clase y objeto Conceptual Lavadora miLavadora: Lavadora marca marca = “Laundatorium” modelo modelo = “Washmeister” numeroSerie numeroSerie = “GLS7774” capacidad capacidad = 16 agregarRopa () agregarDeter() secarRopa()
  • 24. Clase y objeto en UML Cuenta Nombre de la Clase numeroCuenta saldo Atributos fechaApertura saldoPromedio abrir() consignar() Operaciones suspender() sobregirar() miCuenta : Cuenta
  • 25. Enlaces y Asociaciones Las entidades o cosas del mundo real se relacionan con otras entidades. A las relaciones entre objetos se les llama enlaces. A las relaciones entre clases se les llama asociaciones. Ej. “ Jugador participa en Equipo” Ej. “ Claudio Pizarro participa en Bayern Munich”
  • 26. Asociaciones Participa en Jugador Equipo Un cliente puede tener asociadas muchas Ordenes de Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede Compra, en cambio una orden de compra solo puede tener asociado un cliente.. tener asociado un cliente
  • 27. Multiplicidad Cantidad de objetos de una clase que se relaciona con un objeto de la clase asociada. Jugador 11 Participa en 1 Equipo
  • 28. ... Multiplicidad Esposo 1 Casado con 1 Esposa Uno a uno 1 Enseña * Estudiante Uno a muchos Maestro Cajero 1 Atiende 1..* Cliente Uno a uno o más Uno a ninguno o Casa 1 Tiene 0,1 Chimenea uno 1 Contiene 12 Huevos Uno a 12 Caja
  • 29. Clase asociación Empresa * 1..* Persona empleador empleado Empleo descripción salario fechaContrato Clases que representan propiedades y operaciones propios de la relación
  • 30. Enlaces Un enlace es una instancia de una asociación Participa en J. Jayo Jugador Alianza Lima : Equipo
  • 31. Elementos de una asociación roles Compañia empleador_de emplea empleado Persona 0..1 * Nombre owner 1 asociación dirección de navegación multiplicidad * Password
  • 32. Generalización/Especialización Una clase (subclase) es un subtipo de otra clase (superclase). Indica que una subclase hereda los métodos y atributos especificados por una Superclase.
  • 33. Generalización Persona nombre apellido materno apellido paterno Superclase sexo edad comer() beber() dormir() Estudiante Trabajador grado Subclases profesión colegio centro de trabajo salario matricular() estudiar() trabajar() cobrar()
  • 34. Generalización/Especialización ¿Qué significa el siguiente diagrama?
  • 35. ...Generalización Animal Anfibio Mamifero Reptil Caballo Relación: subclase “es un tipo de” con la superclase
  • 36. Ejemplo de generalización Persona Cliente Proveedor Aumento de abstracciòn
  • 37. Ejemplo de especialización Cliente minorista mayorista Abstracción descendente
  • 38. Agregación Una clase consta de otras clases. Es una relación entre clases componentes asociada a una clase ensamble completo. Ejemplo: Un microcomputadora esta compuesta por : • Un Monitor, • Caja del Sistema, • Uno o ningun ratón y • Un teclado.
  • 39. ...Agregación Computadora 1 1 1 0,1 Monitor Cases Teclado Mouse CPU RAM Ventilador Relación: subclase “es parte de” con la superclase
  • 40. Agregación / composición Pais PC Dpto Monitor Chasis Mouse Teclado Municipio Agregación : la existencia de las partes es independiente de la existencia del todo (débil) Composición : la existencia de las partes depende de la existencia del todo. (fuerte)
  • 41. Ejemplo - diagrama de clase Cuenta +detalles nroCuenta genera HistoriaMovimientos saldo fecha apertura 1..1 * Corriente Ahorro topeSobregiro saldoTrimestral interes
  • 42. Construcción de Diagrama de clases Identificar las clases • Se seleccionan los sustantivos de la descripción del problema como posibles clases candidatas. Se construye una lista. • Se eliminan las clases redundantes, irrelevantes o vagas o bien por ser atributos, operaciones o construcciones de implementación. Identificar las asociaciones entre clases. • Se le agrega la multiplicidad correcta. • También se puede representar la relación " es parte de" o agregación. Identificar atributos. Organizar y simplificar clases usando herencia. • La herencia se puede usar para generalizar los aspectos comunes de las clases existentes construyendo una superclase, o para refinar una clase en subclases especializadas. Verificar que el diagrama responda a los requerimientos. Iterar y refinar el modelo.
  • 43. Caso empresa de fabricación Construcción de Diagrama de clases Una empresa recién formada se dedica a integrar partes para formar productos, con la intención de vender el valor agregado de la integración. Un relevamiento preliminar describe los datos esenciales de la organización con el fin de realizar un sistema computarizado para disminuir costos y responder con más agilidad. Un texto informal enuncia los datos principales y sus relaciones. Se necesita realizar un Class Diagram de UML para asegurarse de minimizar las ambigüedades, vaguedades y facilitar la comunicación mediante un estándar; éste es su trabajo.
  • 44. Caso empresa de fabricación Construcción de Diagrama de clases Un producto tiene un nombre y un precio base. Un producto se forma con muchas partes y cada parte puede formar muchos productos. La definición de cada producto especifica qué cantidad de cada parte forma a un producto dado. Un vendedor tiene un apellido, nombre y un porcentual de comisión. Tanto un cliente como un proveedor tienen los datos de todo agente comercial; éstos son: cuit, razón social, e-mail, teléfono y dirección. Además, un proveedor tiene un plazo de pago y un cliente un porcentual de descuento. Una parte puede ser comprada a muchos proveedores y un proveedor puede proveer muchas partes. Cada compra de una parte tiene una fecha y una cantidad. Una venta se realiza entre cualquier vendedor y cualquier cliente, y éste puede comprar cualquier producto. De una venta se quiere saber su fecha. No se pueden vender productos que estén formados por una única parte, esto es, no se permite vender productos sin elaborar .
  • 45. Caso empresa de fabricación Clases identificadas producto vendedor parte proveedor cliente agenteComercial
  • 46. Caso empresa de fabricación Asociaciones producto 1..* se forma 1..* parte vendedor 0..* 0..* se vende Se compra agenteComercial 0..* 0..* cliente proveedor
  • 47. Caso empresa de fabricación atributos vendedor producto parte nombre 1..* se forma 1..* numParte apellido nombre precioBase descripción porcComis 0..* agenteComercial 0..* se vende cuit razSocial Se compra email telf direcc 0..* 0..* cliente proveedor porcDesc plazoPago
  • 48. Caso empresa de fabricación organizar: clases asociación, herencia vendedor producto parte nombre 1..* se forma 1..* numParte apellido nombre precioBase descripción porcComis 0..* 0..* definición 1 participa se vende 0..* Se compra compra agenteComercial venta cuit razSocial email telf direcc 0..* 0..* cliente proveedor porcDesc plazoPago
  • 49. vendedor producto parte nombre 1..* se forma 1..* numParte apellido nombre precioBase descripción porcComis 0..* definición 0..* 1 cantidad participa se vende compra 0..* Se compra fecha agenteComercial venta cantidad cuit fecha razSocial email telf direcc 0..* 0..* cliente proveedor porcDesc plazoPago

Hinweis der Redaktion

  1. Un objeto es una representación computarizada de una entidad, del mundo real o inventado. Un objeto puede representar algo concreto del dominio del problema, tal como un camión o un computador. Un objeto puede también representar un concepto, tal como un proceso químico, una transacción bancaria, órdenes de compras, historia de crédito, o tasas de interés. En sistemas orientados a objetos, los objetos también son usados para representar estructuras de software tales como listas ligadas, árboles binarios y archivos. Estos objetos no son tipicamente encontrados en el dominio del problema. Más bien, son inventados para ayudar a facilitar la implementación.
  2. Los dos primeros objetos representan a la clase Persona y el conjunto de los atributos tiene valores diferentes en cada objeto. Esta característica hace que cada objeto sea diferente y único con respecto a los otros de su clase. El hecho de pertenecer a la misma clase no hace que los objetos se consideren iguales. Son los valores de cada uno y la forma de responder a las operaciones los que los diferencian entre sí.
  3. Los objetos son también llamados “instancias”, porque representan sucesos actuales de cosas en el mundo real. Los términos estado, comportamiento e identidad serán explicados en detalle en los próximos cuadros .
  4. El estado es dependiente del tiempo. Cuando pregunto en qué estado se encuentra un objeto, siempre va implicado un tiempo: AHORA. Este es un ejemplo muy estático: el estado cambia de no-permanente a permanente a retirado. Un objeto más dinámico: un estado de vuelo cambia desde : vacío a abordando a abordado a en vuelo.
  5. Los dos primeros objetos son miembros de una misma clase y representan a un mismo objeto. La variación del valor de uno de sus atributos, en este caso la edad, establece dos estados diferentes para el mismo objeto. Dicho objeto ha variado el valor del atributo edad en momentos o instantes diferentes de su ciclo de vida.
  6. Comportamiento es un concepto difícil para muchos. Uno no puede sólo hacerle algo a un objeto -- uno debe pedir al objeto que lo haga. La sintáxis de un lenguaje llamado MODSIM (lenguaje orientado a estímulos de objetos) realmente ayuda con esto. La sintáxis es: PEDIR al objeto A un comportamiento (ASK object TO behavior) Un buen ejemplo: En una simulación de baseball existe un lanzador y una pelota. El lanzador no lanza la pelota. El comportamiento de lanzar del lanzador le pide a la pelota que se mueva. La pelota sabe cómo moverse (con un poco de ayuda como la velocidad)
  7. Los objetos son distinguidos por su existencia inherente y NO por sus propiedades descriptivas.
  8. Para representar una clase se utiliza un rectángulo dividido en tres partes. Parte: Se coloca el nombre de la clase. Parte: Se colocan los atributos. Parte: Se especifican las operaciones de la clase. La clase Persona contiene atributos y operaciones que caracterizan a cualquier elemento de su tipo. Los valores que contenga cada atributo establecerán la diferencia entre todos los elementos de la misma clase.
  9. La clase Vehículo contiene atributos y operaciones que caracterizan a cualquier elemento de su tipo. Los valores que contenga cada atributo establecerán la diferencia entre todos los elementos de la misma clase.
  10. El propósito de este cuadro es motivar la necesidad de clases. Un respuesta obvia es dos: animales y equipos electrónicos. Son posibles muchos otros nombres para estas clases y eso está muy bien. Otra posible respuesta es cosas encontradas dentro la casa y cosas encontradas fuera de la casa. O cosas que se mueven, y cosas que no se mueven. ¿Puede encontrar una sola clase que incluya todos los objetos? Suponga que ud. es el creador de este cuadro. Cuántas clases ve? La respuesta es una: íconos. Otro estudiante dijo que el cuadro mostraba “cosas que se estaban extinguiendo”: un águila, un elefante asiático, teléfono de tono, un televisor en blanco y negro, un tiburón, y un video beta !! Esto es bueno para la risa. Ojo: Las clases elegidas dependen del dominio de la aplicación.
  11. Un Objeto es una instancia de una clase, i.e. es una entidad que tiene valores específicos de los atributos y las operaciones.
  12. La clase Persona es la Superclase de la Generalización y las clases Estudiante y Trabajador son las subclases. En una Generalización múltiple las clases de niveles intermedios se nombran subclases para referirse a los niveles superiores y superclases para los niveles inferiores a ellas. La generalización se representa a través de una línea recta entre las clases terminada en un triángulo blanco en el extremo cercano a la superclase. La Generalización puede encontrarse en aquellas clases que tienen ciertos atributos y operaciones en común. En ese caso se crea una clase nueva que asume dicho comportamiento común.