You are on page 1of 10

DISEO ORIENTADO A OBJETOS

1. Objetivo Principal: Introducir un enfoque de diseo de software en el que el diseo se representan como objetos que interactan. 2. Objetivo Especficos: Conocer cmo se representa un diseo de software como un conjunto de objetos que interactan entre si y que administran su propio estado y operaciones. Conocer las actividades principales de un diseo orientado a objetos. Comprender los distintos modelos que se usan para documentar el diseo orientado a objetos.

3. Conceptos Generales Sistema Orientado a Objetos: Conjunto de objetos que interactan, los cuales mantienen ellos mismos su estado local y proveen operaciones sobre su estado. Estrategias usadas en el diseo orientado a objetos: Anlisis orientado a objetos: Se analiza cules son los objetos que identifican a las entidades y a sus respectivas operaciones para resolver al problema en cuestin. Diseo orientado a objetos: En este se tiene en cuenta que los objetos estn relacionados con la solucin del problema, teniendo presente que el diseador es libre de agregar nuevos objetos para transformar los objetos del problema e implementar la solucin,} La programacin orientada a objetos: Se implementa un lenguaje de programacin orientado a objetos, con el fin de proveer los recursos para definir las clases y un sistema para crear los objetos correspondientes a las clases.

Arquitectura Dirigida por el Modelamiento (MDA): Propone que el sistema debe ser diseado explcitamente en dos niveles:

Nivel independiente de la implementacin Nivel Dependiente de la implementacin. Ventajas de un Diseo Orientado a Objetos: Son sistemas ms sencillos de mantener que otras aproximaciones, debido a que los objetos son independientes. Pueden ser entendidos y modificados como entidades independientes. Cambiar la implementacin de un objeto o agregarle servicios no debe afectar a los otros objetos. Los objetos con componentes potencialmente reutilizables debido a que son encapsulamientos independientes del estado y las operaciones. Los diseos se pueden desarrollar utilizando objetos creados en los diseos previos, reduciendo de paso costos de programacin y del mismo diseo.

4. Clases y Objetos Definiciones: Objeto: Entidad que tiene un estado y un conjunto de operaciones definidas que operan sobre ese estado. Estado: Conjunto de atributos del objeto. Operaciones: Proveen servicios a otros objetos (clientes) que solicitan estos servicios cuando se requiere se llevar a cabo un clculo. Clase: Es una construccin usada como plano o patrn para crear los objetos de esa clase. Este plano describe el estado y comportamiento que comparten los objetos de esa clase. Una clase puede tener propiedades (atributos) y mtodos(funciones) que hacen interactuar a la clase consigo misma o con el mundo exterior. Herencia y generalizacin Los objetos son miembros de clases las cuales definen atributos y operaciones. La clases pueden se organizadas en una jerarqua de clases donde una clase (superclase) es una generalizacin de un o ms clases adicionales (subclases). Una subclase hereda los atributos y operaciones de su superclase y pueden ser adicionados nuevos mtodos o atributos propios. La generalizacin en UML se implementa como herencia en lenguajes de POO.

Generalidades de Objetos: Se comunican a travs de la solicitud de servicios ( llamando a los mtodos) de otros objetos y, si es necesario, intercambiando la informacin requerida para que ese servicio se suministre. Las copias de la informacin necesaria para ejecutar el servicio y los resultados de la ejecucin del servicio que pasan como parmetros. Algunos ejemplos de este estilo de comunicacin son:

// llama a un mtodo asociado con un objeto bfer. // que regresa el siguiente valor en el bfer V= circula rBuffer.Get (); // llama al mtodo asociado con un objeto // termostato que establece la temperatura que se mantendr thermostat.setTemp (20). EJEMPLO DE UNA CLASE
CLASE
PERSONA +DOCUMENTO_IDENTIDAD +NOMBRE +APELLIDO +DIRECCION +CIUDAD +CARGO +CREAR() +GUARDAR() +ELIMINAR() +MODIFICAR() CAJERO +Hora_entrada +Hora_salida +Transferir() +enviar() GERENTE +Nro_empleados_acargo +Autorizar() ATRIBUTOS

OPERACIONES

GENERALIZACION

OBJETO OBJETO

Objetos concurrentes Esto se refiere a que un objeto puede solicitar algo a otro sin dejar a un lado el proceso que lleva, es decir no interrumpe lo que est haciendo. Existen dos clases de implementacin de objetos concurrentes: a. Uso de servidores: Cuando el objeto termina su operacin tras haber recibido un mensaje externo de otro objeto se suspende por s solo, esperando luego por ms peticiones de servicios. b. Uso de objetos activos: A diferencia del anterior este ejecuta continuamente las operaciones, por lo que no se suspende por s solo. 5. Fases de un Proceso de Diseo Orientado a Objetos 1. Comprender y definir el contexto y los modos de utilizacin: Para lograr una buena comunicacin entre el software y el entorno en donde se va ejecutar, es importante tener en cuenta estos dos modelos complementarios: El contexto del sistema esttico que describe a los otros sistemas de su entorno. El modelo de utilizacin del sistema es un modelo dinmico que describe como el sistema interacta con el entorno. Un ejemplo de como el sistema interacta con su entorno es como en el caso de un estacin meteorolgica en la recoleccin, despliegue, procesamiento y archivacin de datos.

Subsistema Recogida de Datos

Subsistema Despliegue de Datos


SATELITE Interfaz de Usuario Despliegue del Mapa

OBSERVADOR

COMUICACIONES

ESTACION CLIMATICA

Mapa GLOBO

Impresora de Mapas

Subsistema Procesamiento de Datos

Subsistema Archivacin de Datos

VERFICACION DE DATOS

INTEGRACION DE DATOS

ALMACENAMIENTO DE DATOS

ESTACION CLIMATICA

GLOBO

Nota: Se suele usar los casos de uso para identificar los objetos y las operaciones

Para el caso de la estacin climtico el caso de uso quedara as:

INICIAR CERRAR REPORTAR CALIBRAR PROBAR

2. Disear la arquitectura del sistema Dentro de esta fase se define cuales van a ser las capas que va a contener el sistema. Entre ejemplos se pueden tener en cuenta las siguientes: La capa de interfaz. La capa de recogida de datos. La capa de instrumentos. En general, se debe tratar de descomponer un sistema de tal forma que las arquitecturas sean lo ms sencillas posibles. Una regla que siempre es muy til es la de no colocar ms de 7 entidades fundamentales en un modelo arquitectnico. En un ejemplo de la estacin climtica, quedara asi:

Estacin Climtica

Subsistema Interfaz Re

Administra todas las comunicaciones externas

Subsistema Recogida de Datos

Recoge y resume los datos climaticos

Subsistema Instrumentos

Empaqueta los instrumentos para la recogida de datos

3. Identificar objetos principales del sistema: Ms que identificar objetos en el sistema, lo ms importante es identificar las clases, entre los mtodos que se suelen usar estn: Utilizar un anlisis gramatical de la descripcin en lenguaje natural del sistema. Utilizar entidades tangibles en el dominio de aplicacin como: Aviones, papeles como administrador, eventos como peticin, interacciones como reuniones, ubicaciones como oficinas, unidades organizacionales como compaas. Utilizar un enfoque de comportamiento en el cual el diseador primero comprende el comportamiento total del sistema. Utilizar un anlisis usando escenarios para identificar y analizar en su momento varios escenarios; as se tendr una visin general de como utilizar el sistema. En la identificacin de los objetos de la estacin meteorolgica se hallaron los siguientes: Datos Temperatura Aire Velocidad del Aire Direccion del aire Presion Lluviosidad Colectar Barmetro Presin Altura Calibrar Anemmetro Velocidad del aire Direccion del aire

Termmetro Temperatura Calibrar

Estacin Identificador Reportar Calibrar Comenzar

4. Modelos de diseo Entre los modelos de diseo para describir un diseo orientado a objetos: Modelo esttico: Describe la estructura esttica del sistema en trminos de las clases del sistema y sus relaciones. Modelo dinmico: Muestra las interacciones

Pero si hablamos de lo que ofrece UML encontramos 12 modelos estticos y dinmicos, pero solo se destacara tres de ellos que son: 1. Modelos de subsistema: Pertenecen a los modelos estticos, y muestran a cada subsistema como un paquete en forma de un diagrama de clase. 2. Modelos de secuencia: Muestra las interacciones de los objetos. Pertenece a los modelos dinmicos. 3. Modelos de mquinas de estado: Muestra como los objetos cambian su estado en respuesta a los eventos. Pertenece a los modelos dinmicos. Ahora bien en los modelos de secuencia se tiene en cuenta: A. Los objetos involucrados en la interaccin estn ordenados horizontalmente con una lnea vertical vinculada a cada objeto. B. El tiempo se representa verticalmente, por lo que se avanza hacia abajo sobre lneas punteadas. Por lo tanto en el modelo, la secuencia de operaciones se puede fcilmente. C. Las interacciones entre los objetos se representan por flechas etiquetadas que vinculan a las lneas verticales. Esto no son que fluyen, sino que representan mensajes o eventos que son fundamentales para la interaccin. D. Los rectngulos delgados sobre la lnea de vida del objeto representan el tiempo en el cual el objeto es el que tiene el control del sistema.

Para dar un ejemplo de este modelo, hablaremos nuevamente de la estacin meteorolgica, cuando el sistema externo de trazado de mapas solicita datos a sta, as que:

: Control comando

: Estacin Meteorolgica

: Informacin Meteorolgica

Solicitar (reportar)

Admitir Reportar () Resumir ()

Responder

Enviar (reportar)

Admitir ()

Los diagramas de secuencia se utilizan para modelar el comportamiento combinado de un grupo de objetos, pero tambin son tiles para resumir el comportamiento de un solo objeto como respuesta a los diversos mensajes que puede procesar. Para hacer esto, se utiliza un modelo de mquina de estado que muestra como la instancia del objeto cambia de estado dependiendo de los mensajes que reciba. UML utiliza diagramas de estado, inventados por Harel para describir los modelos de mquina de estado.

5. Especificacin de las interfaces de los objetos Entre las cosas que el diseador debe evitar es la informacin de representacin de la interfaz en el diseo de la interfaz. En el diseo de las interfaces de objetos se comprende la especificacin del detalle de la interfaz para un objeto o para un grupo de objetos. Esto significa que hay que definir las firmas y semnticas de los servicios proporcionados por los objetos o por un grupo de objetos. Las interfaces se especifican en UML utilizando la misma notacin que en los diagramas de clases. Sin embargo, no existe una seccin de atributos, y el estereotipo en UML <interfaz> se debe incluir en la parte del nombre. 6. Evolucin del diseo El ocultamiento de la informacin dentro de los objetos significa que los cambios hechos a un objeto no afectan otros objetos en una forma impredecible. Suponga que se deben adicionar facilidades para monitorear polucin a las estaciones climticas. Estos muestrean el aire y computan la cantidad de diferente contaminantes en la atmsfera Las lecturas de polucin son transmitidos con datos climticos.

You might also like