Está en la página 1de 24

Taller Gestin Almacn

Modelo de clases del sistema


Fecha de entrega
02/12/2004

Realizado por:
lvarez Romn, Santiago Castan Rodrguez, Alvaro Corchero Rubio, Rosa Mara Diez Diez, Ana
Dez Gonzlez, Javier

NDICE

1.- Enunciado de los requisitos de la prctica ............................................ 2 2.- Diagrama de clases ............................................................................... 5 3.- Descripcin de las clases....................................................................... 6 4.- Aspectos ms interesantes del diseo del diagrama ............................. 8 5.- Informe generado por la herramienta AdamCase .................................. 9

1. Enunciado de los requisitos de la prctica


Se desea realizar la gestin de un negocio de distribucin de productos en exclusiva de alimentacin. Para ello se pide: 1. Gestin clientes Los clientes pueden ser personas jurdicas o fsicas. Los datos que interesa mantener de los clientes son un cdigo nico de cliente, nombre, razn social, direccin, lista de telfonos de contacto, ciudad, cdigo postal, CIF/NIF, la forma de pago (que puede ser contado o crdito; si fuera crdito puede hacerlo por domiciliacin bancaria, enviando taln o por cobrador), comentarios. Los clientes pueden darse de alta, modificarse y darse de baja. Dar de baja a un cliente supone desactivarlo no eliminarlo de la base de datos. 2. Gestin de proveedores De los proveedores interesa mantener los siguientes datos: un cdigo nico, nombre, razn social, direccin, ciudad, cdigo postal, lista telfonos, fax, CIF/NIF. Los proveedores pueden darse de alta, modificarse y darse de baja. Dar de baja un proveedor supone desactivarlo a l y a los productos que sirve. 3. Gestin de artculos Los artculos se dividen en familias. Cada familia se caracteriza por un cdigo y una descripcin. Cada artculo se compone de un cdigo, nombre, IVA que se le aplica, precio de coste, precio de venta, nmero de unidades. Cada artculo lo sirve un nico proveedor. Los artculos pueden darse de alta, modificarse y darse de baja. Dar de baja un producto supone desactivarlo no eliminarlo de la base de datos. 4. Gestin de albaranes Un albarn es un documento que recoge los datos de una venta a un cliente.

Un albarn estara formado por una cabecera, por unas lneas de albarn y por un pie con los totales. La cabecera tiene el nmero de albarn, los datos del cliente que se estimen oportunos y la fecha de creacin del albarn. Cada lnea del albarn consta del cdigo y la descripcin del artculo, el nmero de unidades, el precio de venta (que puede diferir del precio de venta recogido en la definicin del artculo), el nmero de unidades bonificadas (las unidades bonificadas son unidades del producto que se le entregan al cliente a mayores de las compradas a coste cero) y el importe total del artculo. El pie recoge los totales de la siguiente forma: existir una fila por cada base de IVA diferente aplicado en los diferentes artculos. Cada fila tendr cuatro columnas, la primera indica la base de IVA aplicado, la segunda la suma de los importes de los artculos a los que aplicarles ese IVA, la tercera el IVA, la cuarta sera la suma de los importes con el IVA aplicado. Por ltimo, aparecer el total a pagar.

De un albarn debe saberse si est pagado o no. Los albaranes pueden crearse en cualquier momento. Un albarn puede borrarse slo si no existe una factura asociada. Un albarn puede modificarse siempre, pero teniendo en cuenta que si se modifica un albarn que tiene asociada una factura, sta se ver modificada a su vez. 5. Gestin de facturas Una factura recoge la informacin de un conjunto de albaranes pertenecientes a un cliente. Una factura consta de una cabecera, un cuerpo de factura y un pie de factura. La cabecera de la factura tiene los siguientes datos: datos fiscales del emisor

de la factura, datos fiscales del cliente (CIF/NIF, razn social, nombre...), fecha y nmero de factura (el nmero de factura es nico y asignado por el sistema, inicindose cada mes de enero). El cuerpo de la factura estara formado por los albaranes que forman la factura, de manera que para cada uno de ellos aparezca el nmero del albarn y las lneas del albarn. El pie de factura sera similar al pie de albarn, pero haciendo referencia a todos los albaranes que se contemplan en dicha factura. El proceso de facturacin se lleva a cabo dando el rango de clientes a los que se quiere facturar y un rango de fechas para seleccionar los albaranes. Las facturas slo pueden crearse. Si hace falta modificar su contenido se modifican los albaranes correspondientes. Las facturas no pueden borrarse.

2. Diagrama de clases

3. Descripcin de las clases


Cliente: clase que representa la informacin de personas que son clientes del almacn identificadas unvocamente por codigo_cliente. Esta clase se especializa en otras dos clases que son ClienteFisico y

ClienteJuridico, cada una de ellas identificadas por el NIF y CIF


respectivamente. Se relaciona con la clase Albarn a travs de la asociacin pertenece, pudiendo tener varios albaranes, y con la clase telfono a travs de la asociacin tiene. Albarn: clase que recoge los datos de una venta a un cliente. Un albarn es un documento que est formado por lneas donde cada una se corresponde con un artculo (ver siguiente Clase). Se relaciona con la clase Cliente mediante la asociacin pertenece y con Factura mediante la asociacin recoge_info_de. Lnea: recoge toda la informacin acerca del pedido de un artculo a un cliente dentro de un albarn. Una o ms lneas forman parte de un albarn. A travs de la asociacin consta_de se relaciona con la clase Artculo. Factura: clase que contiene los datos acerca de un conjunto de albaranes y los datos del cliente al cual pertenece dicha factura. Se relaciona con la clase Albarn mediante la asociacin recoge_info_de. Una factura se compone de cabecera, cuerpo y pie, esta informacin se recoge dentro de la misma clase factura. Artculo: almacena los datos sobre los productos servidos por los proveedores. Cada artculo es parte de una familia y es servido por un solo proveedor. A travs de la asociacin consta_de se relaciona con la clase Lnea. Familia: clase que representa la abstraccin de un conjunto de artculos con caractersticas similares.

Proveedor: clase que representa la informacin de personas que al igual que la clase cliente se especializa en dos clases:

ProveedorFisico y ProveedorJuridico, cada uno de ellos proveedores del


almacn. Se relaciona con la clase Artculo a travs de la asociacin

provee y con la clase telfono a travs de la asociacin tiene.


Telfono: en este caso se mantendr una lista de telfonos correspondientes a los clientes y a los proveedores, que se referenciarn por las clases correspondientes a travs de los roles

telfono_cliente y telfono_proveedor.

4. Aspectos ms interesantes del diseo del diagrama


<<Enum>> FormaDePago, tipo de dato que hemos creado especialmente para este diagrama. Los posibles valores que puede tener son: contado, credito_domiciliacion_bancaria, credito_crobador y credito_talon. La clase Factura deber tener un atributo que sea

forma_de_pago de tipo FormaDePago que especifique cmo se va a


pagar dicha factura. En cliente tendremos un mtodo pagar donde pagaremos la factura asociada a dicho cliente y al que le pasaremos el tipo de dato FormaDePago. Como se puede observar en el diagrama, usamos agregacin entre Albarn y Lnea; y entre Familia y Artculo. Adems, especializamos Cliente en Fsico y Jurdico porque los clientes pueden ser personas particulares o empresas. En lugar de tener dos clases para los telfonos de cliente y proveedor respectivamente, agrupamos todos los telfonos en una nica clase los cuales se distinguirn por el rol que utilizan las clases cliente y

proveedor.

5. Informe generado por la herramienta AdamCase


o

Paquetes

BASE Descripcin: Es el paquete en que se encuentra incluido todo el diagrama de clases, y por tanto paquete padre.

Clases

Factura Descripcin: Recoge la informacin de un conjunto de albaranes asociados a un cliente.

Atributos

fecha_factura Tipo devuelto: date Descripcin: indica la fecha en la que se ha generado la factura del cliente.

num_factura Tipo devuelto: int Descripcin: forma de identificar unvocamente las facturas del almacn.

nombre_emisor Tipo devuelto: string Descripcin: forma de identificar a la persona que gener la factura.

cif Tipo devuelto: string Descripcin: atributo unvoco para identificar al proveedor

pagado Tipo devuelto: bool Descripcin: indica si la factura ha sido abonada o no.

forma_de_pago Tipo devuelto: FormaDePago Descripcin: Representa el mtodo de pago utilizado por el cliente para pagar esta factura.

Mtodos

crear Tipo devuelto: No hay tipo disponible. Descripcin: llamada a la generacin de la factura.

Albaran Descripcin: recoge los artculos adquiridos por un cliente en una venta junto con sus datos.

Atributos

num_albaran Tipo devuelto: int Descripcin: modo de identificar de forma nica a los albaranes.

fecha_creacion Tipo devuelto: date Descripcin: fecha en la que se realizo la compra.

facturado Tipo devuelto: bool Descripcin: indica si el albarn se ha incluido dentro de una factura.

Mtodos

crear_albaran Tipo devuelto: No hay tipo disponible. Descripcin: llamada a la generacin de un albarn. 10

borrar Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para borrar el albarn solamente si no est asociado a ninguna factura.

modificar Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para modificar los datos del albarn.

Linea Descripcin: cada lnea est formada por una descripcin breve de un artculo, junto con su precio y otros datos.

Atributos

num_unidades Tipo devuelto: long Descripcin: indica el nmero de unidades de dicho producto que se han vendido.

precio_venta Tipo devuelto: double Descripcin: precio al que se han vendido dichos productos sin tener en cuenta el IVA.

unid_bonificadas Tipo devuelto: long Descripcin: cantidad de dicho producto exento de pago.

iva Tipo devuelto: int Descripcin: base del IVA del producto sobre el que se calcular el precio final.

11

Mtodos

calcular_precio Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para calcular el importe total de la factura.

FormaDePago Descripcin: clase estereotipada que indica el tipo de pago que utilizar el cliente.

Atributos

contado Tipo devuelto: bool Descripcin: atributo que indica que el cliente ha pagado al contado.

credito_domicializacion_bancaria Tipo devuelto: bool Descripcin: atributo que indica que el cliente ha domiciliado el pago de la factura.

credito_talon Tipo devuelto: bool Descripcin: atributo que indica que el cliente quiere pagar mediante un taln bancario.

credito_cobrador Tipo devuelto: bool Descripcin: indica que el cliente desea pagar el importe mediante un cobrador de la empresa a domicilio.

Mtodos No hay mtodos disponibles.

12

Cliente Descripcin: recoge los datos q interesa mantener de los clientes del almacn.

Atributos

codigo_cliente Tipo devuelto: long Descripcin: identificacin unvoca de cada cliente en el almacn.

nombre Tipo devuelto: string Descripcin: nombre del cliente.

direccion Tipo devuelto: string Descripcin: lugar de residencia del cliente.

ciudad Tipo devuelto: string Descripcin: ciudad de residencia del cliente.

cp Tipo devuelto: long Descripcin: cdigo postal de la residencia del cliente.

provincia Tipo devuelto: string Descripcin: provincia en la que se encuentra el domicilio del cliente.

comentarios Tipo devuelto: string

13

Descripcin: informacin adicional relevante sobre el cliente.

Mtodos

dar_alta Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para activar o introducir en la base de datos a un cliente.

dar_baja Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para desactivar temporal o definitivamente a un cliente. No supone eliminarlo definitivamente de la base de datos.

modificar Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para actualizar los datos del cliente.

pagar(FormaDePago) Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para que el cliente pague la factura.

crear_telefono Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para asociar un telfono a un cliente.

borrar_telefono Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para eliminar un telfono de un cliente de la base de datos.

14

Telefono Descripcin: Aqu almacenamos los telfonos tanto de los clientes como de los proveedores.

Atributos

num_telefono Tipo devuelto: string Descripcin: nmero de telfono del cliente o proveedor.

Mtodos

modificar Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para modificar el nmero de telfono. asociado.

ClienteFisico Descripcin: especializacin de cliente en una persona particular.

Atributos

nif Tipo devuelto: string Descripcin: atributo para identificar de forma unvocamente a un cliente.

Mtodos No hay mtodos disponibles.

ClienteJuridico Descripcin: especializacin de cliente en una empresa.

Atributos

cif Tipo devuelto: string

15

Descripcin: atributo para identificar de forma nica a una empresa.

Mtodos No hay mtodos disponibles.

Proveedor Descripcin: clase en la que almacenamos los datos de cada proveedor.

Atributos

cod_proveedor Tipo devuelto: long Descripcin: cdigo que identifica a cada proveedor.

nombre Tipo devuelto: string Descripcin: nombre del proveedor.

direccion Tipo devuelto: string Descripcin: direccin del proveedor.

ciudad Tipo devuelto: string Descripcin: ciudad del proveedor.

cp Tipo devuelto: long Descripcin: cdigo postal de la direccin del proveedor.

provincia Tipo devuelto: string

16

Descripcin: provincia en la que se encuentra registrado el proveedor.

comentarios Tipo devuelto: string Descripcin: informacin adicional del proveedor.

Mtodos

dar_alta Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para activar un proveedor en la base de datos.

dar_baja Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para desactivar un proveedor de la base de datos sin eliminarlo.

modificar Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para modificar los datos de un proveedor de la base de datos.

crear_telefono Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para crear un nuevo telfono asociado a un proveedor.

borrar_telefono Tipo devuelto: No hay tipo disponible. Descripcin: mtodo para eliminar un telfono de la base de datos.

Familia Descripcin: Clase que generaliza artculos del mismo tipo. 17

Atributos

cod_familia Tipo devuelto: long Descripcin: Atributo para identificar una familia de artculos.

descripcin Tipo devuelto: string Descripcin: Comentarios sobre una determinada familia de artculos.

Mtodos

crear_familia Tipo devuelto: No hay tipo disponible. Descripcin: Mtodo para insertar en la base de datos una nueva familia de artculos.

borrar_familia Tipo devuelto: No hay tipo disponible. Descripcin: Mtodo que elimina una familia de la base de datos.

Articulo Descripcin: son los objetos suministrados por los proveedores y que se dividen en familias.

Atributos

cod_artculo Tipo devuelto: long Descripcin: atributo que identifica un tipo de artculos.

nombre Tipo devuelto: string Descripcin: nombre del artculo. 18

iva Tipo devuelto: int Descripcin: base del IVA que se aplica al artculo.

precio_costo Tipo devuelto: int Descripcin: precio de fbrica del artculo.

precio_venta Tipo devuelto: int Descripcin: precio de venta al pblico.

num_unidades Tipo devuelto: long Descripcin: artculos en stock de ese tipo.

familia Tipo devuelto: long Descripcin: atributo que indica la familia a la que pertenece.

descripcin Tipo devuelto: string Descripcin: comentarios sobre el artculo.

Mtodos

dar_alta Tipo devuelto: No hay tipo disponible. Descripcin: procedimiento para activar un artculo en la base de datos.

dar_baja Tipo devuelto: No hay tipo disponible.

19

Descripcin: mtodo que desactiva el artculo de la base de datos.

modificar Tipo devuelto: No hay tipo disponible. Descripcin: funcin para modificar los datos del artculo en la base de datos.

Relaciones

Relacin de tipo Agregacin entre clase Lineas y clase Albaran en diagrama Almacen Nombre de la relacin: No se ha especificado un nombre concreto. Descripcin: un albarn est compuesto por una o varias lneas. stas a su vez slo pueden pertenecer a un albarn. Rol origen: No hay rol origen disponible. Rol destino: No hay rol Destino disponible. Cardinalidad origen: 1..n Cardinalidad destino: 1

Relacin de tipo Asociacin entre clase Lineas y clase Articulo en diagrama Almacen Nombre de la relacin: consta_de Descripcin: en una lnea se recoge la informacin de un solo artculo. Un mismo tipo de artculo puede aparecer en varias lneas. Rol origen: No hay rol origen disponible. Rol destino: No hay rol Destino disponible. Cardinalidad origen: 0..n Cardinalidad destino: 1

20

Relacin de tipo Agregacin entre clase Articulo y clase Familia en diagrama Almacen Nombre de la relacin: No se ha especificado un nombre concreto. Descripcin: los artculos estn divididos en familias. Un artculo slo puede pertenecer a una familia. Rol origen: No hay rol origen disponible. Rol destino: No hay rol Destino disponible. Cardinalidad origen: 0..n Cardinalidad destino: 1

Relacin de tipo Asociacin entre clase Proveedor y clase Articulo en diagrama Almacen Nombre de la relacin: provee Descripcin: un artculo es servido por un nico proveedor, pero un proveedor puede servir varios artculos. Rol origen: No hay rol origen disponible. Rol destino: No hay rol Destino disponible. Cardinalidad origen: 1 Cardinalidad destino: 1..n

Relacin de tipo Asociacin entre clase Proveedor y clase Telfono en diagrama Almacen Nombre de la relacin: tiene Descripcin: un proveedor tiene una lista de telfonos de contacto. Rol origen: No hay rol origen disponible. Rol destino: telefono_proveedor Cardinalidad origen: 0..n

21

Cardinalidad destino: 0..n

Relacin de tipo Asociacin entre clase Cliente y clase Telfono en diagrama Almacen Nombre de la relacin: tiene Descripcin: un cliente puede tener varios telfonos de contacto. Rol origen: No hay rol origen disponible. Rol destino: telefono_cliente Cardinalidad origen: 0..n Cardinalidad destino: 0..n

Relacin de tipo Asociacin entre clase Albaran y clase Cliente en diagrama Almacen Nombre de la relacin: pertenece Descripcin: un albarn recoge la informacin de un solo cliente y un mismo cliente puede tener asignado varios albaranes. Rol origen: No hay rol origen disponible. Rol destino: No hay rol Destino disponible. Cardinalidad origen: 0..n Cardinalidad destino: 1

Relacin de tipo Asociacin entre clase Factura y clase Albaran en diagrama Almacen Nombre de la relacin: recoge_info_de Descripcin: una factura recoge la informacin de uno o varios albaranes pero un albarn puede aparecer en una factura o no (si no se ha facturado). Rol origen: No hay rol origen disponible.

22

Rol destino: No hay rol Destino disponible. Cardinalidad origen: 0..1 Cardinalidad destino: 1..n

23

También podría gustarte