SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Universidad Autónoma del Estado de
                     México
       Centro Universitario UAEM Ecatepec
                Ingeniería en Computación



LA CRISIS DEL SOFTWARE Y EL
PARADIGMA DE
PROGRAMACIÓN ORIENTADA A
OBJETOS.
CONCEPTOS BÁSICOS


                            Programación Orientada a Objetos
UNIDAD DE COMPETENCIA I.
  ORÍGENES Y CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A
                                                      OBJETOS


Objetivo:


  Reconocer   los aspectos históricos y
  tecnológicos que dan importancia al
  desarrollo de software orientado a objetos.




                                                           2
CONTENIDO

   Introducción
       Crisis del software
       Criterios de calidad del software
   Conceptos básicos de la P.O.O.
       Reutilización
       Polimorfismo
       Genericidad
       Clases y Objetos
       Robustez




                                                   3
GUIÓN EXPLICATIVO

   El contenido del presente material se divide en dos bloques que
    pueden abordarse arbitrariamente, sin embargo para entender el
    contexto general del paradigma orientado a objetos, se recomienda su
    revisión de acuerdo al siguiente diagrama:

                                             Conceptos
        • Crisis del software                 básicos
        • Criterios de calidad
                                     •   Clases y Objetos
        • Evolución de la
          programación O.            •   Métodos
          O.                         •   Reutilización
                                     •   Herencia
                                     •   Robustez
              Introducción

                                                                       4
Crisis del software
CRISIS DEL SOFTWARE


La industria del software
no ha podido satisfacer la
demanda.


La complejidad del software
producido y demandado se
incrementa
constantemente.


                                     6
CRISIS DEL SOFTWARE
Síntomas de que existe una crisis en la industria

 1. Baja calidad del software.
 2. Tiempo y presupuesto
    excedido.
 3. Confiabilidad
    cuestionable.
 4. Altos requerimientos de
    personal para desarrollo y
    mantenimiento.
                                                    7
CRISIS DEL SOFTWARE
     ¿Qué factores influyen en la crisis del software?



1.     Aumento del poder
       computacional.
2.     Reducción del costo del
       hardware.
3.     Rápida obsolescencia de
       hardware y software.



                                                         8
CRISIS DEL SOFTWARE
 ¿Qué factores influyen en la crisis del software?
4.   Aceptación de la
     computarización en las
     empresas.
5.   Incremento en el número
     de usuarios de los
     sistemas de software.
6.   Tipo de usuario no
     homogéneo aun en
     sistemas hechos a la
     medida.

                                                     9
CRISIS DEL SOFTWARE
     ¿Qué factores influyen en la crisis del software?



7.     Personal de desarrollo y
       mantenimiento diferente.
8.     La magnitud del proyecto
9.     Aumento en el conocimiento
       del problema.
10. Cambios en el entorno



                                                         10
CRISIS DEL SOFTWARE
¿Cómo hacerle frente a esta crisis?
 Usando un nuevo enfoque de desarrollo de
 software, que permita:
 a) Mantenerse al corriente frente a la creciente
    demanda
 b) Cumplir con los tiempos de entrega y costos
    establecidos
 c) Tener un mejor control del avance del proyecto de
    software
 d) Establecer un lenguaje común entre los
    integrantes del esquipo de desarrollo de software
 e) Generar entre desarrolladores y equipo de
    soporte un plan de mantenimiento para los
    productos de software implementados                 11
Criterios de Calidad
        Del software
CRITERIOS DE CALIDAD
La calidad puede describirse desde
distintos puntos de vista:
•Trascendental: “la calidad es algo que se
reconoce de inmediato, pero no es posible definir
explícitamente”.
•Del usuario: “La calidad se concibe en términos
de las metas específicas del usuario final. Si un
producto las satisface, tiene calidad”
•Del fabricante: “La define en términos de las
especificaciones originales del producto. Si éste las
cumple, tiene calidad”
•Del producto: “La calidad tiene que ver con las
características inherentes de un producto”
•Del valor: “La calidad esta relacionada con lo que
el cliente está dispuesto a pagar por un producto”.

                                                        13
CRITERIOS DE CALIDAD
Calidad del software
“Proceso eficaz del software que se aplica de manera
que crea un producto útil que proporciona valor
medible a quienes lo producen y a quienes lo utilizan”




                                                         14
CRITERIOS DE CALIDAD
            Factores de la calidad de McCall


Se centran en tres aspectos importantes del
producto de software:


• Sus características operativas
• Su capacidad de ser modificado
• Su adaptabilidad a nuevos ambientes



                                               15
CRITERIOS DE CALIDAD


Facilidad de recibir mantenimiento           Portabilidad
Flexibilidad                                 Reusabilidad
Susceptibilidad de someterse a pruebas       Interoperabilidad

    Revisión del producto                Transición del producto




                        Operación del producto


Corrección                   Usabilidad                      Eficiencia
                 Confiabilidad                            Integridad


                                                                          16
CRITERIOS DE CALIDAD
                Factores de la calidad de McCall

• Corrección. Grado en el que el programa satisface sus
especificaciones y en el que cumple con los objetivos de la
misión del cliente.
• Confiabilidad. Grado en el que se espera que un programa
cumpla con su misión y con la precisión requerida.
• Eficiencia. Cantidad de recursos de cómputo y de código
requeridos por un programa para llevar a cabo su función.
• Integridad. Grado en el que es posible controlar el acceso de
personas no autorizadas al software o a los datos.



                                                                  17
CRITERIOS DE CALIDAD
                Factores de la calidad de McCall

• Usabilidad.       Esfuerzo     que    se     requiere     para
aprender, operar, preparar las entradas e interpretar las salidas
de un programa.
• Facilidad de recibir mantenimiento. Esfuerzo requerido
para detectar y corregir un error en un programa.
• Flexibilidad. Esfuerzo necesario para modificar un programa
que ya opera.
• Susceptibilidad de someterse a pruebas. Esfuerzo que
se requiere para probar un programa a fin de garantizar que
realiza la función que se pretende.


                                                                    18
CRITERIOS DE CALIDAD
                 Factores de la calidad de McCall

• Portabilidad. Esfuerzo que se necesita para transferir un
programa de un ambiente de sistema de hardware o software a
otro.
• Reusabilidad. Grado con el que un programa (o partes de
uno) pueden volverse a utilizar en otras aplicaciones.
• Interoperabilidad. Esfuerzo requerido para acoplar un
sistema con otro.




                                                              19
CRITERIOS DE CALIDAD
                 Factores de la calidad ISO 9126
Estándar desarrollado con la intensión de identificar
los atributos clave del software de cómputo.
• Funcionalidad. Gado en el que el software
satisface las necesidades planteadas según las
establecen los atributos siguientes:
   • Adaptabilidad
   • Exactitud
   • Interoperabilidad
   • Cumplimiento
   • Seguridad


                                                        20
CRITERIOS DE CALIDAD
                 Factores de la calidad ISO 9126

• Confiabilidad. Cantidad de tiempo que el software
se encuentra disponible para su uso, según lo indican
los siguientes atributos:
   • Madurez
   • Tolerancia a fallas
   • Recuperación




                                                        21
CRITERIOS DE CALIDAD
                  Factores de la calidad ISO 9126

• Usabilidad. Grado en el que el software es fácil de
usar, según lo indican los siguientes subatributos:
   • Entendible
   • Aprendible
   • Operable




                                                        22
CRITERIOS DE CALIDAD
               Factores de la calidad ISO 9126

• Eficiencia. Grado en el que el software emplea
óptimamente los recursos del sistema, según lo
indican los subatributos siguientes:
  • Comportamiento del tiempo
  • Comportamiento de los recursos




                                                   23
CRITERIOS DE CALIDAD
                  Factores de la calidad ISO 9126

• Facilidad de recibir mantenimiento. Facilidad con
la que pretenden efectuarse reparaciones al
software, según lo indican los siguientes atributos:
   • Analizable
   • Cambiable
   • Estable
   • Susceptible a someterse a pruebas




                                                       24
CRITERIOS DE CALIDAD
                   Factores de la calidad ISO 9126

• Portabilidad. Facilidad con la que el software
puede llevarse de un ambiente a otro según lo indican
los siguientes atributos:
   • Adaptable
   • Instalable
   • Conformidad
   • Sustituible




                                                        25
POO
          AD
     PM
PP
               Evolución de la
      programación: paradigma
                y metodología
PARADIGMA

 Es un determinado marco desde el cuál se
  puede mirar, comprender, interpretar e
  interactuar con eventos, aspectos u objetos
  del mundo.
 Puede describirse como:
     elconjunto de conocimientos científicos que
      imperan en una época determinada
     Las formas de pensar y de sentir de la gente en
      un determinado lugar y momento histórico.

                                                        27
PARADIGMA

   En el contexto académico y de
    investigación, es:
       Una forma aceptada de resolver un problema en la
        ciencia, que más tarde es utilizada como modelo
        para la investigación y la formación de una teoría
   ¿En el contexto de programación?
       los paradigmas de programación nos indican las
        diversas formas que, a lo largo de la evolución de los
        lenguajes, han sido aceptadas como estilos para
        programar y para resolver los problemas por medio
        de una computadora.
                                                             28
PARADIGMAS DE PROGRAMACIÓN

   Los paradigmas de programación de uso
    más extendido son:
       Programación por procedimientos

       Programación modular

       Abstracción de datos

       Programación Orientada a Objetos




                                            29
PROGRAMACIÓN POR PROCEDIMIENTOS

 Paradigma original de programación y de
  uso más común
 El programador se concentra en el
  procesamiento, en el algoritmo requerido
  para llevar a cabo el cómputo deseado
 Lenguajes: Fortran, Pascal y C
   La programación estructurada se considera como el
    componente principal de la programación por
    procedimientos.

                                                        30
PROGRAMACIÓN MODULAR
 Con los años se dio mayor énfasis al diseño
  de procedimientos que a la organización de
  la información
 Lo anterior originó que el tamaño de los
  programas aumentara y en consecuencia la
  dificultad para encontrar errores de ejecución
  y darles mantenimiento
 La programación modular surge como
  remedio a esta situación

                                              31
PROGRAMACIÓN MODULAR

   ¿Qué es un Módulo?
     Conjunto de procedimientos afines junto con los
      datos que manipulan
   La programación modular consiste en:
     Establecer   los módulos que se requieren para la
      resolución de un problema
     Dividir el programa de modo que los
      procedimientos y los datos queden ocultos en
      los módulos

                                                      32
PARADIGMA DE ABSTRACCIÓN DE DATOS

 Los lenguajes como ADA y C++ permiten
  que un usuario defina tipos que se
  comporten casi de la misma manera que los
  tipos definidos por el lenguaje.
 Estos tipos de datos definidos por el usuario
  reciben el nombre de tipos abstractos




                                              33
PARADIGMA DE ABSTRACCIÓN DE DATOS

   El PAD consiste en:
     Establecer  las características de los tipos de
      datos abstractos que se desean definir
     Proporcionar un conjunto completo de
      operaciones válidas y útiles para cada tipo de
      dato
     Cuando no hay necesidad de más de un objeto
      de un tipo dado, no es necesario este estilo de
      programación y basta con el estilo de
      ocultamiento de datos por medio de módulos.
                                                        34
PROGRAMACIÓN ORIENTADA A OBJETOS

 El paradigma de AD tiene el inconveniente
  de que no hay una distinción entre las
  propiedades generales y las particulares de
  un conjunto de objetos
 Expresar esta distinción y aprovecharla es lo
  que define a la POO a través del concepto
  de herencia



                                              35
PROGRAMACIÓN ORIENTADA A OBJETOS

   El paradigma de POO consiste en:
     Definir que clases se desean
     Proporcionar un conjunto completo de
      operaciones para cada clase
     Indicar explícitamente lo que los objetos de
      la clase tienen en común empleando el
      concepto de herencia




                                                     36
Clases




Abstracción                                  Objetos



                        POO

         Polimorfismo             Herencia




                         Conceptos básicos de la
                        Programación Orientada a
                                         Objetos
CONCEPTOS BÁSICOS DE LA POO

Definición de POO.

 Es un importante conjunto de técnicas que pueden
 utilizarse para hacer el desarrollo de programas
 más eficiente, a la par que mejora la fiabilidad de
 los programas




                                                  38
CONCEPTOS BÁSICOS DE LA POO
Principios de la Orientación a Objetos
   Los programas de computadoras constan de 2
    elementos: Código y Datos.
   Un programa se puede organizar conceptualmente en
    base a su código o a sus datos.
   Existen 2 paradigmas que controlan el modo como se
    escribe un programa
       Paradigma procedimental (escrito alrededor de lo que está
        sucediendo)
       Paradigma Orientado a Objetos (escrito alrededor de quien
        está siendo afectado)




                                                               39
CONCEPTOS BÁSICOS DE LA POO
Modelo Orientado a Procesos
     Código que actúa sobre datos
Modelo Orientado a Objetos
     Define objetos de datos, sus atributos y el modo en que se
      pueden examinar o cambiar
     Los objetos, datos y procedimientos se pueden comunicar con
      otros objetos y datos
     Un programa consta de una serie de objetos que se
      comunican entre sí enviándose mensajes.




                                                               40
CONCEPTOS BÁSICOS DE LA POO
Clases
   En el mundo real existen muchos objetos de la
    misma clase.
     P. ej. La clase Automóvil
        Su  automóvil es uno de los muchos automóviles del
         mundo.
        Un automóvil es una instancia de la clase de objetos
         conocida como Automóvil
        Los     automóviles   tiene    un    estado    común
         (velocidad, puertas, modelo y cuatro ruedas) y un
         comportamiento (acelerar, frenar, dar vuelta).
        Sin embargo, cada automóvil es independiente y
         puede ser diferente de otros automóviles.          41
CONCEPTOS BÁSICOS DE LA POO

Definición de Clase

 Una clase es un prototipo o modelo que
 define las variables y métodos comunes a
 todos los objetos de un cierto tipo.




                                        42
CONCEPTOS BÁSICOS DE LA POO
Explicación del concepto Clase (1)
   Una clase es como una plantilla o modelo que se
    utiliza para crear objetos concretos
   Una vez que se declara una clase, se debe
    instanciar antes de que se pueda utilizar
   Una clase consta de variables denominadas
    campos junto con métodos que operan sobre esos
    campos.
   Una clase encapsula los componentes pasivos
    (campos) y componentes activos (métodos) en una
    única entidad.

                                                 43
CONCEPTOS BÁSICOS DE LA POO

Explicación del concepto Clase (2)
   Una clase define las características de un grupo de
    objetos que comparte ciertas características:
       Almacenan los mismos tipos de datos
       Pueden ejecutar las mismas operaciones
   Sin embargo, cada objeto puede almacenar
    valores reales diferentes y representa una
    ocurrencia particular de esa clase de objetos.



                                                     44
CONCEPTOS BÁSICOS DE LA POO
Creación y uso de una Clase
   Cuando se crea una instancia de una clase, se crea un
    objeto de ese tipo y el sistema asigna memoria para
    las variables instancia declaradas por la clase.
   A continuación se puede invocar a los métodos del
    objeto para realizar alguna tarea.
   Dada una clase, un objeto - denominado también
    instancia de la clase - es una variable que tiene los
    campos de esa clase y puede llamar a los métodos de
    esa clase.




                                                        45
CONCEPTOS BÁSICOS DE LA POO
   Abstracción. Se enfoca en las características esenciales
    de un objeto relativo a la perspectiva del observador.
   Modularidad.     Agrupa abstracciones en unidades
    discretas. Es la propiedad de un sistema que se ha
    descompuesto en un conjunto de módulos coherentes y
    poco acoplados.
   Herencia: Es clasificar u ordenar abstracciones. Las
    abstracciones forman una jerarquía. Los objetos pueden
    heredar propiedades de otros objetos. La herencia puede
    ser simple o múltiple. (C++: Privado, Protegido, Público).


                                                             46
CONCEPTOS BÁSICOS DE LA POO
   Encapsulación:     Esconde       los   detalles   de   la
    implementación de un objeto
   Reutilización: Se refiere a la creación de objetos (bien
    hechos) que pueden utilizarse en otros dominios
   Ejecución: Se lleva a cabo por medio de propagación
    de mensajes
   Mensajes: El código privado que tiene el objeto puede
    ser accesado solo por medio de mensajes. El mensaje
    dice a que objeto se dirige, que procedimiento ejecutar y
    cuales son los argumentos que deberá contener.

                                                                47
CONCEPTOS BÁSICOS DE LA POO
   Métodos: Es un procedimiento privado de un
    objeto que dice que hacer con un mensaje y como
    hacerlo. Como cada objeto tiene sus propios
    métodos, los objetos pueden responder diferente al
    mismo mensaje.
   Respuestas: Una vez recibido un mensaje, el
    objeto manda su respuesta a otros objetos o al
    sistema.
   Polimorfismo: se refiere a la capacidad para que
    varias clases derivadas de una antecesora utilicen
    un mismo método de forma diferente.                48
BIBLIOGRAFÍA
   Deytel Harvey M., Paul J, Deytel, Como
    programar en Java , 5ª. Edición, Prentice Hall
    México.
   Goodrich Michel T., Tamassia
    Roberto, Estructuras de datos y algoritmos en
    Java 2ª. Edición, CECSA, México.
   Ceballos Fco. Javier, Java 2 Curso de
    Programación, AlfaOmega Ra-Ma, México.
   Joyanes Aguilar Luis, Programación Orientada a
    Objetos, segunda edición, McGraw Hill.
                                                     49

Weitere ähnliche Inhalte

Was ist angesagt?

Estrategias de aplicaciones para las pruebas de integración
Estrategias  de aplicaciones para las pruebas de integraciónEstrategias  de aplicaciones para las pruebas de integración
Estrategias de aplicaciones para las pruebas de integraciónPablo Navarrete
 
14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentesGary Araujo Viscarra
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
Unidad I Requerimientos
Unidad I RequerimientosUnidad I Requerimientos
Unidad I Requerimientosguest409adc
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Presentación Calidad en Gestión de Servicios de TI
Presentación Calidad en Gestión de Servicios de TIPresentación Calidad en Gestión de Servicios de TI
Presentación Calidad en Gestión de Servicios de TIFernanda Diso
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-FasesBelghy Chisag
 
Importancia del Análisis de Requerimientos
Importancia del Análisis de RequerimientosImportancia del Análisis de Requerimientos
Importancia del Análisis de Requerimientospedro tovar
 
Elementos basados en clases
Elementos basados en clasesElementos basados en clases
Elementos basados en clasesAlumic S.A
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
2.2 tecnicas de ingenieria de requisitos
2.2 tecnicas de ingenieria de requisitos2.2 tecnicas de ingenieria de requisitos
2.2 tecnicas de ingenieria de requisitosSelins Cassiel
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc callclauddiaa
 

Was ist angesagt? (20)

Estrategias de aplicaciones para las pruebas de integración
Estrategias  de aplicaciones para las pruebas de integraciónEstrategias  de aplicaciones para las pruebas de integración
Estrategias de aplicaciones para las pruebas de integración
 
Guia iso 9126
Guia iso 9126Guia iso 9126
Guia iso 9126
 
14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Unidad I Requerimientos
Unidad I RequerimientosUnidad I Requerimientos
Unidad I Requerimientos
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Presentación Calidad en Gestión de Servicios de TI
Presentación Calidad en Gestión de Servicios de TIPresentación Calidad en Gestión de Servicios de TI
Presentación Calidad en Gestión de Servicios de TI
 
Las Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus AplicaciomesLas Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus Aplicaciomes
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Importancia del Análisis de Requerimientos
Importancia del Análisis de RequerimientosImportancia del Análisis de Requerimientos
Importancia del Análisis de Requerimientos
 
Elementos basados en clases
Elementos basados en clasesElementos basados en clases
Elementos basados en clases
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
2.2 tecnicas de ingenieria de requisitos
2.2 tecnicas de ingenieria de requisitos2.2 tecnicas de ingenieria de requisitos
2.2 tecnicas de ingenieria de requisitos
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc call
 

Ähnlich wie La crisis del software

Ähnlich wie La crisis del software (20)

calidad en desarrollo de software y sus atributos
calidad en desarrollo de software y sus atributoscalidad en desarrollo de software y sus atributos
calidad en desarrollo de software y sus atributos
 
Cuadro sinoptico
Cuadro sinopticoCuadro sinoptico
Cuadro sinoptico
 
Cuadro sinoptico
Cuadro sinopticoCuadro sinoptico
Cuadro sinoptico
 
Calidad
CalidadCalidad
Calidad
 
Ra semana 16
Ra semana 16Ra semana 16
Ra semana 16
 
BoLeTiN N° 2
BoLeTiN N° 2BoLeTiN N° 2
BoLeTiN N° 2
 
Mapa conceptual de calidad
Mapa conceptual de calidadMapa conceptual de calidad
Mapa conceptual de calidad
 
Mapa conceptual de calidad adan
Mapa conceptual de calidad adanMapa conceptual de calidad adan
Mapa conceptual de calidad adan
 
Guia tecnica para evaluación de software
Guia tecnica para evaluación de softwareGuia tecnica para evaluación de software
Guia tecnica para evaluación de software
 
Diagrama conceptual
Diagrama conceptualDiagrama conceptual
Diagrama conceptual
 
Calidad Del Software
Calidad Del SoftwareCalidad Del Software
Calidad Del Software
 
Articulo Calidad Del Software El Camino Al Exito Ver. Revisada
Articulo Calidad Del Software El Camino Al Exito Ver. RevisadaArticulo Calidad Del Software El Camino Al Exito Ver. Revisada
Articulo Calidad Del Software El Camino Al Exito Ver. Revisada
 
ISO 9126.pdf
ISO 9126.pdfISO 9126.pdf
ISO 9126.pdf
 
Factores de calidad del software
Factores de calidad del softwareFactores de calidad del software
Factores de calidad del software
 
conceptos de calidad
conceptos de calidadconceptos de calidad
conceptos de calidad
 
Conceptos de calidad
Conceptos de calidadConceptos de calidad
Conceptos de calidad
 
Calidad
CalidadCalidad
Calidad
 
Trabajo N°2
Trabajo N°2Trabajo N°2
Trabajo N°2
 
Fundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresFundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y Estándares
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
 

Kürzlich hochgeladen

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Kürzlich hochgeladen (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

La crisis del software

  • 1. Universidad Autónoma del Estado de México Centro Universitario UAEM Ecatepec Ingeniería en Computación LA CRISIS DEL SOFTWARE Y EL PARADIGMA DE PROGRAMACIÓN ORIENTADA A OBJETOS. CONCEPTOS BÁSICOS Programación Orientada a Objetos
  • 2. UNIDAD DE COMPETENCIA I. ORÍGENES Y CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetivo:  Reconocer los aspectos históricos y tecnológicos que dan importancia al desarrollo de software orientado a objetos. 2
  • 3. CONTENIDO  Introducción  Crisis del software  Criterios de calidad del software  Conceptos básicos de la P.O.O.  Reutilización  Polimorfismo  Genericidad  Clases y Objetos  Robustez 3
  • 4. GUIÓN EXPLICATIVO  El contenido del presente material se divide en dos bloques que pueden abordarse arbitrariamente, sin embargo para entender el contexto general del paradigma orientado a objetos, se recomienda su revisión de acuerdo al siguiente diagrama: Conceptos • Crisis del software básicos • Criterios de calidad • Clases y Objetos • Evolución de la programación O. • Métodos O. • Reutilización • Herencia • Robustez Introducción 4
  • 6. CRISIS DEL SOFTWARE La industria del software no ha podido satisfacer la demanda. La complejidad del software producido y demandado se incrementa constantemente. 6
  • 7. CRISIS DEL SOFTWARE Síntomas de que existe una crisis en la industria 1. Baja calidad del software. 2. Tiempo y presupuesto excedido. 3. Confiabilidad cuestionable. 4. Altos requerimientos de personal para desarrollo y mantenimiento. 7
  • 8. CRISIS DEL SOFTWARE ¿Qué factores influyen en la crisis del software? 1. Aumento del poder computacional. 2. Reducción del costo del hardware. 3. Rápida obsolescencia de hardware y software. 8
  • 9. CRISIS DEL SOFTWARE ¿Qué factores influyen en la crisis del software? 4. Aceptación de la computarización en las empresas. 5. Incremento en el número de usuarios de los sistemas de software. 6. Tipo de usuario no homogéneo aun en sistemas hechos a la medida. 9
  • 10. CRISIS DEL SOFTWARE ¿Qué factores influyen en la crisis del software? 7. Personal de desarrollo y mantenimiento diferente. 8. La magnitud del proyecto 9. Aumento en el conocimiento del problema. 10. Cambios en el entorno 10
  • 11. CRISIS DEL SOFTWARE ¿Cómo hacerle frente a esta crisis? Usando un nuevo enfoque de desarrollo de software, que permita: a) Mantenerse al corriente frente a la creciente demanda b) Cumplir con los tiempos de entrega y costos establecidos c) Tener un mejor control del avance del proyecto de software d) Establecer un lenguaje común entre los integrantes del esquipo de desarrollo de software e) Generar entre desarrolladores y equipo de soporte un plan de mantenimiento para los productos de software implementados 11
  • 12. Criterios de Calidad Del software
  • 13. CRITERIOS DE CALIDAD La calidad puede describirse desde distintos puntos de vista: •Trascendental: “la calidad es algo que se reconoce de inmediato, pero no es posible definir explícitamente”. •Del usuario: “La calidad se concibe en términos de las metas específicas del usuario final. Si un producto las satisface, tiene calidad” •Del fabricante: “La define en términos de las especificaciones originales del producto. Si éste las cumple, tiene calidad” •Del producto: “La calidad tiene que ver con las características inherentes de un producto” •Del valor: “La calidad esta relacionada con lo que el cliente está dispuesto a pagar por un producto”. 13
  • 14. CRITERIOS DE CALIDAD Calidad del software “Proceso eficaz del software que se aplica de manera que crea un producto útil que proporciona valor medible a quienes lo producen y a quienes lo utilizan” 14
  • 15. CRITERIOS DE CALIDAD Factores de la calidad de McCall Se centran en tres aspectos importantes del producto de software: • Sus características operativas • Su capacidad de ser modificado • Su adaptabilidad a nuevos ambientes 15
  • 16. CRITERIOS DE CALIDAD Facilidad de recibir mantenimiento Portabilidad Flexibilidad Reusabilidad Susceptibilidad de someterse a pruebas Interoperabilidad Revisión del producto Transición del producto Operación del producto Corrección Usabilidad Eficiencia Confiabilidad Integridad 16
  • 17. CRITERIOS DE CALIDAD Factores de la calidad de McCall • Corrección. Grado en el que el programa satisface sus especificaciones y en el que cumple con los objetivos de la misión del cliente. • Confiabilidad. Grado en el que se espera que un programa cumpla con su misión y con la precisión requerida. • Eficiencia. Cantidad de recursos de cómputo y de código requeridos por un programa para llevar a cabo su función. • Integridad. Grado en el que es posible controlar el acceso de personas no autorizadas al software o a los datos. 17
  • 18. CRITERIOS DE CALIDAD Factores de la calidad de McCall • Usabilidad. Esfuerzo que se requiere para aprender, operar, preparar las entradas e interpretar las salidas de un programa. • Facilidad de recibir mantenimiento. Esfuerzo requerido para detectar y corregir un error en un programa. • Flexibilidad. Esfuerzo necesario para modificar un programa que ya opera. • Susceptibilidad de someterse a pruebas. Esfuerzo que se requiere para probar un programa a fin de garantizar que realiza la función que se pretende. 18
  • 19. CRITERIOS DE CALIDAD Factores de la calidad de McCall • Portabilidad. Esfuerzo que se necesita para transferir un programa de un ambiente de sistema de hardware o software a otro. • Reusabilidad. Grado con el que un programa (o partes de uno) pueden volverse a utilizar en otras aplicaciones. • Interoperabilidad. Esfuerzo requerido para acoplar un sistema con otro. 19
  • 20. CRITERIOS DE CALIDAD Factores de la calidad ISO 9126 Estándar desarrollado con la intensión de identificar los atributos clave del software de cómputo. • Funcionalidad. Gado en el que el software satisface las necesidades planteadas según las establecen los atributos siguientes: • Adaptabilidad • Exactitud • Interoperabilidad • Cumplimiento • Seguridad 20
  • 21. CRITERIOS DE CALIDAD Factores de la calidad ISO 9126 • Confiabilidad. Cantidad de tiempo que el software se encuentra disponible para su uso, según lo indican los siguientes atributos: • Madurez • Tolerancia a fallas • Recuperación 21
  • 22. CRITERIOS DE CALIDAD Factores de la calidad ISO 9126 • Usabilidad. Grado en el que el software es fácil de usar, según lo indican los siguientes subatributos: • Entendible • Aprendible • Operable 22
  • 23. CRITERIOS DE CALIDAD Factores de la calidad ISO 9126 • Eficiencia. Grado en el que el software emplea óptimamente los recursos del sistema, según lo indican los subatributos siguientes: • Comportamiento del tiempo • Comportamiento de los recursos 23
  • 24. CRITERIOS DE CALIDAD Factores de la calidad ISO 9126 • Facilidad de recibir mantenimiento. Facilidad con la que pretenden efectuarse reparaciones al software, según lo indican los siguientes atributos: • Analizable • Cambiable • Estable • Susceptible a someterse a pruebas 24
  • 25. CRITERIOS DE CALIDAD Factores de la calidad ISO 9126 • Portabilidad. Facilidad con la que el software puede llevarse de un ambiente a otro según lo indican los siguientes atributos: • Adaptable • Instalable • Conformidad • Sustituible 25
  • 26. POO AD PM PP Evolución de la programación: paradigma y metodología
  • 27. PARADIGMA  Es un determinado marco desde el cuál se puede mirar, comprender, interpretar e interactuar con eventos, aspectos u objetos del mundo.  Puede describirse como:  elconjunto de conocimientos científicos que imperan en una época determinada  Las formas de pensar y de sentir de la gente en un determinado lugar y momento histórico. 27
  • 28. PARADIGMA  En el contexto académico y de investigación, es:  Una forma aceptada de resolver un problema en la ciencia, que más tarde es utilizada como modelo para la investigación y la formación de una teoría  ¿En el contexto de programación?  los paradigmas de programación nos indican las diversas formas que, a lo largo de la evolución de los lenguajes, han sido aceptadas como estilos para programar y para resolver los problemas por medio de una computadora. 28
  • 29. PARADIGMAS DE PROGRAMACIÓN  Los paradigmas de programación de uso más extendido son:  Programación por procedimientos  Programación modular  Abstracción de datos  Programación Orientada a Objetos 29
  • 30. PROGRAMACIÓN POR PROCEDIMIENTOS  Paradigma original de programación y de uso más común  El programador se concentra en el procesamiento, en el algoritmo requerido para llevar a cabo el cómputo deseado  Lenguajes: Fortran, Pascal y C  La programación estructurada se considera como el componente principal de la programación por procedimientos. 30
  • 31. PROGRAMACIÓN MODULAR  Con los años se dio mayor énfasis al diseño de procedimientos que a la organización de la información  Lo anterior originó que el tamaño de los programas aumentara y en consecuencia la dificultad para encontrar errores de ejecución y darles mantenimiento  La programación modular surge como remedio a esta situación 31
  • 32. PROGRAMACIÓN MODULAR  ¿Qué es un Módulo?  Conjunto de procedimientos afines junto con los datos que manipulan  La programación modular consiste en:  Establecer los módulos que se requieren para la resolución de un problema  Dividir el programa de modo que los procedimientos y los datos queden ocultos en los módulos 32
  • 33. PARADIGMA DE ABSTRACCIÓN DE DATOS  Los lenguajes como ADA y C++ permiten que un usuario defina tipos que se comporten casi de la misma manera que los tipos definidos por el lenguaje.  Estos tipos de datos definidos por el usuario reciben el nombre de tipos abstractos 33
  • 34. PARADIGMA DE ABSTRACCIÓN DE DATOS  El PAD consiste en:  Establecer las características de los tipos de datos abstractos que se desean definir  Proporcionar un conjunto completo de operaciones válidas y útiles para cada tipo de dato  Cuando no hay necesidad de más de un objeto de un tipo dado, no es necesario este estilo de programación y basta con el estilo de ocultamiento de datos por medio de módulos. 34
  • 35. PROGRAMACIÓN ORIENTADA A OBJETOS  El paradigma de AD tiene el inconveniente de que no hay una distinción entre las propiedades generales y las particulares de un conjunto de objetos  Expresar esta distinción y aprovecharla es lo que define a la POO a través del concepto de herencia 35
  • 36. PROGRAMACIÓN ORIENTADA A OBJETOS  El paradigma de POO consiste en:  Definir que clases se desean  Proporcionar un conjunto completo de operaciones para cada clase  Indicar explícitamente lo que los objetos de la clase tienen en común empleando el concepto de herencia 36
  • 37. Clases Abstracción Objetos POO Polimorfismo Herencia Conceptos básicos de la Programación Orientada a Objetos
  • 38. CONCEPTOS BÁSICOS DE LA POO Definición de POO. Es un importante conjunto de técnicas que pueden utilizarse para hacer el desarrollo de programas más eficiente, a la par que mejora la fiabilidad de los programas 38
  • 39. CONCEPTOS BÁSICOS DE LA POO Principios de la Orientación a Objetos  Los programas de computadoras constan de 2 elementos: Código y Datos.  Un programa se puede organizar conceptualmente en base a su código o a sus datos.  Existen 2 paradigmas que controlan el modo como se escribe un programa  Paradigma procedimental (escrito alrededor de lo que está sucediendo)  Paradigma Orientado a Objetos (escrito alrededor de quien está siendo afectado) 39
  • 40. CONCEPTOS BÁSICOS DE LA POO Modelo Orientado a Procesos  Código que actúa sobre datos Modelo Orientado a Objetos  Define objetos de datos, sus atributos y el modo en que se pueden examinar o cambiar  Los objetos, datos y procedimientos se pueden comunicar con otros objetos y datos  Un programa consta de una serie de objetos que se comunican entre sí enviándose mensajes. 40
  • 41. CONCEPTOS BÁSICOS DE LA POO Clases  En el mundo real existen muchos objetos de la misma clase.  P. ej. La clase Automóvil  Su automóvil es uno de los muchos automóviles del mundo.  Un automóvil es una instancia de la clase de objetos conocida como Automóvil  Los automóviles tiene un estado común (velocidad, puertas, modelo y cuatro ruedas) y un comportamiento (acelerar, frenar, dar vuelta).  Sin embargo, cada automóvil es independiente y puede ser diferente de otros automóviles. 41
  • 42. CONCEPTOS BÁSICOS DE LA POO Definición de Clase Una clase es un prototipo o modelo que define las variables y métodos comunes a todos los objetos de un cierto tipo. 42
  • 43. CONCEPTOS BÁSICOS DE LA POO Explicación del concepto Clase (1)  Una clase es como una plantilla o modelo que se utiliza para crear objetos concretos  Una vez que se declara una clase, se debe instanciar antes de que se pueda utilizar  Una clase consta de variables denominadas campos junto con métodos que operan sobre esos campos.  Una clase encapsula los componentes pasivos (campos) y componentes activos (métodos) en una única entidad. 43
  • 44. CONCEPTOS BÁSICOS DE LA POO Explicación del concepto Clase (2)  Una clase define las características de un grupo de objetos que comparte ciertas características:  Almacenan los mismos tipos de datos  Pueden ejecutar las mismas operaciones  Sin embargo, cada objeto puede almacenar valores reales diferentes y representa una ocurrencia particular de esa clase de objetos. 44
  • 45. CONCEPTOS BÁSICOS DE LA POO Creación y uso de una Clase  Cuando se crea una instancia de una clase, se crea un objeto de ese tipo y el sistema asigna memoria para las variables instancia declaradas por la clase.  A continuación se puede invocar a los métodos del objeto para realizar alguna tarea.  Dada una clase, un objeto - denominado también instancia de la clase - es una variable que tiene los campos de esa clase y puede llamar a los métodos de esa clase. 45
  • 46. CONCEPTOS BÁSICOS DE LA POO  Abstracción. Se enfoca en las características esenciales de un objeto relativo a la perspectiva del observador.  Modularidad. Agrupa abstracciones en unidades discretas. Es la propiedad de un sistema que se ha descompuesto en un conjunto de módulos coherentes y poco acoplados.  Herencia: Es clasificar u ordenar abstracciones. Las abstracciones forman una jerarquía. Los objetos pueden heredar propiedades de otros objetos. La herencia puede ser simple o múltiple. (C++: Privado, Protegido, Público). 46
  • 47. CONCEPTOS BÁSICOS DE LA POO  Encapsulación: Esconde los detalles de la implementación de un objeto  Reutilización: Se refiere a la creación de objetos (bien hechos) que pueden utilizarse en otros dominios  Ejecución: Se lleva a cabo por medio de propagación de mensajes  Mensajes: El código privado que tiene el objeto puede ser accesado solo por medio de mensajes. El mensaje dice a que objeto se dirige, que procedimiento ejecutar y cuales son los argumentos que deberá contener. 47
  • 48. CONCEPTOS BÁSICOS DE LA POO  Métodos: Es un procedimiento privado de un objeto que dice que hacer con un mensaje y como hacerlo. Como cada objeto tiene sus propios métodos, los objetos pueden responder diferente al mismo mensaje.  Respuestas: Una vez recibido un mensaje, el objeto manda su respuesta a otros objetos o al sistema.  Polimorfismo: se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente. 48
  • 49. BIBLIOGRAFÍA  Deytel Harvey M., Paul J, Deytel, Como programar en Java , 5ª. Edición, Prentice Hall México.  Goodrich Michel T., Tamassia Roberto, Estructuras de datos y algoritmos en Java 2ª. Edición, CECSA, México.  Ceballos Fco. Javier, Java 2 Curso de Programación, AlfaOmega Ra-Ma, México.  Joyanes Aguilar Luis, Programación Orientada a Objetos, segunda edición, McGraw Hill. 49