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 Representación (Estructura): (Estructura):
CLASE
Nombre de la clase
Atributo1 : Tipo1 Atributo2 : Tipo2 Atributok : Tipok
Atributos
f1(p1 : Tipo1, p2 : Tipo2) f2(p21 : Tipo1) fn(p1 : Tipo1, p2 : Tipo2)
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
ALUMNO 20147895 : String Pérez Rubio : String Pedro Luis : String 04/05/1990 : Date Las Begonias 450 : String 17859623 : String agregarAlumno() leerAlumno() eliminarAlumno() modificarAlumno()
3. MULTIPLICIDAD.- Representa la relación numérica que se da entre clases
4
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
PE RS ONA
C A RRO
1
0..n 0.. n
2. Relación entre País y Capital tiene
PAIS 1
CAPITAL 1
3. Relación Relación entre entre Alumno Alumno y Curso matricula
ALUMNO 0..n 0.. n
CURSO 0 0..n ..n
4. Relación Relación entre entre Cliente Cliente y CuentaB CuentaBancar ancaria ia tiene
CLIENTE 1..2
CUENTA_BANCARIA 1..n
4. ASOCIACION: ASOCIACION: Represe Representa nta la relación relación entre entre dos o más objetos objetos Notación:
Estuctura:
4
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Relación
CLASE1 1..n
CLASE2 1
Asociacicción
Cardinalidad
Ejemplo: tiene
PE RSONA
CARRO
1
0 0..n ..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
Asociacion unidireccional (Dependencia)
4
Cardinalidad “La Clase A depende su existencia de la Clase B” Ejemplo: A. Usand Usando o asociac asociación ión::
Rational Rose Descripciones UCV-Ch: Gustavo Morales C. realiza
CLIENTE 1
1..n
B. Usand Usando o depende dependenci ncia: a: realiza CLIENTE 1
atiende
PEDIDO
0..n
1
atiende
PEDIDO 1..n
PERSONAL
0..n
PERSONAL 1
6. RECURSIVIDA RECURSIVIDAD: D: Representa Representa la relación relación de una clase clase así misma. misma. Notación:
Estructura: CLASE 0..n 0..1 relacion
4
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Gerente General
Jefe de Ventas
Operario 1
Jefe de Producción
Jefe de Personal
Operario 2
4
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
Ejemplo: PERSONAL 0..1 0..n
tiene a cargo 7. GENERALIZA GENERALIZACION CION (OR (OR excluyen excluyente): te): Represent Representa a el concep concepto to de HERENCIA. Las clases Hijas “heredan” atributos y métodos de la clase Padre. Notación:
Estructura:
NIVEL 1
Clase Padre
CLASE1
NIVEL NIVEL 0 (Raiz)
CLASE2
CLASE3
Clases Hijas
CLASE4
Clase Padre NIVEL NIVEL 2
Ejemplo: Clase EQUIPO
CLASE5
CLASE6
Clases Hijas
4
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
gasCodigo volumen : Double potenciaMaxima : Double agregarGas() leerGas() eliminarGas() modificarGas()
TANQUE
MOTOR
bombaCodigo : String CaudalEntrada CaudalEntrada : Double caudalSalida : Double nroPaletas : Integer
GAS
"Tipo de"
M_ELECTRICO
expCodigo : String nroCilindros nroCilindros : Integer diametroCilindro diametroCilindro : Date
eleCodigo : String voltaje : Double amperaje : Double
agregarExplosion() leerExplosion() eliminarExplosion() modificarExplosion()
agregarElectrico() leerElectrico() eliminarElectrico() modificarElectrico()
GASOLINERO
PETROLERO
gasoCodigo gasoCodigo : String octanaje : Double
petCodigo petCodigo : String viscosi dad : Double nroInyectores nroInyectores : Integer
agregarGasolinero() leerGasolinero() eliminarGasolinero() modificarGasolinero()
agregarPetrolero() leerPetrolero() eliminarPetrolero() modificarPetrolero()
4
8. COMPOSICION: Tiene una Clase Padre y Clases Hijas. Existe una relación lógica y física entre la Clase Padre y l a clases Hijas. Si se elimina la Clase Padre obligadamente deberán deberán eliminarse las Clase hijas. Notación: Se empieza utilizando el estereotipo de “Agregación” y en la clase Padre (Rol (Rol A detail o Rol B detail) marcar marcar By Value y se transforma transforma en composición 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 Padre “no obligadamente obligadamente “ deberán eliminarse eliminarse las Clases hijas. Notación:
Estructura:
CLASE1 4
1 conformado
1..n
CLASE2
Agregación
Rational Rose Descripciones UCV-Ch: Gustavo Morales C. Ejemplo1: Productos de una Pastelería (merengue, pionono pionono,, botija, etc.) Ingrediente (harina, leche, huevos, levadura, azúcar, mantequilla, etc.) Ejemplo2: Producto (lavadoras, refrigeradoras, cocinas a gas, gas, etc.) Componente (plancha galvanizada, remaches, soldadura, pintura, base, etc.) PRODUCTO 1
conformado
1..n
COMPONENTE
10. CLASE DE DERIVADA: Se Se cr crea de de un una re relación de de va varios a varios (1..n a 1..n) entre dos clases. Tiene sus propios atributos y sus propios métodos. Notación:
Estructura: relacion
C L AS E 1 n
1..n
CLASE3
Ejemplo:
C LASE 2
Clase derivada 4
Rational Rose Descripciones UCV-Ch: Gustavo Morales C.
ALUMNO aluCodigo : String Apellidos Apellidos : String Nombres : String FechaNac : Date Direccion : String DNI : String
CURSO
1..n 1..n
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
11. DIA DIAGRAM GRAMA A DE DE CLA CLASE SES: S: rep represe resent nta a la la es estru tructura tura de cl clases ases de un sistema informático. Ejemplo: Elaborar el diagrama de clases de un Sistema de Ventas
4