Sei sulla pagina 1di 38

1

ESTNDARES DE DISEO
ORIENTADO A OBJETOS

2
Objetivos
Presentar una visin general de la
evolucin de los mtodos de
desarrollo de software OO
Presentar los conceptos bsicos del
enfoque orientado a objetos.
3
Que es un mtodo de desarrollo de
software?
Enfoque sistemtico para el desarrollo de software que
incluye:
Especificaciones de los modelos
- Descripciones de los modelos grficos que deben
ser producidos.
Procesos
- Indicacin de las actividades a seguir
Recomendaciones
- Consejos sobre buenas practicas de diseo
Restricciones
- aplicadas a los modelos de sistemas.

4
Importancia de los Mtodos de
desarrollo de software
Fomentan una disciplina para el
desarrollo de software complejo
Definen los artefactos que permiten la
comunicacion entre los miembros del
equipo
Definen puntos de control para medir el
progreso y controlar los riesgos.
5
El enfoque OO
La idea esencial
Conceptualizar el dominio del problema
en trminos de los objetos
que interactuan, que se modifican y
responden a acciones,
construyendo un modelo que simula el
comportamiento del mundo real


Capacidad de abstraccin.


6
El enfoque OO
Qu es la Abstraccin?
Es el proceso que permite reconocer , en el
dominio de un problema, los objetos relevantes
y las relaciones con otros objetos, relativos a la
perspectiva del observador
Mediante abstraccin se identifica las
caractersticas esenciales de un objeto, que lo
distingue de otros tipos de objetos, de acuerdo
a los intereses del observador.
7
Abstraccin
Ilustraciones de: Object-Oriented Design with Applications,1991, G. Booch
8
Un objeto es ...
.... la representacin de una
entidad real, o abstracta,
con un rol significativo en
el dominio del problema.

9
Estado
Qu caracteriza a un objeto?
los valores de
las caractersticas
del objeto
(atributos)
Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
10
Comportamiento
Qu caracteriza a un objeto?
la accin que realiza
el objeto en respuesta
a estmulos
que se aplican
al objeto
(operaciones)

Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
11
Identidad
Qu caracteriza a un objeto?
el nombre del
Objeto
Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
12
Caracterizacin de un objeto (resmen)
Un objeto tiene un estado, exhibe un
comportamiento bien definido y tiene una
identidad nica
Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
13
Estado
(edad: 18; sexo: masc; .....)
Identidad:
juan
Comportamiento:
salta
Caracterizacin de un Objeto (ejemplo)
15
Glosario en el enfoque Objeto
Atributo :
caracterstica del objeto
Operacin :
descripcin de un determinado
comportamiento del objeto
Mtodo :
implementacin de una operacin
Mensaje (evento, estmulo):
mecanismo de activacin de un mtodo.
16
Encapsulacin
Oculta al mundo exterior, la
estructura del objeto y los
detalles de la implementacin
de las operaciones

17
Encapsulacin
Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
18
Clasificacin de objetos
Pedro Mara
.....
Luis
persona
19
Clasificar no es trivial
Clasificar requiere abstraccin
Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
Relacin Clase-Objeto
Describe un conjunto de
objetos con caractersticas
similares (propiedades y
comportamiento comn).
Vehculo
<<instancia de >>
Relacin Clase-Objeto
Una clase representa la descripcin
de un conjunto de objetos

Un objeto es una instancia de una
clase.
Relacin Clase-Objeto
Persona
pedro juan mara
<<instancia de>>
Relaciones entre Objetos
contiene , es parte de
Relacin de Agregacin
compuesto por , tiene
Relacin de Composicin (inseparable)
es un
Relacin de Generalizacin (Herencia).
una moto es un vehiculo
un carro tiene color
un caucho es parte de un carro
Relaciones entre objetos
Agregacin (parte de)
Agregacin
asociacin que especifica una relacin
todo-parte entre el agregado (el todo) y
el componente
contiene , es parte de
un caucho es parte de un carro
Relaciones entre objetos
Composicin (compuesto por)
Composicin (inseparable)
asociacin que especifica una relacin
entre el agregado (el todo) y el
componente (la parte) de forma
inseparable.
El objeto compuesto es responsable de
la creacin y destruccin de las partes
compuesto por , tiene
un carro tiene color
Composicin / Agregacin
Polgono
Grfico
color
textura
1
1
Composicin
Punto
1
3..*
Agregacin
Composicin / Agregacin
Polgono Punto
1
3..*
Agregacin
Variable
Punto
1
3
Agregacin
Fija
Tringulo
Composicin / Agregacin
Agregacin:
Especfica una relacin parte/todo
Composicin:
Es una forma de agregacin con una
fuerte coincidencia entre los tiempos de
vida de la parte y del todo. La parte una
vez asociada al todo no puede ser
removida hasta tanto no finalice el tiempo
de vida del todo
Representa una relacin de particin.
Composicin / Agregacin
(Ejemplos)
Agregacin:
Facultad
Esc.
Comp.
Esc.
Qumica
1
1..* 1
Esc.
Biologa
1
La clase Facultad existe solamente para enlazar
juntos a las Escuelas
(....)
Composicin / Agregacin
(Ejemplos)
Composicin:
Cuerpo
Brazo Pierna
1
1 2
Cabeza
2
Las instancias de las clases Brazo, Pierna y
Cabeza no pueden existir sin que existan las
instancias de la clase Cuerpo a las cuales
ellas estan asociadas.
(....)
Relaciones entre objetos
Asociacin (<semntica>)
Qu es una asociacin??
Una relacin significativa entre dos clases
-o entre sus instancias-
Conexin semntica entre elementos del
modelo.
Compaa Persona
1
1..*
emplea
Trabaja-para
La flecha -opcional-
indica la direccin
de lectura del nombre
de la asociacin
Multiplicidad de la
asociacin
Herencia
Ilustracin de: Object-Oriented Design with Applications,1991, G. Booch
Cmo establecer la jerarqua de
herencia entre clases?

Por generalizacin


Por especializacin
Aplicando la Generalizacin
se crea una clase (superclase), que
generaliza las propiedades comunes de
varias clases.
Carro Moto Gra
Vehculo
Aplicando la Generalizacin
Se crea la clase (superclase) Persona
que contiene las propiedades comunes
de las clases Hombre y Mujer.
Mujer Hombre
Persona
Especializacin
Dada una clase, se crea(n) otra(s)
clase(s) (subclase) que especializa(n) la
clase dada, agregando las diferencias
(adicin, supresin o redefinicin de
propiedades).
Vehculo
Carro Moto Gra
Ejercicio
Indique los mtodos de cada Clase.
Clases Concretas y Clases Abstractas
Una clase abstracta
es aquella que no
tiene instancias
directas pero
cuyas clases
descendientes
tienen instancias
directas

Una clase es
concreta si es
instanciable
Clase Abstracta
Clases Concretas

Potrebbero piacerti anche