Introduccin a la orientacin a objetos - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

Introduccin a la orientacin a objetos

Description:

'Tagged value': es una pieza de informaci n que se agrega a un elemento de modelado. ... Estereotipo. Restricci n. Tagged Value. Calendarizaci n {Autor= Juan ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 75
Provided by: carlosc3
Category:

less

Transcript and Presenter's Notes

Title: Introduccin a la orientacin a objetos


1
Introducción a la orientación a objetos
  • Conceptos básicos

2
Introducción a Orientación a Objetos
  • Recordemos
  • Los objetos son representaciones de conceptos de
    la vida real.
  • Un concepto del mundo real una silla.
  • La silla es un miembro (instancia) de una clase
    mucho más grande de objetos que llamaremos
    mobiliario.

3
Introducción a Orientación a Objetos
4
Introducción a Orientación a Objetos
  • Principios
  • Sistemas OO poseen dos características que los
    hacen únicos.
  • Ocultamiento de la Información.
  • Los detalles de implementación interna de datos y
    procedimientos están ocultos al mundo exterior.

5
Introducción a Orientación a Objetos
  • Interfaces simples entre los objetos.
  • Un objeto que envía un mensaje no debe
    preocuparse de los detalles de estructuras de
    datos internas del objeto receptor, lo que
    simplifica la interacción y el acoplamiento del
    sistema tiende a reducirse.
  • Facilitan la reutilización de SW. (componentes)

6
Introducción a Orientación a Objetos
  • Las abstracciones de datos (atributos) que
    describen la clase están encerradas por una
    muralla de abstracciones procedimentales
    capaces de manipular los datos de alguna manera
    (Encapsulamiento).

7
Introducción a Orientación a Objetos Principios
  • Esto posibilita el ocultamiento de información y
    reduce el impacto asociado a los cambios.
  • Como estos métodos manipulan un número limitado
    de atributos (alta cohesión) y como la
    comunicación sólo ocurre a través de los métodos
    que encierra la muralla, la clase tiende a un
    bajo acoplamiento con otros elementos del sistema.

8
Introducción a Orientación a Objetos Jerarquía
  • Clase colección de objetos similares, los cuales
    heredan atributos y operaciones disponibles para
    la manipulación de éstos.
  • Superclase colección de clases.
  • Subclase instancia de una clase.
  • Estas definiciones implican la existencia de una
    jerarquía de clases, en la cual los atributos y
    operaciones de la superclase son heredados por
    subclases que pueden añadir atributos privados
    y métodos.

9
Introducción a Orientación a Objetos Jerarquía
10
Introducción a Orientación a Objetos
  • Atributos
  • Los atributos están asociados a clases y objetos,
    describiéndolos de alguna manera.
  • Esta relación implica que un atributo puede tomar
    un valor definido por un dominio enumerado.
  • Una clase auto tiene atributo color. El domino de
    valores de color es blanco, negro, azul, rojo,
    amarillo, verde.

11
Introducción a Orientación a Objetos
  • Atributos
  • En situaciones más complejas, el dominio puede
    ser un conjunto de clases.
  • La clase auto también tiene un atributo motor que
    abarca los siguientes valores de dominio valor
    32 válvulas opción de lujo, valor 24 válvulas
    opción deportiva, valor 15 opción económica.
  • Estas características se representan como
    asociaciones, no atributos.

12
Introducción a Orientación a Objetos
  • Operaciones, métodos o servicios
  • Un objeto encapsula datos y algoritmos que
    procesan estos datos.
  • Cada operación proporciona uno de los
    comportamientos del objeto.
  • La operación se ejecuta en la medida en que se
    reciba un estímulo - mensaje.

13
Introducción a Orientación a Objetos
Notación UML de las clases
Declaración de clase
  • public class Stack
  • private Vector items
  • public Object push(Object item)
  • items.addElement(item)
  • return item
  • public boolean isEmpty()
  • if (items.size()0)
  • return true
  • else
  • return false

Atributos
Método
Notación UML
Código en Java
14
Introducción a Orientación a Objetos
Ejercicio
  • Describa a una bicicleta como clase definiendo
    dos operaciones y al menos tres atributos.
  • Escriba el código java para la clase bicicleta
    sin especificar los métodos.

15
Introducción a Orientación a Objetos
Ejercicio Posible Solución
Public class Bicicleta private int
vel_actual private int cambio actual public
int cambiarVelocidad(int vel_nueva) public int
frenar()
16
Introducción a Orientación a Objetos
  • Un objeto es una instancia de una clase.
  • Clase solamente proporciona el modelo lógico.
    Cuando los atributos toman valores se transforma
    en un objeto.

Objetos
EX bicicleta miBicicleta new bicicleta()
17
Introducción a Orientación a Objetos
  • Por ejemplo una vez definida la clase bicicleta,
    queremos instanciar un objeto miBicileta a
    partir de ella.

Objetos
18
Introducción a Orientación a Objetos Mensajes
  • Mensaje es el medio a través del cual los objetos
    interactúan.
  • 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
  • mensajedestino, 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.

EX System.out.println(Hola Mundo)
19
Introducción a Orientación a Objetos
Encapsulamiento, herencia y polimorfismo
  • Una de las diferencias claves entre sistemas OO y
    sistemas convencionales es la herencia.
  • Una subclase Y hereda todos los atributos y
    operaciones de su superclase X
  • Todas las estructuras de datos y algoritmos
    originalmente diseñados e implementados para X
    están inmediatamente disponibles para Y,
    realizándose la reutilización en forma directa.
  • Cualquier cambio dentro de una superclase se
    hereda inmediatamente por todas las subclases que
    derivan de ella.

20
Introducción a Orientación a Objetos
  • En cada nivel de la jerarquía de clases pueden
    añadirse nuevos atributos y operaciones a
    aquellos que han sido heredados de niveles
    superiores de la jerarquía.

Encapsulamiento, herencia y polimorfismo
21
Introducción a Orientación a Objetos
Encapsulamiento, herencia y polimorfismo
22
Introducción a Orientación a Objetos
Encapsulamiento, herencia y polimorfismo
  • A veces es tentador heredar algunos atributos y
    operaciones de una clase y otros de otra clase,
    ésta acción es conocida como herencia múltiple,
    lo cual complica la jerarquía de clases y puede
    crear problemas potenciales en el control de la
    configuración.

23
Introducción a Orientación a Objetos Ejercicio
  • En el ejemplo de la bicicleta, defina dos
    subclases y agregue un nuevo método y nuevos
    atributos para cada uno de ellos.

24
Introducción a Orientación a Objetos
Encapsulamiento, herencia y polimorfismo
  • El polimorfismo es una característica que reduce
    en gran medida el esfuerzo necesario para
    extender un sistema.
  • Considere una aplicación convencional que debe
    dibujar cuatro tipos diferentes de gráficos
  • gráficos de líneas
  • gráficos de tortas
  • histogramas
  • diagramas de Kiviat.
  • Idealmente una vez recogidos los datos para un
    gráfico particular, éste debe dibujarse a sí
    mismo.

25
Introducción a Orientación a Objetos
Encapsulamiento, herencia y polimorfismo
  • En una aplicación convencional será necesario
    desarrollar módulos de dibujos para cada tipo de
    gráficos y añadir una lógica de control semejante
    a la que sigue
  • case of tipo_grafico
  • If tipo_grafico grafico_linea then
    DibujarLinea (datos)
  • If tipo_grafico grafico_torta then
    DibujarTortaLinea (datos)
  • If tipo_grafico grafico_histograma then
    DibujarHisto (datos)
  • If tipo_grafico grafico_kiviat then
    DibujarKiviat (datos)
  • end case

26
Introducción a Orientación a Objetos
Encapsulamiento, herencia y polimorfismo
  • Polimorfismo permite que un número de operaciones
    diferentes tengan el mismo nombre, haciendo que
    cada objeto sea más independiente.

27
Introducción a Orientación a Objetos Interfaces
  • En ciertos casos en el diseño se definen clases
    con nombres de operadores pero sin la
    implementación, dado que esta varía dependiendo
    del contexto en que se utilice

Public class ClickMe extends Applet implements
Mouselistener .. Public void mousePressed
(MouseEvent event) if . then. Public
void mouseClicked (MouseEvent event) Public
void mouseReleased (MouseEvent event) Public
void mouseEntered (MouseEvent event) Public
void mouseExited (MouseEvent event)
28
Introducción a UML
  • Historia
  • Potencialidades
  • Diagramas soportados
  • UML en el proceso de desarrollo de SW.

29
Introducción a UML
  • Necesidad de una notación estándar
  • Diversos métodos y técnicas OO eran
    inconvenientes para el aprendizaje, aplicación,
    construcción y uso de herramientas, etc.
  • UML Unified Modeling Languaje
  • Es un lenguaje de modelado visual de propósito
    general que usado para especificar, visualizar,
    construir y documentar los artefactos de un
    sistema de SW.
  • Artefacto Es un pedazo de información que es
    usado o producido por un proceso de desarrollo de
    SW, como un documento externo o un código. Un
    artefacto puede ser un modelo, una descripción o
    software OMG

30
Introducción a UML
  • El objetivo de UML es describir cualquier tipo de
    sistema en términos de diagramas orientados a
    objetos, o sea, es crear un modelo.
  • Un modelo es una descripción completa de un
    sistema desde una perspectiva concreta.

31
Introducción a UML
32
Introducción a UML
  • Permite modelar la estructura estática del
    sistema y su comportamiento dinámico.
  • Estructura estática Define los tipos de objetos
    importantes para un sistema y su implementación,
    también como la relación entre ellos.
  • Comportamiento dinámico Define la historia de
    los objetos a través del tiempo, y la
    comunicación entre los objetos para cumplir los
    objetivos.

33
Introducción a UML
  • UML NO es un lenguaje de programación.
  • UML es un lenguaje de modelado de propósito
    general.
  • Para dominios específicos (e.g VLSI) existen
    herramientas con leguajes propios más apropiados
    para el dominio.
  • UML es independiente de la metodología que se
    utilice.

34
Introducción a UMLHistoria
  • UML comenzó como el Método Unificado, con la
    participación de Grady Booch y Jim Rumbaugh. Se
    presentó en el OOPSLA95.
  • 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).

35
Introducción a UMLHistoria
36
Introducción a UMLHistoria
37
Introducción a UMLParticipantes en 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

38
Introducción a UMLUML incorpora diferentes
enfoques
39
Introducción a UMLPro y contras
  • UML será el lenguaje estándar de modelación de
    objetos predominante por las siguientes razones
  • Participación de metodólogos influyentes.
  • Participación de importantes empresas.
  • Aceptación como notación estándar por diferentes
    organismos internacionales.
  • Evidencias
  • Herramientas que proveen la notación UML.
  • "Edición" de libros.
  • Desarrollo de nuevos estándares basados en UML.
    (MDA)

40
Áreas conceptuales en UML
  • Los conceptos y modelos proporcionados por UML se
    pueden agrupar en las siguientes áreas
    conceptuales
  • Estructura estática Definir los conceptos claves
    de la aplicación, propiedades internas y su
    relación con los otros conceptos.
  • Comportamiento dinámico Definir el
    comportamiento del sistema a lo largo del tiempo
    y la relación de este con otros dentro de un
    contexto.
  • Modelo de la organización Mecanismos de división
    del modelo en submodelos (Packages) estableciendo
    la relación entre ellos.
  • Mecanismos de extensión Herramientas
    proporcionadas por UML para extender el modelo a
    dominios no soportados directamente sin tener que
    cambiar la definición del lenguaje (ex tags)

41
Vistas en UML
  • Proyeccion de un modelo, el cual es visto desde
    una perspectiva en particular, mas ventajosa,
    omitiendo las entidades que nos relevantes para
    dicho punto de vista.
  • Un área conceptual puede tener varia vistas
    asociadas.

42
Vistas en UMLResumen de vistas en UML
43
Dominio de ejemploVentas de entradas en un teatro
  • Un teatro tiene un sistema computacional de venta
    de entradas. Las entradas pueden ser vendidas de
    dos maneras, a través de un kiosko o directamente
    en la ventanilla del teatro. El cliente puede
    comprar la entrada para una función en particular
    o para una temporada completa.

44
Vistas en UMLVista estática
  • Modela los conceptos en el dominio de la
    aplicación.
  • Diagrama asociado Diagrama de clases
  • Clases Descripción de un concepto del dominio de
    la aplicación.

45
Vistas en UMLVista estática Ejemplo
  • Venta de ticket

46
(No Transcript)
47
Vistas en UML
48
Vistas en UMLVista de casos de uso
  • Modela la funcionalidad del sistema percibida por
    usuarios externos.
  • Diagrama asociado Diagrama de casos de uso
  • Actor Abstracción de entidades que interactúan
    directamente con el sistema. Puede ser un sistema
    externo o personas.

49
Vistas en UMLVista de casos de Uso Ejemplo
  • Casos de uso para la oficina de ventas

50
(No Transcript)
51
Otro Ejemplo
52
Vistas en UMLVista de interacción
  • Describe la secuencia de intercambio de mensajes
    entre entidades.
  • Muestra el flujo de control entre diferentes
    objetos.
  • Dos diagramas asociados
  • Diagrama de secuencia
  • Diagrama de colaboración

53
Vistas en UMLVista de interacción Diagrama de
secuencia
  • Muestra mensajes entre objetos activos a través
    de líneas de tiempo.
  • Un uso del caso de uso es mostrar la secuencia de
    eventos de un caso de uso específico.

54
  • Diagrama de secuencia para la compra de entradas

55
Diagrama de secuencia
56
Vistas en UMLVista de interacción Diagrama de
colaboración.
  • El uso del diagrama de colaboración es mostrar la
    implementación de una operación.
  • Muestra la secuencia de mensajes y las
    asociaciones entre todos los objetos necesarios
    para realizar dicha operación.

57
Vistas en UMLVista de interacción Ejemplo.
  • Diagrama de colaboración para la reserva de
    entradas.

58
(No Transcript)
59
Vistas en UMLVista de interacciónOtro Ejemplo.
60
Vistas en UMLVista de maquina de estado
  • Sirve para modelar los posibles estados de un
    objeto o clase.
  • Diagrama asociado Diagrama de estados
  • Estados conectados por transiciones
  • Estados modela un período de tiempo durante la
    vida del objeto durante el cual se satisfacen
    ciertas restricciones.
  • Un evento gatilla una transición y genera un
    nuevo estado.

61
Vistas en UMLVista de máquina de estado
  • Diagrama de estado para una entrada.

Ejemplo.
62
Vistas en UMLVista de máquina de estado
63
Vistas en UMLVista de actividad
  • Muestra las actividades computacionales
    involucradas en la realización de cierta
    operación.
  • Diagrama asociado Diagrama de actividad.
  • Pueden ser utilizados para modelar workflows del
    negocio o del SW.

64
Vistas en UMLVista de actividad Ejemplo
  • Actividades relacionadas con montar un espectáculo

65
(No Transcript)
66
Vistas en UMLVista de actividad Otro ejemplo
67
Vistas en UMLVista física
  • Modela la estructura de la aplicación en términos
    de componentes y nodos.
  • Componente Agrupación de alto nivel de clases,
    documentos e ítems relacionados según cierto
    dominio.
  • Nodo representa alguna pieza de unidad de
    cómputo, por lo general es HW.

68
Vistas en UMLVista física
  • Existen dos tipos de vistas físicas
  • Vista de implementación modela los componentes
    del sistema.
  • Diagrama asociado Diagrama de componentes
  • Vista de emplazamiento muestra las relaciones
    físicas entre los componentes de software y de
    hardware de un sistema.
  • Diagrama asociado Diagrama de emplazamiento

69
Vistas en UMLVista física Diagrama de
componentes
  • Diagrama de componentes para la oficina de ventas

70
(No Transcript)
71
Vistas en UMLVista física Diagrama de
emplazamiento
  • Diagrama de emplazamiento para la oficina de
    ventas.

72
Vistas en UMLVista de administración de modelo
  • Modela la organización del modelo, en termino de
    paquetes.
  • Ejemplo descomposición de la puesta en marcha de
    una obra.

73
Extensiones
  • UML provee de ciertas herramientas para extender
    los modelos según la necesidad del cliente.
  • 3 elementos
  • Restricción es un texto asociado a una relación
    semántica expresado en un lenguaje formal o
    natural.
  • Estereotipo un nuevo tipo de elemento definido
    por el diseñador y que se basa en un elemento ya
    existente.
  • Tagged value es una pieza de información que
    se agrega a un elemento de modelado.

74
ExtensionesEjemplos
Restricción
nombres para una temporada deben ser únicos
nombres para una temporada deben ser únicos
Estereotipo
Tagged Value
Write a Comment
User Comments (0)
About PowerShow.com