Você está na página 1de 7

DISEÑO ORIENTADO A OBJETOS

El diseño Orientado a Objetos o abreviado DOO, se diferencia considerablemente


del diseño estructurado ya que en DOO no se realiza un problema en términos de tareas
(subrutinas) ni en términos de datos, sino se estudia el problema como un sistema de
objetos que se relacionan entre sí.

Un problema desarrollado con habilidades orientadas a objetos requiere, en primer


lugar saber cuáles son los objetos del programa, tales objetos son instancias de clases, la
primera fase en el desarrollo orientado a objetos requiere de la identificación de dichas
clases (atributos y comportamiento), así como las relaciones entre éstas y su posterior
implementación en un lenguaje de programación.

Existen numerosos métodos de diseño orientado a objetos: Booch, Yourdon-Coad,


Martín, Shlaer & Mellor, Rumbaugh, entre otros, pero en general como sucede en cualquier
proyecto estructurado, un proyecto software Orientado a Objetos este se compone de las
siguientes etapas:

 Análisis Orientado a Objetos (AOO)


 Diseño Orientado a Objetos (DOO)
 Programación Orientada a Objetos (POO)

DEFINICION

Se puede definir que es la disciplina que define los objetos y sus interaciones para
solventar un problema que fue identificado y archivado en la fase de Analisis Orientado
a Objetos.

¿QUIÉN LO HACE?

El DOO lo realiza un ingeniero del software el cual se encarga de toda la gestión del
proyecto para que éste se pueda desarrollar en un plazo determinado y con el presupuesto
previsto.
La ingeniería de software es una disciplina integrada por la agrupación de métodos,
herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos o
mejor conocidos como software

CARACTERISTICAS

 Los objetos son abstracciones del mundo real o entidades del sistema que se
administran entre ellas mismas
 Los objetos son independientes y encapsulan el estado y la representación de
información
 La funcionalidad del sistema se expresa en términos de servicios de los objetos
 Las áreas de datos compartidas son eliminadas. Los objetos se comunican mediante
paso de parámetros
 Los objetos pueden estar distribuidos y pueden ejecutarse en forma secuencial o en
paralelo

VENTAJAS

 Prototipos Rápidos
 Fácil de mantener, los objetos representan entidades auto-contenidas
 Capacidad de Reutilización
 Los objetos son componentes reutilizables
 Para algunos sistemas, puede haber un mapeo obvio entre las entidades del mundo
real y los objetos del sistema

DESVENTAJAS

A la hora de realizar el análisis y los requerimientos, se torna un poco complicado o difícil


según lo cita el autor.

 El Análisis Orientado objetos no se enfoca directamente para luego modelar


procesos de negocios, por lo que no está orientado a lo que necesita el experto en
el dominio del negocio.
 Predispone un enfoque orientado a objetos lo que puede contradecir un enfoque
“orientado al negocio”.
 El análisis Orientado a Objetos suele estar más orientado a los arquitectos de
sistemas y diseñadores de software.
 Impactos desfavorables sobre espacio y tiempo de ejecución.
 Forma de pensar diferente: curva de aprendizaje lenta.
 Herencia y ligadura dinámica dificultan las pruebas.
 Difícil seguir el flujo de ejecución. Por ejemplo: llamadas implícitas a constructores,
conversiones implícitas entre otros…
 Frameworks grandes y complicados. Ejemplo: MFCs.

¿CUALES SON LOS PASOS?

Se divide en dos:

 Diseño de sistema: crea una arquitectura del producto definiendo una serie de
capas, que cumplen funciones, e identifica las clases encapsuladas.
 Diseño de objetos: se centra en los detalles internos de cada clase, definición de
atributos. Operaciones y detalles de los mensajes.

¿QUE SE OBTIENE?

Se Obtiene la descripción de la interfaz de usuario y el desarrollo de componentes de


gestión.

DISEÑO PARA SISTEMAS ORIENTADOS A OBJETOS

Se divide en 4 capas:

 La capa subsistema: contiene una representación de cada uno de los subsistemas,


para conseguir sus requisitos definidos por el cliente.

 La capa de clases y objetos: contiene la jerarquía de clases, que permite al sistema


ser creado usando generalizaciones y con especificaciones más acertadas.

 La capa de mensaje: contiene detalles de diseño, que permite a cada objeto


comunicarse son sus colaboradores.
 La capa de responsabilidades: contiene estructuras de datos y diseños algorítmicos,
para todos los atributos y operaciones de cada objeto.

ASPECTOS DEL DISEÑO

Según el investigador, escritor y consultor en el campo de los lenguajes de ordenador,


creador del lenguaje de programación Eiffel, Bertrand Meyer, sugiere 5 criterios para juzgar
la capacidad de métodos de diseño para conseguir modularidad y los relaciona al diseño
orientado a objetos:

1. Descomponibilidad 3. Comprensibilidad 5. Protección

2. Componibilidad 4. Continuidad
Bertrand Meyer también sugiere 5 principios básicos de diseño, que pueden ser deducidos
para arquitecturas modulares:

1. unidades lingüísticas 3. pequeñas interfaces 5. ocultación de


Modulares (acoplamiento débil) información

2. pocas interfaces 4. interfaces explícitas

METODOS

 El método de Booch

Considera que las etapas del proceso en un desarrollo orientado a objetos son:

1. Identificar las claves y objetos en un nivel dado de abstracción


2. Identificar la semántica de estas clases y objetos
3. Identificar las relaciones entre clases y objetos
4. Especificar la interfaz y la implementación de estas clases y objetos

Estas etapas suelen seguirse por la mayoría de los métodos de diseño OO existentes. De
hecho, para los sistemas orientados a objetos se define el siguiente diseño en pirámide que
contempla el método de Booch.

 El método de Rumbaugh

La técnica de modelado de objetos engloba una actividad de diseño que conduce a dos
diferentes niveles de abstracción. El diseño de sistema se centra en el esquema de los
componentes que se necesitan para construir un sistema o producto completo.

El modelo de análisis se divide en subsistemas, los cuales se asignan a procesadores y


tareas. Se define una estrategia para implementar la administración de datos, y se
identifican los recursos y mecanismos de control requeridos para accesarlos.

 El método de Jacobson
El diseño para ISOO (Ingeniería del software orientada a objetos) es una versión simplificada
del método propietario Objectory, también desarrollada por Jacobson. El modelo de diseño
enfatiza la planificación para el modelo de análisis ISOO.

El modelo idealizado de análisis se adapta para acoplarse al ambiente del mundo real.
Después los objetos de diseño primarios, llamados bloques, son creados y catalogados como
bloques de interfaz, bloques de entidades y bloques de control. La comunicación entre
bloques durante la ejecución se define y los bloques se organizan en subsistemas.

 El método de Coad y Yourdon

Se desarrolló estudiando « cómo es que los diseñadores orientados a objetos efectivos »


hacen su trabajo. La aproximación de diseño dirige no sólo la aplicación, sino también la
infraestructura de la aplicación, y se enfoca en la representación de cuatro componentes
mayores de sistemas:

– la componente de dominio del problema

– la componente de interacción humana

– la componente de administración de tareas

– la de administración de datos.

 El método de Wirfs -Brock

Wirfs -Brock, Wilkerson y Weiner definen un conjunto de tareas técnicas, en la cual el


análisis conduce sin duda al diseño. Los protocolos para cada clase se construyen refinando
contratos entre objetos. Cada operación (responsabilidad) y protocolo (diseño de interfaz)
se diseña hasta un nivel de detalle que guiar á la implementación. Se desarrollan las
especificaciones para cada clase (definir responsabilidades privadas y detalles de
operaciones) y cada subsistema (identificar las clases encapsuladas y la interacción entre
subsistemas).
Beneficios
• Ofrece un mayor nivel de productividad del programador, mejor calidad de software y
menor costo de mantenimiento.
• Los programas pueden ser construidos en módulos de trabajo estándares que se
comunican unos con otros, más que teniendo que empezar desde un borrador. Esto ayuda a
ahorrar tiempo de desarrollo y a aumentar la productividad.
• Es fácil aportar trabajo en un proyecto basado en entidades.
• Es posible para múltiples instancias de una entidad coexistir sin ninguna interferencia.
• Usando el principio de ocultamiento de información, el programador está en la capacidad
de construir programas seguros que no pueden ser invalidados por códigos de otras partes
del programa.
• La herencia elimina códigos redundantes y extiende el uso de las entidades.
• El diseño centralizado de los datos permite capturar mas detalles de la modularidad en el
modo de implementación.
IMPORTANCIA

La importancia que el Diseño Orientado a Objeto es que este establece un anteproyecto de


diseño, caso en que el trabajo que se realice este hace que se maximice la reutilización de
este y por lo que no se tiene que estar buscando diseños y sus recursos sin que estos mismo
puedan ser reutilizado y a la vez no se tenga que crear desde cero nuevos recursos.

Você também pode gostar