You are on page 1of 20

DIAGRAMA DE CLASES Representa la estructura entre las clases de un sistema de informacin 1. CLASE.- Representa la estructura de un conjunto de objetos.

generalizacin de los objetos Representacin (Estructura):

Es la

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 (Caractersticas) Mtodos, 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 instanciacin de una clase. Es la particularidad de una clase Ejemplo: objeto Jos Prez de la Clase ALUMNO

ALUMNO
20147895 : String Prez Rubio : String Pedro Luis : String 04/05/1990 : Date Las Begonias 450 : String 17859623 : String agregarAlumno() leerAlumno() eliminarAlumno() modificarAlumno()

3. MULTIPLICIDAD.- Representa la relacin numrica que se da entre clases Estructura: Cero, uno o varios : 0..n 0..* Uno o varios : 1..n 1..* Cero o uno : 0..1

Exactamente uno Dos, cinco o siete

:1 : 2, 5, 7

Ejemplos: Representar la multiplicidad de: 1. Relacin entre Persona y Carro

PERSONA
1

tiene
0..n

CARRO

2. Relacin entre Pas y Capital

PAIS
1

tiene
1

CAPITAL

3. Relacin entre Alumno y Curso

ALUMNO
0..n

matricula
0..n

CURSO

4. Relacin entre Cliente y CuentaBancaria

CLIENTE
1..2

tiene
1..n

CUENTA_BANCARIA

4. ASOCIACION: Representa la relacin entre dos o ms clases Notacin:

Estuctura:

Ejemplo:
PERSONA
1

tiene
0..n

CARRO

5. ASOCIACION UNIDIRECCIONAL (DEPENDENCIA): Una clase A depende su existencia de una clase B, es decir, la clase A, por s sola no existe Notacin:

Estructura:

La Clase A depende su existencia de la Clase B Ejemplo: A. Usando asociacin:

CLIENTE
1

realiza
1..n

PEDIDO

atiende
0..n 1

PERSONAL

B. Usando dependencia:

CLIENTE
1

realiza
1..n

PEDIDO
0..n

atiende
1

PERSONAL

6. RECURSIVIDAD: Representa la relacin de una clase as misma. Notacin:

Estructura:
CLASE
0..n 0..1

relacion

Gerente General

Jefe de Ventas

Jefe de Produccin

Jefe de Personal

Operario 1

Operario 2

Ejemplo:

PERSONAL
0..1 0..n

tiene a cargo
7. GENERALIZACION (OR excluyente): Representa el concepto de HERENCIA. Las clases Hijas heredan atributos y mtodos de la clase Padre. Notacin:

Estructura:

NIVEL 0 (Raiz)

CLASE1

Clase Padre

NIVEL 1

CLASE2

CLASE3

CLASE4

Clases Hijas Clase Padre

NIVEL 2

CLASE5

CLASE6

Clases Hijas

Ejemplo: Clase EQUIPO


EQUIPO
EqCodigo : String EqDescripcion : String EqFechaFabricacion : Date EqFechaCompra : Date EqFechaInstalacion : Date EqPeso : Double agregarEquipo() leerEquipo() EliminarEquipo() modificarEquipo()

"Tipo de"

BOMBA
bombaCodigo : String CaudalEntrada : Double caudalSalida : Double nroPaletas : Integer agregarBomba() leerBomba() eliminarBomba() modificarBomba()

MOTOR
motCodigo : String Potencia : Double HP : Double agregarMotor() leerMotor() eliminarMotor() modificarMotor()

TANQUE
tanCodigo : String volumen : Double PresionMaxima : Double agregarTanque() leerTanque() eliminarTanque() modificarTanque()

M_EXPLOSION
expCodigo : String nroCilindros : Integer diametroCilindro : Date agregarExplosion() leerExplosion() eliminarExplosion() modificarExplosion()

M_ELECTRICO
eleCodigo : String voltaje : Double amperaje : Double agregarElectrico() leerElectrico() eliminarElectrico() modificarElectrico()

GAS
gasCodigo volumen : Double potenciaMaxima : Double agregarGas() leerGas() eliminarGas() modificarGas()

GASOLINERO
gasoCodigo : String octanaje : Double agregarGasolinero() leerGasolinero() eliminarGasolinero() modificarGasolinero()

PETROLERO
petCodigo : String viscosidad : Double nroInyectores : Integer agregarPetrolero() leerPetrolero() eliminarPetrolero() modificarPetrolero()

8. COMPOSICION: Tiene una Clase Padre y Clases Hijas. Existe una relacin lgica y fsica entre la Clase Padre y las clases Hijas. Si se elimina la Clase Padre obligadamente debern eliminarse las Clase hijas. Notacin: Se empieza utilizando el estereotipo de Agregacin y en la clase Padre (Rol A detail o Rol B detail) marcar By Value y se transforma en composicin (rombo relleno).

Estructura:
CLASE1
1

contiene

Composicin

1..n

CLASE2

Ejemplo:

FACTURA
1

compuesta
1..n

FACTURA_DETALLE

9. AGREGACION: Tiene una Clase Padre y Clases Hijas. Existe una relacin lgica y pero no fsica entre la Clase Padre y la Clases Hijas. Si se elimina la Clase Padre no obligadamente debern eliminarse las Clases hijas. Notacin:

Estructura:
CLASE1
1

conformado

Agregacin

1..n

CLASE2

Ejemplo1: Productos de una Pastelera (merengue, pionono, botija, etc.) Ingrediente (harina, leche, huevos, levadura, azcar, 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 relacin de varios a varios (1..n a 1..n) entre dos clases. Tiene sus propios atributos y sus propios mtodos. Notacin:

Estructura:
CLASE1
n

relacion
1..n

CLASE2

CLASE3

Clase derivada

Ejemplo:
ALUMNO
aluCodigo : String Apellidos : String Nombres : String FechaNac : Date Direccion : String DNI : String

CURSO
curCodigo : String Descripcion : String Creditos : Integer HrTeoria : Integer HrLab : Integer

1..n

1..n

MATRICULA Asociacion de clase


aluCodigo : String curCodigo : String semestre : String nota : Integer

Clase derivada

11.DIAGRAMA DE CLASES: representa la estructura de clases de un sistema informtico. Ejemplo: Elaborar el diagrama de clases de un Sistema de Ventas

Dando doble click en el nombre del diagrama de clases (DCSistemaDeVentas) aparece el editor (Barra de herramientas) donde se elabora el diagrama de clases.

Agregar nuevos estereotipos seleccionando la barra de herramientas y pulsando botn derecho:

Se agregan los estereotipos faltantes:

Se agregan a la barra de herramientas:

Elaboramos el diagrama de clases del sistema de ventas en el editor.

CLIENTE
clieId : String Direecion : String Telefono : String Email : String FechaIngreso : Date agregarCliente() leerCliente() eliminarCliente() modificarCliente() grabarCliente() 1

PUESTO PERSONAL realiza


1..n

PEDIDO
Fecha : Date Monto : Currency Estado : String 1 0..n

atiende
1 1

Apellidos : String Nombre : String FechaNac : Date Sexo : String DNI : String Sueldo : Currency FechaIng : Date

ocupa
1 1..n 0..1

Descripcion : String

contiene
0..n 1..n

tiene a cargo

PEDIDODETALLE NATURAL
Apellidos : String Nombre : String FechaNac : Date Sexo : String DNI : String

relaciona LINEA
Descripcion : String 1

JURIDICO
RUC : String RazonSocial : String FAX : String Contacto : String

Precio : Currency Cantidad : Integer

relaciona
1

1..n

pertenece
1..n 1

PRODUCTO
Descripcion : String Precio : Currency Stock : Integer StkMin : Integer UniMed : String 1

relaciona
1 1..n

DOCVTADETALLE
Precio : Currency Cantidad : Integer

compuesto
1..n 1

DOCUMENTOVENTA
Fecha : Date Monto : Currency Estado : String

1 1

conformado
1..n

COMPONENTE
Descripcion : String Precio : Currency Cantidad : Integer UniMed : String

PROVEEDOR proveido
1..n 1..n RUC : String RazonSocial : String Telefono : String Direccion : String FAX : String Contacto : String

FACTURA
RUC : String

BOLETAVENTA
DNI : String

1..n 1..n

COMPONENTEPROVEEDOR
Fecha : Date Precio : Currency Observacion : String

tiene tiene

12.PASO DE UN DIAGRAMA DE CLASES A UN MODELO RELACIONAL 1 Crear una base de datos (BDVentas) en un gestor de base (SQLServer) de datos a donde se va a migrar el modelo de entidades a partir del diagrama de clases 2 En el modelo de clases cambiar todas las clases en persistencia de trasiente a persistente (si se omite el cambio de una clase no migra al gestor de bases de datos).

3 En la vista de Component View seleccionar con botn derecho:

Dar nombre BDVentas y dar doble clic y seleccionar SQLserver 2000x en Target:

Y pulsar OK 4 Seleccionar la carpeta donde est en diagrama de clases (Sistema de Ventas), pulsar botn derecho y seleccionar:

Aparece el siguiente recuadro y seleccionar:

Pulsar OK y se genera el modelo de datos en Schemas

5 Crear en Modelo de Diseo un paquete llamado Modelo de Datos dentro de este paquetes de los respectivos subsistemas (Sistema de Compras, Sistema de Almacen, Sistema de Ventas), dentro del Paquete Sistema de Ventas crear un diagrama de clase llamado ModeloDeDatosSistemaDeVentas, y luego arrastrar a este diagrama vacio cada tabla desde donde se generaron (Schemas) y ordenar adecuadamente:

PERSONAL PEDIDO
(from S_BDVentas) (from S_BDVentas) Apellidos : VARCHAR(255) Nombre : VARCHAR(255) FechaNac : DATE Sexo : VARCHAR(255) DNI : VARCHAR(255) Sueldo : DOUBLE PRECISION FechaIng : DATE PERSONAL_ID : INTEGER PERSONAL_PERSONAL_ID : INTEGER PUESTO_ID : INTEGER <<PK>> PK_PERSONAL27() <<FK>> FK_PERSONAL25() <<FK>> FK_PERSONAL30() <<Index>> TC_PERSONAL59() <<Index>> TC_PERSONAL67() <<Non-Identifying>>

CLIENTE
(from S_BDVentas) clieID : VARCHAR(255) Direccion : VARCHAR(255) Telefono : VARCHAR(255) Email : VARCHAR(255) FechaIngreso : DATE CLIENTE_ID : INTEGER <<PK>> PK_CLIENTE19() 1 1 1 1..* <<Non-Identifying>>

pedidoID : VARCHAR(255) Fecha : DATE Monto : DOUBLE PRECISION Estado : VARCHAR(255) PEDIDO_ID : INTEGER CLIENTE_ID : INTEGER PERSONAL_ID : INTEGER <<PK>> PK_PEDIDO25() <<FK>> FK_PEDIDO24() <<FK>> FK_PEDIDO18() <<Index>> TC_PEDIDO57() <<Index>> TC_PEDIDO43() 1

<<Non-Identifying>>

<<Non-Identifying>> 1..* 1

PUESTO
(from S_BDVentas) Descripcion : VARCHAR(255) PUESTO_ID : INTEGER <<PK>> PK_PUESTO30()

0..* 1

<<Non-Identifying>>

<<Identifying >>

<<Identifying>>

<<Identifying>>

0..1 0..*

0..1 0..1

1..*

PEDIDODETALLE JURIDICO
(from S_BDVentas) RUC : VARCHAR(255) RazonSocial : VARCHAR(255) FAX : VARCHAR(255) Contacto : VARCHAR(255) CLIENTE_ID : INTEGER <<PK>> PK_JURIDICO35() <<FK>> FK_JURIDICO35()

NAT URAL
(from S_BDVentas) Apellidos : VARCHAR(255) Nombre : VARCHAR(255) FechaNac : DATE Sexo : VARCHAR(255) DNI : VARCHAR(255) CLIENTE_ID : INTEGER <<PK>> PK_NATURAL36() <<FK>> FK_NATURAL37()

(from S_BDVentas) Precio : DOUBLE PRECISION Cantidad : INTEGER PEDIDO_ID : INTEGER PRODUCTO_ID : INTEGER <<PK>> PK_PEDIDODETALLE26() <<FK>> FK_PEDIDODETALLE26() <<FK>> FK_PEDIDODETALLE23() <<Index>> TC_PEDIDODETALLE55() <<Index>> TC_PEDIDODETALLE61() 1..* <<Non-Identifying>> <<Non-Identifying>> 1..*

DOCVTADETALLE
(from S_BDVentas) Precio : DOUBLE PRECISION Cantidad : INTEGER DOCUMENTODEVENTA_ID : INTEGER PRODUCTO_ID : INTEGER <<PK>> PK_DOCVTADETALLE20() <<Uniq ue>> TC_DOCVTADETALLE46() <<FK>> FK_DOCVTADETALLE19() <<FK>> FK_DOCVTADETALLE27() <<Index>> TC_DOCVTADETALLE63() <<Index>> TC_DOCVTADETALLE45() <<Identifying>> 1 1

DOCUMENTODEVENTA
(from S_BDVentas) Fecha : DATE Monto : DOUBLE PRECISION Estado : VARCHAR(255) DOCUMENTODEVENTA_ID : INTEGER PEDIDO_ID : INTEGER <<Unique>> TC_DOCUMENTODEVENTA53() <<PK>> PK_DOCUMENTODEVENTA21() <<FK>> FK_DOCUMENTODEVENTA22() <<Index>> TC_DOCUMENTODEVENTA52() 1 1

1 1 1

<<Identifying >>

<<Identifying >>

PRODUCTO
(from S_BDVentas) IDProducto : VARCHAR(255) Descripcion : VARCHAR(255) Precio : DOUBLE PRECISION Stock : INTEGER StockMin : INTEGER UniMed : VARCHAR(255) PRODUCTO_ID : INTEGER LINEA_ID : INTEGER <<PK>> PK_PRODUCTO28() <<FK>> FK_PRODUCTO31() <<Index>> TC_PRODUCTO69() 1 <<Identifying>>

<<Non-Identifying>>

LINEA
(from S_BDVentas) 1 Descripcion : VARCHAR(255) LINEA_ID : INTEGER <<PK>> PK_LINEA31() 0..1 0..1

1..*

BOLETA
(from S_BDVentas) DNI : VARCHAR(255) DOCUMENTODEVENTA_ID : INTEGER CLIENTE_ID : INTEGER <<PK>> PK_BOLETA33() <<FK>> FK_BOLETA32() <<FK>> FK_BOLETA36()

FACT URA
(from S_BDVentas) RUC : VARCHAR(255) DOCUMENTODEVENTA_ID : INTEGER CLIENTE_ID : INTEGER <<PK>> PK_FACTURA34() <<FK>> FK_FACTURA34() <<FK>> FK_FACTURA33()

0..*

PRODUCTOPROVEEDOR
(from S_BDVentas) Fecha : DATE Precio : DOUBLE PRECISION Observacion : VARCHAR(255) PRODUCTO_ID : INTEGER PROOVEDOR_ID : INTEGER <<PK>> PK_PRODUCTOPROVEEDOR32() <<FK>> FK_PRODUCTOPROVEEDOR29() <<FK>> FK_PRODUCTOPROVEEDOR28() <<Index>> TC_PRODUCTOPROVEEDOR65() <<Index>> TC_PRODUCTOPROVEEDOR64() <<Identifying >>

PROOVEDOR
(from S_BDVentas) RUC : VARCHAR(255) RazonSocial : VARCHAR(255) Telefono : VARCHAR(255) Direccion : VARCHAR(255) FAX : VARCHAR(255) Contacto : VARCHAR(255) PROOVEDOR_ID : INTEGER <<PK>> PK_PROOVEDOR29() 0..*

0..*

0..*

<<Non-Identifying>>

<<Non-Identifying >>

: Se autogeneran las claves principales (pk) por defecto como tipo entero (Integer) y as mismo se autogeneran las claves forneas (fk). Se pueden cambiar los tipos y longitudes de cada atributo en las tablas dando doble click en la tabla (CLIENTE) y seleccionando en el recuadro la pestaa Columnas (Columns), luego dar doble click en el campo a modificar (CLIENTE_ID), luego en el nuevo recuadro seleccionar tipo (Type), modificando el tipo y longitud deseado (Tipo: char, longitud: 5) y asi sucesivamente con cada campo.

6 Migrar el modelo de datos al gestor de base de datos (SQLServer) seleccioando en Schemas:

Aparece el siguiente recuadro (Wizard):

Seguidamente seleccionar:

Seleccionar la carpeta donde se almacenar el Script y darle nombre:

Marcar la casilla Execute y conectar a la base de datos BDVentas y pulsar Next

Finalizando, habindose creado el Script y las tablas en el SQL Server

7 Importar al Erwin por Ingeniera Reversa y crear los modelos Lgico y Fsico en Erwin y luego regresar el modelo corregido por ingeniera directa al SQL Server.

Posts Comunidades Registrate!

Identificarme

Posts Comunidades

Google| Taringa!| Tags

Categoria

Mostrando 1 - 50 resultados Pacestar UML Diagrammer Full [MU] Libros de Ingenieria del Software El mejor compendio de Informacion de Software Libre Aprenda UML en 24 horas + UML gota a gota Atando Cabos - Programacion Orientada a Objetos Sparx Enterprise Architect 7.5 - Instalador y Portable Diseo Orientado A Objetos Con UML Staruml portable MagicDraw UML 12 Validar las precondiciones? (Casos de Uso) Libros UML (Modelado de Lenguaje Unificado) UML gota a gota Booch Analisis y diseo orientado a objetos 3ra edicion Inclusin o Generalizacin? Esa es la cuestin. visual paradigm, modelado de software Visual paradigm for UL6.3! con licencia infinita! en un link UML El Lenguaje unificado de modelado (Gary Booch) Edraw Max v4.5 UML Coleccion de Libros UML Y Patrones, Graig Larman

Fecha
Hace 2 meses

Puntos
0

Hace 2 meses

Hace 2 meses

Hace 2 meses

Hace 3 meses

Hace 3 meses

20

Hace 3 meses

Hace 3 meses

Hace 4 meses

10

Hace 4 meses

Hace 4 meses

10

Hace 4 meses

15

Hace 4 meses

20

Hace 5 meses

Hace 5 meses

Hace 5 meses

Hace 5 meses

Hace 6 meses

El ao pasado

El ao pasado

19

Mostrando 1 - 50 resultados Java para Programadores (Deitel Developer Series) Para Programadores y Desarrolladores, una joya: IBM-Rational Coleccin Libros de Tecnologa I Cadifra UML Editor v1.3.1 Libros y manuales de java, html, sun y muchos otros mas Queres programar? Entra ya! Programas para desarrollo UML + Libros + Apuntes [ :)] VisualWade, el editor grafico para PHP que tanto buscaste Libros y manuales de java, html, sun y muchos otros mas 50 Libros de Programacin en pdf (link arreglado) Desarrollo Orientado a Objetos con UML Ingenieria de Software Manuales Programacion licencia infinita de visual paradigm Metodologia de desarrollo de UML - Descarga StarUML 5.0 Modelador Diagramas UML Excelente! Lo que no encontre en T! (solo para programadores) Modelmaker Code Exlporer 4.2 eBooks Programacion/Ingenieria de Software Enterprise Architect Version 7.1 UML Y Patrones Aprendiendo UML En 24 Horas UML Y Patrones Recopilacin UML Rational Rose Enterpise Edition UML - Libros de Ingeniera del Software UML - Curso de Lenguaje de Modelado Unificado en 24 Horas ModelMaker 9.16 + Crack UML Modelado de Lenguaje Unificado La ms grande Coleccin de libros de Sistemas

Fecha
El ao pasado

Puntos
0

El ao pasado

10

El ao pasado

10

El ao pasado

El ao pasado

El ao pasado

El ao pasado

20

El ao pasado

30

El ao pasado

23

El ao pasado

10

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

90

El ao pasado

El ao pasado

El ao pasado

20

El ao pasado

El ao pasado

El ao pasado

El ao pasado

El ao pasado

10

El ao pasado

El ao pasado

0 Sig uient e

API - Trabaja en Taringa! - Anuncie en T! - Protocolo - Contacto - Enlazanos - Mapa del sitio - Prensa - Denuncias - T! em Portugus Trminos y condiciones - Privacidad de datos

You might also like