Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Slide 1
Objetivos
Explicar cmo un diseo de software puede ser representado como un conjunto de objetos que interactan para gestionar su propio estado y las operaciones Describir las actividades en el proceso de diseo orientado a objetos Introducir varios modelos que se pueden utilizar para describir un diseo orientado a objetos Mostrar cmo el UML puede utilizarse para representar a estos modelos
Software Engineering, 7th edition. Chapter 14 Slide 2
Tpicos expuestos
Objetos y clases de objetos Proceso de diseo orientado a objetos Evolucin del diseo
Slide 3
Anlisis orientado a objetos, el diseo y la programacin estn relacionadas pero son distintas. OOA se refiere a la elaboracin de un modelo de objetos de la solicitud de dominio. OOD se refiere al desarrollo de un modelo de sistema orientado a objetos para aplicar los requisitos. OOP se refiere a la realizacin de un OOD utilizando un lenguaje de programacin como Java o C + +.
Slide 4
Caractersticas de OOD
Los objetos son abstracciones del mundo real o entidades del sistema y se gestionan ellos mismos. Objetos son independientes y encapsulan el estado y la representacin de informacin. Funcionalidad del sistema se expresa en trminos de servicios entre objetos. Areas de datos compartidos se eliminan. Los objetos pueden ser distribuidos y pueden ejecutarse secuencialmente o en paralelo.
Slide 5
Slide 6
Ventajas de OOD
Ms fcil mantenimiento. Los objetos se pueden entender como entidades autnomas. Los objetos son potencialmente componentes reutilizables. Para algunos sistemas, puede haber un evidente mapeo de entidades del mundo real al sistema.
Slide 7
Los objetos son entidades de un sistema de software que representan los casos del mundo real y entidades del sistema. Clases de objetos son las plantillas de los objetos. stos pueden utilizarse para crear objetos. Clases de objetos pueden heredar los atributos y servicios de otras clases de objetos.
Software Engineering, 7th edition. Chapter 14 Slide 8
Slide 9
Diferentes notaciones para la descripcin de los diseos orientados a objetos se propusieron en los aos 1980 y 1990. El Lenguaje Unificado de Modelado es una integracin de estas anotaciones. En l se describe una serie de anotaciones de los diferentes modelos que pueden ser producidos durante el anlisis y diseo OO. Ahora es un estndar de facto para el modelado OO.
Slide 10
Slide 11
Comunicacin de objetos
El nombre del servicio solicitado por el objeto, la convocatoria; Copias de la informacin necesaria para ejecutar el servicio y el nombre de un titular para el resultado del servicio.
Mensaje - ejemplos
Slide 13
Generalizacin y la herencia
Los objetos son miembros de las clases que definen Tipos de atributos y operaciones. Las clases pueden ser organizadas en una jerarqua de clase donde una clase (una super-clase) es una generalizacin de una o ms clases (sub-clases). Una sub-clase hereda los atributos y operaciones de su super clase y puede agregar nuevos mtodos o de sus propios atributos. Generalizacin en UML se implementa como herencia en los lenguajes de programacin OO.
Slide 14
Slide 15
Ventajas de la herencia
Se trata de un mecanismo de abstraccin que se puede utilizar para clasificar las entidades. Se trata de un mecanismo de reutilizacin, tanto en el diseo y la programacin. El grfico de la herencia es una fuente de conocimientos sobre mbitos de organizacin y sistemas.
Slide 16
Clases de objetos no son auto-contenidas. que no puede entenderse sin referencia a sus super-clases. Los diseadores tienen una tendencia a la reutilizacin del patrimonio grfico creado durante el anlisis. Puede llevar a importantes ineficiencias. La herencia de los grficos de anlisis, el diseo y la aplicacin tienen diferentes funciones y debe ser mantenido por separado.
Software Engineering, 7th edition. Chapter 14 Slide 17
Asociaciones UML
En UML, una relacin generalizada se indica mediante una asociacin. Las asociaciones pueden ser anotadas con la informacin que describe la asociacin. Asociaciones son de carcter general, pero pueden indicar que un atributo de un objeto es un objeto o asociaciones de que un mtodo se basa en un objeto asociado.
Slide 18
Un modelo de asociacin
Slide 19
Objetos concurrentes
La naturaleza de los objetos como autnomos de las entidades hace que sean adecuados para concurrentes aplicaciones. No es necesario que un objeto ejecute los mensajes de forma secuencial y que espere hasta completar un servicio solicitado.
Slide 20
Servidores.
El objeto est implementado como un proceso paralelo (servidor) con los puntos de entrada correspondientes a las operaciones de objeto. Los objetos se implementan como procesos paralelos y el estado interno del objeto podr ser modificado por el objeto en s mismo y no slo por las llamadas externas.
Objetos activos
Slide 21
Transpondedor de objeto
Objetos activos pueden tener sus atributos modificados por las operaciones, pero tambin puede actualizarlos autnomamente mediante operaciones internas. Un transpondedor de objeto emite la posicin de una aeronave. La posicin puede ser actualizada mediante un sistema de posicionamiento por satlite. El objetivo es actualizar peridicamente la posicin mediante la triangulacin de los satlites.
Software Engineering, 7th edition. Chapter 14 Slide 22
Un transpondedor
Slide 23
Hilos de Java
Hilos en Java son una simple construccin de los objetos de aplicacin concurrente. Debe incluir un mtodo llamado run () y este se inicia por el JRE o tiempo de ejecucin del sistema. Objetos activos suelen incluir un bucle infinito de modo que siempre estn llevando a cabo el cmputo.
Slide 24
Los procesos de diseo estructurado implican el desarrollo de un nmero de diferentes modelos de sistemas. Requieren un gran esfuerzo para el desarrollo y mantenimiento de estos modelos y, para sistemas pequeos, esto puede no ser rentable. Sin embargo, para los grandes sistemas desarrollados por diferentes grupos de diseo de modelos son un mecanismo de comunicacin esencial.
Software Engineering, 7th edition. Chapter 14 Slide 25
Destacan las principales actividades sin estar atados a ninguna propiedad, como el proceso RUP.
Definir el contexto y las modalidades de utilizacin del sistema; Diseo de la arquitectura del sistema; Identificar los principales objetos del sistema; Desarrollar modelos de diseo; Especificar las interfaces de los objetos.
Slide 26
Slide 27
Desarrollar una comprensin de las relaciones entre la fase de diseo de software y su entorno externo Contexto del sistema
Un modelo que describe otros sistemas en el entorno. Utilice un subsistema modelo para mostrar otros sistemas. Tras las presentaciones de diapositivas de los sistemas de todo el sistema de estacin meteorolgica.
Un modelo dinmico que describe cmo el sistema interacta con su entorno. Usar casos de uso para mostrar las interacciones
Slide 28
Arquitectura
Slide 29
Slide 30
Los modelos de casos de uso se utilizan para representar a cada interaccin con el sistema. Un modelo de caso de uso muestra las caractersticas del sistema en puntos suspensivos y la interaccin de la entidad figura como un palo.
Slide 31
Slide 32
Slide 33
Diseo arquitectnico
Una vez que las interacciones entre el sistema y su entorno se han entendido, se utiliza esta informacin para disear la arquitectura del sistema. Una arquitectura como se explica en el captulo 11 es apropiado para la estacin meteorolgica
Capa de interfaz para el manejo de las comunicaciones; Capa de recogida de datos para la gestin de los instrumentos; Capa de instrumentos para la recoleccin de datos.
Slide 35
Identificacin de objetos
La identificacin de objetos (o clases de objetos) es la parte ms difcil de diseo orientado a objetos. No hay ninguna "frmula mgica" para la identificacin de objetos. Se basa en la habilidad, la experiencia, dominio y conocimiento de los diseadores de sistemas. Identificacin de objetos es un proceso iterativo. Es poco probable que salga bien la primera vez.
Software Engineering, 7th edition. Chapter 14 Slide 36
Aproximaciones a la identificacin
Utilice un enfoque gramatical basado en una descripcin en lenguaje natural del sistema (utilizado en el mtodo de OOD Hood). Base de la identificacin de las cosas tangibles en la aplicacin de dominio. Utilice un enfoque de comportamiento e identificar los objetos sobre la base de lo que participa en el comportamiento. Utilice un escenario basado en el anlisis. Los objetos, atributos y mtodos en cada una de las hiptesis se han identificado.
Software Engineering, 7th edition. Chapter 14 Slide 37
Slide 38
Estacin meteorolgica
Datos meteorolgicos
Slide 39
Slide 40
Objetos y refinacin
Diseo de modelos
Mostrar modelos de diseo de los objetos y clases de objetos y relaciones entre estas entidades. Los modelos describen la estructura del sistema en trminos de clases de objetos y relaciones. Modelos dinmicos describen las interacciones dinmicas entre objetos.
Slide 42
Sub-sistema de modelos que muestran agrupaciones lgicas de objetos en los subsistemas coherentes. Secuencia de modelos que muestran la secuencia de interacciones objeto. Modelos de mquinas de estados que muestran cmo cada uno de los objetos cambian su estado en respuesta a los acontecimientos. Otros modelos incluyen el uso de los modelos de casos de uso, los modelos de agregacin, modelos de generalizacin, etc
Software Engineering, 7th edition. Chapter 14 Slide 43
Subsistema de modelos
Muestra cmo el diseo se organiza en grupos relacionados con la lgica de los objetos. En el UML, estas se muestran utilizando paquetes. Se trata de un modelo lgico. La organizacin efectiva de los objetos en el sistema puede ser diferente.
Slide 44
Slide 45
Modelos de secuencia
Los modelos de secuencia muestran la secuencia de las interacciones que tienen lugar entre los objetos
Los objetos estn dispuestos horizontalmente en la parte superior; El tiempo es representado de manera vertical, los modelos se leen de arriba hacia abajo; Las interacciones son representadas por flechas etiquetadas, Diferentes estilos de flecha representan los diferentes tipos de interaccin;
Slide 46
Slide 47
Statecharts
Mostrar cmo los objetos responden a diferentes solicitudes de servicio y el estado de transicin provocada por estas peticiones
Si el estado es apagado luego responde a un mensaje de inicio (); En el estado de espera el objeto est a la espera de nuevos mensajes; Si reportWeather () entonces el sistema se mueve a resumir el estado; Una recopilacin de estado se recibe cuando se introduce una seal de reloj.
Slide 48
Slide 49
Especificacin de la interfaz
Las interfaces tienen que ser especificadas de manera que los objetos y otros componentes pueden ser diseados en paralelo. Los diseadores deben evitar el diseo de la interfaz de la representacin, sino que debe ocultar esta en el objeto en s. Puede haber varias interfaces que son puntos de vista sobre los mtodos previstos. El UML utiliza los diagramas de clase de especificacin de interfaz de Java, pero tambin puede ser utilizada.
Software Engineering, 7th edition. Chapter 14 Slide 50
Slide 51
Ocultar la informacin dentro de los objetos significa que los cambios realizados a un objeto no afecten a otros objetos en una forma impredecible. Asumir la vigilancia de la contaminacin son las instalaciones que se agregan a estaciones meteorolgicas. Estas muestran el aire y calculan la diferencia del importe de contaminantes en la atmsfera. Lecturas de datos de la contaminacin se transmiten con el clima.
Slide 52
Cambios necesarios
Aadir una clase de objeto llamado la calidad del aire como parte de WeatherStation. Aadir una operacin reportAirQuality a WeatherStation. Modificar el software de control para recoger lecturas de la contaminacin. Aadir los objetos que representan los instrumentos de vigilancia de la contaminacin.
Software Engineering, 7th edition. Chapter 14 Slide 53
La vigilancia de la contaminacin
Slide 54
Puntos clave
OOD es un enfoque para disear de manera que los componentes de diseo tienen su propio estado y las operaciones privadas. Los objetos deben tener el constructor y las operaciones de inspeccin. Prestan servicios a otros objetos. Los objetos pueden aplicarse simultneamente o secuencialmente. El Lenguaje Unificado de Modelado provee diferentes notaciones para la definicin de modelos de objetos diferentes.
Software Engineering, 7th edition. Chapter 14 Slide 55
Puntos clave
Una gama de diferentes modelos pueden ser producidos en un proceso de diseo orientado a objetos. Estos incluyen el establecimiento de modelos de sistemas y dinmica. Las interfaces de objetos deben definirse con precisin usando, por ejemplo, un lenguaje de programacin como Java. Diseo orientado a objetos potencialmente simplifica la evolucin del sistema.
Software Engineering, 7th edition. Chapter 14 Slide 56