15
1 *

¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

Embed Size (px)

Citation preview

Page 1: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

1

*

Page 2: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

2

1 • ¿Qué es un diagrama de clase?

2 • Elementos de un diagrama de clase

3 • Clase, atributo, método y visibilidad

4 • Agregación y composición

5 • Generalización e interface

6 • Organización de clases usando paquetes

Contenido

Page 3: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

3

¿Qué es un diagrama de

clase?

• Es un tipo de diagrama UML que permite

visualizar y documentar el modelo de

clases de una aplicación.

• Puede construirse por ingeniería reversa

desde algún lenguaje de programación

soportado por Visual Paradigm (Java, PHP,

C, etc.) o generar código en base al modelo

de clases.

Page 4: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

4

Elementos de un diagrama de clases

Clase

Atributos

Operaciones/métodos

Asociación

Interface

Clase

Atributo

Métodos

Interface

Asociación

Clase asociativa

Generalización

Paquete

Page 5: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

5

Elementos de un diagrama de clases

Clase: define un tipo de objeto y sus características incluyendo su estructura y

comportamiento. Se nombran iniciando con una letra mayúscula. Por ejemplo:

Cliente, Llanta, Edificio.

Atributos: definen los datos de un clase. Tienen visibilidad, nombre y tipo de dato.

Métodos: son los servicios que ofrece una clase. Tienen visibilidad, nombre, lista de

parámetros y el tipo de dato que devuelven. Por ejemplo: lista, procesar.

Visibilidad: es de 4 tipos:

a) Privada: solo las clases en el mismo contenedor pueden usarla y verla.

b) Protegida: solo las clases en el mismo contenedor o los descendientes del

contenedor pueden usarla y verla.

c) Pública: cualquier clase puede usar y ver la clase.

d) Paquete: solo las clases dentro del mismo paquete pueden usarla y verla.

Por default, los atributos son privados y los métodos son públicos.

Page 6: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

6

Creando un diagrama de clases

Page 7: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

7

Asociaciones

Representan relaciones entre clases.

Pueden relacionar diferentes clases a relacionar una clase a sí misma.

Pueden contener lo siguiente:

a) Nombre de la asociación.

b) Nombre de los roles.

c) Multiplicidad.

d) Navegabilidad.

Opcionalmente puede usarse una flecha

de dirección.

Debe nombrarse usando verbos.

Page 8: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

8

Roles

Cada asociación tiene 2 roles.

El nombre del rol identifica el rol que objeto juega en la asociación.

Es opcional.

Debe usarse solo si se necesita para explicar mejor el diagrama.

En el ejemplo, Empleado y Empleador son los roles de persona y empresa

respectivamente.

Page 9: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

9

Multiplicidad

Define cuantos objetos participan en la relación (cardinalidad).

Depende del sistema que se está modelando.

Cardinalidad Semántica

0..1 Cero a uno

0..* Cero a muchos

1 Exactamente 1

1..* Uno a muchos

2..8 N a N

Page 10: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

10

Clases de asociación

Sirven para resolver una relación muchos a muchos en un modelo de datos

relacional.

Cuando una relación tiene atributos que no pertenecen a ninguno de los objetos

de la asociación se usa una clase de asociación.

Puede tener sus propios métodos u operaciones.

Page 11: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

11

Agregación

Es un tipo especial de asociación que indica jerarquía llamada también relación

“todo-parte”.

Un diamante hueco al final de la asociación indica el todo.

Asigna multiplicidad a cada clase en la relación.

La “parte” puede existir independientemente del “todo”.

Una persona puede tener ninguno, uno o varios teléfonos

y el teléfono puede existir sin que exista una persona

propietaria del teléfono.

Page 12: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

12

Composición

Es un tipo especial de asociación que indica jerarquía llamada también relación

“todo-parte” pero donde la “parte” depende del “todo”. Es decir, la “parte” no

puede existir sin el “todo”.

Un diamante lleno al final de la asociación indica el todo.

Un aula escolar no puede existir si no existe primero el

Colegio donde se ubica, al que pertenece y del que

forma parte.

Page 13: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

13

Generalización

Es una forma de relacionar clases basándose en sus similitudes y diferencias.

Las subclases heredan los métodos y atributos de su superclase.

La relación entre una subclase con su superclase se llama “es un tipo de” o “es

una”.

Una generalización no es una asociación. Es una relación donde las subclases

contienen los elementos de su superclase.

Un edificio y una casa es un tipo de construcción.

Page 14: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

14

Interface

Es un conjunto de operaciones que una clase puede realizar.

La interface solo define lo que la clase podría hacer pero no dice cómo lo debe

hacer.

Está basada en la presencia de métodos abstractos.

No puede ser instanciada.

Una clase se relaciona a su interface mediante realización.

Se representa por un triángulo lleno que apunta a la interface.

Las interfaces luego deben ser implementadas por clases que hereden de la

clase abstracta.

La clase “String” de

Java implementa la

interface

“Comparable” que sólo

tiene un método que

debe ser definido o

realizado en la clase

String

Page 15: ¿Qué es un diagrama de clase? - Software e Inteligencia ... ¿Qué es un diagrama de clase? •Es un tipo de diagrama UML que permite visualizar y documentar el modelo de clases

15

Paquetes

Es un contenedor general.

Una clase solo puede estar dentro de un paquete.

Un paquete puede estar dentro de otro paquete.

Puede existir dependencia entre paquetes.