Você está na página 1de 20

EQUIPO 6

Ingeniera de Software
Orientado a Objetos

Tema

Diseo Orientado a Objetos

Introduccin

El OOD Se basa
Todos los mtodos de diseo intentan desarrollar software
basndose en:
Abstraccin
Ocultamiento de informacin
Modularidad
El OOD proporciona un mecanismo que permite al diseador
consigue estas
tres caractersticas sin dificultad.
El Anlisis Orientado a Objetos, el Diseo Orientado a Objetos y
la
Programacin Orientada a Objetos comprenden un conjunto de
actividades de
la Ingeniera del Software para la construccin de un sistema
basado en
objetos.

Concepto

A diferencia con otros mtodos de diseo, el


OOD produce un diseo que
interconecta objetos de datos y operaciones de
procesamiento para esos
objetos, de forma que se modulariza la
informacin y el procesamiento, en
lugar de aislar el procesamiento.

Concepto

En resumen
El Diseo Orientado a los Objetos
(OOD) crea una representacin
del problema
del mundo real y la hace
corresponder con el mbito de la
solucin, que es el
software.

Diseo para Sistemas OO

Capas de la pirmide del diseo


OO

contiene los datos estructurados en


detalle y el detalle algortmico para
los atributos de cada objeto y
funcionamientos

contiene la jerarqua de la clase


incluso las representaciones de
cada objeto

Diseo de
responsabilidades

Diseo de mensajes

establece las interfaces internas y


externas para el sistema, incluso los
detalles de comunicacin entre los
colaboradores del objeto

Diseo de clases y objetos


Diseo de subsistemas

contiene las representaciones de


cada uno de los subsistemas y la
infraestructura necesaria que
permiten al software lograr los
requisitos del cliente

Pasos Fundamentales

Pasos del OOD


Esencialmente, el OOD consta de cuatro
fundamentales:
a) Identificacin y definicin de objetos y clases
b) Organizacin de relaciones entre clases
c) Extraccin de estructuras en una jerarqua de clases
d) Construccin de bibliotecas de clases reutilizables

pasos

Como en todas las fases de Ingeniera del Software, el


OOD es cclico, es decir, los diseadores comienzan
definiendo un conjunto de clases, que se amplan,
modifican, ..., y vuelta a empezar.

Enfoque Convencional vs. OO

Diseo para Sistemas OO

Fichman y Kemerev sugieren diez componentes de diseo modelado


para comparar mtodos convencionales y orientados a objetos.
1. Representacin de la jerarqua de mdulos
2. Especificacin de las definiciones de datos
3. Especificacin de la lgica procedimental
4. Indicacin de secuencias de proceso final-a-final (end-to-end)
5. Representacin de estados y transicin de los objetos

Aspectos del diseo

Diseo para Sistemas OO

Criterios para juzgar la


capacidad de mtodos de
diseo para conseguir
modularidad.

DESCOMPONIBILIDAD

COMPONIBILIDAD

COMPRENSIBILIDAD

CONTINUIDAD

PROTECCCION

Un mtodo de diseo
facilita...

Principios bsicos de
diseo, que pueden ser
deducidos para
arquitecturas modulares

Descomposicin de un
problema grande en
problemas pequeos

UNIDADES LINGUISTICAS
MODULARES

Los componentes del


programa una vez diseados
y construidos, pueden ser
reutilizados
Los componentes de un
programa puedan ser
entendidos, sin hacer
referencia a otro modulo
Pequeos cambios en un
programa se revelen haciendo
los cambios pertinentes en uno
o muy pocos mdulos
Reduce la propagacin de
efectos colaterales, si ocurre
un error en un modulo dado.

POCAS INTERFACES

PEQUEAS INTERFACES

INTERFACES EXPLICITAS

OCULTAMIENTO DE LA
INFORMACION

Panorama del DOO


El mtodo de Booch

Diseo para Sistemas OO

Abarca un microproceso de desarrollo y un


macroproceso de desarrollo.
Microproceso

Macroproceso

1. Define un conjunto de reglas que


regulan el uso de operaciones y
atributos y las polticas del dominio
especifico para la administracin de
la memoria, manejo de errores,etc.

1. Engloba una actividad de


planificacin arquitectnica, que:
Agrupa objetos similares en
particiones arquitectnicas
separadas,

2. Desarrolla situaciones que


describen la semntica de las reglas
y polticas

Agrupa capas de objetos por


nivel de abstraccin,

3. Crea un prototipo para cada poltica

Identifica situaciones
relevantes,

4. Instrumenta y refina el prototipo


5. Revisa cada poltica para as
transmitir su visin arquitectnica

Crea un prototipo de diseo,


Valida el prototipo

Proceso de diseo del sistema

Fases del proceso de diseo de sistema

Fases del proceso de diseo de sistema


Proceso de diseo del sistema

Particionar el modelo de anlisis

Criterios a tener en cuenta al momento de definir y disear los subsistemas


1. El subsistema debe tener una interfaz bien definida, a travs de la cual se
reduzcan todas las comunicaciones con el resto del sistema.
2. Con la excepcin de un numero pequeo de clases de comunicaciones, las
clases incluidas dentro del subsistema deben colaborar solo con otras reas
dentro del subsistema.
3. El nmero de subsistemas debe ser bajo
4. Un subsistema puede ser particionado internamente para ayudar a reducir la
complejidad.

Proceso de diseo del sistema

Proceso de diseo de sistema


Asignacin de concurrencia y subsistemas

1. El sistema dinmico del modelo objetocomportamiento provee una indicacin de


concurrencia entre clases o subsistemas.
2. Si las clases deben actuar en sucesos
asincronicamemte y al mismo tiempo, se vern como
concurrentes.

Proceso de diseo de sistema


Proceso de diseo del sistema

Componente de administracin de tareas

Estrategias para el diseo


de objetos que manipulan
tareas concurrentes.

Plantilla bsica de una


tarea

1.Se determinan las


caractersticas de la tarea

1. Nombre de la tarea

2.Se define un coordinador


de tarea y objetos
asociados.

3. Prioridad

3.Se integra el coordinador


y otras tareas

2. Descripcin

4. Servicios
5. Coordinado por...
6. Comunicados por ...

Proceso de diseo del sistema

Proceso de diseo de sistema


Componente de interfaz de usuario

1. Las mayora de las clases necesarias para crear


una interfaz moderada ya existen y estn
disponibles, para el diseador.
2. Una vez que el actor y su situacin de uso se
definen se identifica una jerarqua de comando.
3. La jerarqua de ordenes define la mayora de las
categoras del men de sistema (barra de mens o
la paleta de herramientas)

Proceso de diseo de sistema


Proceso de diseo del sistema

Componente de administracin de datos

La administracin o gestin de datos engloba dos


reas distintas de inters:
1. La administracin de datos crticos para la propia
aplicacin
2. La creacin de infraestructura para el
almacenamiento y recuperacin de objetos.

Proceso de diseo del sistema

Proceso de diseo de sistema


Componente de gestin de recursos
1. Estn disponibles una variedad de recursos diferentes para un
sistema o producto OO; y, muchas veces, los subsistemas compiten
por estos recursos al mismo tiempo.
2. Los recursos globales del sistema pueden ser entidades externas
(unidad de disco, procesador) o abstracciones (base de datos,un
objeto).

Proceso de diseo de sistema


Proceso de diseo del sistema

Comunicacin entre subsistemas


Una vez que cada subsistema ha sido especificado, es necesario
definir las colaboraciones que existen entre subsistemas.
Para cada contrato, anotar las especificaciones (heredadas y privadas) que
se requieren para implementar las responsabilidades que implica el contrato.
Considerar un contrato a la vez, que incluya:
Tipo de contrato (cliente servidor , Peer to Peer)
Colaboradores (nombres de los subsistemas que son parte del contrato)
Clase (nombres de clases que proporcionan servicios denotados por el contrato)
Operaciones (nombre de operaciones que implementan los servicios)
Formato del mensaje (requerido para implementar la interaccin entre
colaboradores)

Proceso de diseo de objetos

Descripcin de objetos

Diseo de algoritmos y estructura de


datos

Proceso de diseo de objetos

Descripcin de objetos

Una descripcin del diseo de un objeto (instancia de clase) puede


tomar una o dos formas:

1. Una descripcin de protocolo que establece a interfaz de un


objeto, definiendo cada mensaje que el objeto puede recibir y
las operaciones que lleva a cabo cuando recibe un mensaje.
2. Una descripcin de implementacin que muestra detalles de
implementacin para cada operacin implicada por un mensaje
pasado a un objeto.
La descripcin del protocolo no es nada mas que un conjunto de
mensajes y un comentario correspondiente para cada mensaje.

Proceso de diseo de objetos

Diseo de algoritmos y estructura de datos

Una variedad de representaciones contenidas en el


modelo de anlisis y el diseo del sistema, proveen
una especificacin para todas las operaciones y
atributos.
1.Se crea un algoritmo para implementar la especificacin para cada
operacin. En muchas ocasiones el algoritmo es una simple secuencia
computacional o procedural, que puede ser implementada como un
modulo de software.

2.Las estructuras de datos se disean al mismo tiempo que los


algoritmos. Ya que las operaciones manipulan los atributos de una
clase, el diseo de estructuras de datos, que reflejan mejor los
atributos, tendrn un fuerte sentido en el diseo algortmico de las
operaciones correspondientes.

Você também pode gostar