Sie sind auf Seite 1von 9

1.

INTRODUCCION La construccin de software con objetos constituye una manera de resolver problemas usando entidades organizadas en base a conceptos reales. La unidad primitiva de construccin es el objeto. Los modelos de objetos son tiles para entender los problemas, modelar empresas, preparar documentacin y construir software y bases de datos. Los objetos tienen atributos y comportamiento. El paradigma de objetos est basado en que cada cosa es nica y atmica. Si tienes otro objeto... ya es otro. Un ambiente de objetos se utiliza para crear sistemas de objetos, no programas 1.1 Caractersticas de los objetos Identidad significa que la informacin se toma de entidades separadas llamadas objetos: un prrafo de un documento, una computadora personal, y un foco. Los objetos pueden ser concretos como los archivos de un sistema de archivos, o conceptuales, como la poltica de respaldos de un sistema operativo. Cada objeto tiene una identidad inherente. En otras palabras dos objetos son diferentes inclusive cuando todos sus atributos o caractersticas son iguales. Clasificacin significa que los objetos con los mismos atributos y comportamiento son agrupados por clases de objetos. Prrafo, Computadora, Foco, son clases. Una clase es una abstraccin o concepto que describe las propiedades importantes de una aplicacin e ignora el resto. Entonces, cada objeto es una instancia de su clase. Cada instancia de una clase tiene su propio valor para cada atributo pero tiene, o comparte con las dems instancias, los mismos nombres de atributos y operaciones (mtodos) Polimorfismo Significa que la misma operacin puede efectuarse diferente en clases diferentes. Por ejemplo la operacin o mtodo muevete puede comportarse diferente en una ventana de Windows que en una pieza de ajedrez. Una operacin, que de aqu en adelante llamaremos mtodo, es una accin o transformacin que un objeto ejecuta o es el objetivo de esa accin. Entonces, ya que un operador orientado a objetos es polimrfico debe haber una implementacin diferente para cada caso. Cada objeto conoce cmo ejecutar sus mtodos. Herencia Es la comparticin de atributos y comportamiento entre clases basndose en una estructura jerrquica. Una clase puede ser definida de manera muy general y luego puede ser refinada en clases de menor jerarqua que heredan el comportamiento de las clases de nivel superior. De aqu que se deriva el concepto de clase, subclase y superclase

Superclase | | Clase | | Subclase Cada subclase incorpora o hereda todas las propiedades de su Superclase y agrega a si misma sus propias caractersticas. Las propiedades de una superclase pueden pero no necesitan ni deben ser repetidas en las Subclases. Metodologa de construccin de software con objetos El objetivo del anlisis no es hacer unos lindos diagramas sino aprender, entender el dominio. El dominio es el alcance del software o aplicacin que se est construyendo. De aqu en adelante trabajaremos con modelos. Modelo de aplicacin, modelo de objetos, modelo de clases. La metodologa de elaboracin de software con objetos comprende los siguientes pasos: - Anlisis: Durante el anlisis se construye una representacin de la situacin real mostrando sus propiedades importantes. El analista debe trabajar con el entendido en el dominio para comprender el problema (parte del dominio). El anlisis debe resultar en una conceptualizacin o abstraccin de qu debe hacer el sistema, y no de qu manera debe hacerlo. Los modelos deben contener objetos que representen conceptos del dominio de aplicacin y no de los detalles de la implementacin en una computadora o sistema operativo cualquiera. La idea es que un modelo resultante de un buen anlisis puede ser entendido, criticado y corregido por expertos del dominio que no sean programadores. - Diseo del sistema: El diseador del sistema hace decisiones de alto nivel acerca de toda la arquitectura. Durante esta etapa el sistema es organizado en subsistemas. El diseador del sistema debe decidir sobre el desempeo, sobre una estrategia para atacar el problema y considera recursos tentativos. - Diseo de objetos: El diseador de objetos construye un modelo basado en el anlisis pero conteniendo detalles de implementacin. El objetivo del diseo de objetos es definir los detalles de los objetos: sus atributos y comportamientos. - Implementacin: Finalmente, el diseo de objetos es traducido a un lenguaje de programacin, base de datos o un hardware en especial. Es en esta etapa en donde se trabaja con los objetos, se los toca, se los entiende, se los hace evolucionar. En la cultura tradicional de construccin de software esta etapa es minimizada. Con los objetos esta etapa es la ms importante. La construccin de software con conceptos reales (lase objetos) es una actividad que permanentemente involucra todas las etapas arriba descritas. En la metodologa tradicional, si haba un error (una interpretacin diferente a la que ahora se hace) se deba retroceder a cambiar las bases endebles que se tena. En cambio, si un objeto tiene un problema, lo tiene el objeto no TODO el sistema. Todos los dems objetos del sistema

seguirn funcionando, mal o bien, de acuerdo con lo que el problema implique para todo el sistema (quizs sea una impureza entre miles de objetos). En cambio en la tecnologa tradicional u orientada a procesos cuando se produce un problema nadie nos poda asegurar que la siguiente instruccin se ejecute. Algunos conceptos de objetos Abstraccin: consiste en enfocarse en la esencia, y aspectos inherentes de un objeto e ignorar sus propiedades accidentales. En el desarrollo de sistemas esto implica preocuparse en qu es un objeto y qu hace antes de decidir cmo lo va a hacer. El uso de la abstraccin provee la libertad para hacer la mayor cantidad de decisiones como sea posible sin entrar de lleno a los detalles. Encapsulamiento: llamado tambin ocultamiento de informacin, consiste en separar los aspectos externos de un objeto de los detalles internos del objeto los cuales no estn disponibles para los dems objetos. El encapsulamiento protege al sistema de efectos masivos y generales debido a pequeos cambios. Desarrollo orientado a objetos La construccin de software con objetos se hace notoria en reas como construccin de compiladores, aplicaciones grficas, interfases de usuario, bases de datos, construccin de lenguajes orientados a objetos, simuladores, sistemas de control, y muchas otras aplicaciones. El mayor beneficio, al menos inicialmente dentro de un proyecto, no es precisamente el reducir el tiempo de desarrollo, pues puede tomar ms que el tiempo necesario en el desarrollo procedural. Sin embargo, la capacidad de reuso, la rpida localizacin de enfoques mal hechos, constituyen el mayor beneficio de construr software con objetos. EJERCICIOS de la parte 1 1. Recuerde algn proyecto que Usted ha construdo en el pasado. Brevemente describa aquel sistema. Qu obstculos encontr durante el desarrollo del sistema ? Qu metodologas utiliz ? Est Usted satisfecho con los resultados ? Es mantenible ? 2. Todos los objetos tienen identidad y son clasificables. Sin embargo, en una coleccin de objetos muy grande puede que la tarea de colocarles una clasificacin se haga difcil. A pesar de eso, el esquema depende del propsito de la clasificacin. Para cada una de las siguientes colecciones de objetos describa como pueden ser clasificadas: - Todas las personas en el mundo, con el propsito de enviarles un e-mail - Todas las personas en el mundo, con el propsito de investigaciones criminales - Todos los clientes de un banco. - Todos los nmeros telefnicos del mundo, con el propsito de hacer llamadas - Todas las direcciones electrnicas a travs del mundo - Todos los empleados de una empresa, para restringir el acceso por razones de seguridad

2. EL MODELADO COMO UNA TECNICA DE DISEO Un modelo es una abstraccin de algo con el propsito de entenderlo antes de construrlo. La abstraccin es la capacidad del ser humano que le permite sobrellevar la complejidad. MODELADO Los diseadores construyen diferentes tipos de modelos para todos los propsitos antes de ir al grano (construir cosas). Los modelos tienen algunos fines: - Probar una entidad fsica antes de construirla: modelos a escala de aviones, carros, han sido probados en tneles de viento y tanques de agua para mejorar su aerodinamismo. Los avances en computacin permiten la simulacin de estructuras fsicas sin tener que construirlas. - Comunicacin: con el usuario: los arquitectos y diseadores de productos construyen modelos para mostrrselos a los usuarios - Reduccin de complejidad: es la razn de ser del modelado. La mente humana procesa una cantidad limitada de informacin al mismo tiempo. ABSTRACCION La abstraccin es el examen selectiva de ciertos aspectos de un problema. La meta de la abstraccin es aislar estos problemas que son importantes para ciertos propsitos y eliminar los problemas que no son importantes. Un buen modelo captura los aspectos crticos de un problema y omite los otros. LA TECNICA DE MODELADO DE OBJETOS (OBJECT MODELING TECHNIQUE: OMT) OMT es una tcnica de modelado que combina tres aspectos: - El modelo de objetos representa la parte esttica de un sistema - El modelo dinmico representa el comportamiento temporal de un sistema - El modelo funcional representa el aspecto transformacional de un sistema. Cada uno de estos tres modelos evoluciona con el tiempo, dentro del desarrollo del sistema. MODELO DE OBJETOS: contiene una descripcin de los objetos del sistema, sus identidades, sus relaciones con los dems objetos, sus stributos y sus operaciones. Los objetos constituyen las unidades en las cuales swe divide el mundo real, las molculas de nuestros modelos. El modelo de objetos es representado grficamente con diagramas de objetos que contienen clases de objetos arregladas en jerarquas y asociadas con otras clases. MODELO DINMINO: describe aspectos de un sistema relacionados con el tiempo y la secuencia de operaciones, eventos que marcan cambios, secuencia de eventos y la organizacin de eventos y estados. El modelo dinmico es representado grficamente con diagramas de estados. MODELO FUNCIONAL: se refiere a aspectos del sistema concernientes a cambios de valores, funciones, mapeos, desencadenantes y relaciones de dependencia funcionales. El modelo funcional es representado con diagramas de flujo de datos.

3. MODELO DE OBJETOS Un modelo de objetos captura la estructura esttica de un sistema mostrando los objetos del sistema, las relaciones entre ellos, y los detalles de cada uno de las clases. El modelo de objetos es el ms importante de los tres modelos. OBJETOS Y CLASES El propsito del modelado de objetos es describir objetos. Un objeto es simplemente algo que tiene sentido dentro del contexto de una aplicacin. La descomposin de problemas en objetos depende de la naturaleza del problema. No existe una representacin correcta. La palabra objeto es vagamente usada. Es decir que a veces significa una sola cosa y otras veces un grupo de cosas similares. Usualmente el contexto define cualquier ambiguedad. Cuando se quiera ser preciso y se quiera referir a una sola cosa vamos a usar la palabra instancia. Y vamos a usar la palabra clase para referirnos a un grupo de cosas similares. Cada objeto (instancia) conoce su clase. Todos los lenguajes orientados a objetos pueden, en tiempo de ejecucion, determinar la clase de un objeto. La clase es una propiedad inherente de cualquier instancia. Y si los objetos son la escencia del modelado con objetos, en donde entran las clases? La abstraccin es la base del modelado. Agrupando objetos en clases se abstraen los problemas. Las definiciones comunes a ciertos objetos (como el nombre y los atributos) son guardadas por clases y no por objetos o instancias. DIAGRAMAS DE OBJETOS Los diagramas de objetos proveen una notacin grfica formal para modelar objetos, clases, y sus relaciones con los dems objetos. Estos diagramas son concretos, faciles de entender. Hay dos tipos de diagramas: diagramas de clase y diagramas de instancia (objetos). Un diagrama de clase describe clases de objetos. Un diagrama de instancia describe como un grupo particular de objetos se relaciona con otros objetos.

Los diagramas de clase describen casos generales en un sistema de modelado. Los diagramas de instancia son usados principalmente para mostrar ejemplos y ayudar a clarificar los diagramas de clase complejos. ATRIBUTOS Un atributo es el valor de un dato cualquiera de los objetos de una clase. Nombre, edad, estatura son atributos de las instancias de Persona.

Cada atributo tiene un valor para cada instancia. Los atributos deben ser definidos en una separacin de la caja de clase. Los atributos en las instancias aparecen dentro de la misma caja, es decir no existe separacin.

OPERACIONES Y METODOS Una operacion es una funcion o transformacion que puede ser aplicada a objetos en una clase. Lanzar, pagar, calcularDividendos son ejemplos de metodos. El mismo metodo (es decir la misma operacion) puede ser aplicada a clases diferentes, por lo que se dice que un metodo es polimorfico, es decir que el mismo metodo toma diferentes formas en diferentes clases. Un metodo puede tener argumentos.

Entonces, haciendo un resumen: Una clase es representada por una caja dividida hasta en tres regiones: nombre de clase, lista de atributos, y lista de operaciones. Cada atributo puede ser seguido de detalles opcionales como el tipo de objeto que es ese atributo y el valor predefinido. Cada mtodo puede ser seguido de detalles opcionales como la lista de objetos argumentos y el

valor de retorno. Los atributos y los mtodos pueden o no ser mostrados; eso depende del nivel de detalle requerido por el diseo.

ENLACES Y ASOCIACIONES Los enlaces y asociaciones son las vas para establecer relaciones entre objetos y clases. Conceptos generales: Un enlace es una conexin fsica o conceptual entre instancias. Por ejemplo: Juan Castro TrabajaPara AlimentoSA. Un enlace est definido como una tupla, esto es, una lista ordenada de instancias. Un enlace es una instancia de una asociacin. Una asociacin describe un grupo de enlaces con una estructura y semntica comn. Por ejemplo: una Persona TrabajaPara una Empresa. Todos los enlaces en una asociacin conectan instancias de la misma clase. Las asociaciones son necesariamente bidireccionales. Entonces, la direccin implcita de una asociacin es directa. La direccin contraria se llama inversa. Por ejemplo, TrabajaPara conecta una persona con una empresa. En cambio, lo inverso sera EmpleaA, que conecta una empresa con una persona. Un enlace muestra una relacin entre dos o ms instancias. Un enlace no indica que un objeto sea parte de otro o que el mismo enlace sea parte de algn objeto. Todas las conexiones entre clases deben ser modeladas como asociaciones. Las asociaciones no son relaciones entre tablas de bases de datos aunque las bases de datos relacionales trabajen tambin con asociaciones. Aunque las asociaciones son modeladas como bidireccionales no deben ser implementadas en ambas direcciones. Es decir que el mtodo para soportar la asociacin slo debe ser implementada en una de las puntas del enlace.

Das könnte Ihnen auch gefallen