UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El...

55
UML: Lenguaje de Modelado Unificado 1 Yalú Galicia Hdez. (FCC/BUAP)

Transcript of UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El...

Page 1: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

UML: Lenguaje de Modelado Unificado

1Yalú Galicia Hdez. (FCC/BUAP)

Page 2: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

¿Qué es UML?

Diagramas UML

Diagrama de clases

Clase, objetos

Relaciones entre clases

Asociación

Dependencia

Agregación

Composición

Herencia

Realización

Diseño OO

Yalú Galicia Hdez. (FCC/BUAP) 2

Page 3: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

UML (Unified Modeling Language) es un

lenguaje que permite visualizar, modelar,

construir y documentar los elementos que

forman un sistema de software usando

objetos.

Es decir, para realizar un proyecto debemos

antes realizar un esquema del mismo.

El UML nos permite mediante diagramas,

plasmar de una forma detallada e inteligible

la solución a un problema planteado.

Yalú Galicia Hdez. (FCC/BUAP) 3

Page 4: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas

Los diagramas tienen como objetivo presentar diversas perspectivas de un sistema. A esto se le llama Modelo.

El modelo UML de un sistema es similar a un modelo a escala de un edificio junto con la interpretación del arquitecto del edificio.

Tenemos que tener en cuenta que un modelo UML describe lo que supuestamente hará un sistema, pero no dice como implementar dicho sistema.

Yalú Galicia Hdez. (FCC/BUAP) 4

Page 5: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Un modelo es una descripcion completa de un sistema desdeuna perspectiva especifica (diagrama)

Use CaseDiagramsUse Case

DiagramsDiagramasdeCasos de Uso

ScenarioDiagramsScenario

DiagramsDiagramasdeColaboracion

StateDiagramsState

DiagramsDiagramasdeComponentes

ComponentDiagramsComponent

DiagramsDiagramasDeDeployment

StateDiagramsState

DiagramsDiagramasdeObjetos

ScenarioDiagramsScenario

DiagramsDiagramasdeEstado

Use CaseDiagramsUse Case

DiagramsDiagramasdeSecuencia

StateDiagramsState

DiagramsDiagramasde Clases

DiagramasdeActividad

Modelos

5Yalú Galicia Hdez. (FCC/BUAP)

Page 6: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Se usan los diagramas de Casos de Uso para visualizar

la interacción del sistema con el mundo exterior

6Yalú Galicia Hdez. (FCC/BUAP)

Page 7: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Los diagramas de secuencia muestran cómo se da

paso a paso cierta funcionalidad en el sistema 7Yalú Galicia Hdez. (FCC/BUAP)

Page 8: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Los diagramas de colaboración muestran cómo interactúan

los objetos para lograr cierta funcionalidad en el sistema Yalú Galicia Hdez. (FCC/BUAP) 8

Page 9: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Los diagramas de clase muestran la estructura del

sistema Yalú Galicia Hdez. (FCC/BUAP) 9

Page 10: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Los diagramas de componentes ilustran la organización y dependencia entre los componentes que definen la arquitectura del sistema

Yalú Galicia Hdez. (FCC/BUAP) 10

Page 11: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Los diagramas de deployment permiten visualizar la distribución de los componentes del sistema a través de la empresa

Yalú Galicia Hdez. (FCC/BUAP) 11

Page 12: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

¿Qué es UML?

Diagramas UML

Diagrama de clases

Clase

Relaciones entre clases

Asociación

Dependencia

Agregación

Composición

Herencia

Realización

Diseño OO

Yalú Galicia Hdez. (FCC/BUAP) 12

Page 13: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

En este curso, nos enfocaremos solamente en los diagrama de clases, como un medio de diseño de nuestros programas.

La forma de representar una clase en UML, es mediante una caja con divisiones

Yalú Galicia Hdez. (FCC/BUAP) 13

Nombre de la clase

Lista de atributos

Lista de operaciones o

acciones

Page 14: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Recordando algunos conceptos del paradigma orientado a objetos, una clase es una categoría o grupo de cosas que tienen atributos y acciones similares.

Por ejemplo: La clase “lavadora” tiene atributos como, la marca, el modelo, el numero de serie y la capacidad. También podemos observar que entre las acciones o comportamientos de esta clase se encuentran: “agregar ropa”, “agregar detergente”, “activarse”, “enjuagar ropa” y “sacar ropa”

Lavadora

marca

modelo

noSerie

capacidad

agregarRopa( )

agregarDetergente()

iniciar()

enjuagarRopa()

sacarRopa()

Yalú Galicia Hdez. (FCC/BUAP) 14

Page 15: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 15

Lavadora

marca: String

modelo: String

noSerie: Int

capacidad: Int

agregarRopa(r: Ropa): void

agregarDetergente(): void

iniciar(): void

enjuagarRopa(): void

sacarRopa(): Ropa

Variable:

tipo

Método o

función

( parámetros):

tipo de regresoComportamiento

o acciones

atributos

Nombre de la clase

Page 16: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 16

Lavadora

- marca: String

- modelo: String

- noSerie: Int

- capacidad: Int

+ agregarRopa(r: Ropa): void

+ agregarDetergente(): void

+ iniciar(): void

+ enjuagarRopa(): void

+ sacarRopa(): Ropa

Símbolo Indica- privado (oculto)+ público (visible)# protegido (semi-

oculto)

MÉTODOS DE ACCESO

acciones públicas =

interface!

Page 17: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 17

Punto

-x: real-y: real

+rotar(angulo: real)+Escala(factor: real)

CLASE

p1: Punto

x= 3.14y = 2.718

Objetos

p2: Punto

x= 1y = 1.414

Page 18: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Nombres de las clases: Inician con Mayúscula

Son en singular

Se aplica notación camello

Nombre de atributos sustantivos

Inician con minúscula

Se aplica notación camello

Nombre de los métodos Verbos (acciones)

Inician con minúscula

Se aplica notación camello

Yalú Galicia Hdez. (FCC/BUAP) 18

¿Notación

camello?

En la notación camello,

cuando se unen varias

palabras, cada palabra

inicia con mayúscula

Ej: lavarRopaSucia

Page 19: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

¿Qué es UML?

Diagramas UML

Diagrama de clases

Clase

Relaciones entre clases

Asociación

Dependencia

Agregación

Composición

Herencia

Realización

Diseño OO

Yalú Galicia Hdez. (FCC/BUAP) 19

Page 20: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Los problemas del “mundo real”, son más complejos que modelar que una simple clase, más bien, se tiene muchos objetos de distintas clases comunicándose unos con otros. Esto significa, que dichos objetos establecen relaciones.

Básicamente las relaciones que se establecen son:

Asociación

Dependencia

Agregación

Composición

Herencia

Realización

Yalú Galicia Hdez. (FCC/BUAP) 20

Page 21: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

La relación más simple entre clases es la asociación.

Indica que dos clases tienen una relación que las asocia según el papel que cada una juega con respecto a otra.

Se usa la asociación para relacionar dos objetos que necesitan colaborar enviándose mensajes

En un diagrama de clases, la asociación se indica mediante una línea continua que se dirige de un objeto a otro.

Yalú Galicia Hdez. (FCC/BUAP) 21

EmpresaPersona

Asociación

Page 22: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Para aclarar su significado, En la línea se puede anotar el nombre de la relación (normalmente un verbo) y con un triángulo se indica la dirección en la que hay que leer dicho nombre. Por default la asociación es bi-direccional.

Opcionalmente se pueden colocar un nombre de rol para cada clase, dicho rol es un nombre alternativo que representa el papel que toma cada clase en la relación

Yalú Galicia Hdez. (FCC/BUAP) 22

EmpresaPersona Trabaja en

Trabajador Empleador

Page 23: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

La Multiplicidad es el número de instancias de una clase relacionadas a UNA instancia de otra clase

Para cada asociación existen dos decisiones que tomar en cuanto a multiplicidad; una para cada extremo de la asociación

Por ejemplo, en la conexión entre Profesor y Curso Cada instancia de Profesor, puede impartir muchos (cero

o más) cursos

Para cada instancia de Curso, hay exactamente un Profesor

Yalú Galicia Hdez. (FCC/BUAP) 23

CursoProfesor

0.. *1

Page 24: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Cada extremo de la asociación contiene un

indicador de multiplicidad

Indica el número de objetos que participan en la relación

Yalú Galicia Hdez. (FCC/BUAP) 24

Sin especificar

Exactamente uno 1

Muchos (Cero o más, *

sin limite) 0..*

Uno o más 1..*

Cero o uno 0..1

Rango Específico 2..4

Varios Rangos 2,4..6,8

Page 25: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

La multiplicidad responde dos preguntas ¿La asociación es obligatoria o es opcional?

¿Cuál es el mínimo y máximo número de objetos de una clase que se pueden enlazar a un objeto de la otra clase?

Las decisiones de multiplicidad exponen muchas suposiciones escondidas acerca del problema que se está modelando ¿Se puede ir el maestro de licencia o tomar vacaciones?

¿Puede un curso tener dos maestros?

Yalú Galicia Hdez. (FCC/BUAP) 25

CursoProfesor

1.. *1

Page 26: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Esta relación implica dependencia entre clases. Se denota mediante una línea punteada con flecha.

Siempre es dirigida (La clase A depende de la clase B)

La dependencia es causada porque un método en la clase A temporalmente “usa un” objeto de la clase B.

Yalú Galicia Hdez. (FCC/BUAP) 26

BA

“usa una”

Page 27: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Por ejemplo, un Pedido usa una Cuenta,

porque un pedido necesita acceder a los

objetos de tipo cuenta para comprobar el

estado de un crédito

La flecha es dirigida hacia la clase “usada”

Yalú Galicia Hdez. (FCC/BUAP) 27

CuentaPedido

“usa una”

Page 28: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Es común que un objeto contenga objetos de otras

clases, tal capacidad se llama agregación.

Por ejemplo: Un objeto Auto tiene o esta formado

por objetos de otras clases (Llantas, Motor, etc.)

La relación que se establece entre estos objetos se

llama “tiene un”, “es parte de” o “consta de”

Ejemplo: Un auto tiene un motor

Un escuela tiene alumnos

La relación de agregación, es una relación “débil”

entre los objetos, ya que estos pueden existir

independientemente del “todo”. Es decir, una llanta

“puede existir”, sin ser parte de un auto.

Yalú Galicia Hdez. (FCC/BUAP) 28

Page 29: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 29

Auto

Motor

Agregación: diamante vacío

Llanta

Tiene un

1..4

1

multiplicidad

Page 30: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 30

País Estado1..*

Playa

0..*

Page 31: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Es una relación de composición es muy parecida a la anterior (del tipo tiene un), sólo que en este caso la relación es mas fuerte.

La vida de los objetos incluidos como atributos es totalmente dependiente de la vida del objeto contenedor Por ejemplo, una cara puede ser

descrita, por los elementos que la forman; es decir; una cara está compuesta por un par de ojos, una boca y una nariz

Tanto los ojos, la boca y la nariz, son objetos de otras clases: la clase Ojo, la clase Boca y la clase Nariz; sin embargo no existen independientemente a una cara.

Yalú Galicia Hdez. (FCC/BUAP) 31

Page 32: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 32

Cara Ojo2

Boca

1

Nariz

1

Composición: diamante lleno

Tiene un

Page 33: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 33

Page 34: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Como ya comentamos, la herencia permite especificar jerarquías de clases en las que unas clases toman propiedades de otras (atributos, operaciones y relaciones).

A la clase superior se la llama superclase mientras que a la clase que hereda las propiedades de la anterior se la llama subclase.

La relación que se establece entre clases que heredan, se llama “es un”

Por ejemplo: Una persona es un ser humano Un perro es un canino Un auto es un medio de transporte

Yalú Galicia Hdez. (FCC/BUAP) 34

Page 35: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 35

Vehículo

BicicletaCoche

es un

+ mover ()+ detener ()

+llenarGasolina()

Estas métodos se

heredan

Un coche es un vehículo,

pero NO todos los vehículos

son coches!!

Page 36: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 36

+Abstracta

+Concreta

A este nivel, la

clase es

abstracta

Page 37: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Aeroplano Helicóptero Lobo Caballo

ObjetoVolador Animal

Pájaro

Herencia

múltiple

La mayoría de las veces una clase hereda de solo otra clase(herencia simple), sin embargo una misma clase puedeheredar de varias clases distintas (herencia multiple).

Esto puede ayudar a simplificar el Modelo de Analisis, perodebe usarse juiciosamente, ya que puede ser dificil de implementar en el Modelo de Diseño.

37Yalú Galicia Hdez. (FCC/BUAP)

Page 38: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Recordamos que polimorfismo se define

como la capacidad de objetos de clases

diferentes, relacionados mediante herencia,

a responder de forma distinta al mismo

mensaje (llamada a un método)

Es decir, el mismo mensaje que se envía a

muchos tipos de objetos, toma “muchas

formas” y de ahí viene el término

polimorfismo.

Yalú Galicia Hdez. (FCC/BUAP) 38

Page 39: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

La definición del método reside en la superclase

La implementación del método reside en la subclase

La invocación es resuelta al momento de ejecución (ligadura dinámica)

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

avanzar()

frenar()

39Yalú Galicia Hdez. (FCC/BUAP)

Page 40: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 40

Transporte

CoheteCaballo

+ avanzar ()+ frenar ()

En itálicas

denota clase

abstractas

+ avanzar ()+ frenar ()

+ avanzar ()+ frenar ()

Carro

+ avanzar ()+ frenar ()

La definición de estos

métodos se heredan,

pero hay redefinirlos

o sobreescribirlos

Page 41: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Clase

Encapsulación

Relaciones entre clasesAsociación

Dependencia

Agregación

Composición

Herencia

Polimorfismo

Yalú Galicia Hdez. (FCC/BUAP) 41

Page 42: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

¿Qué es UML?

Diagramas UML

Diagrama de clases

Clase

Relaciones entre clases

Asociación

Dependencia

Agregación

Composición

Herencia

Realización

Diseño OO

Yalú Galicia Hdez. (FCC/BUAP) 42

Page 43: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Para resolver un problema usando POO se deben seguir los siguientes pasos Análisis En esta etapa se deben identificar todos los objetos

relacionados en la descripción del problema

Diseño Clasificar los objetos

Obtener sus características y operaciones principales.

Identificar las relaciones entre los objetos

Codificación Escribir el código de cada objeto sin tener en cuenta

al resto de elementos del programa

Implementar las relaciónes

Yalú Galicia Hdez. (FCC/BUAP) 43

Page 44: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

La identificación de clases y objetos es la parte más difícil del diseño orientado a objetos

La identificación de objetos implica descubrimiento e invención

No hay recetas fáciles para identificar clases y objetos

Clasificar es agrupar cosas que tienen una estructura común o exhiben un comportamiento común

La clasificación ayuda a identificar jerarquías de generalización, especialización, y agregación entre clases.

La clasificación, también proporciona una guía para tomar decisiones sobre modularización

Yalú Galicia Hdez. (FCC/BUAP) 44

Page 45: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

La clasificación es el medio por el cual ordenamos el conocimiento

Yalú Galicia Hdez. (FCC/BUAP) 45

Page 46: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Escribe la descripción del problema

Identificar la meta

Subraya lo siguiente:

sustantivos: candidatos a clases

verbos: candidatos a métodos

adjetivos: candidatos a atributos

Yalú Galicia Hdez. (FCC/BUAP) 46

Page 47: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Hacer un programa que permita realizar operaciones aritméticas sobre fracciones. Además, permita imprimir el resultado en la forma a/b, donde a es el numerador y b el denominador.

Yalú Galicia Hdez. (FCC/BUAP) 47

Candidatos a Clases

Candidatos a métodos

Candidatos a atributos

Page 48: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

En el rancho la "Esperanza", se cuenta con diferentes graneros para almacenar semillas (maíz, trigo, sorgo, etc.). Los graneros tienen diferentes formas y tamaños, algunos son cilíndricos, otros cúbicos y otros cónicos. Conocer el volumen de semillas almacenadas es vital para la subsistencia de la región en tiempos de sequías; por lo que se requiere calcular constantemente la cantidad total de semillas almacenadas en los graneros, sin importar el tipo de semilla, para evitar desabasto. Además, visualizar el tipo de semilla que está almacenada en cada granero

Yalú Galicia Hdez. (FCC/BUAP) 48

Page 49: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Elemento Aceptado

Rancho

Graneros

Semillas X

Maiz X

Sorgo X

Trigo X

Región X

Conocer volumen

Calcular volumen total

Visualizar tipo semillas

Formas (cilindro, cubo, cónicos)

Tamaño (medidas)

Tipo de semilla

Yalú Galicia Hdez. (FCC/BUAP) 49

Page 50: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Para cada objeto encontrado, modelar su

clase por separado

Relacionar las clases

Fórmulas para cálculo de volúmenes:

cubo = lado3

cilindro = PI * radio2 * Altura

cono = (PI * radio2 *Altura)/3

Yalú Galicia Hdez. (FCC/BUAP) 50

Page 51: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Yalú Galicia Hdez. (FCC/BUAP) 51

Granero

CúbicoCilíndrico

+ visualizarTipo()+ calcularVolumen()

+calcularVolumen() + calcularVolumen()

Cónico

+ calcularVolumen()

-tipoGrano: String

-radio: float-altura: float

- lado: float - radio: float- altura: float

Rancho

- graneros[]: Granero

+calcularVolTotal()

0..*

Page 52: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Una relación de realización, indica que una clase implementa un comportamiento específico de otra clase, llamada interface o protocolo.

Una interface puede ser realizada por muchas clases

Una clase concreta puede implementar muchas interfaces

Yalú Galicia Hdez. (FCC/BUAP) 52

<<Interfaz >>Forma

FormaRectángulo

<<Interfaz >>

Clase concreta

estereotipo

Page 53: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Una interface es como una clase abstracta,

sólo que todos sus métodos son siempre

abstractos.

Las interfaces son utilizadas para definir

roles representados por objetos.

Una misma persona puede jugar varios roles

como por ejemplo: maestro, padre, hermano,

esposo, etc.

De esta forma, la relación de realización que

se establece entre la clase y la interface es

también una relación “es-un”

Yalú Galicia Hdez. (FCC/BUAP) 53

Page 54: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

Una clase puede heredar de solo una clase,

pero puede implementar muchas interfaces

Yalú Galicia Hdez. (FCC/BUAP) 54

Seres vivos

Ser humano

persona

<<Interfaz >>Empleado

<<Interfaz >>Ciudadano

Page 55: UML: Lenguaje de Modelado Unificado - …ygalicia.cs.buap.mx/UML.pdfDiagramas UML Diagrama de ... El modelo UML de un sistema es similar a un ... Diagramas de Casos de Uso Scenario

55Yalú Galicia Hdez. (FCC/BUAP)