Rational Rose Descripciones UCV-Ch: Gustavo Morales C. DIAGRAMA DE CLASES Representa la estructura entre las clases de un sistema de información 1. CLASE.- Representa la estructura de un conjunto de objetos. Es la generalización de los objetos Representación (Estructura):
CLASE Atributo1 : Tipo1 Atributo2 : Tipo2 Atributok : Tipok f1(p1 : Tipo1, p2 : Tipo2) f2(p21 : Tipo1) fn(p1 : Tipo1, p2 : Tipo2)
Nombre de la clase Atributos (Características) Métodos, Operaciones u Eventos
Ejemplo: Clase ALUMNO
ALUMNO AluCodigo : String Apellidos : String Nombres : String FechaNac : Date Direccion : String DNI : String agregarAlumno() leerAlumno() eliminarAlumno() modificarAlumno()
2. OBJETO.- Es la instanciación de una clase. Es la particularidad de una clase Ejemplo: objeto José Pérez de la Clase ALUMNO
agregarAlumno() leerAlumno() eliminarAlumno() modificarAlumno()
3. MULTIPLICIDAD.- Representa la relación numérica que se da entre clases
4
ALUMNO 20147895 : String Pérez Rubio : String Pedro Luis : String 04/05/1990 : Date Las Begonias 450 : String 17859623 : String
Rational Rose Descripciones UCV-Ch: Gustavo Morales C. Estructura: • Cero, uno o varios • Uno o varios • Cero o uno : 0..1 • Exactamente uno • Dos, cinco o siete
: 0..n : 1..n :1 : 2, 5, 7
Ejemplos: Representar la multiplicidad de: 1. Relación entre Persona y Carro
tiene
PERSONA
CARRO
1
0..n
2. Relación entre País y Capital
tiene
PAIS 1
CAPITAL 1
3. Relación entre Alumno y Curso
matricula
ALUMNO 0..n
CURSO 0..n
4. Relación entre Cliente y CuentaBancaria
tiene
CLIENTE 1..2
CUENTA_BANCARIA 1..n
Estuctura:
4
4. ASOCIACION: Representa la relación entre dos o más objetos Notación:
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Relación
CLASE1 1..n
CLASE2 1
Asociacicción
Cardinalidad
Ejemplo:
tiene
PERSONA
CARRO
1
0..n
5. ASOCIACION UNIDIRECCIONAL (DEPENDENCIA): Una clase A depende su existencia de una clase B, es decir, la clase A, por sí sola no existe Notación:
Estructura:
relacion
CLASE_A 0..n
CLASE_B 1
4
Asociacion unidireccional (Dependencia)
Cardinalidad “La Clase A depende su existencia de la Clase B” Ejemplo: A. Usando asociación:
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
realiza
CLIENTE
1..n
1
atiende
PEDIDO
0..n
PERSONAL 1
B. Usando dependencia:
realiza
CLIENTE 1
atiende
PEDIDO 1..n
0..n
PERSONAL 1
6. RECURSIVIDAD: Representa la relación de una clase así misma. Notación:
Estructura: CLASE 0..n 0..1
4
relacion
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Gerente General
Operario 1
Jefe de Producción
Jefe de Personal
Operario 2
4
Jefe de Ventas
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Ejemplo:
PERSONAL 0..1 0..n
tiene a cargo 7. GENERALIZACION (OR excluyente): Representa el concepto de HERENCIA. Las clases Hijas “heredan” atributos y métodos de la clase Padre. Notación:
Estructura:
NIVEL 1
Clase Padre
CLASE1
NIVEL 0 (Raiz)
CLASE2
CLASE3
Clases Hijas
CLASE4
NIVEL 2
Ejemplo: Clase EQUIPO
CLASE5
CLASE6
Clases Hijas
4
Clase Padre
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
EQUIPO EqCodigo : String EqDescripcion : String EqFechaFabricacion : Date EqFechaCompra : Date EqFechaInstalacion : Date EqPeso : Double agregarEquipo() leerEquipo() EliminarEquipo() modificarEquipo()
BOMBA
agregarBomba() leerBomba() eliminarBomba() modificarBomba()
motCodigo : String Potencia : Double HP : Double
tanCodigo : String volumen : Double PresionMaxima : Double
agregarMotor() leerMotor() eliminarMotor() modificarMotor()
agregarTanque() leerTanque() eliminarTanque() modificarTanque()
M_EXPLOSION
GAS
M_ELECTRICO
expCodigo : String nroCilindros : Integer diametroCilindro : Date
eleCodigo : String voltaje : Double amperaje : Double
agregarExplosion() leerExplosion() eliminarExplosion() modificarExplosion()
agregarElectrico() leerElectrico() eliminarElectrico() modificarElectrico()
GASOLINERO
PETROLERO
gasoCodigo : String octanaje : Double
petCodigo : String viscosidad : Double nroInyectores : Integer
agregarGasolinero() leerGasolinero() eliminarGasolinero() modificarGasolinero()
agregarPetrolero() leerPetrolero() eliminarPetrolero() modificarPetrolero()
4
agregarGas() leerGas() eliminarGas() modificarGas()
TANQUE
MOTOR
bombaCodigo : String CaudalEntrada : Double caudalSalida : Double nroPaletas : Integer
gasCodigo volumen : Double potenciaMaxima : Double
"Tipo de"
8. COMPOSICION: Tiene una Clase Padre y Clases Hijas. Existe una relación lógica y física entre la Clase Padre y la clases Hijas. Si se elimina la Clase Padre obligadamente deberán eliminarse las Clase hijas. Notación: Se empieza utilizando el estereotipo de “Agregación” y en la clase Padre (Rol A detail o Rol B detail) marcar By Value y se transforma en composición (rombo relleno).
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Estructura: CLASE1 1
Composición
contiene
1..n
CLASE2
Ejemplo:
FACTURA 1
compuesta 1..n
FACTURA_DETALLE
9. AGREGACION: Tiene una Clase Padre y Clases Hijas. Existe una relación lógica y pero no física entre la Clase Padre y la clases Hijas. Si se elimina la Clase Padre “no obligadamente “ deberán eliminarse las Clases hijas. Notación:
Estructura:
CLASE1
conformado
1..n
CLASE2
4
1
Agregación
Rational Rose Descripciones UCV-Ch: Gustavo Morales C. Ejemplo1: Productos de una Pastelería (merengue, pionono, botija, etc.) Ingrediente (harina, leche, huevos, levadura, azúcar, mantequilla, etc.) Ejemplo2: Producto (lavadoras, refrigeradoras, cocinas a gas, etc.) Componente (plancha galvanizada, remaches, soldadura, pintura, base, etc.)
PRODUCTO 1
conformado
1..n
COMPONENTE
10. CLASE DERIVADA: Se crea de una relación de varios a varios (1..n a 1..n) entre dos clases. Tiene sus propios atributos y sus propios métodos. Notación:
Estructura: relacion n
1..n
CLASE3
Ejemplo:
CLASE2
Clase derivada
4
CLASE1
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
ALUMNO aluCodigo : String Apellidos : String Nombres : String FechaNac : Date Direccion : String DNI : String
CURSO
1..n
1..n
curCodigo : String Descripcion : String Creditos : Integer HrTeoria : Integer HrLab : Integer
MATRICULA Asociacion de clase
aluCodigo : String curCodigo : String semestre : String nota : Integer
Clase derivada
4
11. DIAGRAMA DE CLASES: representa la estructura de clases de un sistema informático. Ejemplo: Elaborar el diagrama de clases de un Sistema de Ventas