Sunteți pe pagina 1din 27

UML

Carlos Becerra C. cbecerra@inf.utfsm.cl

Paradigma Orientado a Objetos


Qu es orientacin a objetos? Contenido

Conceptos de OO

Objetos, caractersticas de los objetos, clases e instancias, herencia, polimorfismo

UML.

Fund. de Ingeniera de Software

Paradigma Orientado a Objetos


Una es orientacin a objetos? Qu tcnica de modelamiento

Idea

Las personas describen su entorno en base a objetos (naturales, entidades hechas por el hombre y productos), que son clasificados, descritos, organizados, combinados, creados y manipulados. Modelar un sistema a travs de objetos que interactan entre s.

Elementos bsicos objetos, clasificacin, herencia, comunicacin

Paradigma Orientado a Objetos


Por qu la OO? Qu es orientacin a objetos?

Proximidad de los conceptos de modelacin respecto de las entidades del mundo real

Mejora captura y validacin de requerimientos Acerca el dominio del problema y el dominio de la solucin

Los modelos integran el comportamiento esttico y dinmico del dominio del problema

Facilita construccin, mantenimiento y reutilizacin

Paradigma Orientado a Objetos Qu es orientacin a objetos?

Por qu la OO?

Conceptos comunes de modelacin durante el anlisis, diseo e implementacin


Facilita la transicin entre distintas fases Disipa la barrera entre el qu y el cmo Favorece el desarrollo iterativo del sistema

Paradigma Orientado a Objetos


Problemas en la OO Qu es orientacin a objetos?

...Los conceptos bsicos de la OO se conocen desde hace dos dcadas, pero su aceptacin todava no est tan extendida como los beneficios que esta tecnologa puede sugerir ...La mayora de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente se pretenda. Esta prctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados

Wolfgang Strigel

Paradigma Orientado a Objetos


Objetos degenerados: Qu es orientacin a objetos?

Un objeto sin datos (biblioteca de funciones) Un objeto sin operaciones, con slo operaciones del tipo crear, recuperar, actualizar y borrar (estructuras de datos tradicionales) Un sistema construido con objetos degenerados no es un sistema verdaderamente orientado a objetos

Las aplicaciones de gestin estn constituidas mayoritariamente por objetos degenerados

Paradigma Orientado a Objetos


Objeto Conceptos de OO

Es una entidad capaz de almacenar su estado y ofrecer operaciones (comportamiento) para examinar o modificar su estado. Corresponden a entidades reales, ya sean fsicas o abstractas. Ejemplos:

Paradigma Orientado a Objetos


Estado y comportamiento Conceptos de OO

Su estado se caracteriza por medio de atributos, mientras sus comportamiento se representa mediante operaciones (mtodos o servicios). Las operaciones son visibles slo en trminos genricos, no se detalla la forma en que se realizan. A veces su estado requiere conocer informacin de otros objetos. En tal caso se establecen asociaciones entre dichos objetos. Tipos principales: Composicin - A est compuesto por B, C, D, E Particin - A es construido por B, C, D, E

Paradigma Orientado a Objetos


Conceptos de OO

Comunicacin La unidad de comunicacin entre objetos se denomina mensaje: Un mensaje estimula la ocurrencia de cierto comportamiento en el objeto receptor, el cual comienza con la ejecucin de una operacin. Una operacin dentro de un objeto emisor genera un mensaje de la forma: mensaje:[destino, operacin, parmetros] ,donde destino define el objeto receptor, operacin se refiere al mtodo que recibe el mensaje y parmetros proporciona informacin requerida para el xito de la operacin.

Paradigma Orientado a Objetos


Otros.... Conceptos de OO

Encapsulamiento - La informacin contenida en un objeto y sus operaciones slo pueden manipularse cuando el objeto recibe un estimulo. Por lo tanto la informacin y el comportamiento de un objeto estn encapsuladas en l. Ocultamiento de informacin - Para usar un objeto slo se necesita conocer las operaciones que ofrece y no su implementacin. Polimorfismo - Permite que un nmero de operaciones diferentes tengan el mismo nombre, reduciendo el acoplamiento entre objetos, es decir, hace cada objeto ms independiente.

Paradigma Orientado a Objetos


Clases e instancias Conceptos de OO

Una clase representa el template de un objeto que, adems de su comportamiento y estado, describe su estructura interna. Los objetos de la misma clase tienen los mismos atributos y operaciones. Una instancia corresponde a un objeto creado por la clase. La clase describe la estructura de la instancia, mas el estado de la instancia es almacenado en ella y alterado por las operaciones que se ejecutan en ella.

Paradigma Orientado a Objetos


Clases e instancias Conceptos de OO

Nota: es posible considerar una clase como la descripcin de la estructura de un objeto, mientras la instancia como un estado particular del objeto. Ejemplos:

Persona - Pablo Neruda, Pacheco Altamirano, Nicanor Parra Libro - La hora 25

Paradigma Orientado a Objetos


Herencia Conceptos de OO

Cuando se describen las clases de un modelo pueden aparecer clases con una parte de estructura comn. En tal caso podemos extraer estas caractersticas y ponerlas en una clase separada, manteniendo las restantes en sus clases originales. Luego, si la clase B hereda de la clase A, entonces todos las operaciones y atributos descritas en A son parte de la clase B. A partir de esta jerarqua de definen 2 nuevos conceptos: Superclase: coleccin de clases Subclase: instancia de una clase

Paradigma Orientado a Objetos

Definiciones previas UML (Unified Modeling Language)

Modelo: representacin abstracta de una especificacin, un diseo o un sistema. Generalmente, basada en una visin particular y compuesta por uno o ms diagramas. Lenguaje de modelacin: es una forma de expresar (notacin) los distintos modelos generados durante el proceso de desarrollo. Se compone de sintaxis (conjunto de smbolos y diagramas vlidos) y semntica ( reglas de interpretacin)

Paradigma Orientado a Objetos

UML es un lenguaje de modelacin de UML (Unified Modeling Language)


propsito general para el modelado OO Combina notaciones provenientes desde:

Modelado OO Modelado de datos Modelado de componentes Modelado de Workflows

Paradigma Orientado a Objetos


Inicios

UML (Unified Modeling Language) Diversos mtodos de OO, con muchos aspectos
en comn pero con diferentes notaciones Dificultad en el aprendizaje, aplicacin, desarrollo y uso de herramientas Pugna entre distintos enfoques

Necesidad de una notacin estndar!

Paradigma Orientado a Objetos


Historia de UML UML (Unified Modeling Language)

UML comenz como el Mtodo Unificado, con la participacin de Grady Booch y Jim Rumbaugh. Se present en el OOPSLA95. El mismo ao se uni Ivar Jacobson, con lo cual los Tres Amigos son socios en la compaa Rational Software, que han desarrollado una herramienta CASE Rational Rose. Noviembre de 1997 - UML aprobado por el Object Managment Group (OMG)

Paradigma Orientado a Objetos


2001 1998 Nov 97

UML (Unified Modeling Language) UML 1.4 2000 UML 1.3 - Historia 1999
UML aprobado por el OMG

UML 2.0

UML 1.2

Paradigma Orientado a Objetos


UML (Unified Modeling Language) Participantes de
UML 1.0

Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson) Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond DSouza) Intellicorp and James Martin & co. (James Odell)

MCI Systemhouse Microsoft ObjecTime Oracle Platinium Technology Sterling Software Taskon Texas Instruments Unisys

Paradigma Orientado a Objetos

Enfoques de OO Modeling UML (Unified considerados Language)


Rumbaugh Booch Odell Jacobson Meyer
Pre- and Post-conditions

Shlaer-Mellor
Object life cycles

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly

Singleton classes

Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering

Paradigma Orientado a Objetos

UML est asociado a un proceso de UML (Unified Modeling Language) desarrollo particular. No es una metodologa.

Aumenta las posibilidades de aceptacin generalizada de la notacin. La esencia de un proceso apropiado admite mucha variacin y depende de muchos factores.

Provee constructores para una amplia gama de sistemas y actividades

Paradigma Orientado a Objetos


UML centra el desarrollo en tres modelos UML (Unified Modeling Language)

diferentes:

Modelo funcional - diagramas de casos de uso, describen el sistema desde la perspectiva del usuario Modelo objeto - diagrama de clases, describen la estructura de un sistema en trminos de objetos, atributos, asociaciones y operaciones. Modelo dinmico - diagramas de secuencia y de estados, describen el comportamiento del sistema.

Paradigma Orientado a Objetos


UML (Unified Modeling de D iagram Language) as Clases
D iagram de as Secuencia D iagram de as Casos deUso D iagram de as Objetos

D iagram de as Colaboracin

M odelo

D iagram de as Com ponentes

D iagram de as Estados

D iagram de as Actividad

D iagram de as D istribucin

Paradigma Orientado a Objetos


Desventajas UML (Unified Modeling Language)

UML no define un proceso de desarrollo. Falta integracin con respecto de otras tcnicas tales como patrones de diseo, interfaces de usuario, documentacin, etc.. Monopolio

Paradigma Orientado a Objetos


Perspectiva UML (Unified Modeling Language)

UML ser el lenguaje de modelacin de objetos estndar predominante los prximos aos.

Participacin de metodologas influyentes Participacin de importantes empresas Aceptacin como notacin estndar por diferentes organismos internacionales

Evidencias: Herramientas soportan UML, bibliografa, etc..

Definicin de orientacin a objetos Aspectos Importantes Conceptos: objetos, caractersticas de los objetos, clases e instancias, herencia, polimorfismo UML: alcance, ventajas y desventajas

Paradigma Orientado a Objetos

S-ar putea să vă placă și