Este documento presenta los conceptos fundamentales del diseño orientado a objetos. Explica que un sistema orientado a objetos está compuesto de objetos que interactúan y mantienen su propio estado y operaciones. Luego describe los pasos clave del proceso de diseño orientado a objetos, incluida la identificación de objetos, el desarrollo de modelos y la especificación de interfaces. Finalmente, resalta la importancia de comprender el contexto del sistema y diseñar una arquitectura apropiada.
1. Diseño Orientado a objetos
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Octubre, 2021
Loja, Ecuador
2. 2
1. Objetos y clases
2. Un proceso de diseño orientado a objetos
3. Modelos del Diseño
4. Contexto del sistema y modelos de utilización
5. Diseño de arquitectura
Contenido
3. 3
Diseño basado a objetos
Un sistema orientado a objetos está compuesto de objetos que interactúan, los cuales
mantienen ellos mismos su estado local y proveen operaciones sobre su estado
• Análisis orientado a objetos: desarrollo de un modelo orientado a objetos del dominio. Los
objetos reflejan las entidades y operaciones que se asocian con el problema a resolver
• Diseño orientado a objetos: desarrollo de un modelo orientado a objetos de un sistema software
para implementar los requerimientos identificados. Los objetos pueden existir relaciones estrechas
entre algunos objetos del problema y algunos objetos de la solución. El diseñador tiene que
agregar nuevos objetos para transformar los objetos del problema e implementar la solución
• Programación orientada a objetos: se refiere a implementar el diseño de software utilizando un
lenguaje de programación orientado a objetos, como Java
5. 5
Objetos y clases
Un objeto es una entidad que tiene un estado y un conjunto de
operaciones definidas que operan sobre ese estado. El estado se
representa como un conjunto de atributos del objeto. Las
operaciones asociadas al objeto proveen servicios a otros objetos
(clientes) que solicitan estos servicios cuando se requiere llevar a
cabo algún cálculo
Los objetos se crean conforme a una definición de clases de objetos.
Una definición de clases sirve como una plantilla para crear
objetos. Esta incluye las declaraciones de todos ¡os atributos y
operaciones asociados con un objeto de esa clase.
6. 6
Objetos y clases
Las clases se pueden organizar mediante una
generalización o jerarquía de herencia que muestra las
relaciones entre las clases generales y más específicas
7. 7
Objetos y clases
Objetos concurrentes
• Un objeto solicita un servicio de otro
objeto enviándole un mensaje de «solicitud
de servicio» a ese objeto
• No es necesario que un objeto ejecute estos
mensajes en forma secuencial y que espere
hasta completar un servicio solicitado
El modelo general de interacción de objetos les permite
ejecutarse concurrentemente como procesos en paralelo
8. 8
Un proceso de diseño orientado a objetos
Proceso General:
1. Comprender y definir el contexto y los modos de utilización del sistema
2. Diseñar la arquitectura del sistema
3. Identificar los objetos principales en el sistema
4. Desarrollar los modelos de diseño
5. Especificar las interfaces de los objetos
9. 9
Un proceso de diseño orientado a objetos
Problema
Se requiere un sistema para generar mapas meteorológicos a partir de la recogida pe-
riódica de los datos de estaciones meteorológicas remotas y automáticas y datos de
otras fuentes, como observatorios meteorológicos, globos v satélites. Las estaciones
meteorológicas transmiten sus datos a la computadora del área en respuesta a una pe-
tición de esa máquina.
El sistema de cómputo del área valida los datos recogidos e integra los datos de diver-
sas fuentes. Los dalos integrados se guardan y, utilizando datos de este archivo y una
base de datos de mapas digitalizados. se crea un conjunto local de mapas meteoroló-
gicos. Los mapas se pueden imprimir para su distribución en una impresora de mapas
de propósito especial y pueden ser visualizados en pantalla en diferentes formatos.
10. 10
Un proceso de diseño orientado a objetos
Esta descripción muestra que parte del
sistema completo se refiere a la recogida
de datos, parte a la integración de los
datos de diversas fuentes, parte a archivar
estos datos y parte a crear mapas
meteorológicos
11. 11
Un proceso de diseño orientado a objetos
En la figura anterior se muestran diferentes capas y se incluye el nombre de la capa
en un símbolo de representación de paquetes en UML que se ha denotado como un
subsistema
Un paquete en UML representa una colección de objetos y otros paquetes
12. 12
Contexto del sistema y modelos de utilización
La primera etapa -> proceso de diseño de software
• Comprender las relaciones entre el software y el entorno externo
• Comprender esto ayuda a decidir cómo suministrar la funcionalidad requerida al
sistema
• Cómo estructurar éste para que se comunique efectivamente con su entorno
El contexto del sistema y el modelo de utilización del sistema representan dos modelos
complementarios entre un sistema y su entorno:
1. El contexto del sistema es un modelo estático que describe a los otros sistemas de su
entorno
2. El modelo de utilización del sistema es un modelo dinámico que describe cómo el
sistema interactúa con su entorno
13. 13
Contexto del sistema y modelos de utilización
Se ha extendido este modelo de arquitectura
abstracta para mostrar los componentes de
los subsistemas
Sigue muy abstractos y se han derivado de la
información en la descripción del sistema
El modelo de contexto se produce un
diagrama de bloques sencillo de la
arquitectura del sistema completo.
Se puede extender representando un modelo
del subsistema utilizando paquetes en
UML
14. 14
Diseño de arquitectura
Una vez que se han definido las interacciones entre el sistema de software que se está dise-
ñando y el entorno del sistema, se puede utilizar esta información como base para diseñar la
arquitectura del sistema
Es necesario combinar esto con el conocimiento general de los principios de diseño
arquitectónico y con el conocimiento más detallado del dominio.
Las tres capas en el software de la estación meteorológica son:
1. La capa de interfaz, que comprende todas las comunicaciones con otras partes del sistema y el
suministro de las interfaces extemas del sistema
2. La capa de recogida de datos, que se ocupa de administrar la recogida de datos de los instrumentos
y de resumir los datos meteorológicos antes de la transmisión al sistema de mapas.
3. La capa de instrumentos, que comprende el encapsulamiento de todos los instrumentos utilizados
en la recogida de los datos acerca de las condiciones meteorológicas.
16. 16
Diseño de arquitectura
Identificación de objetos
• Utilizar un análisis gramatical de la descripción en lenguaje natural del sistema
• Utilizar entidades tangibles (cosas) en el dominio
• Utilizar un enfoque de comportamiento en el cual el diseñador primero comprende el
comportamiento total del Sistema
• Utilizar un análisis basado en escenarios en el cual se identifican y analizan en su momento
varios escenarios de la forma de utilizar el sistema
18. 18
Modelos del diseño
Los modelos de diseño muestran los objetos o clases en un sistema y, donde sea apropiado, los diferentes
tipos de relaciones entre estas entidades
Dos tipos de modelos de diseño para describir un diseño orientado a objetos:
1. Modelos estáticos que describen la estructura estática del sistema en términos de las clases del sistema y sus
relaciones. Las relaciones importantes que se documentan en esta etapa son de generalización,
utiliza/utilizado-por y de composición
1. Modelos dinámicos que describen la estructura dinámica del sistema y que muestran las interacciones entre
los objetos del sistema (no entre las clases). Las interacciones que se documentan incluyen la secuencia de
servicios solicitados por los objetos y la forma en que el estado del sistema se relaciona con estas
interacciones de objetos
UML provee 12 modelos estáticos y dinámicos que pueden ser utilizados en el documentos de diseño
19. Modelos del diseño
Algunos modelos
1. 1. Los modelos de subsistemas que muestran las agrupaciones lógicas de objetos en
subsistemas coherentes. Estos se representan utilizando una forma de los diagramas de
clase en el que cada subsistema se muestra como un paquete. Los modelos de subsis-
temas son modelos estáticos.
1. Los modelos de secuencia que muestran la secuencia de interacciones de los objetos.
Estos se representan utilizando una secuencia UML o un diagrama de colaboración.
Los modelos de secuencia son modelos dinámicos
2. Los modelos de máquinas de estado que muestran cómo los objetos individuales cam-
bian su estado en respuesta a los eventos. Esto se representa en UML utilizando dia-
gramas de estado los cuales son modelos dinámicos.
20. 20
Modelos del diseño
Los modelos de diseño muestran los objetos o clases
en un sistema y, donde sea apropiado, los diferentes
tipos de relaciones entre estas entidades