Tecnologia Orientado a Objetos
            (TOO)



                             LOGO
La tecnología de Objetos data de los años 60, cuando surge la necesidad de
      describir y simular fenómenos como sistemas de comunicación, sistemas
      administrativos, etc.

En 1961 Krystin Nygaard          SIMULA I. Los usuarios descubrieron que también
proveía de nuevas y poderosas facilidades cuando era usado para otros propósitos,
aparte de la simulación, tales como el prototipeo y aplicaciones.

En 1967 se creó SIMULA 67, y en él se implementaron por primera vez los conceptos
de clase, objeto y herencia, que en adelante serían elementos centrales en los
Lenguajes Orientados A Objetos.

En 1970 se crea el SMALLTALK, éste fue el mayor desarrollo de los lenguajes
orientado a objetos.

1980 evoluciona el SMALLTALK y se crea ADA, lo que hizo crecer el interés en el
Diseño Orientado a Objetos.

                                                                        LOGO
El Paradigma Orientados a Objetos



                                                        Con los Objetos es realmente
                                                             mas fácil construir
                                                           modelos(para sistemas
                          Orientación                   complejos) que dedicarse a la
    Ing. SW                a Objetos                      programación secuencial

                               Fundamento:
                                                                David Taylor
                               Objeto.-
                               Clase.-


      Abanico de técnicas y metodologías q
       pretende facilitar la construcción de
                     Software

Programacion Secuencial o Lineal        Estilo espaguetti

   Programacion Estructurada

Programacion Orientada a Objetos                                        LOGO
CONCEPTOS DE ORIENTACIÓN
       A OBJETOS

                     LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS

                              OBJETO



Cualquier cosa o evento del
        mundo real




                                  Cualquier cosa real o
                                abstracta acerca de la cual
                                   almacenamos datos



                                                              LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS

         ATRIBUTOS Y VALORES DE UN OBJETOS


 SEXO                                  EDAD
Femenino                                 30




ALTURA                                 PESO
  1.75                                 70 kg

                      MARÍA




                                              LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS

             REPRESENTACIÓN DE UN OBJETO

                                     Nombre de la
                                        Clase
Nombre del          MARÍA: Persona
  Objeto
                    Sexo: Femenino
                    Edad: 30          Valores de los
     Atributos      Altura: 1.75        Atributos
                    Peso: 70 kg




                                                       LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS



CLASE: Mobiliario
                         El objeto hereda todos los
 Costo                      atributos de la clase
 Dimensiones
 Peso
 Localización
 Color
                    OBJETO: Silla

                    Costo
                    Dimensiones
                    Peso
                    Localización
                    Color



                                                      LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS

           CLASE: Mobiliario                  El objeto hereda todos los
            Costo                        atributos y operaciones de la clase
            Dimensiones
            Peso
            Localización
            Color
                                                      OBJETO: Mesa
            Comprar
            Vender                                    Costo
            Pesar                                     Dimensiones
                               OBJETO: Silla
            Mover                                     Peso
                               Costo                  Localización
                               Dimensiones            Color
                               Peso                   Comprar
Ejemplo:                       Localización           Vender
                               Color                  Pesar
Localización=edificio + piso                          Mover
                               Comprar
                               Vender
                               Pesar
            Mover              Mover

                                                                           LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS

                       ORIENTACIÓN A OBJETOS
   Coad y Yourdon:

 ORIENTACIÓN A OBJETOS = Objetos + Clasificación + Herencia + Comunicación




Descripción generalizada
(Ejem: una platilla, un patrón
o prototipo) que describe
una colección de objetos
similares




                                                              www.themegallery.com

                                                                    LOGO
CONCEPTOS DE ORIENTACIÓN A OBJETOS



Están asociados a las clases y objetos, que describen la clase o el
objeto de alguna manera




•Son la forma en cómo una clase interactúa con su entorno.
•Todos los objetos de una clase comparten las mismas operaciones




                                                                LOGO
                                                          www.themegallery.com
LOGO
Mensajes

 Los mensajes son el medio a través del cual
  interactúan los objetos.

                            Emisor.operación(parámetros)
    Objeto
    emisor

                                         Objeto
                                        receptor
   Receptor.operación(parámetros)



                                                           LOGO
Mensajes--Ejemplo

                   Valor de
  A                retorno           B
                                     Op.3
Op.1
                                     Op.4
Op. 2
                                     Op.5

        Valor de                            Valor de
                         Mensaje
        retorno                             retorno

  C                                  D

 Op.6                              Op.10
 Op.7                              Op.11
 Op.8
 Op.9               Valor de
                    retorno

                                            LOGO
LOGO
Encapsulamiento
 significa que toda la información se encuentra
  empaquetada bajo un nombre y puede
  reutilizarse  como     una   especificación  o
  componente de programa.

   Reduce la propagación de efectos
   colaterales cuando ocurren cambios.

   Las estructuras de datos y las operaciones
   están mezcladas en una entidad sencilla:
   la clase.

   Las interfaces entre objetos encapsulados
               están simplificadas.
                                                LOGO
Herencia
La clase puede diseñarse y
construirse de la nada.

La jerarquía de clases puede
ser rastreada para determinar si
una clase superior contiene la
mayoría de los atributos y
operaciones requeridas.

La jerarquía de clases puede
reestructurarse de tal manera
que los atributos y operaciones
requeridos      puedan      ser
heredados por la nueva clase.      LOGO
Herencia




                 LOGO
           www.themegallery.com
POLIMORFISMO
     El polimorfismo permite que un número de operaciones
     diferentes tengan el mismo nombre, reduciendo la
     cantidad de líneas de código necesarias para
     implementar un sistema y facilita los cambios en caso
     de que se produzcan.

     G. BARRAS       G. CIRCULAR       G. LINEAS
15
                                   6
10                                 4
5                                  2

0                                  0


                                                    LOGO
POLIMORFISMO
Case of tipo_grafico:

If tipo_grafico = grafico_linea then

DibujarLinea (datos);

Ir tipo_grafico = grafico_circular then   Tipo_grafico dibujar

DibujarCircular (datos);

If tipo_grafico = grafico_barras then

DibujarBarras (datos);

End case;


                                                       LOGO
IDENTIFICACI
   ÓN DE
    LOS
 ELEMENTOS
     DE
 UN MODELO
DE OBJETOS     LOGO
IDENTIFICACION DE
          CLASES Y OBJETOS
Si usted observa a su alrededor en una habitación, existen
un conjunto de objetos físicos que pueden ser fácilmente
identificado, clasificados y definidos (en términos de
atributos y operaciones). Pero cuando usted <<observa>>
el espacio de un problema en una aplicación de
software, los objetos pueden ser más difíciles de identificar.




                                                      LOGO
IDENTIFICACION DE
              CLASES Y OBJETOS
                                         Entidades
               Ocurrencias               Externas



                              Cosas                  Roles



                                                     Unidades
                                                     Organizativas
Atributos                    Nombre de
                               Clase


                                                     Lugares

Operaciones

                                                      Estructuras




                                                                     LOGO
IDENTIFICACION DE
CLASES Y OBJETOS
__________________           ________________
Clase /                      Clasificación
 Objeto potencial            General
__________________________   _______________________

propietario                  rol o entidad externa

sensor                       entidad externa

panel de control             entidad externa

instalación                  ocurrencia

sistema                      cosa

número, tipo                 no son objetos, sino
                             atributos de sensor

contraseña maestra           cosa

número de teléfono           cosa

suceso de sensor             ocurrencia

alarma audible               entidad externa

servicio de control          unidad organizacional o
                             entidad


                                                       LOGO
¿Cómo saber si un objeto
potencial es un buen
candidato para utilizarlo en
un sistema OO.?

                      LOGO
COAD y YOURDON -

INFORMACIÓN RETENIDA: Debe recordarse para que el sistema funcione.




SERVICIOS NECESARIOS: Poseer conjunto de operaciones diferenciables.




ATRIBUTOS MULTIPLES: Un objeto con un solo atributo, puede ser presentado como un atributo.



ATRIBUTOS COMUNES: Puede definirse un conjunto de atributos para el OP, los cuales son aplicables a las
ocurrencias del O.



OPERACIONES COMUNES: Puede definirse un conjunto de operaciones para el OP, los cuales son aplicables a
las ocurrencias del O.



REQUISITOS ESENCIALES: Entidades externas que aparecen en el espacio del problema y producen o
consumen información esencial para el sistema.




                                                                                                    LOGO
LOGO
Especificación de Atributo




Definen a un objeto y clarifica lo que representa al objeto en el contexto del
problema.




                                                                       LOGO
Construir un sistema de       Construir un sistema de de
  estadisticas para jugadores     pensiones para jugadores
   profesionales de beisbol             profesionales


Nombre                          Nombre
Posición                        Salario medio
Promedio bateo                  Credito total
Porcentaje de estancia en el    Opciones elegidas para el plan
campo de juego                  de pension
                                                                 0
Años jugados                    Dirección postal.



        Los Atributos se escogen examinando el
         problema buscando cosas que definan
      completamente los objetos y los hagan únicos
                                                                     LOGO
LOGO
Definición de Operaciones




                        Manipulan
          Cálculo




                    Motorizan




       Definen el comportamiento de un
      objeto y cambian de alguna manera,
         los atributos de dicho objeto.
                                           LOGO
 ¿Existe alguna forma razonable de categorizar
  las operaciones de un objeto?
                Se estudia de nuevo el análisis
               gramatical y se aíslan los verbos



                          • Asigna número y
           Sensor           tipo (relevante)


                          • Programa
          Sistema           contraseña maestra
                            (aplicara)             LOGO
 ¿Hay operaciones adicionales?


        HISTORIA DE                 MENSAJES
            VIDA                  ENTRE OBJETOS
      • Define                   • Suceso Sensor ->
                                   Sistema para mostrar
        reconociendo               localización y número de
       Creado, manipulado, bor     suceso.
       rado                      • Panel Control-> Sistema
                                   reinicialización actualizar.




                                                              LOGO
SISTEMA
ID sistema
N° teléfono verificación
Estado del sistema
Tabla de sensores
Tipo de sensor
Umbral de Alarma
Contraseña Maestra
Contraseña Temporal
N° intentos
Programar ()
Mostrar ()
Reiniciar ()
Consultar()
Modificar()
Llamar()




                           LOGO
LOGO

Tecnologia orientado a objetos

  • 1.
    Tecnologia Orientado aObjetos (TOO) LOGO
  • 2.
    La tecnología deObjetos data de los años 60, cuando surge la necesidad de describir y simular fenómenos como sistemas de comunicación, sistemas administrativos, etc. En 1961 Krystin Nygaard SIMULA I. Los usuarios descubrieron que también proveía de nuevas y poderosas facilidades cuando era usado para otros propósitos, aparte de la simulación, tales como el prototipeo y aplicaciones. En 1967 se creó SIMULA 67, y en él se implementaron por primera vez los conceptos de clase, objeto y herencia, que en adelante serían elementos centrales en los Lenguajes Orientados A Objetos. En 1970 se crea el SMALLTALK, éste fue el mayor desarrollo de los lenguajes orientado a objetos. 1980 evoluciona el SMALLTALK y se crea ADA, lo que hizo crecer el interés en el Diseño Orientado a Objetos. LOGO
  • 3.
    El Paradigma Orientadosa Objetos Con los Objetos es realmente mas fácil construir modelos(para sistemas Orientación complejos) que dedicarse a la Ing. SW a Objetos programación secuencial Fundamento: David Taylor Objeto.- Clase.- Abanico de técnicas y metodologías q pretende facilitar la construcción de Software Programacion Secuencial o Lineal Estilo espaguetti Programacion Estructurada Programacion Orientada a Objetos LOGO
  • 4.
  • 5.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS OBJETO Cualquier cosa o evento del mundo real Cualquier cosa real o abstracta acerca de la cual almacenamos datos LOGO
  • 6.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS ATRIBUTOS Y VALORES DE UN OBJETOS SEXO EDAD Femenino 30 ALTURA PESO 1.75 70 kg MARÍA LOGO
  • 7.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS REPRESENTACIÓN DE UN OBJETO Nombre de la Clase Nombre del MARÍA: Persona Objeto Sexo: Femenino Edad: 30 Valores de los Atributos Altura: 1.75 Atributos Peso: 70 kg LOGO
  • 8.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS CLASE: Mobiliario El objeto hereda todos los Costo atributos de la clase Dimensiones Peso Localización Color OBJETO: Silla Costo Dimensiones Peso Localización Color LOGO
  • 9.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS CLASE: Mobiliario El objeto hereda todos los Costo atributos y operaciones de la clase Dimensiones Peso Localización Color OBJETO: Mesa Comprar Vender Costo Pesar Dimensiones OBJETO: Silla Mover Peso Costo Localización Dimensiones Color Peso Comprar Ejemplo: Localización Vender Color Pesar Localización=edificio + piso Mover Comprar Vender Pesar Mover Mover LOGO
  • 10.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS ORIENTACIÓN A OBJETOS Coad y Yourdon: ORIENTACIÓN A OBJETOS = Objetos + Clasificación + Herencia + Comunicación Descripción generalizada (Ejem: una platilla, un patrón o prototipo) que describe una colección de objetos similares www.themegallery.com LOGO
  • 11.
    CONCEPTOS DE ORIENTACIÓNA OBJETOS Están asociados a las clases y objetos, que describen la clase o el objeto de alguna manera •Son la forma en cómo una clase interactúa con su entorno. •Todos los objetos de una clase comparten las mismas operaciones LOGO www.themegallery.com
  • 12.
  • 13.
    Mensajes  Los mensajesson el medio a través del cual interactúan los objetos. Emisor.operación(parámetros) Objeto emisor Objeto receptor Receptor.operación(parámetros) LOGO
  • 14.
    Mensajes--Ejemplo Valor de A retorno B Op.3 Op.1 Op.4 Op. 2 Op.5 Valor de Valor de Mensaje retorno retorno C D Op.6 Op.10 Op.7 Op.11 Op.8 Op.9 Valor de retorno LOGO
  • 15.
  • 16.
    Encapsulamiento  significa quetoda la información se encuentra empaquetada bajo un nombre y puede reutilizarse como una especificación o componente de programa. Reduce la propagación de efectos colaterales cuando ocurren cambios. Las estructuras de datos y las operaciones están mezcladas en una entidad sencilla: la clase. Las interfaces entre objetos encapsulados están simplificadas. LOGO
  • 17.
    Herencia La clase puedediseñarse y construirse de la nada. La jerarquía de clases puede ser rastreada para determinar si una clase superior contiene la mayoría de los atributos y operaciones requeridas. La jerarquía de clases puede reestructurarse de tal manera que los atributos y operaciones requeridos puedan ser heredados por la nueva clase. LOGO
  • 18.
    Herencia LOGO www.themegallery.com
  • 19.
    POLIMORFISMO El polimorfismo permite que un número de operaciones diferentes tengan el mismo nombre, reduciendo la cantidad de líneas de código necesarias para implementar un sistema y facilita los cambios en caso de que se produzcan. G. BARRAS G. CIRCULAR G. LINEAS 15 6 10 4 5 2 0 0 LOGO
  • 20.
    POLIMORFISMO Case of tipo_grafico: Iftipo_grafico = grafico_linea then DibujarLinea (datos); Ir tipo_grafico = grafico_circular then Tipo_grafico dibujar DibujarCircular (datos); If tipo_grafico = grafico_barras then DibujarBarras (datos); End case; LOGO
  • 21.
    IDENTIFICACI ÓN DE LOS ELEMENTOS DE UN MODELO DE OBJETOS LOGO
  • 22.
    IDENTIFICACION DE CLASES Y OBJETOS Si usted observa a su alrededor en una habitación, existen un conjunto de objetos físicos que pueden ser fácilmente identificado, clasificados y definidos (en términos de atributos y operaciones). Pero cuando usted <<observa>> el espacio de un problema en una aplicación de software, los objetos pueden ser más difíciles de identificar. LOGO
  • 23.
    IDENTIFICACION DE CLASES Y OBJETOS Entidades Ocurrencias Externas Cosas Roles Unidades Organizativas Atributos Nombre de Clase Lugares Operaciones Estructuras LOGO
  • 24.
    IDENTIFICACION DE CLASES YOBJETOS __________________ ________________ Clase / Clasificación Objeto potencial General __________________________ _______________________ propietario rol o entidad externa sensor entidad externa panel de control entidad externa instalación ocurrencia sistema cosa número, tipo no son objetos, sino atributos de sensor contraseña maestra cosa número de teléfono cosa suceso de sensor ocurrencia alarma audible entidad externa servicio de control unidad organizacional o entidad LOGO
  • 25.
    ¿Cómo saber siun objeto potencial es un buen candidato para utilizarlo en un sistema OO.? LOGO
  • 26.
    COAD y YOURDON- INFORMACIÓN RETENIDA: Debe recordarse para que el sistema funcione. SERVICIOS NECESARIOS: Poseer conjunto de operaciones diferenciables. ATRIBUTOS MULTIPLES: Un objeto con un solo atributo, puede ser presentado como un atributo. ATRIBUTOS COMUNES: Puede definirse un conjunto de atributos para el OP, los cuales son aplicables a las ocurrencias del O. OPERACIONES COMUNES: Puede definirse un conjunto de operaciones para el OP, los cuales son aplicables a las ocurrencias del O. REQUISITOS ESENCIALES: Entidades externas que aparecen en el espacio del problema y producen o consumen información esencial para el sistema. LOGO
  • 27.
  • 28.
    Especificación de Atributo Definena un objeto y clarifica lo que representa al objeto en el contexto del problema. LOGO
  • 29.
    Construir un sistemade Construir un sistema de de estadisticas para jugadores pensiones para jugadores profesionales de beisbol profesionales Nombre Nombre Posición Salario medio Promedio bateo Credito total Porcentaje de estancia en el Opciones elegidas para el plan campo de juego de pension 0 Años jugados Dirección postal. Los Atributos se escogen examinando el problema buscando cosas que definan completamente los objetos y los hagan únicos LOGO
  • 30.
  • 31.
    Definición de Operaciones Manipulan Cálculo Motorizan Definen el comportamiento de un objeto y cambian de alguna manera, los atributos de dicho objeto. LOGO
  • 32.
     ¿Existe algunaforma razonable de categorizar las operaciones de un objeto? Se estudia de nuevo el análisis gramatical y se aíslan los verbos • Asigna número y Sensor tipo (relevante) • Programa Sistema contraseña maestra (aplicara) LOGO
  • 33.
     ¿Hay operacionesadicionales? HISTORIA DE MENSAJES VIDA ENTRE OBJETOS • Define • Suceso Sensor -> Sistema para mostrar reconociendo localización y número de Creado, manipulado, bor suceso. rado • Panel Control-> Sistema reinicialización actualizar. LOGO
  • 34.
    SISTEMA ID sistema N° teléfonoverificación Estado del sistema Tabla de sensores Tipo de sensor Umbral de Alarma Contraseña Maestra Contraseña Temporal N° intentos Programar () Mostrar () Reiniciar () Consultar() Modificar() Llamar() LOGO
  • 35.