UML - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

UML

Description:

( versi n en espa ol: 'El Lenguaje Unificado de Modelado', Addison-Wesley, ... Agregaci n fuerte pues al desaparecer el todo, tambi n lo hace la parte. Universidad ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 23
Provided by: arantx
Category:
Tags: uml | desaparecer

less

Transcript and Presenter's Notes

Title: UML


1
UML
2
Referencias
  • Tutorial de Borland
  • http//bdn.borland.com/article/0,1410,31863,00.htm
    l
  • UML 2 Toolkit, 2004, Eriksson, Hans-Erik
  • Clásico
  • Booch, G. Rumbaugh, J. Jacobson, I. Unified
    Modeling Language User Guide, Addison-Wesley,
    1998. (versión en español "El Lenguaje Unificado
    de Modelado", Addison-Wesley, Madrid, 1999)

3
Introducción, I
  • Similitud
  • Arquitectos, edificios, planos
  • Ing. Inf., programas, diagramas
  • UML
  • Unified Modeling Language
  • Diagramas (ing. inf.)
  • Dominio
  • Mundo en el que hay definido un problema
  • Modelo
  • Abstracción de un problema
  • Formado por objetos

4
Introducción, II
  • Objetos
  • Interaccionan entre sí enviándose mensajes
  • Cosas que saben (atributos) y cosas que pueden
    hacer (operaciones)
  • Los valores de sus atributos determinan sus
    estados
  • Clases
  • Un diagrama para un objeto
  • Objetos son instancias de clases
  • Diagramas más usados
  • Diagrama de clases
  • Diagrama de secuencia

5
Diagramas de clases, I
  • Clases y sus relaciones
  • Diagramas estáticos
  • Muestran lo que interacciona pero no lo que
    ocurre al interaccionar
  • Clase
  • Rectángulo
  • Nombre de clase (en cursiva si es clase
    abstracta)
  • Atributos y métodos
  • Visibilidad (vis) para atributos y métodos
  • público () por omisión para métodos
  • privado (-) por omisión para atributos
  • protegido ()
  • Atributos
  • visatributo tipo valor
  • Atributos de clase subrayados
  • Operaciones (métodos)
  • vismetodo(params) tipo
  • Métodos de clase subrayados

6
Diagramas de clases, II
  • Relaciones entre clases
  • Asociación.
  • Agregación (es parte de ).
  • Generalización (herencia) es un caso particular
    de .
  • En una asociación o agregación hay dos extremos
  • A cada extremo se le puede asignar un nombre de
    rol.
  • Navegabilidad (petición de información) en una
    asociación
  • Unidireccional.
  • Bidireccional.

rol
relación
7
Diagramas de clases, III
  • Multiplicidad en una asociación o agregación
  • 0..1 n..m 0.. 1, 1..
  • Ejemplo de agregación con multiplicidad

m
n
8
Diagramas de clases, IV
  • Dependencia.
  • Otro tipo de relación (depende de )
  • Un cambio en la especificación (interfaz pública)
    de la 2ª puede forzar cambios en la primera clase
  • Observación
  • Los atributos no deben ser objetos (utilizar
    relaciones en tal caso).

9
Diagramas de clases, V
  • Tipos de asociación
  • Asociación restringida
  • Tipos de asociación (ejemplos)
  • Asociación restringida. En una relación 1 a
    muchos (por ejemplo, clase Disco y clase
    Canción)

restricción
ordenado
10
Diagramas de clases, VI
  • Agregación compuesta
  • Agregación fuerte pues al desaparecer el todo,
    también lo hace la parte

Universidad
Facultad
1
1..
11
Ejemplo
12
Diagramas de secuencia
  • Diagramas de clases y objetos son estáticos
  • Diagramas de interacción son dinámicos (describen
    cómo colaboran los objetos)
  • Diagrama de secuencia
  • Un diagrama de interacción que dice qué mensajes
    y cuándo se envían
  • El tiempo crece verticalmente hacia abajo

13
Ejemplo, I
14
  • Ejemplo

15
0..
0..
curso
1
cliente
1

clave(Customer)custNum
claves(Course)title,date
claves(Reservation)cliente, curso
16
(No Transcript)
17
Patrones de diseño
  • Ejemplo
  • Patrón de Fábrica Abstracta
  • Ejemplo
  • Realización de preguntas basadas en menús
  • Ejemplo 1 (estilo números)
  • Ejemplo 2 (estilo subcadenas)
  • Implementación en Java
  • Ejemplo
  • Patrón-Diseño

18
Ejemplo 1
  • Estilo de menús basados en números (respuesta con
    un número)
  • Pregunta Capital de Francia
  • 1. Londres
  • 2. Roma
  • 3. Paris
  • 4. Caracas
  • Introduce el numero correcto
  • 1
  • Respuesta incorrecta
  • Pregunta Capital de Francia
  • 1. Londres
  • 2. Roma
  • 3. Paris
  • 4. Caracas
  • Introduce el numero correcto
  • 3
  • Respuesta correcta

19
Ejemplo 2
  • Estilo de menús basados en subcadenas (respuesta
  • con dos primeras letras)
  • Pregunta Capital de Francia
  • - Londres
  • - Roma
  • - Paris
  • - Caracas
  • Introduce las dos primeras letras de la solucion
  • Pa
  • Respuesta correcta
  • Pregunta Capital de Francia
  • - Londres
  • - Roma
  • - Paris
  • - Caracas
  • Introduce las dos primeras letras de la solucion
  • Ca
  • Respuesta incorrecta

20
Método main
  • int main(int argc, char argv)
  • ltCreación de una fábrica de menús de númerosgt
    // Ejemplo 1
  • // Ejemplo 2 Utilización del patrón
  • // ltCreación de una fábrica de menús de
    subcadenasgt
  • ltCreación por la fábrica de un menú gt
  • ltCrear la pregunta "Capital de Francia" para el
    menúgt
  • ltCrear la opción "Londres" para el menúgt
  • ltCrear la opción "Roma" para el menúgt
  • ltCrear la opción "París" para el menú, como la
    correctagt
  • ltCrear la opción "Caracas" para el menúgt
  • ltrepetir dos vecesgt
  • ltEjecutar la acción preguntar en el menúgt
  • ltEjecutar la acción responder en el menúgt
  • ltfin de repeticióngt

21
Diagrama de clases
22
Diagrama de secuencia
Write a Comment
User Comments (0)
About PowerShow.com