Вы находитесь на странице: 1из 14

SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA

BELIEF DISTRIBUCIONES S.C.R.L.

FACULTAD DE CIENCIAS QUIMICAS, FISICAS Y MATEMATICAS CCPP.


INGENIERIA INFORMATICA Y DE SISTEMAS

TEMA:
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL
ALMACENAMIENTO DE LA PERFUMERIA BELIEF

Asignatura: Laboratorio V

Integrantes:

Auccapuma Gamarra, Jhon Dennis 090802

Llimpi Nina, Juan Saddan 090218

Velasquez Aguilar, Jesus Alejandro 091624

Docente: Rony Villafuerte Serna

Semestre: 2012 - I

Cusco - Per
2012
0|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

DIAGRAMA DE COMPONENTES

frmIniciarSesion.class
frmAdministrador.class

frmAlmacenero.class

PryBelief.exe
frmCajero.class

frmVendedor.class

CConexion.java

Consultas

Procedimientos
Almacenados

BD Belief Funciones

1|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

DIAGRAMA DE DISTRIBUCIN

2|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

ESTANDARES DE PROGRAMACION

Los estndares de programacin permiten que cualquier programador entienda y pueda mantener la
aplicacin. En muy raras ocasiones una misma aplicacin es mantenida por su autor original.

Los estndares de programacin mejoran la legibilidad del cdigo, al mismo tiempo que permiten su
compresin rpida.

Comentarios de inicio

Todo fichero fuente debe comenzar con un comentario que incluya el nombre de la clase,
informacin sobre la versin del cdigo, la fecha y el copyright. El copyright indica la propiedad
legal del cdigo, el mbito de distribucin, el uso para el que fue desarrollado y su modificacin.

Dentro de estos comentarios iniciales podran incluirse adicionalmente comentarios sobre los
cambios efectuados sobre dicho fichero (mejora, incidencia, error, etc.). Estos comentarios son
opcionales si los ficheros estn bajo un sistema de control de versiones bien documentado, en
caso contrario se recomienda su uso. Estos comentarios constituyen el historial de cambios del
fichero. Este historial es nico para cada fichero y permitir conocer rpidamente el estado y la
evolucin que ha tenido el fichero desde su origen.

A continuacin se muestra un comentario de inicio para la clase "JceSecurity.java".

/*
* @(#)JceSecurity.java 1.50 04/14/04
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
/**
* This class instantiates implementations of JCE engine classes from
* providers registered with the java.security.Security object.
*
* @author Jan Luehe
* @author Sharon Liu
* @version 1.50, 04/14/04
* @since 1.4
*/

Sentencias de importacin

Tras la declaracin del paquete se incluirn las sentencias de importacin de los paquetes
necesarios. Esta importacin de paquetes obligatorios seguir el siguiente orden:

Paquetes del JDK de java.

Paquetes de utilidades no pertenecientes al JDK de Java, de frameworks de desarrollo o de


proyectos opensource tales como apache, hibernate, springframework, etc.

3|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Paquetes de la aplicacin.

Se recomienda minimizar en la medida de lo posible el uso de importaciones del tipo


"package.*", pues dificultan la comprensin de las dependencias existentes entre las clases
utilizadas por la aplicacin. En caso contrario, se recomienda utilizar comentarios de lnea tras
la importacin.

import java.io.*; // BufferedReader, PrintWriter, FileInputStream, File


import java.util.ArrayList;
import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import es.provincia.organismo.corporativas.atlas.vo.AgendaVO;
import es.provincia.organismo.atlas.vo.AnuncioVO;
import es.provincia.organismo.atlas.vo.OrganigramaVO;

Fichero fuente Java (.java)

Cada fichero fuente Java debe contener una nica clase o interfaz pblica. El nombre del fichero
tiene que coincidir con el nombre de la clase. Cuando existan varias clases privadas asociadas
funcionalmente a una clase pblica, podrn colocarse en el mismo fichero fuente que la clase
pblica. La clase pblica debe estar situada en primer lugar dentro del fichero fuente.

En todo fichero fuente Java distinguimos las siguientes secciones:

Comentarios de inicio.

Sentencia de paquete.

Sentencias de importacin.

Declaraciones de clases e interfaces.

4|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Declaraciones de clases e interfaces

La siguiente tabla describe los elementos que componen la declaracin de una clase o interfaz,
as como el orden en el que deben estar situados.

Distinguimos dos tipos de comentarios de implementacin:

I. Comentarios de bloque: Permiten la descripcin de ficheros, clases, bloques, estructuras


de datos y algoritmos.

/*
* Esto es un comentario
* de bloque
*/

II. Comentarios de lnea: Son comentarios cortos localizados en una sola lnea y tabulados
al mismo nivel que el cdigo que describen. Si ocupa ms de una lnea se utilizar un
comentario de bloque. Deben estar precedidos por una lnea en blanco.

/* Esto es un comentario de lnea */


// Esto es otro comentario de lnea

5|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Nomenclatura de identificadores

Las convenciones de nombres de identificadores permiten que los programas sean ms fciles
de leer y por tanto ms comprensibles. Tambin proporcionan informacin sobre la funcin que
desempea el identificador dentro del cdigo, es decir, si es una constante, una variable, una
clase o un paquete, entre otros.

Mtodos

Los mtodos deben ser verbos escritos en minsculas. Cuando el mtodo est compuesto por
varias palabras cada una de ellas tendr la primera letra en maysculas.

public void insertaUnidad(Unidad unidad);


public void eliminaAgenda(Agenda agenda);
public void actualizaTramite(Tramite tramite)

Variables
Las variables se escribirn siempre en minsculas. Las variables compuestas tendrn la
primera letra de cada palabra componente en maysculas.
Las variables nunca podrn comenzar con el carcter "_" o "$". Los nombres de variables
deben ser cortos y sus significados tienen que expresar con suficiente claridad la funcin
que desempean en el cdigo. Debe evitarse el uso de nombres de variables con un slo
carcter, excepto para variables temporales.
Los tres primeros caracteres corresponden al tipo de variable, y los siguientes corresponden
a la descripcin de la variable. Como mximo la longitud de la variable no debe exceder de
los 15 caracteres.

Si la variable va a contener los datos de un campo especfico, es preferible que la descripcin


sea la misma que el nombre del campo.

De acuerdo al tipo de variable los prefijos pueden ser:

PREFIJO TIPO DE VARIABLE


Int Integer
ing Longint
crn Currency
Vrn Variant
arr Array
dte Date
Dbl Doubl
Sng Single
Str String
Obj Object
Dcm decimal
Bln Booleano(2 estados)

6|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Constantes

Todos los nombres de constantes tendrn que escribirse en maysculas. Cuando los nombres de
constantes sean compuestos las palabras se separarn entre s mediante el carcter de
subrayado "_".

int LONGITUD_MAXIMA;
int LONGITUD_MINIMA;

Definicin de Controles

Los tres primeros caracteres indican el tipo de control del que se trata, que unidos al nombre del
campo en la base de datos mediante _ (underline), conforman el nombre de acuerdo al tipo de
control los prefijos pueden ser:

PREFIJO TIPO DE CONTROL


Chk Check box
btn Button
lst List box
grd Grid
img Image
iml Image List
mnu Menu
cbo ComboBox
dat data
frm JFrame
txt TextBox
lbl label

Niveles de Seguridad.
El control de acceso de un usuario al sistema se realiza bajo estrictas reglas, las cuales deben seguir:
Primero: El usuario ingresa su Nick o cdigo de usuario, el es brindado por el administrador a cada uno de
sus usuarios.

Segundo: Ingresa tambin una contrasea, que tambin es brindado por el administrador.

Tercero: Los mdulos de acceso y niveles de seguridad permiten al usuario acceder al Sistema, segn los
privilegios asignados por el Administrador del Mdulo, entonces el sistema permitir el acceso a las
correspondientes operaciones a cada trabajador.

Dichas operaciones requerirn una confirmacin para poder continuar con la operacin para asegurar la
disminucin de errores en cuanto a la definicin de accesos de los trabajadores.
Para poder acceder al Sistema, se solicitara al usuario el ingreso de los siguientes datos para determinar la
calificacin de tipo de usuario y determinar a qu operaciones tiene acceso. Estos sern:

Usuario En este espacio se debe digitar el Cdigo de Usuario o Nick.

7|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Contrasea En este espacio se debe digitar la contrasea.

INGRESO DE NUEVO USUARIO


Para el ingreso de usuario nuevo, se solicitara en una nueva ventana donde el administrador del sistema
deber ingresar su cuenta y contrasea correspondientes, al ser correcto y permitido el acceso,
seguidamente en la ventana que se abrir a continuacin se ingresa los datos del nuevo usuario
(trabajador), seguidamente se activara las opciones de acceso disponibles segn el tipo de rol que
cumpla dicho trabajador.
Finalmente el administrador del sistema confirma dicha operacin realizada.

CAMBIO DE CLAVE Y DE DATOS

Para proceder con el cambio de contrasea de un trabajador se requiere de los siguientes pasos:
Primero, el usuario tendr que estar conectado al sistema, en ingresara en una opcin de
cambiar clave o datos.
Segundo, se le pedir su password dos veces, para poder verificar si el usuario es correcto.
Tercero, tambin se pedir el password nuevo al que quiera cambiar.
Cuarto, una vez realizada esta operacin, existir un botn aceptar que indicara guardar los
datos y actualizarlos, a continuacin este abrir otra ventana emergente pidiendo la
confirmacin si se desea realizar los cambios anteriores, en dicha ventana habrn las opciones
de Aceptar o Cancelar.
Finalmente, se registrara nuevo password y se enviara dicha modificacin a al E-mail que se
tiene registrado.

Auditora.

Revisin de Seguridad: Para el registro de nuevos cambios o algunas actualizaciones realizadas

en la Base de Datos, utilizaremos una nueva tabla TAuditoria la cual se encargara de registrar los

datos necesarios despus de haber realizado un INSERT, DELETE o UPDATE, en cualquiera de

las tablas que tengamos; menos la tabla TAuditoria. Luego se ejecuta un modulo (Trigger) que

extraer la informacin necesaria para poderla agregar en la tabla auditoria.

Finalidad: Obtener informacin necesaria de los cambios que sufre la base de datos, con el cual se

conocer quien, como, cuando se realizo la modificacin o cambio, y poder tambin recuperar

informacin y tener un control de lo que ocurre en la empresa.


TABLA: TAuditoria
Atributos Restricciones Tipo
Id_Audit El cdigo identificador de la auditoria. Cadena 10 caracteres
Type Tipo de modificacin que se realizo en Cadena 6 caracteres
la tabla.
Name_Table Almacena datos de ojo Izquierdo que Cadena 50 caracteres
se diagnosticado.
Name_PrimaryKey Nombre de todas la claves primarias Cadena 50 caracteres
de la tabla

8|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Value _PrimaryKey Valor de cada una de las claves Cadena 20 caracteres


primarias, en la cual se realizo la
modificacin.
Colum_Name Nombre de cada una de las columnas Cadena 200 caracteres.
que han sido alteradas.
Old_Value Valor de cada una de las columnas Cadena 500 caracteres.
antes de ser alteradas.
New_Valor Valor nuevo alterado o insertado de Cadena 500 caracteres.
cada una de las columnas
Date_Update Fecha y hora de modificacin. DateTime
User_Name Usuario quien realiza este Cadena 50 caracteres.
actualizacin.

TAUDITORIA
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
Id_Audit Char 10 Si No No
Type Char 6 No No No
Name_Table Char 50 No No No
Name_PrimaryKey Char 50 No No No
Value _PrimaryKey Char 20 No No No
Colum_Name Char 200 No No No
Old_Value Char 500 No No No
New_Valor Char 500 No No No
Date_Update DateTime No No No
User_Name Char 50 No No No

Recuperacin de desastres: Para prevenir o recuperarse de desastres sean estos naturales,

causas humanas, deterioro de servidores (discos duros) o algunos problemas tcnicos. Se realizara

Backups o copias de seguridad de la base de datos, con la finalidad de tener a salvo la informacin

almacenada para un posible problema futuro.

Identificacin y descripcin de atributos de tablas.


TUSUARIO
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodUsuario Char 5 Si No No
Nick Char 15 No nica No No
Cargo Char 2 No No No

9|Pgina
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

ApellidoPaterno Char 20 No No No
ApellidoMaterno Char 20 No No No
Nombres Char 25 No No No
DNI Char 8 No No No
Direccion Char 50 No No No
Telefono Char 10 No No No
Email Char 50 No No No
Activo Bit No No No
Habilitado Bit No No No
Password Char 32 No No No

TCLIENTE
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodCliente Char 8 Si No No
Apellidos Char 50 No No No
Nombres Char 50 No No No
Direccion Char 50 No No No
Telefono Char 10 No No Si
RUC Char 23 No No Si

TPROVEEDOR
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodProveedor Char 5 Si No No
RazonSocial Char 50 No No No
RUC Char 23 No No No
Direccion Char 50 No No No
Telefono Char 10 No No Si
Email Char 50 No No Si

TPRODUCTO
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodProducto Char 8 Si No No

10 | P g i n a
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Nombre Char 40 No No No
Descripcion Char 100 No No No
Cantidad Integer Cantida>0 No No No
PrecioUnitario Double PrecioUnitario>0 No No No
Presentacion Char 15 No No No

TDOCUMENTO_ENTRADA
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodEntrada Char 8 Si No No
CodProveedor Char 5 No Si No
CodAlmacenero Char 5 No Si No
Fecha Date Date No No No

TENTRADA_DETALLES
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodEntrada Char 8 Si Si No
CodProducto Char 8 Si Si No
Cantidad Integer Cantidad>0 No No No
PrecioUnitario Double PrecioUnitario>0 No No No

TDOCUMENTO_SALIDA
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodSalida Char 8 Si No No
CodCliente Char 5 No Si No
CodCajero Char 5 No Si No
CodVendedor Char 5 No Si No
Tipo Char 7 No No No
Fecha Date Date No No No

TSALIDA_DETALLES
Atributo Tipo Longitud Clave Primaria Clave Fornea Nulo
CodSalida Char 8 Si Si No
CodProducto Char 8 Si Si No

11 | P g i n a
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

Cantidad Integer Cantidad>0 No No No


PrecioUnitario Double PrecioUnitario>0 No No No

Secuencia de comandos SQL para BD


CREATE DATABASE DbBelief;
use DbBelief;
CREATE TABLE TUsuario(
CodUsuario varchar(5) not null,
Nick varchar(15) unique not null, /* Una forma de un identificador, de un
usuario */
Cargo varchar(2) check (Cargo in ('AD', 'VE', 'AL', 'CA')), /* El cargo q
ocupa el usuario en la empresa, Administrador, Vendedor, Almacenero o Cajero */
ApPaterno varchar(20) not null,
ApMaterno varchar(20) not null,
Nombres varchar(25) not null,
DNI varchar(8) not null,
Direccion varchar(50) not null,
Telefono varchar(10),
Email varchar(50),
Activo bit not null, /* Indica si un usuario esta conectado o no, asi solo
habra un unico usuario en red con ese nick */
habilitado bit not null, /* Indica si este usuario esta habilitado, para
iniciar sesion */
Password varchar(32) not null,
PRIMARY KEY (CodUsuario)
);
CREATE TABLE TCliente(
CodCliente varchar(8) not null,
Apellidos varchar(50) not null,
Nombres varchar(50) not null,
Direccion varchar(50) not null,
Telefono varchar(10),
RUC varchar(23),
PRIMARY KEY (CodCliente)
);

CREATE TABLE TProducto(


CodProducto varchar(8) not null,
Nombre varchar(40) not null,
Descripcion varchar(100) not null,
Cantidad int check (Cantidad > 0),
PrecioUnitario numeric(5,2) check (PrecioUnitario > 0),
Presentacion varchar(15),
PRIMARY KEY (CodProducto)
);

CREATE TABLE TProveedor(


CodProveedor varchar(5) not null,
RazonSocial varchar(50) not null,
RUC varchar(23) not null,
Direccion varchar(50) not null,
Telefono varchar(10),
EMail varchar(50),
PRIMARY KEY (CodProveedor)
);

CREATE TABLE TDocumentoEntrada(

12 | P g i n a
SISTEMA DE INFORMACION PARA AUTOMATIZAR LAS VENTAS Y EL ALMACENAMIENTO DE LA PERFUMERIA
BELIEF DISTRIBUCIONES S.C.R.L.

CodEntrada varchar(8) not null,


CodAlmacenero varchar(5) not null,/* Almacenero que recibe los productos */
CodProveedor varchar(5) not null, /* Proveedor del cual se reciben los
productos */
Fecha date not null,
PRIMARY KEY (CodEntrada),
FOREIGN KEY (CodAlmacenero) REFERENCES TUsuario(CodUsuario),/* El codigo
del Almacenero esta referenciado a un usuario de Tusuario, y este necesariamente
tiene que ser con cargo 'AL' */
FOREIGN KEY (CodProveedor) REFERENCES TProveedor(CodProveedor)
);

CREATE TABLE TEntradaDetalles(


CodEntrada varchar(8) not null,
CodProducto varchar(8) not null,
Cantidad int check (Cantidad>0),
PrecioUnitario numeric(5,2) check (PrecioUnitario>0),
PRIMARY KEY (CodEntrada, CodProducto),
FOREIGN KEY (CodEntrada) REFERENCES TDocumentoEntrada(CodEntrada),
FOREIGN KEY (CodProducto) REFERENCES TProducto(CodProducto)
);

CREATE TABLE TDocumentoSalida(


CodSalida varchar(8) not null,
CodVendedor varchar(5) not null, /* Vendedor, que realizo la venta */
CodCajero varchar(5) not null, /* Cajero quien realizo el cobro
*/
CodCliente varchar(8) not null, /* Cliente al cual se hizo la
venta */
Tipo varchar(7) check (Tipo in ('BOLETA','FACTURA')), /*Indica si el
documento con el cual se hizo la venta es una boletao factura*/
Fecha date not null,
PRIMARY KEY (CodSalida),
FOREIGN KEY (CodVendedor) REFERENCES TUsuario(CodUsuario), /* El codigo del
vendedor esta referenciado a un usuario de Tusuario, y este necesariamente tiene
que ser con cargo 'VE' */
FOREIGN KEY (CodCajero) REFERENCES TUsuario(CodUsuario), /* El codigo del
Cajero esta referenciado a un usuario de Tusuario, y este necesariamente tiene
que ser con cargo 'CA' */
FOREIGN KEY (CodCliente) REFERENCES TCliente(CodCliente) /* Referenciado
a una tupla en la tabla TCliente */
);

CREATE TABLE TSalidaDetalles(


CodSalida varchar(8) not null,
CodProducto varchar(8) not null,
Cantidad int check (Cantidad>0),
PrecioUnitario numeric(5,2) check (PrecioUnitario>0),
PRIMARY KEY (CodSalida, CodProducto),
FOREIGN KEY (CodSalida) REFERENCES TDocumentoSalida(CodSalida),
FOREIGN KEY (CodProducto) REFERENCES TProducto(CodProducto)
);

13 | P g i n a

Вам также может понравиться