sábado, 8 de agosto de 2009

PROGRAMACIÓN ORIENTADA A OBJETOS


EL PRINCIPIO BÁSICO DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

es que un sistema de software se ve como una secuencia de «transformaciones» en un conjunto de objetos. El término objeto tiene el mismo significado que un nombre o una frase nominal Es una persona, un lugar o una cosa Ejemplos de objetos del inundo real son: persona, tabla, computadora, avión, vuelo de avión, diccionario, ciudad o la capa de ozono La mayoría de los Objetos del mundo real tienen atributos (características que los describen) Por ejemplo, los atributos de una persona incluyen el nombre, la edad, el sexo, la fecha de nacimiento, la dirección, etc. Los objetos tienen atributos, y ellos, a su vez, comportamiento El comportamiento (behavkr) es el conjunto de cosas que puede hacer un objeto; por ejemplo, una persona puede estudiai, caminar, trabajar, etc En síntesis, se puede decir que los objetos conocen cosas y hacer cosas Las cosas que un objeto conoce son sus atributos; las cosas que puede hacer un objeto son su comportamiento

EN QUE SE BASA LA PROGRAMACIÓN ORIENTADA A OBJETOS

Las tecnologías orientadas a objetos se han convertido en la década de los noventa en uno de los motores clave de la industria del software Sin embargo, las tecnologías de objetos no es, como algunos innovadores pregonan, una novísima tecnología, sino que, muy al contrario, es una vieja y madura tecnología que se remonta a los años sesenta. De hecho, Simula, uno de los lenguajes orientados a objetos más antiguos, fue desarrollado en 1967 El desarrollo de programas orientados a objetos es un enfoque diferente del mundo informático Implica la creación de modelos del mundo real y la construcción de programas informáticos basados en esos modelos El proceso completo de programación comienza con la construcción de un modelo del suceso (evento) real El resultado final del proceso es un programa de computadora que contiene características que representan algunos de los objetos del mundo real que son parte del suceso

UN POCO DE HISTORIA

El primer lenguaje de programación que introdujo el concepto de clase fue Simula-67, como entidad que contenía datos y las operaciones que manipulaban los datos Así misino, introdujo también el concepto de herencia El siguiente lenguaje orientado a objetos, y seguramente el más popular desde un enfoque conceptual exclusivamente de objetos, es Smalltalk, cuya primera versión comercial se desarrolló en 1976, y en 1980 se popularizó con la aparición de Smalltalk-80. Posteriormente se ha popularizado gracias al desarrollo de Smalltalk/V de la casa Digital Y, que recientemente se lid implementado bajo entorno Windows El lenguaje se caracteriza por soportar todas las propiedades fundamentales de la orientación a objetos, dentro de un entorno
integrado de desarrollo, con interfaz interactivo de usuario basado en menús Entre los lenguajes orientados a objetos .

• 1970 desarrollo mínimo en Xerox
• 1981 lenguaje Smalltak, primer lenguaje y sistema operativo 00 popular
• 1984 lenguaje C++, lenguaje OO para escribir software real
• 1990s desarrollo del lenguaje C++ y diversas metodologías de análisis y diseño OO
• 1995 lenguaje Java, lenguaje OO para el web


VENTAJAS Y DESVENTAJAS DE LA POO

DESARROLLO TRADICIONAL FRENTE A ORIENTADO A OBJETOS


El sistema tradicional del desarrollo del software para un determinado sistema es la subdivisión del mismo en módulos, a la cual deben aplicarse criterios específicos de descomposición, los cuales se incluyen en metodologías de diseño Estos módulos se refieren a la fase de construcción de un programa, que en el modelo clásico sigue a la definición de los requisitos (fase de análisis) El modelo clásico del ciclo de vida del software no es el único modelo posible, dado que es posible desarrolla1 código de un modo evolutivo, por refinamiento y prototipos sucesivos Existen numerosos lenguajes de programación y metodologías que se han desarrollado en paralelo a los mismos, aunque normalmente con independencia de ellos
En esta sección nos centraremos en la metodología más utilizada, denominada desarrollo estructurado, que se apoya esencialmente en el diseño descendiente y en la programación estructul.ada La programación estructurada es un estilo disciplinado de programación según los lenguajes procedimentales (por procedimientos), tales como FORTRAN, BASIC, COBOL y recientemente C y C++, entre otros.


Modelos de ciclos de vida Orientados a Objetos

• Necesidad de iteración dentro y entre las fases
– Modelo de fuente
– Round-trip gestalt
– Proceso Unificado (Unified software development process -UP-)
• Todos incorporan alguna forma de
– Iteración
– Paralelismo
– Desarrollo incremental
Peligro

VENTAJAS DE LAS METODOLOGÍAS ORIENTADAS A OBJETOS

• Un sólo paradigma
– Modelos más cercanos al mundo real
• Más fáciles de entender y mantener
– Estabilidad
• Cambios en los requerimientos no implican cambios masivos en el sistema en desarrollo
– Hablan el mismo lenguaje usuarios, analistas, diseñadores, implantadores
– Facilita reutilización

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS

Cualquier metodología orientada a objetos incluye al menos dos fases. Durante el análisis se obtiene el modelo que representa las necesidades del usuario sin considerar ningún aspecto de implementación (software o hardware). En el diseño se genera la arquitectura del sistema, la cual representa al sistema considerando los detalles de implementación.