Diagrama de Clases Entidad

• Uno de los mas importantes entre los diagramas UML • Define la estructura del sistema y dirige al Análisis y Diseño • Captura la estructura estática de las relaciones del sistema

Copyright © 2007, Cibertec. Todos los derechos reservados

Diagrama de Clases Entidad

Pedido Mesa -numMesa -descripcion -numPedido -numMesa -CodigoMozo -Condicion +Consulta() +Registra Pedido() 1 * * Mozo -CodigoMozo -NombreMozo -ApellidoMozo

1

*

CLASES

RELACIONES
1..* Platos ItemPedido -numPedido -CodItem -Precio -Cantidad -CodItem -Descripcion -precio -Saldo +Consulta Item() +Actualiza Saldo()

1..*

1

Representa la estructura estática en términos de clases y relaciones.
Copyright © 2007, Cibertec. Todos los derechos reservados

Relación de Clases

 Es el camino para la comunicación entre objetos  Tipos importantes de relaciones:  Asociación  Herencia  Agregación / Composición

Copyright © 2007, Cibertec. Todos los derechos reservados

Relación de Asociación

 Conexión bidireccional entre clases.  Línea que conecta las clases.
Pedido -numPedido -numMesa -CodigoMozo -Condicion
ItemPedido -numPedido -CodItem -Precio -Cantidad
Copyright © 2007, Cibertec. Todos los derechos reservados

Platos -CodItem -Descripcion -precio -Saldo

Relación de Herencia

Persona -direccion -telefono

Natural -nombre -fechaNac

juridica -razonSocial -fechaConst

Clasificación entre un elemento mas general a uno mas específico.
Copyright © 2007, Cibertec. Todos los derechos reservados

Empleado -Codigo -Apellidos -Nombres -FechaIng -Sueldo +CrearEmpleado() +ActSueldoBasico()

La clase vendedor tendrá: • 5 atributos heredados (Codigo, Apellidos, Nombres, FechaInf, Sueldo

Vendedor -Codigo -Apellidos -Nombres -FechaIng -Sueldo -Comision +CrearEmpleado() +ActSueldoBasico()

• 1 atributo propio (Comision) • 2 operaciones heredadas (CrearEmpleado y ActSueldoBasico)

Copyright © 2007, Cibertec. Todos los derechos reservados

Ejemplo

Factura noFactura : Integer fecha : Date = DATE() igv : Double = 18.00 descuento : Currency = 0

Cliente

Pais

realiza 1..n 1

codCliente : Integer direccion : String telefono : Long

reside 0..n 1

codPais : Integer Descripcion : String

1
PersonaNatural nombre : String dni : String PersonaJuridica razonSocial : String ruc : String

está compuesta

1..n
DetalleFactura noItem : Integer cantidad : Integer = 0 descuento : Double

está asociada 0..n 1

Producto codProducto : Integer descripcion : String um : String pu : Currency = 0.00 presentacion : String

Copyright © 2007, Cibertec. Todos los derechos reservados

Relación de Agregación
• Son relaciones que implican en su significado que una clase “contiene a” otras clases independientes. • Cuando deja de existir la clase agregada no tiene por qué dejar de existir el resto de las clases de la agregación. • El tiempo de vida de la clase agregada no define el tiempo de vida del resto de las clases. • Se representa a través de un rombo transparente en el extremo de la clase agregada.

Copyright © 2007, Cibertec. Todos los derechos reservados

Ejemplo

Computadora

Monitor

CPU

Parlante

Teclado

Ratón

DiscoDuro

RAM

UnidadCD

TarjetaVideo

TarjetaSonido

Botón

Bola

Copyright © 2007, Cibertec. Todos los derechos reservados

Relación de Composición
• Son relaciones que impliquen en su significado que una “está compuesta por” otras clases dependientes. • Cuando deja de existir la clase compuesta deja de existir el resto de las clases de la composición. • El tiempo de vida de la clase compuesta define el tiempo de vida del resto de las clases. • Es un tipo muy especial de agregación en la que la relación tienen mucha más fuerza. • Se representa a través de un rombo relleno en el extremo de la clase compuesta.
Copyright © 2007, Cibertec. Todos los derechos reservados

Relación de Composición
• Representa un objeto compuesto por otros objetos.

Auto

-Tiene un 1 1

Motor

Copyright © 2007, Cibertec. Todos los derechos reservados

Relación de Agregación

Automovil

1

1

1 Carroceria

1 Motor

Copyright © 2007, Cibertec. Todos los derechos reservados

Herencia vs. Agregación

Diferencias:  La herencia representa una relación “es un” o “tipo de”  La agregación representa una relación “tiene un”

Copyright © 2007, Cibertec. Todos los derechos reservados

Herencia vs. Agregación

Abstracciones más generales. ve hiculo

Padre +hijos 0..*

+Padre 0..2

pueden tener

vehiculo terrestre

vehiculo a éreo

camion

coche

avion

helicoptero

Copyright © 2007, Cibertec. Todos los derechos reservados

Ejemplo
"Juan Pérez es Profesor de Matemáticas en la Universidad de San Martín de Porres. Nacio en Arequipa, pero actual mente vive en la Calle San Pedro No.232, del distrito de Surquillo."

nació en Universidad

DepartamentoGeográfico

Facultad

EscuelaProfesional

Provincia

se dicta en Distrito DepartamentoAcademico Curso Persona trabaja en dicta

Profesor

reside en

Copyright © 2007, Cibertec. Todos los derechos reservados

Modelo Conce ptual

• Su propósito principal es mostrarnos las “Reglas del Negocio”, se pretende lograr entender la perspectiva del Cliente, Usuario o Patrocinador. • Es la etapa más importante del ADOO.

Copyright © 2007, Cibertec. Todos los derechos reservados

Modelo Conc eptu al

• Es un mecanismo que guía a través de la etapa de “Escuchar”, ayudando a entender cada parte del Sistema que se está diseñando y para integrar apropiadamente todas sus funciones; este proceso ayuda a organizar la información. • Podemos empezar haciendo una lista de clases candidatas a partir de la especificación preliminar. (clases relevantes)

Copyright © 2007, Cibertec. Todos los derechos reservados

Clases Relevantes
• Una vez que tenemos la lista hay que revisarlas eliminando las incorrectas con los siguientes criterios: – Clases redundantes. – Clases irrelevantes – Clases demasiado generales – Roles

Copyright © 2007, Cibertec. Todos los derechos reservados

Not ac ión UML: Jef feson D ance C lu b

Empresa Club ClubDeBaile

Cliente Estudiante EstudianteDeBaile InstructorTP InstructorTC

Leccion LeccionDeBaile LeccionDeBailePrivado LecciondeBaileEnGrupo Dia

Baile

Instructor Maestro

Persona

Participante

Copyright © 2007, Cibertec. Todos los derechos reservados

Not ación U ML: Jef feson Da nce Clu b

Empresa Club ClubDeBaile Instructor

Cliente Estudiante EstudianteDeBaile InstructorTP InstructorTC

Leccion LeccionDeBaile LeccionDeBailePrivado

Dia

Baile LecciondeBaileEnGrupo

Persona Participante

Maestro

Copyright © 2007, Cibertec. Todos los derechos reservados

Jefferson Dance Club
Leccion

Em pres a

LeccionDeBaile

Persona

Club

LeccionDeBailePrivado
ClubDeBaile

LecciondeBaileEnGrupo

Empleado

Cliente

Edif icio

Baile
Administrador Instructor

Am bient e

InstructorTP

InstructorTC
Aula Auditorio

Copyright © 2007, Cibertec. Todos los derechos reservados

Identificar las reglas del Negocio

Empresa

Persona

asiste

Baile Leccion

Club

Empleado

Cliente

se registra en

LeccionDeBaile

se dicta en

trabaja en ClubDeBaile Administrador Instructor

enseña

LeccionDeBailePrivado

LecciondeBaileEnGrupo

Edificio InstructorTP InstructorTC

Ambiente

Aula

Auditorio

Copyright © 2007, Cibertec. Todos los derechos reservados

Consejos prácticos para un Modelamiento de Objetos
• No lanzarse a dibujar clases y asociaciones sin sentido • Elaborar un modelo simple • Los nombres de objetos, asociaciones, atributos y operaciones deben ser significativos • Tratar de usar asociaciones binarias • Utilizar los elementos necesarios • Documentar el modelo • Evitar las jerarquías de composición o generalización de muchos niveles

Copyright © 2007, Cibertec. Todos los derechos reservados

Laboratorio: Desarrolle el Modelo conceptual del Caso del Restaurante

Copyright © 2007, Cibertec. Todos los derechos reservados