Proximidad de los conceptos de modelado respecto de las entidades del mundo real o Mejora captura y validacin de requisitos o Acerca el "espacio del problema" y el "espacio de la solucin" Modelado integrado de propiedades estticas y dinmicas del mbito del problema o Facilita construccin, mantenimiento y reutilizacin Conceptos comunes de modelado durante el anlisis, diseo e implementacin o Facilita la transicin entre distintas fases o Favorece el desarrollo iterativo del sistema o Disipa la barrera entre el "qu" y el "cmo" "...Los conceptos bsicos de la OO se conocen desde hace dos dcadas, pero su aceptacin todava no est tan extendida como los beneficios que esta tecnologa puede sugerir". "...La mayora de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente se pretenda. Esta prctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados ". Wolfgang Strigel Beneficios de las tcnicas OO. Muchos de los beneficios son alcanzados nicamente cuando el Anlisis y Diseo son utilizados con herramientas CASE OO, basados en repositorios que generan cdigos, entre ellos: Reusabilidad Las clases son diseadas de tal manera que ellas puedan ser reutilizadas en muchos sistemas. Para maximizar el reuso las clases deben ser construidas de manera que puedan ser personalizadas. Un repositorio debera ser cargado con una coleccin de clases reusables. Un objetivo permanente de las tcnicas OO, es conseguir reusabilidad masiva en la construccin de software. Estabilidad Las clases diseadas para el reuso repetido, llegan a ser estables de la misma manera que los microprocesadores y otros chips que son bastante estables. Las aplicaciones sern construidas utilizando chips de software. El Diseador piensa de Comportamiento de Objeto, no en Niveles de Detalle El encapsulamiento oculta los detalles y hace fcil 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 cmo comunicarse con ella. Construccin 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 utilizarn para construir otros bloques de software ms complejos. Confiabilidad EL software construido a partir de una librera de clases estables, es probable que se encuentre libre de errores, respecto a construir software desde el inicio. Cada mtodo en una clase es en s mismo simple y diseado para ser confiable. Verificacin de Correcciones El Diseo OO con tcnica formal para la creacin de mtodos, puede generar potencialmente software de alta confiabilidad. Tcnicas para verificar y garantizar la operacin correcta de una clase, probablemente estn disponibles en nuevas generaciones de herramientas CASE OO. Diseo Rpido Las aplicaciones son creadas tomando componentes pre-existentes. Muchos componentes son construidos de tal forma que, puedan ser observados, personalizados, para un diseo particular. Los componentes pueden ser vistos, customizados y enlazados en la pantalla de la herramienta CASE. Nuevos Mercados de Software Las compaas de software, deberan proporcionar libreras de clases para reas especficas, fcilmente adaptables a las necesidades de la organizacin. La era de los paquetes monolticos esta siendo reemplazada por software que incorpora clases y encapsula paquetes de diferentes vendedores. Diseo de Alta Calidad Los diseos 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 mtodos especficos. Esto es particularmente importante en sistemas distribuidos y sistemas CLIENTE/SERVIDOR, donde usuarios desconocidos pueden tratar de accesar al sistema. Facilidad de Programacin Los programas son construidos utilizando pequeas plazas de software las cuales son generalmente fciles de crear. Fcil Mantenimiento Los programas de mantenimiento generalmente cambiarn los mtodos correspondientes a una clase. Cada clase realiza sus operaciones independientemente de otras clases. Creatividad Implementadores hbiles en poderosas herramientas CASE OO laborando sobre estaciones de trabajo, encuentran que puede generar rpidamente muchas ideas. Las herramientas estimulan la creacin e implementan las invenciones. La genialidad individual puede ser ms creativa. Ciclo de Vida Dinmico Los objetivos de desarrollo de un sistema, a menudo cambian durante la implementacin. Las herramientas CASE OO, hacen los cambios durante el ciclo de vida rpidamente. Esto permite a los diseadores de sistemas satisfacer mejor a los usuarios finales, adaptarse a los cambios, refinar los objetivos y mejorar constantemente el diseo durante la implementacin. Refinamiento durante la Construccin Las personas creativas cambian constantemente el diseo de su trabajo mientras se est implementando. Esto conduce a ms y mejores resultados. Los trabajos creativos objetivos, son una y otra vez refinados,. Las herramientas CASE OO (Orientado a Objetos) proporcionan a los constructores de software la capacidad para refinar el diseo durante la implementacin. Modelamiento ms realstico El AOO modela la empresa o rea de negocio de una manera ms coherente y minuciosa que los mtodos tradicionales de anlisis. El anlisis se traslada directamente al diseo e implementacin. En tcnicas convencionales, el entorno del problema cambia cuando vamos del anlisis al diseo y del diseo a la programacin. Con tcnicas de OO Anlisis, Diseo e implementacin, utiliza el mismo paradigma y lo refinan sucesivamente. Mejor Comunicacin entre Profesionales de Informtica y los usuarios finales Los usuarios finales entienden mejor el paradigma OO. Ellos piensan en trminos de eventos, objetos y polticas de negocios que describen el comportamiento de los objetos. Las metodologas OO estimulan el mejor entendimiento, cuando el usuario final y los desarrolladores comparten un modelo comn. Modelos Inteligentes de la Empresa Los modelos de la empresa debera escribir las reglas del negocio con las cuales el ejecutivo desearlas administrarla. Esto debera ser expresado en trminos de eventos y de cmo stos cambian el estado de los objetos del negocio. El diseo de la aplicacin debera ser derivando automticamente como sea posible, el modelo del negocio. Especificaciones y Diseos Declarativos La especificacin y el diseo, construido con la formalidad de las herramientas CASE, deberan ser declarativas tanto como sea posible, fijando explcitamente lo que es solicitado. Esto permite al diseador pensar en el usuario antes que en el computador. Interface Grfica Seductiva al Usuario Se debera utilizar interfaces grficas para usuarios, tal que sta apunte al icono que relacione al objeto. Independencia de Diseo Las clases son diseadas independientemente de plataforma de operacin, hardware o software. Las clases emplean requerimientos y respuestas de forma. Esto permite que ellos sean utilizados con mltiples sistemas operativos, DBMS, manejadores de redes, interfaces grficas para usuarios, etc. Interoperatividad Software de diferentes vendedores pueden trabajar juntos. Un vendedor puede utilizar clase de otros vendedores. La interoperatividad de software de diferentes vendedores es uno de los objetivos ms importantes de los estndares de la OO. Software desarrollados independientemente en lugares separados, deberan ser capaces de trabajar juntos y presentarse como una unidad simple al usuario. Computacin Cliente / Servidor En el sistema Cliente / Servidor, las clases en el software cliente deberan enviar sus requerimientos a las clases de software servidor y recibir respuestas. Una clase servidor puede ser utilizada por muchos clientes. Esto puede accesar al software nicamente a travs de los mtodos (as los datos se protegen de corrupciones). Computacin masivamente Distribuida Redes alrededor del mundo emplearn directorios de software de objetos accesibles. El diseo orientado al objeto, es la clave para la computacin masivamente distribuda. Las clases en una mquina interactuarn con cualquier otra, sin necesidad de saber dnde residen. Ellas envan y reciben mensajes en formatos estndares. Computacin Paralela La velocidad de las maquinas., pueden ser ampliamente mejoradas mediante la instalacin de computadoras en paralelo. Se pueden tener procesamientos simultneos y concurrentes en mltiples chips de procesadores (eventualmente, un chip puede tener muchos procesadores). Objetos en diferentes procesadores se ejecutarn simultneamente, cada uno de ellos actuando independientemente. Alto Nivel de Automatizacin de Bases de datos Las estructuras en Base de Datos OO, estn ligadas a mtodos que toman acciones automticas. Una Base de Datos OO, tiene su inteligencia construida en la forma de mtodos, mientras que otras bases de datos no. Performance de Mquinas La Bases de Datos Orientada a Objetos han demostrado una mayor performance que las bases de datos relacionales para ciertas aplicaciones con estructuras de datos ms complejas. Las bases de datos OO, la computacin concurrente y el diseo OO prometen mayores saltos en la performance de las mquinas LAN'S basadas en sistemas Cliente/Servidor. Emplearn servidores de Base de Datos concurrentes y orientadas al objeto. Migracin Existiendo o no aplicaciones orientadas a objetos, ellos pueden ser preservados convenientemente con una cobertura OO, comunicndose entre ellos mediante mensajes estndares OO. Mejores herramientas CASE Las herramientas Case utilizarn tcnicas grficas para disear las clases y sus interacciones, y para utilizar objetos existentes adaptados en nuevas aplicaciones. Las herramientas deberan facilitar el modelamiento en trminos de eventos, triggers (iniciadores), estado de los objetos, etc. Las herramientas de los CASE OO generan cdigos tan pronto como una clase sea definida y permitir al diseador probar y utilizar el mtodo creado. Las herramientas debern ser diseadas para estimular la mxima creatividad y continuo refinamiento del diseo durante la construccin. Industriales de Libreras de Clases Las compaas de software comercializarn libreras para diferentes reas de aplicacin. Las libreras de clases independientes de las aplicaciones, sern tambin importantes y stas sern proporcionadas como facilidades de herramientas CASE (VIC). Libreras de Clases Corporativas Las corporaciones, crearn sus propias libreras de clases que reflejen sus estndares internos y requerimientos de aplicacin. La identificacin TOP-DOWN de los OBJETOS del negocio, es un aspecto importante de la ingeniera de la Informacin.