2. clasificados
descritos creados
organizados
y
combinados
manipulados
3.
4.
5.
6. La respuesta
Las tecnologías de objeto llevan un
número de
beneficios inherentes que proporcionan
ventajas a los niveles de dirección y
técnico.
7. Las tecnologías de objetos llevan a
reutilizar, y la reutilización lleva a un
desarrollo de software más rápido y
a
programas de mejor calidad.
8. El software orientado a objetos es más
fácil de mantener debido a que su
estructura es inherentemente poco
acoplada. Esto
lleva a menores efectos colaterales
cuando se deben hacer cambios y
provoca menos frustración en el
ingeniero del software y en el
cliente.
9. Hoy en día el paradigma OO
encierra una completa visión de la
ingeniería del software. Edwar d
Berard hace notar esto cuando
declara:
10.
11. proceso de ensamblaje de componentes
ha sido adaptado a la
ingeniería del software OO. El proceso OO se
mueve a través de una
espiral evolutiva que comienza con la
comunicación con el usuario.
Es aquí donde se define el dominio del
problema y se identifican las
clases básicas del problema. La planificación y
el análisis de riesgos
establecen una base para el plan del
proyecto OO.
12. Los beneficios de la tecnología orientada a
objetos se fortalecen si se
usa antes y durante el proceso de
ingeniería del software. Esta
tecnología orientada a objetos
considerada debe hacer sentir su
impacto en todo el proceso de ingeniería
del software. Un simple uso
de programación orientada a objetos
(POO) no brindará los mejores
resultados.
13. Cualquier discusión sobre
ingeniería del software
orientada a objetos debe
comenzar por el término
orientado a objetos.
¿Qué es un punto de vista
orientado a objetos?
¿Qué hace que un método sea
considerado como orientado a
objetos? ¿Qué es un objeto?
14. Para entender la visión
orientada a objetos, consideremos un ejemplo de un
objeto del mundo real.
* una silla.
Silla es un miembro (el término instancia también se
usa) de una
clase mucho más grande de objetos que llamaremos
Mobiliario.
Un conjunto de atributos genéricos puede asociarse con
cada objeto, en
la clase Mobiliario. Por ejemplo, todo mueble tiene
un costo,
dimensiones, peso, localización y color, entre otros
muchos posibles
atributos.
15. Estos son aplicables a cualquier
elemento sobre el que se
hable, una mesa o silla, un sofá o
un armario. Como Silla es un
miembro de la clase
Mobiliario, hereda todos los atributos
definidos
para dicha clase. Este concepto se
ilustra utilizando una notación
conocida como UML.
16. Una vez definida la clase, los
atributos pueden reutilizarse al crear
nuevas instancias de la clase. Por
ejemplo, supongamos que
debemos definir un nuevo objeto
llamado Sillesa (un cruce entre una
17. El objeto silla (y todos los objetos
en general) encapsula datos (los
valores de los atributos que definen la
silla), operaciones (las acciones que se
aplican para cambiar los atributos de
la silla), otros objetos
18.
19. Los conceptos fundamentales que llevan
a un diseño de alta calidad
son igualmente aplicables a sistemas
desarrollados usando métodos
convencionales y orientados a objetos.
Por esta razón, un modelo O0
de software de computadora debe
exhibir abstracciones de datos y
procedimientos que conducen a una
modularidad eficaz.
20. Por definición, todos los objetos que
existen dentro de una clase heredan
sus atributos y las operaciones
disponibles para la manipulación de los
atributos. Una superclase es una
colección de clases y una subclase
es una instancia de una clase.
21. Estas definiciones implican la
existencia de una jerarquía de clases
en la cual los atributos y
operaciones de la superclase son
heredados por subclases que
pueden añadir, cada una de
ellas, atributos «privados» y métodos.
22. La mayoría de los objetos físicos
tienen características tales como
forma, peso, color y tipo de material.
Las personas tienen características como fecha
de nacimiento,
padres, nombre y color de los ojos. Una
característica puede verse
como una relación binaria entre una clase y
cierto dominio. La
«relación» binaria anteriormente señalada
implica que un atributo
puede tomar un valor definido por un dominio
enumerado.
23. Un dominio es simplemente un
conjunto de valores específicos.
Por ejemplo, suponga que una clase
Coche tiene un atributo color.
El dominio de valores de color es
(blanco, negro, plata, gris, azul, rojo, a
marillo, verde). En situaciones más
complejas,
el dominio puede ser un conjunto de
clases.
24. la clase Coche también tiene un
atributo motor que abarca los
siguientes valores de dominio: (16
válvulas opción económica, 16
válvulas opción deportiva, 24
válvulas opción deportiva, 32
válvulas opción de lujo).
25. Cada una de las opciones indicadas
tiene un conjunto de atributos
específicos. Las características
(valores del dominio)
pueden aumentarse asignando un
valor por defecto (característica) a un
atributo.
Por ejemplo, el atributo motor
destacado antes, tiene el valor por
defecto 16 válvulas opción deportiva.
26. Consideremos el atributo
color para Coche.
En algunas aplicaciones (por
ejemplo, planificación
de la producción) puede ser
necesario asignar una probabilidad a
cada uno de los colores (blanco y
negro son más probables como
colores de coches).
27. Un objeto encapsula datos
(representados como una colección de
atributos) y los algoritmos que procesan
estos datos. Estos algoritmos son
llamados operaciones, métodos o
servicios' y pueden ser vistos como
módulos en un sentido convencional.
Cada una de las operaciones
encapsuladas por un objeto proporciona
una
representación de uno de los
comportamientos del objeto.
28. Los mensajes son el medio a través
del cual interactúan los objetos.
Un mensaje estimula la ocurrencia de
cierto comportamiento en el objeto
receptor. El comportamiento se
realiza cuando se ejecuta una
operación. Una operación dentro de
un objeto emisor genera un
mensaje de la forma:
29. Hay tres características de los
sistemas orientados a objetos que los
hacen únicos.
Esto proporciona un número
importante de beneficios:
30. 1. Los detalles de implementación interna
de datos y procedimientos están ocultos al
mundo exterior (ocultación de la información).
Esto reduce la propagación de efectos
colaterales cuando ocurren cambios.
2. Las estructuras de datos y las
operaciones que las manipulan están
mezcladas en una entidad sencilla: la clase.
Esto facilita
la reutilización de componentes.
3. Las interfaces entre objetos encapsulados
están simplificadas.
31. La herencia es una de las
diferencias clave entre sistemas
convencionales y sistemas OO. Una
subclase Y hereda todos los
atributos y operaciones asociadas con
su superclase X.
32.
33. Definición de operaciones
Las operaciones definen el
comportamiento de un objeto y
cambian, de alguna manera, los
atributos de dicho objeto.
34. Hito técnico: análisis OO
terminado
1. Todas las clases, y la jerarquía
de clases, están definidas y
revisadas.
2. Se han definido y revisado los
atributos de clase y las
operaciones asociadas a una clase.
3. Se han establecido y r evisado las
relaciones entre clases.
35. 1. Se ha definido y revisado el conjunto
de subsistemas.
2. Las clases se han asignado a
subsistemas y han sido
revisadas.
3. Se ha establecido y revisado la
asignación de tareas.