lunes, 29 de agosto de 2011

Esqueleto de clases

Taller de programación orientada a objetos

El proyecto que realizaré es de un videoclub, en donde se realicen rentas y ventas de películas. Para dicho proyecto necesito usar una base de datos en donde se almacenen los datos del videoclub, como los datos de los empleados, de los clientes y de las películas.

El lenguaje en donde realizaré este proyecto es Java, para la base de datos utilizaré MySQL.


Las clases, atributos y métodos de mi proyecto son:

Clase principal: Videoclub.
Visibilidad: pública.
Atributos: empleados (empleados), clientes (clientes), películas (películas), ventas (ventas) y rentas (rentas).
Visibilidad: privada.
Métodos: crear().
Visibilidad: pública.

Clase: Empleado.
Visibilidad: pública.
Atributos: número (no_empleado), nombre (nom_empleado) y contraseña (contraseña).
Visibilidad: privada.
Métodos: consultar().
Visibilidad: pública.

Clase: Cliente.
Visibilidad: pública.
Atributos: número (no_cliente), nombre (nom_cliente), colonia (colonia), calle (calle), número de calle (no_dir), código postal (cp_dir) y teléfono (tel_cliente).
Visibilidad: privada.
Métodos: registrar().
Visibilidad: pública.

Clase: Película.
Visibilidad: pública.
Atributos: número (no_pel), título (título), material (material), situación (situacion), género (genero), clasificación (clasificacion), costo de venta (costo_vta), costo de renta (costo_rta), cantidad de películas de venta (cantpel_vta) y cantidad de películas de renta (cantpel_rta).
Visibilidad: privada.
Métodos: vender(), rentar(), registrar() y eliminar().
Visibilidad: pública.

Clase: Ticket de venta.
Visibilidad: pública.
Atributos: número de ticket de venta (no_tvta), número de cliente (no_cliente), número de empleado (no_empleado), nombre de empleado (nom_empleado), número de película (no_pel), costo de venta (costo_vta), título de la película (título), cantidad de películas vendidas (cant_vta), fecha de venta (fecha), subtotal (subtotal) y total (total).
Visibilidad: privada.
Métodos: imprimir().
Visibilidad: pública.

Clase: Ticket de renta.
Visibilidad: pública.
Atributos: número de ticket de renta (no_trta), número de cliente (no_cliente), número de empleado (no_empleado), nombre de empleado (nom_empleado), número de película (no_pel), costo de renta (costo_rta), título de la película (título), cantidad de películas rentadas (cant_rta), fecha de renta (fecha), fecha límite de renta (fechaLimRta), fecha de entrega (fechaEntrega), multa (multa), subtotal (subtotal) y total (total).
Visibilidad: privada.
Métodos: imprimir ().
Visibilidad: pública.

En la clase Empleado, se requiere el número de empleado y su contraseña para que el empleado pueda acceder a la base de datos.
El método consultar(), es el método con el cual el Empleado podrá consultar la base de datos.

En la clase Cliente, se requieren los atributos ya mencionados para registrar al cliente en la base de datos.
El método registrar() es para registrar a los clientes en la base de datos.

En la clase Película, el número de la película es el número con el que se identificara cada película que haya en el videoclub. El material puede ser VHS, DVD o Blu-ray. La situación de la película significa si la película esta disponible, o si esta rentada.
Los métodos vender() y rentar() se utilizarán cuando se realicen ventas y rentas respectivamente de las películas.
Los métodos agregar() y eliminar() se utilizarán para dar de alta una película y para eliminar una película respectivamente.

La clase TicketVenta contiene los atributos que aparecerán en un Ticket de venta al realizarse una venta.
El método imprimir() hará que se muestre el Ticket de la venta.

La clase TicketRenta contiene los atributos que aparecerán en un Ticket de renta al realizaese una renta.
El método imprimir() hará que se muestre el Ticket de la renta.

Por el momento las clases anteriores, son las clases que he observado en mi proyecto. Si después observo mas clases, las añadiré a mi proyecto.

Código de esqueleto de clases en Java
public class Videoclub{   //clase principal Videoclub
private String empleados;
private String clientes; //atributos
private String peliculas;
private String ventas;
private String rentas;

public Videoclub(){
//constructor
}

public void crear(){ //metodo
}

public class Empleado{ //clase Empleado
private int no_empleado;
private String nom_empleado; //atributos
private int contraseña;

public Empleado(){
//constructor
}

public void consultar(){ //metodo
}
}

public class Cliente{ //clase Cliente
private int no_cliente;
private String nom_cliente; //atributos
private String colonia;
private String calle;
private int no_dir;
private int cp_dir;
private int tel_cliente;

public Cliente(){
//constructor
}

public void registrar(){ //metodo
}
}

public class Pelicula{ //clase Pelicula
private int no_pel;
private String titulo;
private String material;
private String situacion; //atributos
private String genero;
private String clasificacion;
private double costo_vta;
private double costo_rta;
private int cantpel_vta;
private int cantpel_rta;

public Pelicula(){
//constructor
}

public void vender(){ //metodo
}

public void rentar(){ //metodo
}

public void agregar(){ //metodo
}

public void eliminar(){ //metodo
}
}

public class TicketVenta{ //clase TicketVenta
private int no_tvta;
private int no_cliente;
private int no_empleado;
private String nom_empleado;
private int no_pel; //atributos
private double costo_vta;
private String titulo;
private int cant_vta;
private String fechaVta;
private double subtotal;
private double total;

public TicketVenta(){
//constructor
}

public void imprimir(){ //metodo
}
}

public class TicketRenta{ //clase TicketRenta
private int no_trta;
private int no_cliente;
private int no_empleado;
private String nom_empleado;
private int no_pel;
private double costo_rta;
private String titulo;
private int cant_rta; //atributos
private String fechaRta;
private String fechaLimRta;
private String fechaEntrega;
private double multa;
private double subtotal;
private double total;

public TicketRenta(){
//constructor
}

public void imprimir(){ //metodo
}
}
}
Referencia

Saludos.

1 comentario:

Sara E. Garza dijo...

Bien. Aquí lo único que faltó fue incorporar los métodos al esqueleto.

Calificación: 90 (4.5/5)

Publicar un comentario