Tec Orientada A Objetos
gal084 de Mayo de 2014
6.641 Palabras (27 Páginas)235 Visitas
CAPITULO I
TECNOLOGÍA ORIENTADA A OBJETOS
Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.
La programación orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.
1. Una Perspectiva Histórica
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, redes neurales, sistemas administrativos, etc.
En 1961 Krystin Nygaard con la idea de desarrollar un lenguaje de doble propósito (descripción de sistema y simulación programable), crea 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. SIMULA 67 es una extensión del lenguaje ALGOL 60 y diseñado en 1967 por Ole - Johan Dahl y Krystin Nygaard, de la Universidad de Oslo y del Centro de Computación Noruego (Norsk Regasentral). Sin embargo Simula, así como se le conoce actualmente, es un lenguaje de programación de propósito general, que no es ampliamente utilizado.
En 1970 se crea el SMALLTALK, éste fue el mayor desarrollo de los lenguajes orientado a objetos. El proyecto de investigación se realizó en la Corporación Xerox, Centro de Investigación de Palo Alto (PARC - Palo Alto Research Center) y fue dirigido por Allan Kay. Empezó en los 70’s y tuvo como meta, más que el lenguaje de programación, una completa interfacez gráfica y herramienta de desarrollo integradas.
Xerox PARC fue la pionera en el desarrollo y utilización de los componentes estándar de las modernas interfaces gráficas, como ventanas, iconos, mouse, etc.
Smalltalk fue el primer lenguaje orientado a objetos, ya que trató exclusivamente con ellos; los subsecuentes, se ha basado en los conceptos utilizados por él. Smalltalk fue importante no sólo por su lenguaje, sino por las herramientas de desarrollo disponibles en su ambiente, éstas incluyen visualizadores de clases (class browsers) e inspeccionadores de objetos (object inspectors) .
Un visualizador de clases es una poderosa herramienta, que permite editar el código del programa, en una manera mucho más conveniente y estructurada que utilizando editores convencionales. Por la estructura, inherente, bien definida por los programas orientados a objetos, el visualizador de clases es capaz de mostrar, en forma gráfica, el árbol de una clase dada, permitiendo al usuario "apuntar y disparar" método en particular (proceso) a ser editado. Otras ventajas del visualizador es que muchas tareas de programación se realizan sólo por menús, por ejemplo la creación de una nueva clase modificación de la estructura del árbol de herencia, modificación de una estructura de una clase etc. Estas operaciones son mucho más complejas cuando se realizan en un ambiente de edición tradicional.
Herramientas como éstas, son una parte integral de la "promesa" de la Tecnología Orientada a Objetos, ya que puede simplificar la vida del programador, reduciendo el costo y el tiempo de desarrollo.
En los años 80 evoluciona el SMALLTALK y se crea ADA, lo que hizo crecer el interés en el Diseño Orientado a Objetos.
En estos lenguajes la abstracción de los datos tienen gran importancia. Los problemas del mundo real se representan mediante objetos a los cuales se le agrega operaciones cuando es necesario
La TOO se fundamenta en el proceso de construcción y utilización de conocimientos, por lo tanto, objetos y clases son los pasos más importantes en la búsqueda de una nueva revolución que reemplace, esta vez, parte del esfuerzo que implica la organización y utilización del conocimiento, del mismo modo que en la primera, las máquinas reemplazaron el esfuerzo físico del hombre y de los animales, permitiendo el vertiginoso avance del mundo.
Los "Chips de Software" (Objetos y clases altamente reutilizables) serán el motor de la revolución que ya se ha iniciado. Participar en ella garantizará nuestra competitividad en el futuro y solo nos exige todo el esfuerzo de nuestra capacidad creativa, y de la perseverancia de construir productos de alta calidad. La materia más importante del software es la inteligencia.
2. ¿Cuáles son las ventajas de un lenguaje
orientado a objetos?
Muchos de los beneficios son alcanzados únicamente cuando el Análisis y Diseño son utilizados con herramientas CASE Orientadas a Objetos, basados en repositorios que generan códigos.
Fomenta la reutilización y extensión del código.
Permite crear sistemas más complejos.
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software
Lo interesante de la Programación Orientada a Objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible.
Reutilización.- Las clases son diseñadas de tal manera que ellas puedan ser reutilizadas en muchos sistemas. Para maximizar la reutilización las clases deben ser construidas de manera que puedan ser personalizadas. Un repositorio debería ser cargado con una colección de clases reutilizables. Un objetivo permanente de las técnicas Orientadas a Objetos, es conseguir la reutilización masiva en la construcción de software.
Estabilidad.- Las clases diseñadas para la reutilización repetida, llegan a ser estables de la misma manera que los microprocesadores y otros chips que son bastante estables. Las aplicaciones serán construidas utilizando chips de software. El Diseñador piensa de Comportamiento de Objeto, no en Niveles de Detalle. El encapsulamiento oculta los detalles y hace fácil el uso de clases complejas. Las clases son semejantes a las cajas negras. El desarrollador utiliza la caja negra sin mirar su interior. El tiene un entendimiento del comportamiento de la caja negra y cómo comunicarse con ella.
Construcción de Objetos de complejidad Creciente.- Los objetos se construyen fuera de los objetos. Una buena manera de fabricar es construir tomando una lista de materiales de partes y subpartes existentes. Esto posibilita construir componentes de software complejos y los mismos se utilizarán para construir otros bloques de software más complejos.
Confiabilidad.- EL software construido a partir de una librería de clases estables, es probable que se encuentre libre de errores, respecto a construir software desde el inicio. Cada método en una clase es en sí mismo simple y diseñado para ser confiable.
Verificación de Correcciones.- El Diseño Orientado a Objetos con técnica formal para la creación de métodos, puede generar potencialmente software de alta confiabilidad. Técnicas para verificar y garantizar la operación correcta de una clase, probablemente estén disponibles en nuevas generaciones de herramientas CASE Orientadas a Objetos.
Diseño Rápido.- Las aplicaciones son creadas tomando componentes preexistentes. Muchos componentes son construidos de tal forma que, puedan ser observados, personalizados, para un diseño particular. Los componentes pueden ser vistos, customizados y enlazados en la pantalla de la herramienta CASE.
Nuevos Mercados de Software.- Las compañías de software, deberían proporcionar librerías de clases para áreas específicas, fácilmente adaptables a las necesidades de la organización. La era de los paquetes monolíticos esta siendo reemplazada por software que incorpora clases y encapsula paquetes de diferentes vendedores.
Diseño de Alta Calidad.- Los diseños son a menudo de alta calidad, ya que ellos se construyen a partir de componentes que han sido aprobados y refinados repetidamente.
Integridad.- Las estructuras de Datos pueden ser utilizadas solamente con métodos específicos. Esto es particularmente importante en sistemas distribuidos y sistemas CLIENTE/SERVIDOR, donde usuarios desconocidos pueden tratar de accesar al sistema.
Facilidad de Programación.- Los programas son construidos utilizando pequeñas plazas de software las cuales son generalmente fáciles de crear.
Fácil Mantenimiento.- Los programas de mantenimiento generalmente cambiarán los métodos correspondientes a una clase. Cada clase realiza sus operaciones independientemente de otras clases.
Creatividad.- Implementadores hábiles en poderosas herramientas CASE Orientadas a Objetos laborando sobre estaciones de trabajo, encuentran que puede generar rápidamente muchas ideas. Las herramientas estimulan la creación
...