Mtodos orientados a objetos - PowerPoint PPT Presentation

1 / 80
About This Presentation
Title:

Mtodos orientados a objetos

Description:

Reflejan la estructura est tica de las clases de objetos y sus relaciones ... Operaciones: la misma operaci n puede aparecer en distintas clases ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 81
Provided by: jpar53
Category:

less

Transcript and Presenter's Notes

Title: Mtodos orientados a objetos


1
Métodos orientados a objetos
  • Modelos de especificación

2
Distintas visiones del software
  • MODELOS ESTATICOS
  • Reflejan la estructura estática de las clases de
    objetos y sus relaciones
  • MODELOS DE COMPORTAMIENTO
  • Reflejan el comportamiento del sistema y de sus
    componentes (clases y objetos)
  • Externo interacción entre clases
  • Interno dinámica interna de una clase
  • Existen relaciones importantes entre los
    elementos de cada uno de los modelos.

3
Distintas visiones del software
  • Modelos estáticos
  • DIAGRAMA DE CLASES
  • nodos clases
  • arcos relaciones entre clases
  • Modelos de comportamiento externo
  • CONTRATOS especificación de operaciones
  • DIAGRAMA DE COLABORACION
  • nodos clases y objetos
  • arcos mensajes entre clases y entre objetos
  • Modelos de comportamiento interno
  • DIAGRAMA DE TRANSICION DE ESTADOS
  • nodos estados de los objetos de una clase
  • arcostransiciones entre estados

4
Diagrama de clases definición
  • Modelo de clases y de relaciones entre clases
  • Similar al modelo E-R, pero más rico en notación
  • Contiene las clases del DOMINIO DEL PROBLEMA más
    importantes para la aplicación

5
Diagrama de clases elementos
  • 1 - Objetos y clases
  • 2 - Enlaces y asociaciones relaciones entre
    clases
  • 3 - Generalización y herencia

6
Clases y objetos
  • Clases de objetos
  • Objetos (instancias) ejemplos, documentar casos
    de prueba,...
  • Atributos básicos
  • Valores de datos básicos (no objetos del DOMINIO
    DEL PROBLEMA)
  • Operaciones la misma operación puede aparecer en
    distintas clases
  • Atributos derivados deducibles a partir de un
    atributo básico

7
Ejemplo en Rational Rose
8
(No Transcript)
9
(No Transcript)
10
Enlaces y asociaciones definición
  • ENLACE conexión física o conceptual entre
    instancias de objetos
  • ASOCIACION grupo de enlaces con estructura y
    semántica común
  • Un enlace es una 'instancia' (?) de una
    asociación
  • Aparecen como VERBOS en la descripción del
    problema
  • Pueden ser n-arias. Generalmente binarias.
  • Se indican las restricciones de cardinalidad
  • Violan la encapsulación?
  • Una contradicción de la orientación a objetos?

11
Ejemplos de asociación en Rational Rose
12
(No Transcript)
13
Atributos de enlace
  • Propiedad de un enlace en una asociación
  • Cada atributo tiene un valor para cada enlace
  • En asociaciones 1-N el atributo del enlace puede
    situarse en la clase N?

14
Asociación como clase
  • Los enlaces participan en asociaciones con otros
    objetos o están sujetos a operaciones

15
Asociaciones nombres de roles
  • Papel desempeñado por una clase en una asociación
  • Necesarios para asociaciones entre la misma clase
  • Utiles para diferenciar dos asociaciones entre
    las mismas clases

16
Asociación enlaces ordenados
  • Los enlaces (no los objetos de la clase) están
    ordenados

17
Enlaces cualificados
  • Cualificación atributo especial
  • Disminuye la multiplicidad de una asociación
  • Aumenta la precisión semántica de la asociación

1..
0..n
Archivo
18
Agregación concepto
  • Expresa la relación PARTE-DE (componentes de)

19
Agregación vs. Asociación
  • Es una forma de asociación con un alto
    acoplamiento y ciertas propiedades
  • TRANSITIVA y ANTISIMETRICA
  • Algunas propiedades del AGREGADO se propagan a
    los componentes operaciones
  • Se debe usar cuando hay propiedades de los
    componentes que se pueden ligar al agregado
  • Puede ser monocomponente, múlticomponente o
    recursiva

20
(No Transcript)
21
(No Transcript)
22
Generalización
  • Relación de subclasificación entre clases
  • Como todo proceso de clasificación obedece a
    criterios de clasificación, que deben
    especificarse
  • El mecanismo de implementación es la herencia

23
Ejemplos de generalización en Rational Rose 1 y
2
24
Herencia vs Agregación
  • Distinta de la asociación (relacionado con) y la
    agregación (parte de)

25
Herencia múltiple
26
HM-gtHS agregación/delegación
27
HM-gtHS agregaciónherencia
28
HM-gtHS subclasificación
29
Clases abstractas
30
(No Transcript)
31
MODELADO DEL COMPORTAMIENTO EXTERNO DE LAS CLASES
Clase
Clase
CONTRATOS
Clase
Clase
DIAGRAMAS DE COLABORACIÓN
32
  • CONTRATOS
  • Definen el comportamiento de un sistema
    describiendo cómo cambia su ESTADO cuando se
    invoca una operación suya.
  • Es un documento que describe lo que una
    operación se propone lograr.
  • Suele redactarse con un estilo declarativo,
    centrándose en lo que sucederá y no en cómo se
    conseguirá.

33
CASO DE USO COMPRAR PRODUCTOS ...................
.. CURSO NORMAL DE LOS EVENTOS 1. Este caso de
uso comienza.....
CASOS DE USO
DIAGRAMAS DE SECUENCIA
OPERACIÓN introducirProducto ............... Post
condiciones 1. Si se trata de una nueva venta
...........
OPERACIONES DEL SISTEMA
CONTRATOS
34
UML DEFINE LOS CONTRATOS
OPERACIÓN
35
UML DEFINE LOS CONTRATOS
PRECONDICIONES
OPERACIÓN
POSTCONDICIONES
36
FORMATO DE LOS CONTRATOS (I) Nombre Nombre de
la operación y parámetros. Responsabilidades Des
cripción informal de las responsabilidades
que debe cumplir la operación. Tipo Nombre
del tipo (concepto, clase de software,
interfaz) Referencias cruzadasCasos de uso,
etc. Notas Notas de diseño, algoritmos e
información afín.
37
FORMATO DE LOS CONTRATOS (II) Excepciones Caso
s excepcionales. Salida No salidas de la
Interfaz del Usuario, sino mensajes o
registros que se envían fuera del
sistema. Precondiciones Suposiciones acerca
del estado del sistema antes de ejecutar la
operación. Postcondiciones El estado del
sistema después de la operación.
38
  • PRECONDICIONES
  • Definen las suposiciones sobre el estado del
    sistema al iniciarse la operación.
  • Precondiciones que pueden declararse
  • Cosas que son importantes probar en el software
    en algún momento de la ejecución de la operación.
  • Cosas que no serán sometidas a prueba pero de
    las cuales depende el éxito de la operación.

39
  • POSTCONDICIONES
  • Estipulan cómo cambia el sistema tras una
    operación.
  • Son declaraciones sobre el estado del sistema
    una vez concluida la operación.
  • Deben expresarse en tiempo pasado.
  • Postcondiciones que pueden declararse
  • Creación y eliminación de las instancias.
  • Modificación de los atributos.
  • Asociaciones formadas y canceladas.

40
EJEMPLO
Contrato para introducirProducto Nombre introduc
irProducto(cupnúmero, cantidadentero) Respon
sabilidades Introducir (registrar) la venta de
un producto y agregarlo a la venta.
Desplegar la descripción del producto y su
precio. Tipo Sistema. Referencias
cruzadasCaso de uso Comprar productos. Notas
Excepciones Si el CUP no es válido, indique
que se cometió un error.
41
EJEMPLO (Cont.)
  • Contrato para introducirProducto
  • Salida
  • Precondiciones El sistema conoce el CUP.
  • Postcondiciones
  • Si se trata de una nueva venta, una Venta fue
    creada (creación de instancia).
  • Si se trata de una nueva venta, la nueva Venta
    fue asociada a la TPDV (asociación formada o
    formación de asociaciones).
  • Se creó una instancia LíneadeProductoVendido
    (creación de instancia).

42
EJEMPLO (Cont.)
  • Contrato para introducirProducto
  • Postcondiciones (cont.)
  • Se asoció LíneadeProductoVendido a la Venta
    (asociación formada).
  • Se estableció LíneadeProductoVendido.cantidad
    con el valor de cantidad (modificación de
    atributo).
  • La instancia LíneadeProductoVendido fue asociada
    a una EspecificacióndeProducto, teniendo en
    cuenta la correspondencia del código universal de
    producto (asociación formada).

43
DIAGRAMAS DE COLABORACIÓN
  • Estos diagramas resaltan la ORGANIZACIÓN
    ESTRUCTURAL de los objetos que envían y reciben
    mensajes.
  • Muestran un conjunto de objetos, enlaces entre
    esos objetos y mensajes enviados y recibidos por
    esos objetos.
  • Los diagramas de colaboración describen las
    interacciones entre los objetos en un formato de
    grafo o red.

44
DIAGRAMAS DE SECUENCIA
OPERACIONES DEL SISTEMA
OPERACIÓN introducirProducto ............... Post
condiciones 1. Si se trata de una nueva venta
...........
CONTRATOS
DIAGRAMAS DE COLABORACIÓN
45
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Representación gráfica de las clases e instancias
CLASE
INSTANCIA
NOMBREINSTANCIA
46
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Representación gráfica de los enlaces
  • ENLACE
  • Es una trayectoria de conexión entre dos
    instancias.
  • Especifica un camino a lo largo del cual un
    objeto puede enviar un mensaje a otro objeto.

47
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Representación gráfica de los mensajes
  • Un MENSAJE es la especificación de una
    comunicación entre objetos que transmite
    información.
  • Un mensaje desencadena una acción en el objeto
    destinatario.

48
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • sincronización condiciónGuarda
    secuencia
  • mensaje resultado ' ' mensaje ' '
    tipoDeResultado
  • donde
  • mensaje
  • mensaje nombre ' ( ' listaDeArgumentos
    ' ) '
  • nombre Nombre del mensaje

49
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • listaDeArgumentos Lista de argumentos del
    mensaje, separada por comas y encerrada entre
    paréntesis.
  • listaDeArgumentos argumento ' , ' argumento
    ...
  • argumento nombreDeParámetro ' '
    tipoDeParámetro

50
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • resultado Lista de valores devueltos por el
    mensaje. Estos valores se pueden utilizar como
    parámetros de los otros mensajes de la
    interacción.
  • resultado nombreDeValorDevuelto

51
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • secuencia Indica el nivel de anidamiento del
    envío del mensaje dentro de la interacción.
  • secuencia rango recurrencia ' '
  • rango Los mensajes se enumeran para indicar el
    orden de envíos.
  • rango entero nombreDeFlujoDeEjecución
  • ' . ' entero nombreDeFlujoDeEjecución
    ...
  • nombreDeFlujoDeEjecución enteroletraMinúscula

52
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Sintaxis para los mensajes Ejemplo de rango
53
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • recurrencia Representa la iteración y las
    bifurcaciones condicionales.
  • recurrencia claúsulaIteración
    claúsulaCondicional
  • claúsulaIteración
  • claúsulaIteración ' ' ' '
    condiciónDeIteración ' '
  • ' ' ' ' condiciónDeIteración '
    '
  • Significa que el mensaje va a ser enviado
    repetidamente al receptor.
  • condiciónDeIteración Indica los valores de
    recurrencia.

54
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Sintaxis para los mensajes Ejemplo de
claúsulaIteración
55
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • claúsulaCondicional
  • claúsulaCondicional ' ' condiciónDeRamificaci
    ón ' '
  • condiciónDeRamificación Si es verdadera se envía
    el mensaje.

56
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • condiciónGuarda Condición que debe ser cierta
    antes de enviarse el mensaje.
  • condiciónGuarda ' ' precondición ' '

57
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Sintaxis para los mensajes
  • sincronización Lista de mensajes que deben
    haber sido enviados para validar el envío del
    mensaje actual.
  • sincronización rango ' , ' rango ... ' / '

58
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Representación gráfica de varios mensajes en un
mismo enlace
59
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Representación gráfica de los mensajes al emisor
60
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Representación gráfica de la creación de
    instancias y enlaces
  • La creación y destrucción de instancias y enlaces
    se representa por las siguientes restricciones
  • Nuevo Especifica que la instancia o el enlace
    se crea durante la ejecución de la interacción
    que la contiene.
  • Destruido Especifica que la instancia o el
    enlace se destruye antes de completarse la
    ejecución de la interacción que la contiene.
  • Transitorio Especifica que la instancia o el
    enlace se crea durante la ejecución de la
    interacción que la contiene, pero se destruye
    antes de completarse su ejecución.

61
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Representación gráfica de la creación de
instancias y enlaces
62
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
Representación gráfica de los mensajes dirigidos
a multiobjetos MULTIOBJETO Representa un
conjunto de instancias.
63
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Representación gráfica de los mensajes dirigidos
    a multiobjetos
  • Ejemplos
  • Mensajes dirigidos a un elemento de un
    multiobjeto y a un multiobjeto.

64
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Representación gráfica de los mensajes dirigidos
    a multiobjetos
  • Ejemplos
  • Mensaje dirigido a todos los elementos de un
    multiobjeto.

65
NOTACIÓN DE LOS DIAGRAMAS DE COLABORACIÓN
  • Representación gráfica de los actores
  • Los ACTORES en los diagramas de colaboración
    representan el desencadenamiento de las
    interacciones por un elemento externo.
  • El primer mensaje (no enumerado) de la
    interacción es enviado por el actor.

66
Modelo dinámico conceptos
  • ESTADO valores de los atributos y enlaces de un
    objeto
  • EVENTO estímulo individual de un objeto sobre
    otro.
  • Puede producir un cambio de estado y/o más
    eventos.
  • DIAGRAMA DE TRANSICION DE ESTADOS
  • Representación abstracta del patrón de eventos,
    estados y transiciones de estados de una clase
    (modelo del comportamiento interno de las
    clases).
  • Se elaboran a partir de los diagramas de
    secuencia y de clases.

67
(No Transcript)
68
EVENTO
  • Sucede en un punto del tiempo y carece de
    duración respecto a la granularidad temporal del
    sistema.
  • Dos eventos no relacionados se dicen
    concurrentes.
  • Transmisión de información en un sólo sentido
  • Algunos eventos son simples señales, pero la
    mayoría tienen atributos.

69
ESTADO
  • Abstracción de los valores de los atributos y
    enlaces de un objeto
  • Son artificiales conjuntos de valores de
    atributos según las propiedades que afectan al
    comportamiento global del objeto
  • A menudo se asocia con el valor de un objeto que
    satisface una condición
  • Se ignoran los atributos que no afectan al
    comportamiento del objeto
  • CONDICIONA la respuesta de un objeto a los
    eventos.
  • El estado de un objeto puede incluir los valores
    de sus enlaces.

70
darDeBaja
Baja
Inicio
Fin
baja true
alquilar
Libre
Alquilado
devolver
Existe un Alquiler con fecha
Para todo Alquiler
devolucion ''
fecha devolucion ltgt ''
71
Diagrama de estados
  • Representa TRANSICIONES cambio de estado
    producido por un evento.
  • Describe el comportamiento de una clase de
    objetos, aunque cada objeto podrá estar en un
    estado diferente.
  • Todas las transiciones que abandonan un estado
    deben corresponder a diferentes eventos.

72
Diagrama de estados elementos
  • Estados, transiciones y eventos
  • Estado inicial y estados finales
  • Condición función booleana sobre valores de
    objetos
  • Puede determinar un estado
  • Puede ser una guarda de una transición
  • Relación entre operaciones y DTE
  • ACCION se asocia a un evento o a la
    entrada/salida de un estado
  • ACTIVIDAD se realiza durante un estado

73
ESTADO input/acción entrada do actividad on
evento /acción output/acción salida
Inicio
Fin
74
ESTADO1 input/acción entrada do actividad on
evento /acción output/acción salida
evento1 (atributos) guarda / acción1
Clase de objetos
ESTADO2 .....
75
Abriéndose
Puerta-gtabierta / Motor-gtapagar
Botón-gtpulsar / Motor-gtabrir
Botón-gtpulsar / Motor-gtcerrar
Abierta
Cerrada
Botón-gtpulsar / Motor-gtabrir
Botón-gtpulsar / Motor-gtcerrar
Cerrándose
Puerta-gtcerrada / Motor-gtapagar
76
(No Transcript)
77
Anidamiento de DTE
  • GENERALIZACION anidamiento jerárquico de
    subestados
  • AGREGACION disgregación de un estado en
    componentes concurrentes

78
Evento1
Generalización
Evento3
Evento2
Evento1
Agregación
Evento2
79
Coche
Encendido
Frenos
Transmisión
Acelerador
80
Transmisión en punto muerto
pisar freno
soltar freno
Write a Comment
User Comments (0)
About PowerShow.com