Programación orientada a objetos
1) Análisis, 6%
2) Diseño, 5%
3) Implementación, 7%
4) Depuración, 15%
5) Mantenimiento, 67%
Factores calidad del software
●Eficiencia
●Portabilidad
●Verificabilidad
●Integridad(protección contra procesos sin derecho de acceso)
●Facilidad de uso
●Robustez (situaciones anómalas)
●Extensibilidad
●Reutilización
●Compatibilidad, ...Abstracción en programación
●Capacidad para encapsular y aislar la información del diseño y ejecución.
●Mecanismos en programación:
Procedimientos y funciones
Tipos de datos abstractos (TDA)
Objetos: son TDA a los que se añaden mecanismos como herencia, métodos, etc.
Programación Estructurada
Desde principios de los 70. Dificultad de trabajo en grupo. No hay correspondencia estrecha entre datosreales y programas.
Abstracción de operaciones
◦Estructura de un módulo:
Interfaz
Datos de entrada
Datos de salida
Descripción funcionalidad
Implementación
Datos locales
Secuencia de instrucciones
Sintaxis del lenguaje:
◦Organización del código en bloques de instrucciones
Definición de funciones y procedimientos
◦Extensión del lenguaje con nuevas operaciones
Llamadas anuevas funciones y procedimientos
Tipos Abstractos de datos
Se fundamenta en:
◦Abstracción de Datos + Abstracción de Operaciones
Un tipo abstracto de datos consiste en:
Estructura de datos que almacena información para representar un determinado concepto
◦Funcionalidad: conjunto de operaciones que se pueden realizar sobre el tipo de datos
◦Sintaxis del lenguaje:
Módulos asociados a tiposde datos
No introduce necesariamente variaciones respecto a la programación modular
Programación Orientada a Objetos (POO)
●La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la máquina.
●Esto es posible gracias a la forma racional con la que se manejan las abstraccionesque representan las entidades del dominio del problema, y a propiedadescomo la jerarquía o el encapsulamiento.
El elemento básico de este paradigma no es la función (elemento básico de la programación estructurada), sino un ente denominado Objeto
Un objeto es la representación de un concepto para un programa, y contiene la información necesaria para abstraer dicho concepto:
los datos que describen su estado
las operaciones que pueden modificar dicho estado, ydeterminan las capacidades del objeto.
Un objeto es un trocito de programa
●Un programa es un conjunto de objetos
●Se programan cosas que pueden ser muy complejas y para mantener esa complejidad bajo control hay que partir el problema en piezas controlables
Divide y vencerásl
Los objetos son objetos?
●Los objetos de programación NO son objetos materiales
●Inicialmente los objetos se inventaronpara estructurar programas de simulación flujo viales: un auto, un peatón, una calle, un semáforo, ...
●Actualmente se usan para estructurar objetos materiales, servicios, conceptos, ..., en general cualquier abstracción mental.
Ejemplos de objetos
●Una estructura algebraica (ej. un grupo)
●Un ámbito de trabajo (ej. colores)
●Un objeto material (ej. un satélite)
●Un servicio inmaterial (ej.www)
●Algo muy “real”: una cuenta corriente
Habitualmenteun programaempleamuchosobjetosde la mismaclase
muchoscoches, muchossatélites, muchasconexioneswww, muchostransistores, ...
●Los programadoresdefinenclases
class Car { ... detalles... }
●Y luegocreanobjetosde lasclasesdefinidas
CarmiAuto= new Car (...);
CarautoDeElisa= new Car (...);
Ventajas de uso:
Reusabilidad (mecanismos deabstracción y herencia)
●En programación convencional: uso de funciones y procedimientos
Adecuación a entornos de bases de datos.
Idónea para tratamiento de Interfaces de Usuario.
Adecuada en prototipos y simulación.
Características de POO
●El modelo objeto
(Booch, Object-Oriented Analysis and Design with Applications,1994):
Abstracción
Las características esenciales del objeto...
Regístrate para leer el documento completo.