Está en la página 1de 31

Ingeniería del

Software Orientada a
Objetos
Unidad 5: Conceptos del
Paradigma Orientado a
Objetos
¿Por qué la Orientación a Objetos?
 Proximidad de los conceptos de modelado respecto
de las entidades del mundo real
 Mejora captura y validación de requisitos
 Acerca el “espacio del problema” y el “espacio de
la solución”

 Modelado integrado de propiedades estáticas y


dinámicas del ámbito del problema
 Facilita construcción, mantenimiento y
reutilización
M.C. Martín Olguín (C) 2004
 www.dsic.upv.es/~uml
¿Por qué la Orientación a Objetos?
 Conceptos comunes de modelado durante el
análisis, diseño e implementación
 Facilita la transición entre distintas fases
 Favorece el desarrollo iterativo del sistema
 Disipa la barrera entre el “qué” y el “cómo”
 Sin embargo, existen problemas ...

M.C. Martín Olguín (C) 2004


 www.dsic.upv.es/~uml
Problemas en OO
“...Los conceptos básicos de la OO se conocen desde hace
dos décadas, pero su aceptación todavía no está tan
extendida como los beneficios que esta tecnología
puede sugerir”
“...La mayoría de los usuarios de la OO no utilizan los
conceptos de la OO de forma purista, como inicialmente
se pretendía. Esta práctica ha sido promovida por
muchas herramientas y lenguajes que intentan utilizar
los conceptos en diversos grados”
--Wolfgang Strigel

M.C. Martín Olguín (C) 2004


El término OO
 De acuerdo a Coad y Yourdon:
 Orientación a objetos = objetos + clasificación
+ herencia + comunicación

M.C. Martín Olguín (C) 2004


Objetos
 Objeto = unidad atómica que encapsula
estado y comportamiento
 Un objeto puede caracterizar una entidad
física (silla) o una entidad abstracta
(ecuación matemática)
 Un objeto encapsula datos (atributos) y los
métodos (operaciones) que los manipulan.

M.C. Martín Olguín (C) 2004


Ejemplos de Objetos

VW Sedan Tasa

Transmision estandar Color verde


2 puertas Capacidad 250 ml
Color rojo Estampada

Encender
Llenar
Dar_vuelta
Vaciar
Apagar

M.C. Martín Olguín (C) 2004


Clases
 Una clase es una descripción
generalizada (plantilla o patrón) para una
colección de objetos similares.
 Por definición, todos los objetos que
existen dentro de una clase heredan sus
atributos y las operaciones disponibles
para manipularlos.

M.C. Martín Olguín (C) 2004


Clases vs. Objetos
“Mientras que un objeto es una entidad que
existe en el tiempo y en el espacio, una
clase representa solo una abstracción,
<<la escencia>> del objeto…”

Grady Booch

M.C. Martín Olguín (C) 2004


Ejemplos de Clases

Automóvil Recipiente

Tipo_transmisión Color
No. de puertas Capacidad
Color Diseño

Encender
Llenar
Dar_vuelta
Vaciar
Apagar

M.C. Martín Olguín (C) 2004


Atributos
 Son aquellos valores que describen las
características de una clase u objeto.

Automóvil

Tipo_transmisión
No. de puertas
Color
} Atributos

Encender
Dar_vuelta
Apagar

M.C. Martín Olguín (C) 2004


Operaciones, métodos, servicios

 Son los algoritmos que procesan los datos


(atributos) de una clase u objeto.

Automóvil

Tipo_transmisión
No. de puertas
Color
Encender
Dar_vuelta
Apagar
} Operaciones

M.C. Martín Olguín (C) 2004


Encapsulamiento
 La característica de que los objetos
contengan los datos y las operaciones que
operan sobre estos datos es lo que se
conoce como encapsulamiento.

M.C. Martín Olguín (C) 2004


Beneficios del encapsulamiento
 Ocultación de la información, reduce la
propagación de efectos colaterales
cuando ocurren cambios.
 Los objetos son autocontenidos, lo cual
favorece la reutilización.
 Favorece el bajo acoplamiento y la alta
cohesión.

M.C. Martín Olguín (C) 2004


Herencia
 La herencia es una de las diferencias
clave entre un sistema OO y uno que no lo
es.
 Una subclase Y hereda todos los atributos
y operaciones asociadas a una superclase
X.

M.C. Martín Olguín (C) 2004


Ejemplo de Herencia

Persona
nombre
direc cion
t elefono

Empleado cliente
num_empleado num_cliente
sueldo cuenta

M.C. Martín Olguín (C) 2004


Polimorfismo
 Un método puede tener un nombre
compartido a través de una jerarquía de
objetos. Cada objeto puede tener una
implementación diferente para el mismo
nombre de método.

M.C. Martín Olguín (C) 2004


Ejemplo de polimorfismo
vehículo
Capacidad_motor
Capacidad_carga
Color
Encender
Dar_vuelta
Apagar

barco auto
Capacidad_motor Capacidad_motor
Capacidad_carga Capacidad_carga
Color Color
Encender Encender
Dar_vuelta Dar_vuelta
M.C. Martín Olguín (C) 2004 Apagar Apagar
Mensajes
 La unidad de comunicación entre objetos
se llama mensaje.
 El mensaje es el soporte de una
comunicación que vincula dinámicamente
los objetos que fueron separados
previamente en el proceso de
descomposición.

M.C. Martín Olguín (C) 2004


 www.dsic.upv.es/~uml
…Mensajes
 Adquiere toda su fuerza cuando se asocia al
polimorfismo y al enlace dinámico

Objeto 1 1: Mensaje A Objeto 2

2: Mensaje C
4: Mensaje E

Objeto 3 Objeto 4

3: Mensaje D

M.C. Martín Olguín (C) 2004


 www.dsic.upv.es/~uml
…Mensajes
 Un mensaje estimula la ocurrencia de
cierto comportamiento en el objeto
receptor.
 El comportamiento se realiza cuando se
ejecuta la una operación.

M.C. Martín Olguín (C) 2004


…Mensajes
 Los mensajes y los métodos son dos
caras de la misma moneda. Los métodos
son los procedimientos invocados cuando
un objeto recibe un mensaje.

M.C. Martín Olguín (C) 2004


Características de los Objetos
 Identidad
 Estado
 Comportamiento

M.C. Martín Olguín (C) 2004


Identidad
 Oid (Object Identifier): Cada objeto posee un
oid. El oid establece la identidad del objeto y
tiene las siguientes características:
 Constituye un identificador único y global para cada
objeto dentro del sistema
 Es determinado en el momento de la creación del
objeto
 Es independiente de la localización física del objeto,
es decir, provee completa independencia de
localización

M.C. Martín Olguín (C) 2004


 www.dsic.upv.es/~uml
…Identidad
 Es independiente de las propiedades del objeto, lo
cual implica independencia de valor y de
estructura.
 No cambia durante toda la vida del objeto.
Además, un oid no se reutiliza aunque el objeto
deje de existir.
 No se tiene ningún control sobre los oids y su
manipulación resulta transparente.

M.C. Martín Olguín (C) 2004


 www.dsic.upv.es/~uml
Estado
 El estado de un objeto es una de las
posibles condiciones en las cuales el
objeto puede existir.
 Cambia con el tiempo y está definido por
los valores de sus atributos además de las
relaciones que el objeto pueda tener con
otros objetos.

M.C. Martín Olguín (C) 2004


Comportamiento
 El comportamiento determina cómo el
objeto responde a los mensajes de otros
objetos y tipifica todo lo que el objeto
puede hacer.
 El comportamiento se implementa por el
conjunto de operaciones del objeto.

M.C. Martín Olguín (C) 2004


Cohesión
 La cohesión es una indicación cualitativa
del grado que tiene un objeto para
centrarse en una sola cosa.
 La cohesión de una clase se determina
examinando el grado en que el conjunto
de propiedades que posee sea parte del
diseño o dominio del problema.

M.C. Martín Olguín (C) 2004


…Cohesión
 Un componente OO debe diseñarse de
manera que posea todas las operaciones
trabajando conjuntamente para alcanzar
un propósito único y bien definido.
 Es decir, en la construcción de software
se desea conseguir una alta cohesión.
(highly cohesive)

M.C. Martín Olguín (C) 2004


Acoplamiento
 El acoplamiento está representado por el
número de conexiones físicas entre los
elementos del diseño (clases, objetos,
paquetes).
 Por ejemplo, el número de colaboraciones
entre clases o el número de mensajes
intercambiados entre objetos.

M.C. Martín Olguín (C) 2004


…Acoplamiento
 En el diseño de software la meta es
conseguir un acoplamiento lo más bajo
posible (loosely coupled).
 De esta manera, los errores no se
propagan tan fácilmente.
 Se evitan los daños colaterales cuando el
software es modificado.

M.C. Martín Olguín (C) 2004

También podría gustarte