La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

DISEÑO ORIENTADO A OBJETOS

Presentaciones similares


Presentación del tema: "DISEÑO ORIENTADO A OBJETOS"— Transcripción de la presentación:

1 DISEÑO ORIENTADO A OBJETOS
Un sistema orientado a objetos se diseña considerando la interacción entre ellos, tales objetos mantienen su propio estado local (localidades de memoria) y otorgan operaciones sobre tales estados. o1:C1 estado o1 ops1 () o3:C3 estado o3 ops3 () o4:C4 estado o4 ops4 () o2:C3 estado o2 ops3 () o6:C1 estado o6 ops1 () o5:C5 estado o5 ops5 ()

2 ESTRATEGIAS DEL DISEÑO ORIENTADO A OBJETOS
El proceso de diseño orientado a objetos involucra diseñar clases de objetos y las relaciones entre estas clases. Dichas clases definen a los objetos en el sistema y sus interacciones. Análisis Orientado a Objetos. Desarrollo de un modelo Orientado a objetos del dominio de la aplicación 1 Diseño Orientado a Objetos. Desarrollo de un modelo Orientado a objetos de un sistema de Software, para implementar los requerimientos 2 Programación Orientado a Objetos. Elaborar un diseño de software usando un lenguaje de programación Tal como: JAVA, C++ u otro 3

3 REUTILIZACIÓN, UML Y CASOS DE USO
Los objetos son, potencialmente, componentes reutilizables porque son encapsulaciones independientes de estados y operaciones. Los diseños pueden ser desarrollados utilizando objetos que han sido creados en diseños anteriores. Lo cual reduce el diseño, así como también la programación y los costos de validación. Aunque la reutilización se lleva a cabo de mejor forma al utilizar componentes en lugar de objetos individuales. Muchos métodos de diseño orientado a objetos se han propuesto (Coad and Yourdon, 1990; Robinson, 1992; Jacobson, et al., 1993; Graham, 1994; Booch, 1994). UML (Unified Modelling Language –Lenguaje de Modelado Unificado -), es una unificación de las notaciones utilizadas en los métodos antes mencionados. Dentro de los diferentes diagramas que se encuentran está el de Casos de Uso, el cual tiene como principal característica de hacer notar que el diseño es centrado en el usuario y considera las interacciones que tiene éste con el sistema.

4 CLASES Y OBJETOS Representación en UML de una clase Nombre CEmpleado
nombre: String direccion: String fecha_nac: date Id_empleado:int departamento:dept supervisor:CEmpleado estado:{activo,no_activo,retirado) . Entra( ) Sale( ) CambiarDetalles( ) Un objeto es una entidad que tiene un estado y un conjunto de operaciones definidas que afectan a dicho estado. El estado se representa por un conjunto de atributos. Las operaciones asociadas con el objeto otorgan servicios a otros objetos (clientes) que requieren esos servicios cuando algún cálculo se requiere. [Sommerville, 2001] Atributos Operaciones

5 EJEMPLOS DE COMUNICACIÓN ENTRE OBJETOS
//Llamar a un método asociado con un objeto de tipo buffer que devuelve el //siguiente valor en el buffer v=circularBuffer.Get(); // Llamada al método asociado con un objeto termostato que establece el nivel //de temperatura al que será mantenido Thermostat.setTemp(20); A esta forma de petición de servicios se le conoce como sincrona. Esto es, que el objeto espera a que la petición del servicio sea completada. Sin embargo, si los objetos son creados como procesos concurrentes o hilos, la comunicación entre los objetos es asincrona. La llamada al objeto puede continuar su operación mientras la petición del servicio se está ejecutando.

6 HERENCIA EN UML Las clases de los objetos se pueden organizar en una generalización o herencia jerárquica que muestre las relaciones entre las clases de objetos más específicos y generales. En UML una flecha que apunta de la clase heredada a su clase padre es representativa de la relación de herencia existente entre ellas. Empleado Supervisor Puntosdecontrol Fechadesuper Programador Proyecto Lenaguajesprog Supervisor de proyecto Proyectos departamento Departamento planeación Responsabilidades

7 LAS ASOCIACIONES EN UML
La asociación es una relación muy simple y es utilizada de forma regular en UML para indicar que ya sea un atributo de un objeto es un objeto asociado o la implementación de un método del objeto recae en un objeto asociado. Una de las asociaciones más frecuentes es la de agregación. Empleado Supervisor Departamento supervisa es miembro de es supervisado por

8 OBJETOS CONCURRENTES Conceptualmente, un objeto requiere un servicio de otro pero enviando una “petición de servicio” o mensaje a ese objeto. Al no existir alguna forma de requerimiento para la ejecución serial el modelo general de la interacción permite a los objetos ejecutarse concurrentemente como procesos paralelos. o1:C1 estado o1 ops1 () o2:C2 estado o2 ops2 () on:Cn estado on opsn () ok:Ck estado ok opsk () CONCURRENCIA Objetos ejecutándose en la misma máquina u objetos distribuidos ejecutándose en diferentes máquinas

9 OBJETOS CONCURRENTES En la práctica, la mayoría de los lenguajes de programación tienen por omisión un modelo de ejecución serial de tal forma que las ejecuciones para los servicios del objeto se implementan en la misma forma que las llamadas a las funciones. Logrando con ello suspender la llamada a tal objeto. Sin embargo, Java y C++ proporcionan un mecanismo llamado Thread (Hilos), que permite la ejecución de objetos de forma concurrente. SERVIDORES. Donde el objeto es ejecutado como un proceso en paralelo. Los métodos inician en respuesta a un mensaje externo y se pueden ejecutar en paralelo con métodos asociados con otros objetos. Cuando finaliza, el objeto se suspende y espera por más peticiones de servicio. Aplicado en sistemas distribuidos. OBJETOS ACTIVOS. El estado del objeto puede cambiar por operaciones internas ejecutadas dentro del mismo objeto. El objeto nunca se suspende por sí mismo, como en el caso anterior. Aplicado en sistemas de tiempo real. TIPOS DE IMPLEMENTACIÓN DE OBJETOS CONCURRENTES

10 UN PROCESO DE DISEÑO ORIENTADO A OBJETOS
Se tomará un software que se encuentra inmerso en una estación climatológica automatizada, como ejemplo de diseño. Las etapas del proceso se encuentran estrechamente relacionadas y se listan a continuación: Entendimiento y definición del contexto de las formas de uso del sistema Diseño de la arquitectura del sistema Identificación de los objetos principales del sistema Desarrollo de los modelos de diseño Especificación de las interfaces de los objetos A continuación se describen las características que la planta climatológica tiene, así como también las necesidades que tiene. Tomando en consideración y en gran detalle el hecho de que cada una de ellas deberán de ser tomadas para el diseño correspondiente.

11 UN PROCESO DE DISEÑO ORIENTADO A OBJETOS
Un sistema de registro del clima es necesario con el fin de generar mapas climatológicos haciendo uso de datos recabados de estaciones climatológicas lejanas y desatendidas, además de otras fuentes de datos tales como: observadores climatológicos e información vía satélite. Las estaciones climatológicas transmiten sus datos a la computadora en respuesta a las peticiones de esa máquina. Un sistema computacional dedicado valida los datos coleccionados y recaba la Información de las diferentes fuentes. Tales datos son almacenados para Posteriormente, son utilizados en conjunto con la información contenida dentro De una base de datos de mapas digitalizados, para crear los mapas climatológicos. Dichos mapas, pueden ser impresos para su distribución o pueden ser desplegados En un número determinado de formatos

12 DISEÑO DE LA ARQUITECTURA
Subsistema Desplegado de los datos En donde los objetos se relacionan con la forma en la que los datos puedan ser presentados en forma adecuada a los seres humanos Subsistema Almacenamiento de datos En donde los objetos se relacionan con la forma en la que los datos puedan ser almacenados para su uso posterior Subsistema Procesamiento de datos En donde los objetos se relacionan con la verificación e integración de los datos Subsistema Colección de datos En donde los objetos se relacionan con la adquisición de los datos de las fuentes remotas

13 PAQUETES DE UML En la figura anterior se han mostrado las capas y se ha incluido el nombre de la capa en un símbolo de paquete de UML que se ha denotado como un subsistema. Un paquete de UML representa una colección de objetos y otros paquetes. Se verifica que cada capa incluye un número determinado de otros componentes. Checar datos Integración de datos Subsistema de Procesamiento de datos Observador Comms Satélite Estación climatológica Ballon Colección de datos Interfaz de usuario Mapa de desplegado Mapa impresión desplegado de datos Almacenamiento de datos de mapas Subsistema Almacenamiento de datos

14 SISTEMA DE CONTEXTO DE CASOS DE USO
La primera etapa en algún proceso de desarrollo de software está en entender las relaciones entre el software que se diseña y su ambiente externo. Lo que permitirá proveer la funcionalidad requerida del sistema y como estructurar el sistema para comunicarse con su ambiente. El contexto del sistema y el modelo del uso del sistema representa dos modelos complementarios de las relaciones entre un sistema y su medio ambiente. El contexto del sistema es un modelo estático que describe a otros sistemas en ese ambiente El modelo del uso del sistema es un modelo dinámico que describe como el sistema interactúa con su medio ambiente. El modelo del contexto se puede implementar por medio de asociaciones (como el de la diapositiva 8). La consecuencia de dicho análisis está en la creación de los modelos del subsistema ilustrados en la diapositiva anterior.

15 CASOS DE USO Cuando se modelan las interacciones de un sistema con su medio ambiente se deben de utilizar enfoques abstractos que no incluyan mucho detalle, los casos de uso son ejemplo de ello y cada uno de ellos representa una interacción con el sistema. Cada uno de esos casos de uso puede describirse en lenguaje natural estructurado, lo que ayuda a los diseñadores a identificar objetos en el sistema y darles a entender de manera clara lo que el sistema realiza. Inicio Apagar Reportar Calibrar Probar

16 DESCRIPCIÓN DEL CASO DE USO
SISTEMA Estación climatológica CASO DE USO Reportar ACTORES Sistema de recolección de datos del clima y estación climatológica DATOS La estación climatológica envía un resumen de los datos climatológicos que han sido coleccionados de los instrumentos en el periodo de recolección al sistema de recolección de datos climatológicos. Los datos enviados son el máximo, mínimo, promedio de las temperaturas del aire, así como también el máximo, mínimo y promedio de las presiones del aire, las direcciones del viento como datos muestreados cada 5 minutos. ESTÍMULOS El sistema de colección de datos climatológicos establece un enlace por medio del modem con la estación climatológica y recibe la transmisión de los datos. RESPUESTA Los datos suministrados son enviados al sistema de recolección de datos climatológicos. COMENTARIOS Las estaciones climatológicas regularmente una vez por hora sobre sus mediciones, pero tal frecuencia puede diferir de una estación a otra y se puede modificar en futuras operaciones.

17 DISEÑO DE LA ARQUITECTURA
Una vez que las interacciones entre el sistema del software que se está diseñando y el ambiente del sistema han sido definidas, se puede utilizar está información para diseñar la arquitectura del sistema. Las tres capas en el software de la estación climatológica son: La capa interfaz que está relacionada con todas las comunicaciones con otras partes del sistema y con la capacidad de otorgar las interfaces del sistema. La capa de colección de datos, la cual está relacionada con la gestión de la colección de datos de los instrumentos y con el resumen de los datos climatológicos antes de ser transmitidos al sistema de mapeo. La capa de instrumentos, la cual es la encapsulación de todos los instrumentos usados para recabar la totalidad de datos relacionadas con las condiciones climatológicas. Una buena regla indica que no deben de existir más de siete entidades fundamentales incluidas en el modelo de la arquitectura.

18 ARQUITECTURA DE LA ESTACIÓN CLIMATOLÓGICA
Subsistema Interfaz Colección de datos Instrumentos Gestiona todas las comunicaciones externas Colecciona y resume los datos climatológicos Paquete de instrumentos para una colección de datos Estación climatológica

19 MODELOS DE DISEÑO, TIPOS Y CARACTERÍSTICAS
Los modelos de diseño muestran a los objetos o clases de objetos en un sistema y, la forma apropiada de las relaciones entre estas entidades. Representan el puente entre los requerimientos del sistema y la implementación del mismo. Un paso importante en el proceso de diseño, de alguna manera es decidir cuales modelos de diseño se necesitan y el nivel de detalle de estos modelos. Lo cual depende del tipo de sistema que se está desarrollando. Un sistema de procesamiento de datos secuenciales será diseñado de forma diferente al de un sistema de tiempo real embebido. Existen dos tipos de modelos de diseño que se deberían de producir para describir un diseño orientado a objetos: Modelos estáticos. Describe la estructura estática del sistema usando clases de objetos y sus posibles relaciones. TIPOS DE MODELOS DE DISEÑO Modelos dinámicos. Describen la estructura dinámica del sistema y muestran las interacciones entre los objetos del sistema (no las clases de objetos)

20 MODELOS DE DISEÑO, TIPOS Y CARACTERÍSTICAS
UML presenta 12 diferentes modelos tanto estáticos como dinámicos que se pueden producir para documentar un determinado diseño. Algunos de los cuales no resultan apropiados para ciertas aplicaciones. Los modelos que se acoplan y se describirán para el ejemplo actual son: Modelos de subsistemas, el cual muestra los agrupamientos lógicos de los objetos dentro de subsistemas coherentes. Se representan usando formas de diagramas de clases en donde cada subsistema se muestra como un paquete. Los modelos de subsistema son estáticos. Los modelos de secuencia. Que muestran la secuencia de interacción entre los objetos. En UML se utiliza un diagrama de colaboración o secuencia para representarlos. Los modelos de secuencia son modelos dinámicos. Modelo de máquina de estado, los cuales muestran como ciertos objetos individuales cambian su estado en respuesta a un conjunto de eventos. UML utiliza los diagramas de estado para representarlos. Los modelos de máquinas de estado son modelos de tipo dinámico.

21 MODELO DE SUBSISTEMA Un modelo de subsistema es un modelo estático útil ya que muestra como el diseño puede ser organizado dentro de grupos de objetos relacionados lógicamente. El siguiente programa no solamente muestra los paquetes sino ciertas asociaciones entre los objetos internos y externos de la misma. Control de Comunicaciones Estación climatológica Subsistema Interfaz Subsistema de Colección de datos Datos climatológicos Estados de los instrumentos Subsistema de Instrumentos Termómetro de aire Señal de viento Anemómetro Termómetro de tierra Barómetro Paleta de viento

22 MODELOS DE SECUENCIA Los modelos de secuencia son modelos dinámicos. Por cada modo de interacción, una secuencia de interacciones entre objetos se realiza. En un modelo de secuencia: Los objetos involucrados en la interacción son colocados de forma horizontal con una línea vertical que enlaza a cada objeto. El tiempo se representa de forma vertical conforme el tiempo avanza en las líneas verticales punteadas se muestra tal efecto. Por lo que, la secuencia de operaciones puede ser leída fácilmente del modelo. Las flechas etiquetadas que enlazan a las líneas verticales, representan interacciones entre los objetos. Estos no son flujos de datos pero representan mensajes o eventos que son fundamentales para la interacción. El rectángulo delgado sobre la línea punteada representa la cantidad de tiempo en que el objeto es el objeto de control en el sistema. Un objeto toma el control desde el momento representado por la parte superior del rectángulo y lo deja a otro objeto a partir de la parte inferior del mismo.

23 :estación_climatológica :Datos_climatológicos
MODELOS DE SECUENCIA Cuando se documenta un diseño, se debería de producir un modelo de secuencia por cada interacción significativa. Si se han definido un conjunto de casos de uso, entonces se debería tener un modelo de secuencia por cada caso de uso que se haya definido con anterioridad. :Controlador_Coms :estación_climatológica :Datos_climatológicos Petición (reporte) Acuse_de_recibo() Reporte() Emisión_reporte() Enviar_reporte() resumen_info()

24 MODELOS DE SECUENCIA La lectura del diagrama anterior se realiza de la parte superior a la parte inferior, quedando como sigue: Un objeto que es una instancia de (Controlador de Comunicaciones :Controlador_coms) recibe una petición de su ambiente para emitir un reporte. Un acuse de recibo es el resultado a esta petición. Una flecha con punta a la mitad indica esto. Este objeto envía un mensaje a otro objeto que es una instancia de :estación_climatológica, para crear un reporte del clima. La instancia de :Controlador_coms se suspende de forma automática. La flecha con la punta completa indica que las instancias de los objetos se pueden ejecutar de forma concurrente. El objeto que es una instancia de :Estación_climatológica envía un mensaje al objeto de :Datos_climatológicos para pedir los datos del clima. El resultado es calculado y se regresa el control al objeto :Estación_climatológica. La flecha punteada indica retorno de control. Este objeto envía un mensaje al :Controlador_coms para transferir el dato al sistema remoto. El objeto :estación_climatológica se suspende. El objeto :Controlador_Coms envía el dato al sistema externo, a su vez recibe al acuse de recibo y se suspende de forma automática.

25 Resumen completo del clima
DIAGRAMAS DE ESTADO apagar esperar calibrando probando transmitiendo resumiendo coleccionando reloj Iniciar() Terminar() calibrar() probar() transmisión realizada Colección realizada Reporte_clima() prueba completa Resumen completo del clima Calibración OK Operación

26 ESPECIFICACIÓN DE LA INTERFAZ DEL OBJETO
Una parte importante del proceso de diseño es la especificación de las interfaces entre los componentes en el diseño. Se requieren especificar las interfaces de tal forma que los objetos y los subsistemas puedan ser diseñados en paralelo. Una vez que la interfaz ha sido especificada, los desarrolladores de otros objetos pueden considerar que la interfaz será implementada.


Descargar ppt "DISEÑO ORIENTADO A OBJETOS"

Presentaciones similares


Anuncios Google