Diseño OO
Tema 5: Diseño orientado a objetos
Ing. Willian Zamalloa Paro
Ing. Willian Zamalloa Paro DAI-UNSAAC
Ingeniería del Software
Diseño orientado a objetos
Resumen
Resumen
Este tema introduce el diseño orientado a objetos, incidiendo en tres aspectos
como son la disciplina de diseño dentro del Proceso Unificado, el diseño de la
arquitectura del software,destacando la utilización de un patrón Capas para
estructurar la arquitectura de los sistemas, y, por último, se introducen los
patrones de diseño, tomando como referencias principales los patrones de GoF
(Gang of Four) [Gamma et al., 1995] y los patrones POSA (Pattern Oriented
Software Architecture) [Buschmann et al., 1996], aunque también se hará
mención a los patrones GRASP (GeneralResponsibility Assignment Software
Patterns) [Larman, 2002]
Descriptores
Diseño orientado a objetos; Diseño arquitectónico; Proceso Unificado;
Subsistema de diseño; Clase de diseño; Modelo de despliegue; Arquitectura del
software; Patrón software; Patrón de diseño; Responsabilidad
Bibliografía
[Gamma et al., 2003]
[Jacobson et al., 2000] Capítulo 9
[Larman, 2003] Capítulos 16 y 22[Sommerville, 2005] Capítulo 14
2
Ingeniería del Software
Diseño orientado a objetos
Esquema
Introducción
Diseño en el Proceso Unificado
Diseño de la arquitectura
Patrones de diseño orientado a objetos
Aportaciones principales del tema
Ejercicios
Lecturas complementarias
Referencias
3
Ingeniería del SoftwareDiseño orientado a objetos
1. Introducción
4
Ingeniería del Software
Diseño orientado a objetos
Definición de DOO
DOO es el proceso que modela el dominio de la
solución, lo que incluye a las clases semánticas con
posibles añadidos, y las clases de interfaz, aplicación y
utilidad identificadas durante el diseño
[Monarchi y Puhr, 1992]
El objetivo esreexaminar las clases del dominio del problema,
refinándolas, extendiéndolas y reorganizándolas, para mejorar su
reutilización y tomar ventaja de la herencia
El diseño casa con el dominio de la solución
Los objetos del dominio de la solución incluyen: objetos de interfaz,
objetos de aplicación y objetos base o de utilidad
El énfasis del diseño está en DEFINIR LA SOLUCIÓN
Ing. Willian ZamalloaParo DAI-UNSAAC
5
Ingeniería del Software
Diseño orientado a objetos
Generalidades (i)
Construye los productos desarrollados en el AOO
Refinamiento de las clases
Definición de los protocolos de los mensajes para todos los objetos
Definición de estructuras de datos y procedimientos
Los objetos y relaciones identificadas en la fase de análisissirven de entrada a la fase de diseño y como primera capa de
diseño
El sistema se concibe como una colección de objetos que
interaccionan
El estado del sistema está descentralizado y cada objeto
gestiona su propio estado
Los objetos son instancias de una clase de objetos y se
comunican invocando métodos
Ing. Willian Zamalloa Paro DAI-UNSAAC
6
Ingeniería del Software
Diseñoorientado a objetos
Generalidades (ii)
Diseño de componentes software individuales
Objetivo: Representar un concepto que estará en forma ejecutable
Basado en objetos: ADT
Orientado a objetos: Clase
Idealmente una clase es una implementación de un ADT
Detalles de implementación son privados a la clase
Interfaz pública
Funciones de acceso:Devuelven abstracciones significativas acerca del estado
de las instancias
Procedimientos de abstracción: Utilizados para cambiar el estado de una
instancia
Herencia
Extensibilidad del sistema
Refleja la abstracción y estructura presente en un dominio de la aplicación
Identifica y encapsula elementos comunes en abstracciones de alto nivel
Ing. Willian Zamalloa Paro DAI-UNSAAC
7...
Regístrate para leer el documento completo.