Publicado el 14 de Enero del 2017
987 visualizaciones desde el 14 de Enero del 2017
899,2 KB
27 paginas
Creado hace 15a (30/09/2009)
INGENIERÍA DEL SOFTWARE I
Tema 7
Repaso de Orientación a Objetos
Univ. Cantabria – Fac. de Ciencias
Francisco Ruiz
Objetivos
• Repasar los conceptos fundamentales del paradigma
de Orientación a Objetos.
Francisco Ruiz - IS1
Repaso 7.2
1
• Polimorfismo
• Persistencia
Contenido
• Introducción
Justificación
Problemas
• Objetos
Estado
Comportamiento
Identidad
• Clases
Encapsulamiento
• Relaciones
Asociaciones
Agregaciones
Generalización
Francisco Ruiz - IS1
Repaso 7.3
Bibliografía
• Básica
La correspondiente de las asignaturas donde se incluye la
programación orientada a objetos.
• Complementaria
Meyer, B. (1999): Construcción de Software Orientado a
Objetos. 2da edición. Prentice-Hall.
Budd, T. (2002): Object Oriented Programming. Third
edition. Addison Wesley.
Francisco Ruiz - IS1
Repaso 7.4
2
Introducción
• Evolución de la OO
Origen: finales de los años 60
Primeras investigaciones y prototipos no industriales
Difusión: mediados de los 80
ObjectOrientedProgrammingWorkshop, de IBM
1st International ConferenceonObjectOrientedProgramming
Systems, LanguagesandApplications-OOPSLA
Madurez: mediados de los 90
Aprobación de estándares
Extensión de productos
Francisco Ruiz - IS1
Repaso 7.5
Introducción
• Áreas de Aplicación:
Lenguajes de programación
Bases de datos
Reingeniería de procesos
CASE
Inteligencia artificial
Sistemas operativos
Interfaces de usuario
• Beneficios Potenciales:
Mejorar la calidad del software
Acortar los tiempos de desarrollo
Aumentar la productividad del programador
Incrementar la reutilización del software
Francisco Ruiz - IS1
Repaso 7.6
3
Introducción - Justificación
¿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
Francisco Ruiz - IS1
Repaso 7.7
Introducción - Justificación
¿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 ...
Francisco Ruiz - IS1
Repaso 7.8
4
Introducción - Problemas
“...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 noutilizan 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
Francisco Ruiz - IS1
Repaso 7.9
Introducción - Problemas
Un objeto contiene datos y operaciones que operan sobre
los datos, pero ...
Podemos distinguir dos tipos de objetos degenerados:
Un objeto sin datos (que sería lo mismo que una
biblioteca de funciones)
Un objeto sin “operaciones”, con sólo operaciones del tipo
crear, recuperar, actualizar y borrar (que se
correspondería con las estructuras de datos tradicionales)
Un sistema construido con objetos degenerados no es un
sistema verdaderamente orientado a objetos
“Las aplicaciones de gestión están constituidas
mayoritariamente por objetos degenerados”
Francisco Ruiz - IS1
Repaso 7.10
5
Objetos
• Cualquier cosa, ocurrencia o fenómeno que puede ser
identificado y caracterizado
• Entidad definida por un conjunto de atributos comunes
y los servicios u operaciones asociados
• Máquina abstracta que define un protocolo a través
del cual los usuarios del objeto pueden actuar sobre el
mismo. Puede tener un estado que se almacena en una
pieza encapsulada de software.
Francisco Ruiz - IS1
Repaso 7.11
Objetos
• La representación abstracta del objeto informático
es una imagen simplificada del objeto del mundo
real.
• Se acostumbra a considerar los objetos como seres
animados con vida propia (nacen, viven y mueren).
• Un objeto puede caracterizar una entidad física
(coche) o abstracta (ecuación matemática).
Francisco Ruiz - IS1
Repaso 7.12
6
Objetos
• Unidad atómica formada por la unión
de estadoy comportamiento.
Estado: valores de los atributos
Comportamiento: conjunto de
servicios asociados
• La encapsulaciónproporciona una
cohesión interna fuerte y un
acoplamiento externo débil.
• Para manipular los objetos se utilizan
mensajes.
Comportamiento
visible
OBJETO
Estado interno
Objeto = Estado + Comportamiento + Identidad
Francisco Ruiz - IS1
Repaso 7.13
Objetos
En UML, un objeto se representa por un rectángulo con
un nombre subrayado
Banco de Valencia
Cuenta Corriente 101
Cuenta Corriente 114
Juan
Felipe
Francisco Ruiz - IS1
Repaso 7.14
7
Objetos - Estado
• El estado contiene los valores de
sus atributos (variables) cuya
información cualifica al objeto.
Un atributo toma un valor en un
dominio concreto
• El estado en un instante dado
corresponde a una selección de
valores de entre todos los posibles
en cada atributo.
Automóvil
Verde
120 CV
1000 Kg.
Francisco Ruiz - IS1
Repaso 7.15
Objetos - Estado
• El estado evoluciona con el
tiempo.
• Hay componentes
constantes (marca del
automóvil, potencia, etc.).
• Generalmente el estado de
un objeto es variable.
Automóvil
50 litros
Recorrido de
150 Km.
Automóvil
30 litros
Francisco Ruiz - IS1
Repaso 7.16
8
Objetos - Comportamiento
Prim e r O bjeto
M ensaje
Segundo
O bjeto
M étodo 1
M étod o 2
.......
M étodo n
• Describe las accionesy reaccionesde los objetos.
• Cada operación / método es un átomo de
comportamiento.
• Las operaciones se desencadenan por estímulos
externos (mensajes), enviados por otros objetos.
Francisco Ruiz - IS1
Repaso 7.17
Objetos - Comportamiento
Un sistema OO puede verse como un conjunto de
objetos autónomos y concurrentes que trabajan de
manera coordinada en la consecución de un fin
específico.
El comportamiento global se basa pues en la
comunicación entre los objetos que lo
componen.
Francisco Ruiz - IS1
Repaso 7.18
9
Objetos - Comportamiento
En base a su comportamiento, se pueden
establecer varias categorías de objetos:
Activos – Pasivos
Activo: posee un hilo de ejecución (thread) propio y
puede iniciar una actividad
Pasivo: no puede iniciar una actividad pero puede
enviar estímulos una vez que se le solicita un servicio
Clientes – Servidores , Agentes
Cliente es el objeto que solicita un servicio.
Servidor es el objeto que provee el servicio solicitado.
Francisco Ruiz - IS1
Repaso 7.19
Objetos - Comportamiento
• Los agentes reúnen las características de clientes y
servidores.
Son la base del mecanismo de delegación.
Introducen indirección: un cliente puede comunicarse con
un servidor que no conoce directamente.
Un agente
2:
3:
Servidor 1
Servidor 2
1:
Un cliente
Francisco Ruiz - IS1
Repaso 7.20
10
Objetos - Comportamiento
La unidad de comunicación entre objetos se llama
mensaje
Objeto 1
1: Mensaje A
Objeto 2
Objeto 3
2: Mensaje C
3: Mensaje D
4: Mensaje E
Objeto 4
Francisco Ruiz - IS1
Repaso 7.21
Objetos - Comportamiento
Un estímulo (evento) causará la invocación de una
operación, la creación o destrucción de un objeto o la
aparición de una señal.
Un mensaje es la especificación de un estímulo.
Tipos de flujo de control en mensajes:
Llamada a procedimiento o flujo de control anidado
Síncrono
Flujo de control plano
Asíncrono
Retorno de una llamada a procedimiento
Francisco Ruiz - IS1
Repaso 7.22
11
Objetos - Identidad
• Cada objeto posee un oid, que 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.
Es independiente de las propiedades del objeto, lo cual implica
independencia de valor y de estructura.
Dos objetos se pueden distinguir a pesar de tener atributos
idénticos.
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
• No se representa en el modelado de manera específica.
transparente.
Francisco Ruiz - IS1
Repaso 7.23
Clases
El mundo real puede ser visto desde abstracciones
diferentes (subjetividad)
Mecanismos de abstracción:
Clasificación / Instanciación
Composición / Descomposición
Agrupación / Individualización
Especialización / Generalización
La clasificación es uno de los mecanismos de abstracción más
utilizados
Francisco Ruiz - IS1
Repaso 7.24
12
Clases
La clase define el ámbito de definición de un
conjunto de objetos
Cada objeto pertenece a una clase
L
Comentarios de: INGENIERÍA DEL SOFTWARE I - Tema 7 - Repaso de Orientación a Objetos (0)
No hay comentarios