SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
MAESTRIA EN
TECNOLOGIA DE LA INFORMACION
Introducción a la Tecnología Orientada a Objetos
• Fenómeno ocurrido en la década de los 80’s como consecuencia
del auge de la automatización haciendo uso de computadoras.
• La mayoría del software se construye a la medida, en vez de
ensamblar componentes existentes.
• Los programadores no disponen / usan “componentes” de
software reutilizables empezar desde cero.
• “Complejidad del Software”
La Crisis del Software
“… es una propiedad esencial, no accidental” Brooks
“… es una característica inherente, por lo tanto debemos tratar
de administrar la complejidad”
La Crisis del Software
• No terminar los proyectos a tiempo.
• Consumir más presupuesto del planificado.
• Baja productividad.
• Hacer productos de baja calidad.
• Gran cantidad de personal especializado dedicado a labores de
mantenimiento.
• Usuarios insatisfechos con los sistemas y con los departamentos
o grupos de desarrollo. Se preguntan:
¿Por qué el desarrollo de software es tan costoso?
¿Por qué toma tanto tiempo?
¿Hay alguna perspectiva de mejora?
La Complejidad del Software
4 factores que influyen en la complejidad:
Complejidad del dominio del problema:
La Complejidad del Software
• Problemas que involucran elementos de gran complejidad.
• Existencia de requerimientos contradictorios.
• Distancia entre el usuario y el desarrollador (diferentes
perspectivas del problema).
Dificultad de administrar el proceso de desarrollo:
• Dar la ilusión de simplicidad.
• Manejo de un grupo de trabajo (problemas de comunicación,
coordinación e integración).
Flexibilidad exigida al software:
• Uso estándares
Mantenimiento del software:
• Correctivo – corregir errores en programas (20 %).
• Adaptativo – cambios en los requerimientos (25 %).
• Perfectivo – tratar de mantener el software operativo (55 %).
La Complejidad del Software
A medida que aumentó la complejidad del software requerido, se
redujo las habilidades para manejar la complejidad.
CAOS
Solución de la Ingeniería de Software:
Llegada al Caos
• Tratar el software como una ingeniería.
• Uso de metodologías estructuradas.
• Mayor participación del usuario.
• Pruebas planificadas y documentadas.
• Uso de herramientas automatizadas.
Un médico, un ingeniero civil y un profesional de la computación
estaban discutiendo sobre cuál era la profesión más antigua del
mundo:
El médico: En la Biblia dice que Dios creó a Eva de la costilla de
Adán, por lo tanto la mía es la profesión más antigua.
El ingeniero civil: Pero en el génesis dice que Dios impuso el
orden y sacó a la tierra del CAOS en que se encontraba en siete
días; esta fue la primera y más espectacular aplicación de
ingeniería civil.
El profesional de la computación: Pero, ¿quién creen ustedes que
creó el CAOS?
Llegada al Caos
Características ideales del Software (McCall)
Características
Operacionales
Revisión
del
Producto
Transición
del
Producto
• Mantenibilidad
• Flexibilidad
• Verificabilidad
• Portabilidad
• Reusabilidad
• Interoperabilidad
• Corrección
• Fiabilidad
• Eficiencia
• Integridad
• Usabilidad
Revisión del producto:
• Mantenibilidad: fácil corregir errores.
• Flexibilidad: fácil de modificar.
• Verificabilidad: fácil de probar.
Transición del producto:
• Portabilidad: fácil de transportar entre ambientes.
• Reusabilidad: grado en que el todo o alguna de las partes se
pueda usar en otros desarrollos.
• Interoperabilidad: fácil de acoplar.
Características ideales del Software (McCall)
Características operacionales:
• Corrección: grado de satisfacción de requerimientos.
• Fiabilidad: grado de funcionamiento esperado.
• Eficiencia: grado de minimización de recursos.
• Integridad: grado de seguridad.
• Usabilidad: facilidad de aprendizaje y operación.
Otros aspectos:
• Comprensibilidad: grado de poderse leer y comprender.
• Robustez: capacidad de funcionar en condiciones anormales.
• Extensibilidad: facilidad de crecer o mejorar.
• Modularidad: grado de independencia funcional de cada uno
de los componentes.
Características ideales del Software (McCall)
3 Puntos para traer orden al Caos
Descomposición:
• Descomponer el software en partes pequeñas para ser
refinadas de forma independiente.
• La complejidad del problema se restringe a la complejidad de
cada una de las partes.
• Es necesario hacer una división inteligente.
Conceptos relacionados
• Modularidad
• Programación estructurada
3 Puntos para traer orden al Caos
Abstracción:
• Ignorar los detalles no significativos de cada elemento y
trabajar con modelos ideales de éstos.
• Brinda enorme poder para manejar la complejidad.
• Ayuda a vencer las limitaciones de nuestra memoria
intermedia para el manejo de la información.
Conceptos relacionados:
• Tipo Abstracto de Datos
• Conceptualización del Dominio
3 Puntos para traer orden al Caos
Jerarquía:
• Organizar los elementos en niveles de categoría.
• Relaciones estructurales y semánticas.
• Incrementa el contenido semántico de las piezas de
información.
• Ayuda a la comprensión del funcionamiento del sistema.
Conceptos relacionados:
• Clasificación / Generalización / tipo de
• Composición / Agregación / parte de
Orientación a Objetos
Fórmula conceptual 1:
Orientación a Objetos = Descomposición +
Abstracción +
Jerarquía
• Descomposición ¿Cómo hacer que el conjunto de
elementos resuelvan el problema?
• Abstracción ¿Cómo identificar los elementos
basado en los conceptos del
problema?
• Jerarquía ¿Cómo relacionar los elementos para
reducir la complejidad de cada uno de
ellos?
Orientación a Objetos
• Surge como una respuesta hacia la crisis del software.
• Es una nueva forma de pensar usando conceptos del mundo
real.
• Significa que el software se organiza como un conjunto de
objetos discretos cada uno de los cuales incorpora su
estructura de datos y su comportamiento.
• “Ejecutar un programa o sistema, es algo tan sencillo como
crear objetos y disparar mensajes” (A. Goldberg)
• Término introducido en el léxico con la llegada del lenguaje
de programación Smalltalk.
• Conceptos a manejar: clase, objeto, método, mensaje,
subclase, superclase, instancia, herencia, encapsulamiento,
polimorfismo, interfaz.
Orientación a Objetos
Diagramas jerárquicos de
clases
Organigramas de flujos de
datos
Encapsulamiento / MensajesEntrada / Proceso / Salida
Clases débilmente acopladas
y sin datos globales
Datos globales o distribuidos
entre los módulos
Módulos construidos
alrededor de las clases
Módulos construidos
alrededor de las
operaciones
Orientación a ObjetosDescomposición funcional
Orientación a Objetos
DATOS
MODULOS
Orientación a Objetos
Lea la especificación de un software, que usted desee
construir. Subraye los verbos si desea construir código
procedimental, y los nombres si desea hacer un
programa orientado a objetos
Booch 1989
Orientación a Objetos
Beneficios:
• Desarrollos más rápidos – basado en la reusabilidad de
elementos.
• Calidad más alta – basado en el uso de objetos eficientes y
eficaces ya existentes.
• Mantenimiento más fácil – basado en el uso de objetos libres
de errores.
• Costos más bajos (programación, diseño y administración).
• Soporte a sistemas de gran escala.
• Mejores estructuras de información.
• Aumento de la adaptabilidad.
Evolución Histórica Lenguajes
Evolución Histórica Metodologías

Más contenido relacionado

Similar a Introducción a la Tecnología Orientada a Objetos

AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosFranklin Parrales Bravo
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de softwareJose Diaz Silva
 
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.pptCOMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.pptJUANPABLOCHVEZNAVA
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTECAMILO
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A ObjetosHectorMamani
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modularguestb97266b9
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Marco Guerrero
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittJavier Muñoz
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CosteCAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSCAMILO
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoCAMILO
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de dosteCAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y CosteCAMILO
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 

Similar a Introducción a la Tecnología Orientada a Objetos (20)

Orientacion objetos
Orientacion objetosOrientacion objetos
Orientacion objetos
 
7984
7984 7984
7984
 
8.conceptos de diseño
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.pptCOMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
COMPUTACIÓN DISTRIBUIDA Y SU APLICACIÓN TECNOLÓGICA.ppt
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A Objetos
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 

Último

VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Final Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos infoFinal Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos infoMEYERQuitoSalas
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 

Último (20)

VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Final Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos infoFinal Ashto método mecánica de suelos info
Final Ashto método mecánica de suelos info
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 

Introducción a la Tecnología Orientada a Objetos

  • 1. MAESTRIA EN TECNOLOGIA DE LA INFORMACION Introducción a la Tecnología Orientada a Objetos
  • 2. • Fenómeno ocurrido en la década de los 80’s como consecuencia del auge de la automatización haciendo uso de computadoras. • La mayoría del software se construye a la medida, en vez de ensamblar componentes existentes. • Los programadores no disponen / usan “componentes” de software reutilizables empezar desde cero. • “Complejidad del Software” La Crisis del Software “… es una propiedad esencial, no accidental” Brooks “… es una característica inherente, por lo tanto debemos tratar de administrar la complejidad”
  • 3. La Crisis del Software • No terminar los proyectos a tiempo. • Consumir más presupuesto del planificado. • Baja productividad. • Hacer productos de baja calidad. • Gran cantidad de personal especializado dedicado a labores de mantenimiento. • Usuarios insatisfechos con los sistemas y con los departamentos o grupos de desarrollo. Se preguntan: ¿Por qué el desarrollo de software es tan costoso? ¿Por qué toma tanto tiempo? ¿Hay alguna perspectiva de mejora?
  • 5. 4 factores que influyen en la complejidad: Complejidad del dominio del problema: La Complejidad del Software • Problemas que involucran elementos de gran complejidad. • Existencia de requerimientos contradictorios. • Distancia entre el usuario y el desarrollador (diferentes perspectivas del problema). Dificultad de administrar el proceso de desarrollo: • Dar la ilusión de simplicidad. • Manejo de un grupo de trabajo (problemas de comunicación, coordinación e integración).
  • 6. Flexibilidad exigida al software: • Uso estándares Mantenimiento del software: • Correctivo – corregir errores en programas (20 %). • Adaptativo – cambios en los requerimientos (25 %). • Perfectivo – tratar de mantener el software operativo (55 %). La Complejidad del Software
  • 7. A medida que aumentó la complejidad del software requerido, se redujo las habilidades para manejar la complejidad. CAOS Solución de la Ingeniería de Software: Llegada al Caos • Tratar el software como una ingeniería. • Uso de metodologías estructuradas. • Mayor participación del usuario. • Pruebas planificadas y documentadas. • Uso de herramientas automatizadas.
  • 8. Un médico, un ingeniero civil y un profesional de la computación estaban discutiendo sobre cuál era la profesión más antigua del mundo: El médico: En la Biblia dice que Dios creó a Eva de la costilla de Adán, por lo tanto la mía es la profesión más antigua. El ingeniero civil: Pero en el génesis dice que Dios impuso el orden y sacó a la tierra del CAOS en que se encontraba en siete días; esta fue la primera y más espectacular aplicación de ingeniería civil. El profesional de la computación: Pero, ¿quién creen ustedes que creó el CAOS? Llegada al Caos
  • 9. Características ideales del Software (McCall) Características Operacionales Revisión del Producto Transición del Producto • Mantenibilidad • Flexibilidad • Verificabilidad • Portabilidad • Reusabilidad • Interoperabilidad • Corrección • Fiabilidad • Eficiencia • Integridad • Usabilidad
  • 10. Revisión del producto: • Mantenibilidad: fácil corregir errores. • Flexibilidad: fácil de modificar. • Verificabilidad: fácil de probar. Transición del producto: • Portabilidad: fácil de transportar entre ambientes. • Reusabilidad: grado en que el todo o alguna de las partes se pueda usar en otros desarrollos. • Interoperabilidad: fácil de acoplar. Características ideales del Software (McCall)
  • 11. Características operacionales: • Corrección: grado de satisfacción de requerimientos. • Fiabilidad: grado de funcionamiento esperado. • Eficiencia: grado de minimización de recursos. • Integridad: grado de seguridad. • Usabilidad: facilidad de aprendizaje y operación. Otros aspectos: • Comprensibilidad: grado de poderse leer y comprender. • Robustez: capacidad de funcionar en condiciones anormales. • Extensibilidad: facilidad de crecer o mejorar. • Modularidad: grado de independencia funcional de cada uno de los componentes. Características ideales del Software (McCall)
  • 12. 3 Puntos para traer orden al Caos Descomposición: • Descomponer el software en partes pequeñas para ser refinadas de forma independiente. • La complejidad del problema se restringe a la complejidad de cada una de las partes. • Es necesario hacer una división inteligente. Conceptos relacionados • Modularidad • Programación estructurada
  • 13. 3 Puntos para traer orden al Caos Abstracción: • Ignorar los detalles no significativos de cada elemento y trabajar con modelos ideales de éstos. • Brinda enorme poder para manejar la complejidad. • Ayuda a vencer las limitaciones de nuestra memoria intermedia para el manejo de la información. Conceptos relacionados: • Tipo Abstracto de Datos • Conceptualización del Dominio
  • 14. 3 Puntos para traer orden al Caos Jerarquía: • Organizar los elementos en niveles de categoría. • Relaciones estructurales y semánticas. • Incrementa el contenido semántico de las piezas de información. • Ayuda a la comprensión del funcionamiento del sistema. Conceptos relacionados: • Clasificación / Generalización / tipo de • Composición / Agregación / parte de
  • 15. Orientación a Objetos Fórmula conceptual 1: Orientación a Objetos = Descomposición + Abstracción + Jerarquía • Descomposición ¿Cómo hacer que el conjunto de elementos resuelvan el problema? • Abstracción ¿Cómo identificar los elementos basado en los conceptos del problema? • Jerarquía ¿Cómo relacionar los elementos para reducir la complejidad de cada uno de ellos?
  • 16. Orientación a Objetos • Surge como una respuesta hacia la crisis del software. • Es una nueva forma de pensar usando conceptos del mundo real. • Significa que el software se organiza como un conjunto de objetos discretos cada uno de los cuales incorpora su estructura de datos y su comportamiento. • “Ejecutar un programa o sistema, es algo tan sencillo como crear objetos y disparar mensajes” (A. Goldberg) • Término introducido en el léxico con la llegada del lenguaje de programación Smalltalk. • Conceptos a manejar: clase, objeto, método, mensaje, subclase, superclase, instancia, herencia, encapsulamiento, polimorfismo, interfaz.
  • 17. Orientación a Objetos Diagramas jerárquicos de clases Organigramas de flujos de datos Encapsulamiento / MensajesEntrada / Proceso / Salida Clases débilmente acopladas y sin datos globales Datos globales o distribuidos entre los módulos Módulos construidos alrededor de las clases Módulos construidos alrededor de las operaciones Orientación a ObjetosDescomposición funcional
  • 19. Orientación a Objetos Lea la especificación de un software, que usted desee construir. Subraye los verbos si desea construir código procedimental, y los nombres si desea hacer un programa orientado a objetos Booch 1989
  • 20. Orientación a Objetos Beneficios: • Desarrollos más rápidos – basado en la reusabilidad de elementos. • Calidad más alta – basado en el uso de objetos eficientes y eficaces ya existentes. • Mantenimiento más fácil – basado en el uso de objetos libres de errores. • Costos más bajos (programación, diseño y administración). • Soporte a sistemas de gran escala. • Mejores estructuras de información. • Aumento de la adaptabilidad.