UML Diagramas de Clase

Post on 05-Aug-2015

201 views 5 download

Transcript of 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

-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

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

-EJEMPLO:

Diagrama de Clases

Lavadora

MarcaModelosNumeroSeriecapacidad

Agregar ropaAgregar detergenteSecar ropa

-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

- 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

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

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

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

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

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

Diagrama de Clases

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

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

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

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

Los diagramas de clases están

formados por Clases

�Atributos (Propiedades)

�Métodos (Operaciones)

Relaciones

�Asociación

�Herencia

�Composición

Diagrama de Clases

Formato gráfico de una clase

Nombre de la Clase

Zona de Atributos

(puede omitirse)

Zona de Métodos

(puede omitirse)

Diagrama de Clases

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

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

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

Relaciones: “Conexiones entre elementos”.

Diagrama de Clases

Semánticas de los Datos

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

Tipos de Semánticas:

• Cardinalidad.

• Grado.

• Dependencia Existencial

• Tiempo.

• Unicidad.

• Herencia.

• Agregación.

• Categorización.

Características de los Datos y sus Relaciones

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

• 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

• 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 *

• 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

* *

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

• 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..*

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

Persona Automóvil

Características de los Datos y sus Relaciones

1 *

Ejemplos:

Diagrama de Clases

Esposo Esposa1 1Esta Casado con

Maestro Estudiante1 *Enseña

Cajero Cliente1 1..*Atiende

Casa Chimenea1 0,1Tiene

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

Notaciones para Modelos de Datos

Asociación Unaria

Asociación Binaria

Asociación Ternaria

Diagrama de Clases UMLNotaciones para Modelos de Datos

Asociaciones: multiplicidad

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

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

trabaja_paraEmpresa Persona

Diagrama de Clases UMLNotaciones para Modelos de Datos

Asociaciones: clases de asociación

Contrato

� 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

� Relaciones.

La clase de asociación debe llamarse como la

asociación

Diagrama de Clases

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

trabaja_para

Diagrama de Clases UMLNotaciones para Modelos de Datos

Asociaciones: clases de asociación

Clase Asociación

Pueden asociarse diversas clases con una

en particular.

Diagrama de Clases

Defensa Participa en

ContratoNegociado por

Equipo

DirectorGeneral

Clase Asociación

Diagrama de Clases

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

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

Herencia

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

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

Jerarquías Herencia o generalización.

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

Diagrama de Clases

Animal

Anfibio Mamífero Reptil

Caballo

Herencia o generalización Abstracta.

Suponga

Diagrama de Clases

Jugador

Defensa Delantero Centro

- Relaciones.

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

Academico

RutNombreApellidos

JornadaCompleta

Oficinaanexo

JornadaParcial

Horasemail

Diagrama de Clases

Herencia:

Diagrama de Clases UMLNotaciones para Modelos de Datos

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()

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

• 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

• 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.

- Relaciones.

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

Diagrama de Clases

Persona

Alumno Profesor Admistrativo

Clase Abstracta

Características de los Datos y sus Relaciones

Asociación por Agregación

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

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

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

-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

Asociación por agregación:

Diagrama de Clases

Computador

parlante Gabinete Teclado Monitor Ratón

Botón Bola

USB CD RAM Video

Asociación Agregación Compuesta

� 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

Composición: (agregación compuesta)

Factura ItemFactura

Características de los Datos y sus Relaciones

� 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

Diagrama de Clases

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

Enfoque de Orientación a Objetos

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