UML Diagramas de Clase

72
Análisis de Sistemas 1.- Resumen del Proceso Unificado 3.- Levantamiento de Requisitos – UML : Casos de Uso 2.- Lenguaje Unificado de Modelado (UML) 4.- Análisis del Sistema – UML 4.2.- Diagrama de Clases (modelo conceptual) 4.1.- Diagrama de Actividades

Transcript of UML Diagramas de Clase

Page 1: UML Diagramas de Clase

Análisis de Sistemas

1.- Resumen del Proceso Unificado

3.- Levantamiento de Requisitos – UML : Casos de Uso

2.- Lenguaje Unificado de Modelado (UML)

4.- Análisis del Sistema – UML

4.2.- Diagrama de Clases (modelo conceptual)

4.1.- Diagrama de Actividades

Page 2: UML Diagramas de Clase

-Piense en las cosas que nos rodean, es posible

que muchas de esas cosas tengan atributos

(propiedades) y que realicen determinadas

acciones.

-Podríamos imaginar cada una de esas acciones

como un conjunto de tareas.

-Nos daremos cuenta también que las cosas

naturalmente se albergan en categorías

(automóviles, mobiliario, lavadoras…), tales

categorías las llamaremos CLASES.

Diagrama de Clases

Page 3: UML Diagramas de Clase

Se podría decir que una clase es una categoría

o grupo de cosas que tienen atributos y

acciones similares.

-EJEMPLO:

La fig. muestra la clase Lavadora: El rectángulo

superior representa a la clase. Se divide en tres

áreas. El superior contiene el nombre, el área

central contiene los atributos y el inferior las

acciones.

Diagrama de Clases

Page 4: UML Diagramas de Clase

-EJEMPLO:

Diagrama de Clases

Lavadora

MarcaModelosNumeroSeriecapacidad

Agregar ropaAgregar detergenteSecar ropa

Page 5: UML Diagramas de Clase

-Un Objeto es una instancia de clase (Una

entidad que tiene valores específicos de los

atributos y acciones). Su lavadora, por ejemplo,

podría ser tener la marca LG, el modelo sx-

3220, el número de serie GL567774 y una

capacidad de 7kg.

Diagrama de Clases

Page 6: UML Diagramas de Clase

- Como Objeto de la clase persona contamos

con los siguientes atributos: Peso, altura, edad

(puede imaginar muchos más). También

realizamos las siguientes tareas, comer, dormir,

leer, escribir, hablar, trabajar, etc.

Diagrama de Clases

Page 7: UML Diagramas de Clase

Si tuviéramos que crear un sistema que

manejara información acerca de las

personas (como nómina o un sistema

para departamento de RRHH), sería

probable que incorporáramos algunos de

sus atributos y acciones en nuestro

software.

Diagrama de Clases

Page 8: UML Diagramas de Clase

Conceptos:

La Orientación a Objetos considera no

sólo los atributos y acciones; también

considera aspectos como abstracción,

herencia, polimorfismo y encapsulación.

Otros aspectos importante a ver son las

asociaciones y agregaciones.

Diagrama de Clases

Page 9: UML Diagramas de Clase

Conceptos:

Abstracción: Se refiere a quitar

propiedades y acciones de un objeto para

dejar sólo aquellas que sean necesarias.

Herencia: Un objeto es una instancia de

una clase; Un objeto tiene todas las

características de la clase de la que

proviene. Cada objeto de la clase hereda

los atributos y operaciones.

Diagrama de Clases

Page 10: UML Diagramas de Clase

Conceptos:

Una Clase también puede heredar de

otra. La lavadoras, refrigerador, hornos

de microondas, tostadores, planchas, son

clases que forman parte de una clase

genérica llamada Electrodomésticos. Un

electrodoméstico cuenta con atributos de

interruptor, cable y operaciones de

encendido y apagado.

Diagrama de Clases

Page 11: UML Diagramas de Clase

Conceptos:

Cada una de las clases electrodomésticos

hereda los mismos atributos; por ello, si

sabe que algo es electrodoméstico,

entonces sabrá que cuenta con atributos

y acciones que definen esa clase

Diagrama de Clases

Page 12: UML Diagramas de Clase

Diagrama de Clases

Page 13: UML Diagramas de Clase

Polimorfismo: Una operación tiene el

mismo nombre en diferentes clases. Por

ejemplo podrá abrir una puerta, una

ventana , un periódico, un regalo, etc. Y

funcionar distinto en cada una.

Diagrama de Clases

Page 14: UML Diagramas de Clase

Encapsulamiento: Los objetos encapsulan

lo que hacen, es decir, ocultan la

funcionalidad interna de sus operaciones,

de otro objetos y del mundo exterior.

Diagrama de Clases

Page 15: UML Diagramas de Clase

Diagrama de Clases.

� Muestra entidades del mundo

real, elementos de análisis y

diseño o clases de

implementación y sus

relaciones.

� Representan la base para

otros diagramas de UML.

� Soportan los requisitos

funcionales y servicios que el

sistema debe proporcionar a

los usuarios finales (clientes).

Diagrama de Clases

Page 16: UML Diagramas de Clase

Se utilizan para:

�Modelar vocabulario de un sistema

(abstracciones del sistema).

�Modelar un esquema conceptual (describir el

sistema en términos de los conceptos que lo

definen y sus relaciones, independiente del

SW) y lógico (descripción dependiente del SW

que se desprende el esquema anterior) de

Bases de Datos.

Diagrama de Clases

Page 17: UML Diagramas de Clase

Los diagramas de clases están

formados por Clases

�Atributos (Propiedades)

�Métodos (Operaciones)

Relaciones

�Asociación

�Herencia

�Composición

Diagrama de Clases

Page 18: UML Diagramas de Clase

Formato gráfico de una clase

Nombre de la Clase

Zona de Atributos

(puede omitirse)

Zona de Métodos

(puede omitirse)

Diagrama de Clases

Page 19: UML Diagramas de Clase

Un diagrama de clases está formado por varios

rectángulos de este tipo conectados por líneas

que muestran la manera en que las clases se

RELACIONAN entre si.

Diagrama de Clases

Page 20: UML Diagramas de Clase

Asociaciones Binaria:

Cuando una clase se conecta entre sí de

forma conceptual, esta conexión se

denomina asociación.

Diagrama de Clases

Asociación Binaria

Page 21: UML Diagramas de Clase

Relaciones: “Conexiones entre elementos”.

Asociación.

� Una asociación se forma al unir dos clases con una línea

� Puede tener nombre y se coloca sobre la línea (se lee de izq. a derecha y suele ser un verbo)

� Puede tener los roles que juega cada clase en la asociación

Diagrama de Clases

Page 22: UML Diagramas de Clase

Relaciones: “Conexiones entre elementos”.

Diagrama de Clases

Page 23: UML Diagramas de Clase

Semánticas de los Datos

Page 24: UML Diagramas de Clase

Semántica de los Datos: se refiere al significadode las relaciones que tienen los datos entre sí.

Cada modelo de datos tiene sus restricciones encuanto a su capacidad de representar unarealidad, dependiendo de los tipos desemánticas que puede abarcar.

Características de los Datos y sus Relaciones

Page 25: UML Diagramas de Clase

Tipos de Semánticas:

• Cardinalidad.

• Grado.

• Dependencia Existencial

• Tiempo.

• Unicidad.

• Herencia.

• Agregación.

• Categorización.

Características de los Datos y sus Relaciones

Page 26: UML Diagramas de Clase

a) Cardinalidad (multiplicidad): se refiere alnúmero de entidades con que otra entidad serelaciona.

Tipos de Asociaciones:

• 1 : 1 (uno a uno)

• 1 : N (uno a muchos)

• M : N (muchos a muchos)

Características de los Datos y sus Relaciones

Page 27: UML Diagramas de Clase

• Asociación 1:1: sucede cuando una entidad Xse relaciona sólo con otra entidad, bajodeterminada asociación, y esta última sólo lohace con X.

Empleado Cónyuge

Características de los Datos y sus Relaciones

Page 28: UML Diagramas de Clase

• Asociación 1:N: se presenta cuando unaentidad X se relaciona con varias entidades,bajo determinada asociación, pero cada una deéstas sólo lo hace con X.

Persona Automóvil

Características de los Datos y sus Relaciones

1 *

Page 29: UML Diagramas de Clase

• Asociación M:N: ocurre cuando una entidad Xse relaciona con varias entidades, bajodeterminada asociación, y cada una de éstas, asu vez, se relaciona con X y, probablemente,otras entidades más del mismo tipo de X.

Curso Alumno

Características de los Datos y sus Relaciones

* *

Page 30: UML Diagramas de Clase

b) Grado: se define como el número de tipos oclases de entidades que participan en unaasociación.

Tipos de Asociaciones:

• Unaria.

• Binaria.

• Ternaria.

• n-aria.

Características de los Datos y sus Relaciones

Page 31: UML Diagramas de Clase

• Asociación Unaria: es una asociación que sóloconsidera un tipo de entidades que se relacionaconsigo mismo.

Empleado

Características de los Datos y sus Relaciones

1

1..*

Page 32: UML Diagramas de Clase

• Asociación Binaria: relación conformada pordos tipos de entidades entre sí.

Persona Automóvil

Características de los Datos y sus Relaciones

1 *

Page 33: UML Diagramas de Clase

Ejemplos:

Diagrama de Clases

Esposo Esposa1 1Esta Casado con

Maestro Estudiante1 *Enseña

Cajero Cliente1 1..*Atiende

Casa Chimenea1 0,1Tiene

Page 34: UML Diagramas de Clase

Asociación.

Puede tener Multiplicidad (*, 0..1, 1..*)

Puede tener restricciones entre { }

Se puede indicar el sentido de la lectura

• Indica que los objetos de una clase están conectados con

los de otra.

� Multiplicidad (Cardinalidad).

� Roles de las clases en la asociación.Símbolo Significado

0..1 Cero o Uno

1..1 Sólo 1

0..* Muchos

1..* Uno o Varios

M..N Mínimo M hasta N (M <

N)1..1

1..*

Vendedor

codigo

nombre

apellido

fono

direccion

Cliente

RUT

nombreCliente

apellidoCliente

direccionCliente

emailCliente

Diagrama de Clases

Page 35: UML Diagramas de Clase

Notaciones para Modelos de Datos

Page 36: UML Diagramas de Clase

Asociación Unaria

Asociación Binaria

Asociación Ternaria

Diagrama de Clases UMLNotaciones para Modelos de Datos

Asociaciones: multiplicidad

Page 37: UML Diagramas de Clase

Asociación Unaria Asociación Ternaria

Pedido

Producto

Orden de despacho

Bodega1.*

1.*

1.*

Asignatura

*

*

Conductor

o...4

1

Conduce

Diagrama de Clases UMLNotaciones para Modelos de Datos

Prerequesito

Page 38: UML Diagramas de Clase

Clase Asociación

Pueden asociarse diversas clases con una

en particular.

Una clase asociación modela los atributos

y operaciones de una asociación. Se

conecta a una asociación mediante una

línea discontinua, y puede asociarse a

otra clase.

Diagrama de Clases

Page 39: UML Diagramas de Clase

trabaja_paraEmpresa Persona

Diagrama de Clases UMLNotaciones para Modelos de Datos

Asociaciones: clases de asociación

Contrato

Page 40: UML Diagramas de Clase

� Clase de Asociación.

La clase de asociación no puede estar conectada a más

de una asociación.

0..1patron

1..*empleado

Compañía Persona

Contrato

descirpcionfechaContratosalario

Diagrama de Clases

Page 41: UML Diagramas de Clase

� Relaciones.

La clase de asociación debe llamarse como la

asociación

Diagrama de Clases

Page 42: UML Diagramas de Clase

más sobre asociaciones...

1..* 1..*Alumno Curso

Características de los Datos y sus Relaciones

Inscripción

Semestre/AñoVTR

Clase de Asociación

Page 43: UML Diagramas de Clase

trabaja_para

Diagrama de Clases UMLNotaciones para Modelos de Datos

Asociaciones: clases de asociación

Page 44: UML Diagramas de Clase

Clase Asociación

Pueden asociarse diversas clases con una

en particular.

Diagrama de Clases

Defensa Participa en

ContratoNegociado por

Equipo

DirectorGeneral

Page 45: UML Diagramas de Clase

Clase Asociación

Diagrama de Clases

Posible problema: Mucha parte del negocio depende de la clase asociación

Page 46: UML Diagramas de Clase

Diagrama de ClasesDependiendo del escenario de negocio, una buena práctica podría ser

Page 47: UML Diagramas de Clase

Herencia

Page 48: UML Diagramas de Clase

Jerarquías de Herencia Si Ud. Conoce algo de

una categoría de cosas, automáticamente sabrá

algunas cosas que podrá transferir a otras

categorías. Si usted sabe que algo es un animal

dará por hecho que come, duerme, tiene forma

de nacer, de trasladarse de un lugar a otro y

algunos atributos (y operaciones) que podrá

listar si pensara en ello por algunos instantes.

Diagrama de Clases

Page 49: UML Diagramas de Clase

Jerarquías

Herencia o generalización. UML a la herencia

también la denomina generalización. Una clase

(La clase secundaría o subclase) puede heredar

atributos y operaciones de otra (La clase

principal o superclase). La clase principal

(Padre) es más genérica que la secundaria

(hijo).

Diagrama de Clases

Page 50: UML Diagramas de Clase

Jerarquías Herencia o generalización.

Generalización/Especialización. (“es un”)

Diagrama de Clases

Animal

Anfibio Mamífero Reptil

Caballo

Page 51: UML Diagramas de Clase

Herencia o generalización Abstracta.

Suponga

Diagrama de Clases

Jugador

Defensa Delantero Centro

Page 52: UML Diagramas de Clase

- Relaciones.

�Herencia: Generalización/Especialización. (“es un”)

Academico

RutNombreApellidos

JornadaCompleta

Oficinaanexo

JornadaParcial

Horasemail

Diagrama de Clases

Page 53: UML Diagramas de Clase

Herencia:

Diagrama de Clases UMLNotaciones para Modelos de Datos

Page 54: UML Diagramas de Clase

Usuario

login : String

password : String

Nombre : String

claveDB

getNombre()

login()

load()

Profesor

horas_de_trabajo : Integer

jefeCurso : String

fijarPrueba()

Administrativo

cargo : String

marcarTarjeta()

Empleado

sueldo : Integer

titulo : String

pagarSueldo()

Secretaria

matricularAlumno()

Director

contratarProfesor()

Portero

limpiarPasillo()

Alumno

curso : Integer

promedio : Single

nuevaAnotacion()

nuevaNota()

registrarAsistencia()

rendirPrueba()

Page 55: UML Diagramas de Clase

P e rs o n a

A lu m n o P ro fe s o r A d m is t ra t ivo

H o m b re M u j erC h ile n o

E x t ra n je ro

Diagrama de Clases UMLNotaciones para Modelos de Datos

Page 56: UML Diagramas de Clase

• Cobertura: si todas las entidades del supertipo puedenser clasificados por, al menos, uno de los subtipos, lajerarquía de herencia tiene cobertura completa (total,exhaustiva).

Enfoque de Orientación a Objetos

Herencia: propiedades.

Persona

Alumno Profesor Admistrativo

Coberturacompleta, elnombre de laclase va conletra cursiva

Page 57: UML Diagramas de Clase

• Exclusividad: si una entidad sólo puede pertenecer auno de los subtipos a la vez, la jerarquía de herencia esexclusiva.

• Dinamicidad: aunqueuna entidad pertenezca auno de los subtipos, esposible que también seade otro.

Enfoque de Orientación a Objetos

Herencia: propiedades.

Page 58: UML Diagramas de Clase

- Relaciones.

�Herencia: Generalización/Especialización. (“es un”)

Diagrama de Clases

Page 59: UML Diagramas de Clase

Persona

Alumno Profesor Admistrativo

Clase Abstracta

Características de los Datos y sus Relaciones

Page 60: UML Diagramas de Clase

Asociación por Agregación

Page 61: UML Diagramas de Clase

Existen dos tipos de agregación:

• Simple: sólo es una relación conceptual, notiene implicaciones en el comportamiento de lasclases. No considera una dependenciaexistencial entre las partes y el todo.

• Compuesta (composición): presenta fuertesimplicaciones de comportamiento. La composi-ción une la existencia de las partes al todo: si eltodo desaparece también desaparecen suspartes.

Características de los Datos y sus Relaciones

Page 62: UML Diagramas de Clase

Asociación por agregación Simple:

Una asociación por agregación simple se

representa por una línea entre el

componente y el todo, con un rombo sin

relleno que conforma al todo.

Diagrama de Clases

Page 63: UML Diagramas de Clase

Relaciones.

� Agregación (simple). Sólo distingue el todo de las

partes, y no une la existencia de las partes a la del todo.

(“tiene” o “contiene”)

0..*

1..*

Empleado

RUTnombreapellidofonodireccion

EquipoDeTrabajo

numeroDeIntegrantesfechaDeFormacion

Diagrama de Clases

Page 64: UML Diagramas de Clase

-Relaciones. Agregación (simple).

� Una relación de agregación es la que forma un todo con

sus partes.

� Son un tipo especial de relación de asociación.

� Pueden tener nombre, roles, multiplicidad, …

� En las relaciones de agregación, un objeto que

representa una parte puede estar compartido por varios

objetos que representan el todo (un alumno está en un

curso y también puede estar en un grupo de amigos)

Diagrama de Clases

Page 65: UML Diagramas de Clase

Asociación por agregación:

Diagrama de Clases

Computador

parlante Gabinete Teclado Monitor Ratón

Botón Bola

USB CD RAM Video

Page 66: UML Diagramas de Clase

Asociación Agregación Compuesta

Page 67: UML Diagramas de Clase

� Relación Agregación Compuesta (Composición).

Las relaciones de composición son un tipo especial

de relación de agregación.

�Los objetos “parte” siempre están asociados a

un objeto todo y sólo a uno, se crean y se

destruyen con él (Empleado y Empresa).

�Los objetos parte no pueden compartirse

entre varios objetos todo.

Diagrama de Clases

Page 68: UML Diagramas de Clase

Composición: (agregación compuesta)

Factura ItemFactura

Características de los Datos y sus Relaciones

Page 69: UML Diagramas de Clase

� Relaciones. Agregación Compuesta (Composición).

� Establece un fuerte vínculo entre el todo y las partes.

� Liga la existencia de las partes a la existencia del todo.

1..*

1

Departamento

nombre

piso

numeroDeEmpleados

gerente

Empresa

RUT

nombre

direccion

fono

Diagrama de Clases

Page 70: UML Diagramas de Clase

Diagrama de Clases

Page 71: UML Diagramas de Clase

Agregación:• Simple: rombo en blanco en el lado del todo.• Compuesta: rombo “ennegrecido” en el ladodel todo.

Enfoque de Orientación a Objetos

Page 72: UML Diagramas de Clase

Análisis de Sistemas

1.- Resumen del Proceso Unificado

3.- Levantamiento de Requisitos – UML : Casos de Uso

2.- Lenguaje Unificado de Modelado (UML)

4.- Análisis del Sistema – UML

4.2.- Diagrama de Clases (modelo conceptual)

4.3.- Diagrama de Estados

4.1.- Diagrama de Actividades