1 / 30

Ejemplo

Diseño Orientado a Objetos Adaptado de “Ingeniería de Software”, Ian Sommerville. Ejemplo. El proceso de diseño orientado a objetos. Definir el contexto y modos de uso del sistema. Diseñar la arquitectura del sistema. Identificar los principales objetos del sistema.

yelena
Download Presentation

Ejemplo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Diseño Orientado a Objetos Adaptado de “Ingeniería de Software”, Ian Sommerville Ejemplo

  2. El proceso de diseño orientado a objetos • Definir el contexto y modos de uso del sistema. • Diseñar la arquitectura del sistema. • Identificar los principalesobjetos del sistema. • Desarrollar los modelos de diseño (estáticos y dinámicos). • Especificar las interfaces de los objetos.

  3. Sistema Meteorológico:descripción Se requiere un sistema de recolección de datos meteorológicos a fin de generar mapas climáticos en forma periódica, utilizando datos colectados por estaciones meteorológicas remotas desatendidas y otras fuentes de datos tales como observadores humanos, globos y satélites. Las estaciones climáticas transmiten sus datos a la computadora de área en respuesta a un requerimiento de ésta

  4. Sistema Meteorológico:descripción (cont.) La computadora de área valida los datos recolectados y los integra con los datos de otras fuentes. Estos datos integrados son archivados y, usando los datos archivados y una base de datos de mapas digitalizados se confecciona un conjunto de mapas climáticos locales, que pueden ser impresos o mostrados por pantalla.

  5. Estación Climática: descripción La estación climática es un paquete de instrumentos meteorológicos controlados por software, que colecta datos, ejecuta procesamiento sobre los mismos y transmite los datos a la computadora de área para su posterior procesamiento. Los instrumentos incluyen termómetros de suelo y aire, anemómetros, veletas, barómetros y pluviómetros. Los datos son recolectados cada cinco minutos

  6. Estación Climática: descripción Cuando la estación climática recibe un comando desde la computadora de área para que transmita sus datos, procesa y sumariza los datos de los instrumentos. Los datos sumarizados son transmitidos a la computadora de área.

  7. Definir el contexto del sistema y los modos de uso • Objetivo: desarrollar una comprensión de las relaciones entre el software que estamos diseñando y su entorno. • Contexto del Sistema: un modelo estático que describe a los otros sistemas en el entorno. • Se ilustra a continuación usando paquetes UML.

  8. Contexto de la Estación Climática

  9. Definir el contexto del sistema y los modos de uso (cont.) • Modos de uso del sistema – modelo dinámico que describe como el sistema interactuará con su entorno. • Se ilustran utilizando un diagrama de Casos de Uso UML.

  10. Casos de Uso para la Estación Climática Entidad externa (sistema de recolección de datos meteorológicos) Interacciones posibles

  11. Descripción: caso de uso “Reportar”

  12. 2. Diseño arquitectural del sistema • Arquitectura en capas: • Capa de Interface para el manejo de comunicaciones • Capa de recolección de datos para la recolección de datos • Capa de Instrumentos para administrar los instrumentos

  13. Arquitectura de la Estación Climática UML: anotaciones UML: “paquetes anidados”

  14. 3. Identificar los principales objetos del sistema • Identificar objetos (o clases de objetos ) es la parte mas difícil del diseño OO. • No hay ninguna “fórmula mágica” – se hace a partir de la habilidad, experiencia y conocimiento del dominio del diseñador. • Es un proceso iterativo – generalmente no “sale” en el primer intento.

  15. Identificación de objetos • Usar un análisis gramatical basado en una descripción en lenguaje natural del sistema ( heuristica de Abbott). • Asociar objetos con cosas tangibles en el dominio de aplicación (p.ej. dispositivos). • Usar análisis de comportamiento: identificar objetos basándose en que cosa participa en que comportamiento.

  16. Clases en la Estación Climática • Weather station – interface de la estación climática con su entorno. Refleja interacciones identificadas en el modelo de casos de uso. • Weather data – encapsula los datos sumarizados desde los instrumentos. • Ground thermometer, Anemometer, Barometer – objetos de la aplicación que modelan a los instrumentos reales.

  17. Clases en la Estación Climática

  18. Otros objetos • Utilizar el conocimiento del dominio para identicar mas objetos, operaciones y atributos. • Cada estación climática debe tener un identificador único. • Las estaciones climáticas están ubicadas frecuentemente en sitios inaccesibles: las fallas de instrumentos deben reportarse automáticamente. Por lo tanto, son necesarios atributos y operaciones de auto-testeo.

  19. 4. Desarrollo de Modelos de Diseño • Los modelos de diseño muestran las relaciones entre objetos y clases. • Modelos Estáticos: describen la estructura del sistema en terminos de relaciones estructurales entre objetos y clases. • Modelos Dinámicos: describen la interacción -mensajes y respuestas- entre objetos.

  20. Subsistemas de la Estación Climática anotaciones

  21. Modelos de Secuencia • Los objetos se distribuyen horizontalmente al tope del diagrama. • El eje de tiempos es vertical, el modelo se “lee” de arriba hacia abajo. • Las interacciones se representan por flechas etiquetadas de diferentes estilos, indicando diferentes interacciones. • Un rectángulo en la “vida” de un objeto representa el tiempo durante el cual ese objeto es el controlante del sistema.

  22. Secuencia: Recolección de Datos Retorna el control No espera respuesta

  23. Modelo de Máquina de Estados de la Estación Climática

  24. 5. Especificación de la interface de los objetos • El diseño debe evitar revelar detalles de la estructura interna de los objetos en su diseño de interface. • Los objectos pueden tener varias interfaces lógicas, las cuales son “puntos de vista” de las operaciones provistas. (soportado directamente en Java) • UML usa diagramas de clase para especificar las interfaces.

  25. Interface de la Estación Climática en Java

  26. Evolución del Diseño • Ocultar la información en los objetos significa que los cambios hechos a ese objeto no afectarán a los demás de forma impredecible. • Supongamos que se desea agregar capacidades de monitoreo de a las estaciones climáticas. • Las lecturas de datos de polución son transmitidas junto a los datos climáticos.

  27. Cambios requeridos • Agregar una clase llamada “Air quality” (calidad de aire) como parte de WeatherStation. • Agregar una operación reportAirQuality a WeatherStation. Modificar el software de control para recolectar las lecturas de polución. • Agregar objetos que representen los instrumentos de monitoreo de polución.

  28. Monitoreo de Polución

  29. Conclusiones • DOO resulta en componentes de diseño con su propio estado privado y operaciones. • Los objetos deben tener operaciones de construcción e inspección . Ellos proveen servicios a otros objetos. • El Unified Modeling Language provee diferentes notaciones para definir diferentes modelos.

  30. Conclusiones (cont.) • Un conjunto de diferentes modelos pueden producirse durante un proceso de diseño orientado a objetos, incluyendo modelos estáticos y dinámicos del sistema. • Las interfaces de los objetos deben definirse precisamente. • El diseño orientado a objetos simplifica la evolución del sistema.

More Related