You are on page 1of 5

UNIVERSIDAD AUTNOMA DEL ESTADO DE HIDALGO INSTITUTO DE CIENCIAS BSICAS E INGENIERA

REA ACADMICA DE SISTEMAS COMPUTACIONALES


LICENCIATURA EN SISTEMAS COMPUTACIONALES

INVESTIGACIN SOBRE ABSTRACCIN, ENCAPSULAMIENTO, MODULARIDAD, JERARQUA, TIPIFICACIN Y CONCURRENCIA.

Asignatura:

ANLISIS Y DISEO ORIENTADO A OBJETOS

Catedrtico: M. en C. MARTHA IDALID RIVERA GONZLEZ

Alumno: DE LA CRUZ LECHUGA GEZZLER

MINERAL DE LA REFORMA HIDALGO A 10 DE AGOSTO DE 2011

Anlisis y Diseo Orientado a Objetos Grady Booch


Abstraccin
Surge del reconocimiento de las similitudes entre ciertos objetos, situaciones o procesos del mundo real, y la decisin de concentrarse en esas similitudes e ignorar por el momento las diferencias. Una abstraccin denota las caractersticas esenciales de un objeto que lo distinguen de todos los dems tipos de objeto y proporciona as fronteras conceptuales ntidamente definidas respecto a la perspectiva del observador. Una abstraccin se centra en la visin externa del objeto y por tanto sirve para separar el comportamiento esencial de un objeto de su implantacin (= barrera de abstraccin). y Abstraccin de entidades Un objeto representa un modelo til de una entidad del dominio del problema o del dominio de la solucin. y Abstraccin de acciones

Un objeto que proporciona un conjunto generalizado de operaciones y todas ellas desempean funciones del mismo tipo. y Abstraccin de mquinas virtuales

Un objeto que agrupa operaciones, todas ellas virtuales utilizadas por algn nivel superior o control, u operaciones que utilizan todas algn conjunto de operaciones de nivel inferior. y Abstraccin de coincidencia Un objeto que almacena un conjunto de operaciones que no tiene relacin entre s. Un cliente es cualquier objeto que utiliza los recursos de otro objeto (denominado servidor). Se puede caracterizar el comportamiento de un objeto considerando los servicios que presta a otros Objetos.

Al conjunto completo de operaciones que puede realizar un cliente sobre un objeto, junto con las formas de invocacin u rdenes que admite, se le denomina protocolo. Un invariante es una condicin booleana cuyo valor de verdad debe mantenerse. Precondiciones: invariantes asumidos por la operacin Postcondiciones: invariantes satisfechos por la operacin

Si se viola una precondicin significa que un cliente no ha satisfecho su parte del convenio, y por tanto el servidor no puede proceder con fiabilidad.

Si se viola una postcondicin significa que un servidor no ha llevado a cabo su parte del contrato, y por tanto sus clientes ya no pueden seguir confiando en el comportamiento del servidor.

Una excepcin es una indicacin de que no se ha satisfecho algn invariante. Todas las abstracciones tiene propiedades tanto est ticas como dinmicas. Objeto: archivo en un disco. Propiedades: ESTTICAS cambiar. nombre, tamao, contenido. su nombre, su tamao y su contenido pueden Valores de las propiedades: DINMICOS

Encapsulamiento.
Ninguna parte de un sistema complejo debe depender de los detalles internos de otras partes. Mientras la abstraccin ayuda a las personas a pensar sobre lo que estn haciendo, el encapsulamiento permite que los cambios hechos en los programas sean fiables con el menor esfuerzo. El encapsulamiento se consigue a menudo mediante la ocultacin de informacin, la estructura de un objeto est oculta as como la implantacin de sus mtodos. Para que la abstraccin funcione, la implementacin debe estar encapsulada En la prctica cada clase debe tener dos partes: un interfaz y una implementacin. Interfaz: captura slo su vista externa, abarcando la abstraccin que se ha hecho del comportamiento comn de todas las instancias de esa clase. Implementacin: (o implantacin) comprende la representacin de la abstraccin as como los mecanismos que consiguen el comportamiento deseado. El encapsulamiento es el proceso de almacenar en un mismo compartimento los elementos de una abstraccin que constituyen su estructura y su comportamiento; sirve para separar el interfaz contractual de una abstraccin y su implementacin. Esos elementos encapsulados se llaman secretos de una abstraccin. La ocultacin es un concepto relativo: lo que est oculto a un nivel de abstraccin puede representar la visin externa a otro nivel de abstraccin.

Modularidad
El acto de fragmentar un programa en componentes individuales puede reducir su complejidad en algn grado. Esto es una razn til, pero ms poderosa es la justificacin de que la fragmentacin crea una serie de fronteras bien definidas y documentadas dentro del programa. El uso de mdulos es esencial para ayudar a manejar la complejidad. La modularizacin consiste en dividir un programa en mdulos que pueden compilarse separadamente, pero que tienen conexiones con otros mdulos. Las conexiones entre mdulos son las suposiciones que cada mdulo hace acerca de todos los dems.

La decisin sobre el conjunto adecuado de mdulos para determinado problema es casi tan difcil como decidir sobre el conjunto adecuado de abstracciones. En el diseo estructurado tradicional, la modularizacin persigue ante todo el agrupamiento significativo de subprogramas, utilizando los criterios de acoplamiento y cohesin. En el diseo orientado a objetos, el problema presenta diferencias sutiles, la tarea es decidir dnde empaquetar fsicamente las clases y objetos a partir de la estructura lgica del diseo, y stos son claramente diferentes de los subprogramas.

Jerarqua
La abstraccin es algo bueno, pero excepto en las aplicaciones ms triviales, puede haber muchas ms abstracciones diferentes de las que se pueden comprender simultneamente. El encapsulamiento ayuda a manejar esta complejidad ocultando la visin interna de las abstracciones. La modularidad tambin ayuda, ofreciendo una va para agrupar abstracciones relacionadas lgicamente. La jerarqua es una ordenacin o clasificacin de abstracciones. Las dos jerarquas ms importantes en un sistema complejo son su estructura de clases (la jerarqua de clases) y su estructura de objetos (la jerarqua de partes). La herencia es la jerarqua de clases ms importante (elemento esencial en los sistemas orientados a objetos). Bsicamente la herencia define una relacin entre clases, en la que una clase comparte la estructura de comportamiento definida en una o ms clases (lo denominado herencia simple o mltiple). Una subclase hereda de una o ms superclases. Tpicamente una subclase aumenta o redefine la estructura y el comportamiento de sus superclases. Semnticamente la herencia denota una relacin de tipo es un. A medida que se desarrolla una jerarqua de herencias, la estructura y comportamiento comunes a diferentes clases tender a migrar hacia superclases comunes. Herencia = jerarqua de generalizacin / especializacin.   Las sper clases representan abstracciones generalizadas Las subclases representan especializaciones en la que los campos y mtodos de las superclases sufren adiciones, modificaciones o incluso ocultaciones.

Tipos. Tipificacin.
Un tipo es una caracterizacin precisa de las propiedades estructurales o de comportamiento que comparten una serie de entidades. (Las clases implementan a los tipos) No son exactamente lo mismo. Los tipos son la puesta en vigor de la clase de los objetos, de modo que los objetos de tipos distintos no pueden intercambiarse o, como mucho, pueden intercambiarse slo de formas muy restringidas.

Un lenguaje de programacin determinado puede tener comprobacin estricta de tipos, comprobacin dbil de tipos, o incluso no tener tipos, y an as ser considerado como orientado a objetos. Comprobacin estricta de tipos: no puede llamarse a una operacin sobre un objeto a menos que en la clase o superclases del objeto est definido el prototipo de esa operacin. Todas las expresiones son consistentes respecto al tipo. En lenguajes con comprobacin estricta de tipos puede detectarse en tiempo de compilacin cualquier violacin a la concordancia de tipos. Comprobacin dbil de tipos: hacer cumplir la clase de un objeto, lo que previene el intercambio de objetos de diferentes tipos o, como mucho, permite este intercambio de maneras muy limitadas.

Polimorfismo
Representa un concepto de teora de tipos, en el que un solo nombre (tal como una declaracin de variable) puede denotar objetos de muchas clases diferentes que se relacionan por alguna superclase comn de operaciones. El opuesto del polimorfismo es el monomorf ismo.

Concurrencia
Hilo de control: un solo proceso. Es comn tener que manejar muchos eventos diferentes simultneamente. Un solo proceso es la raz a partir de la cual se producen acciones dinmicas independientes dentro del sistema. Los sistemas que se ejecutan en mltiples CPUs permiten hilos de control verdaderamente concurrentes, mientras que los sistemas que se ejecutan en una sola CPU slo pueden conseguir la ilusin de hilos concurrentes de control, normalmente mediante algn algoritmo de tiempo compartido. Proceso pesado: aquel tpicamente manejado de forma independiente por el sistema operativo de destino, y abarca su propio espacio de direcciones. Proceso ligero: suele existir dentro de un solo proceso del sistema operativo en compaa de otros procesos ligeros, que comparten el mismo espacio de direcciones. Disear un sistema que abarque mltiples hilos de control es muy difcil ya que hay que preocuparse de problemas tales como interbloqueo, bloqueo activo, inanicin, exclusin mutua y condiciones de competencia. Mientras que la POO se centra en la abstraccin de datos, encapsulamiento y herencia, la concurrencia se centra en la abstraccin de procesos y la sincronizacin. El objeto es un concepto que unifica estos dos puntos de vista distintos: cada objeto (extrado de una abstraccin del mundo real) puede representar un hilo separado de control (una abstraccin de un proceso). Tales objetos se llaman activos. .

You might also like