Documente Academic
Documente Profesional
Documente Cultură
Conceptos de OO
UML.
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.
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
Por qu la OO?
Facilita la transicin entre distintas fases Disipa la barrera entre el qu y el cmo Favorece el desarrollo iterativo del sistema
...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
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
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:
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
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.
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.
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.
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:
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
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)
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
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)
UML (Unified Modeling Language) UML 1.4 2000 UML 1.3 - Historia 1999
UML aprobado por el OMG
UML 2.0
UML 1.2
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
Shlaer-Mellor
Object life cycles
UML
State Charts
Harel
Embly
Singleton classes
Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering
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.
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.
D iagram de as Colaboracin
M odelo
D iagram de as Estados
D iagram de as Actividad
D iagram de as D istribucin
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
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
Definicin de orientacin a objetos Aspectos Importantes Conceptos: objetos, caractersticas de los objetos, clases e instancias, herencia, polimorfismo UML: alcance, ventajas y desventajas