uml carlos becerra c. [email protected]. ¿qué es orientación a objetos? conceptos de oo ...

22
UML Carlos Becerra C. [email protected]

Upload: joaquin-franco-perez

Post on 02-Feb-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

UML

Carlos Becerra C. [email protected]

Page 2: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

¿Qué es orientación a objetos? Conceptos de OO

Objetos, características de los objetos, clases e instancias, herencia, polimorfismo

UML.

Paradigma Orientado a Objetos Contenido

Page 3: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos ¿Qué es orientación a objetos?

Una técnica 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 través de objetos que interactúan entre sí.

Elementos básicos objetos, clasificación, herencia, y

comunicación

Page 4: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos ¿Qué es orientación a objetos?

¿Por qué la OO? Proximidad de los conceptos de modelación respecto de las

entidades del mundo real Mejora captura y validación de requerimientos Acerca el “dominio del problema” y el “dominio de la

solución”

Los modelos integran el comportamiento estático y dinámico del dominio del problema Facilita construcción, mantenimiento y reutilización

Page 5: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

¿Por qué la OO? Conceptos comunes de modelación durante el

análisis, diseño e implementación Facilita la transición entre distintas fases Disipa la barrera entre el “qué” y el “cómo” Favorece el desarrollo iterativo del sistema

Paradigma Orientado a Objetos ¿Qué es orientación a objetos?

Page 6: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO

Objeto Es una entidad capaz de almacenar su estado y ofrecer

operaciones (comportamiento) para examinar o modificar su estado.

Corresponden a entidades reales, ya sean físicas o abstractas.

Ejemplos:

Page 7: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO

Estado y comportamiento Su estado se caracteriza por medio de atributos, mientras sus

comportamiento se representa mediante operaciones (métodos o servicios).

Las operaciones son visibles sólo en términos genéricos, no se detalla la forma en que se realizan.

A veces su estado requiere conocer información de otros objetos. En tal caso se establecen asociaciones entre dichos objetos. Tipos principales: Composición - A está compuesto por B, C, D, E Partición - A es construido por B, C, D, E

Page 8: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO Comunicación

La unidad de comunicación entre objetos se denomina mensaje:

Un mensaje estimula la ocurrencia de cierto comportamiento en el objeto receptor, el cual comienza con la ejecución de una operación.

Una operación dentro de un objeto emisor genera un mensaje de la forma:

mensaje:[destino, operación, parámetros]

,donde destino define el objeto receptor, operación se refiere al método que recibe el mensaje y parámetros proporciona información requerida para el éxito de la operación.

Page 9: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO Otros....

Encapsulamiento - La información contenida en un objeto y sus operaciones sólo pueden manipularse cuando el objeto recibe un estimulo. Por lo tanto la información y el comportamiento de un objeto están encapsuladas en él.

Ocultamiento de información - Para usar un objeto sólo se necesita conocer las operaciones que ofrece y no su implementación.

Polimorfismo - Permite que un número de operaciones diferentes tengan el mismo nombre, reduciendo el acoplamiento entre objetos, es decir, hace cada objeto más independiente.

Page 10: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO

Clases e instancias Una clase representa el template de un objeto que, además

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.

Page 11: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO

Clases e instancias Nota: es posible considerar una clase como la descripción

de la estructura de un objeto, mientras la instancia como un estado particular del objeto.

Ejemplos: Persona - Pablo Neruda, Pacheco Altamirano, Nicanor

Parra Libro – El Tunel, 100 Años de Soledad

Page 12: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos Conceptos de OO Herencia

Cuando se describen las clases de un modelo pueden aparecer clases con una parte de estructura común. En tal caso podemos extraer estas características 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 jerarquía de definen 2 nuevos conceptos: Superclase: colección de clases Subclase: instancia de una clase

Page 13: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language) Definiciones previas

Modelo: representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas.

Lenguaje de modelación: es una forma de expresar (notación) los distintos modelos generados durante el proceso de desarrollo. Se compone de sintaxis (conjunto de símbolos y diagramas válidos) y semántica ( reglas de interpretación)

Entregan soporte al desarrollo en relación con la documentación de los productos de trabajo asociados a los modelos elaborados.

Page 14: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language)

UML es un lenguaje de modelación de propósito general para el modelado OO

Combina notaciones provenientes desde: Modelado OO Modelado de datos Modelado de componentes Modelado de Workflows

Page 15: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language)

Inicios Diversos métodos de OO, con muchos aspectos en

común pero con diferentes notaciones Dificultad en el aprendizaje, aplicación, desarrollo

y uso de herramientas Pugna entre distintos enfoques

¡Necesidad de una notación estándar!

Page 16: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language)

Historia de UML UML comenzó como el “Método Unificado”, con la participación

de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95.

El mismo año se unió Ivar Jacobson, con lo cual los “Tres Amigos” son socios en la compañía Rational Software, que han desarrollado una herramienta CASE Rational Rose.

Noviembre de 1997 - UML aprobado por el Object Managment Group (OMG)

Page 17: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language) - Historia

Nov ‘97 UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.4

2001 UML 2.0

Page 18: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

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 D’Souza) Intellicorp and James Martin & co. (James

Odell)

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

http://www.uml.org/#Links-UML2Tools

Page 19: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language)

UML está asociado a un proceso de desarrollo particular. No es una metodología. Aumenta las posibilidades de aceptación generalizada de

la notación. La esencia de un proceso apropiado admite mucha

variación y depende de muchos factores.

Provee constructores para una amplia gama de sistemas y actividades

Page 20: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language)

UML centra el desarrollo en tres modelos 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 términos de objetos, atributos, asociaciones y operaciones.

Modelo dinámico - diagramas de secuencia y de estados, describen el comportamiento del sistema.

Page 21: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language)

Diagramas deCasos de Uso

Diagramas deColaboración

Diagramas deComponentes

Diagramas deDistribución

Diagramas deObjetos

Diagramas deEstados

Diagramas deSecuencia

Diagramas deClases

Diagramas deActividad

Modelo

Page 22: UML Carlos Becerra C. cbecerra@inf.utfsm.cl. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,

Paradigma Orientado a Objetos UML (Unified Modeling Language) Perspectiva

UML será el lenguaje de modelación de objetos estándar predominante los próximos años. Participación de metodologías influyentes Participación de importantes empresas Aceptación como notación estándar por diferentes

organismos internacionales

Evidencias: Herramientas soportan UML, bibliografía, etc..