¿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
¿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 …
“…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 Problemas en OO
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” … Problemas en OO
Reflexiones respecto de Situación Actual de Desarrollo de SI Análisis Diseño Enfoque Estructurado Enfoque OO Diagramas de Casos de Uso Diagramas de Actividad Diagramas de Secuencia Diagramas de Colaboración d DFDs Diagrama de Clases Diagrama de Estados Diagramas de Actividad DEs Modelo Relacional !! Implementación Entornos de Programación Visual Bases de Datos (Objeto-) Relacionales Modelo Relacional E-R
Objetos Objeto = unidad atómica que encapsula estado y comportamiento
La encapsulación en un objeto permite una alta cohesión y un bajo acoplamiento
Un objeto puede caracterizar una entidad física (coche) o abstracta (ecuación matemática)
Objetos El Modelado de Objetos permite representar el ciclo de vida de los objetos a través de sus interacciones En UML, un objeto se representa por un rectángulo con un nombre subrayado (Gp:) Otro (Gp:) Objeto (Gp:) Un Objeto (Gp:) Otro (Gp:) Objeto (Gp:) más
Objetos Ejemplo de varios objetos relacionados:
Objetos Objeto = Identidad + Estado + Comportamiento El estado está representado por los valores de los atributos Un atributo toma un valor en un dominio concreto
Clases y Objetos
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 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
Sin embargo, es preciso contar con algún medio para hacer referencia a un objeto utilizando referencias del dominio (valores de atributos) Identidad
Estado El estado evoluciona con el tiempo
Algunos atributos pueden ser constantes
El comportamiento agrupa las competencias de un objeto y describe las acciones y reacciones de ese objeto
Las operaciones de un objeto son consecuencia de un estímulo externo representado como mensaje enviado desde otro objeto
Comportamiento Ejemplo de interacción:
Página siguiente |