1 “Sistema de Base de Datos para una Ferretería” Presenta Lucero Pérez Morales Para obtener el Título de Licenciada en Ciencias de la Computación Asesor M. C. Beatriz Beltrán Martínez Diciembre 2004 Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
“Sistema de Base de Datos para una Ferretería”
Presenta Lucero Pérez Morales
Para obtener el Título de
Licenciada en Ciencias de la Computación
Asesor M. C. Beatriz Beltrán Martínez
Diciembre 2004
Benemérita Universidad Autónoma de PueblaFacultad de Ciencias de la Computación
2
Dedicatoria A Dios:
Por la oportunidad de estar viva y darme inteligencia para realizar este trabajo y por permitirle haber estado
conmigo a las personas a las que dedi-caré esta tesis.
A mis Padres: Les dedico este trabajo con todo mi amor y les agradezco todos los sacrificios que hicieron para que pudiera llegar hasta
aquí, gracias por confiar en mi, por cui-darme en tantas y tantas ocasiones y so-bre todo por darme un ejemplo de vida, los dos son dos son admirables para mi.
A miTía: Tantas y tantas cosas hiciste por mi
que no tendía suficientes líneas para explicar por que te dedico mi tesis,
donde quiera que estés quiero que se-pas que todo eso dio frutos, se que aun me cuidas y que estas contenta de estar leyendo esto, gracias por todo, te quie-
ro muchísimo.
Susy y Toño : Niños, hemos pasado por muchas y
aunque aveces no lo pareciera, los tres sabemos que contamos uno con el otro si
lo necesitamos, gracias por ser mis hermanos porque no pude haber tenido
mejores compañeros en casa que ustedes, gracias.
Alejandro: Mi amor parte de este trabajo es tu
culpa, gracias por apoyarme y porque en ocasiones me obligaste a terminarlo,
este es el principio de tantas y tantas cosas que aun nos falta por vivir, lo importante es que ya será juntos, te
adoro con toda mi alma.
Nancy, Gaby, Maribel: Uff tantas anécdotas que tenemos … y las que faltan, muchas gracias por estar
conmigo y por haberme ayudado a lograr esto, no se alejen mucho porque las voy a necesitar en muchas situaciones buenas y malas, conocerlas y estar con ustedes
ha sido de lo mas divertido pero que to-do eso quede entre nos ok?
Las quiero mucho.
3
Índice I. INTRODUCCIÓN _____________________________________________________ 5 CAPITULO I MARCO TEORICO __________________________________________ 7
1.1 Empresa __________________________________________________________ 8 1.1.1 Antecedentes ____________________________________________________ 9 1.1.2 Organización de la empresa_________________________________________ 9 1.1.3 Recursos Materiales de la empresa __________________________________ 12 1.1.4 Necesidad de controlar los procesos de negocio. _______________________ 12 1.1.5 Principales Procesos de Negocio de la empresa.________________________ 12 1.1.6 Beneficios de la base de datos a la empresa. ___________________________ 13
1.2 Bases de Datos____________________________________________________ 14 1.2.1 ¿Qué es un Sistema de Base de datos? _______________________________ 14 1.2.2 Principales componentes de un Sistema de Bases de Datos._______________ 14 1.2.3 El Sistema de Administración de Bases de Datos (DBMS) _______________ 15 1.2.4 El Modelo Relacional ____________________________________________ 16
1.3 Ingeniería de Software ____________________________________________ 19 1.3.1 Modelo de cascada_______________________________________________ 19 1.3.2 Espiral ________________________________________________________ 21 1.3.3 Modelo del desarrollo por prototipos ________________________________ 23
CAPIITULO II ANÁLISIS Y DISEÑO DEL SISTEMA _______________________ 27 2.1 Especificación de Requisitos _______________________________________ 28
2.1.1 Requerimientos del Sistema _______________________________________ 28 2.2 Definición Conceptual del Sistema _________________________________ 29 2.3 Descripción de la Información. _____________________________________ 30
2.3.1 Casos De Uso: Descripción De Procesos. _____________________________ 30 2.4 Modelo Funcional_________________________________________________ 33
2.4.1 DFD NIVEL 0 __________________________________________________ 33 2.4.2 DFD NIVEL 1 __________________________________________________ 34 2.4.3 DFD NIVEL 2 __________________________________________________ 35
3.8.1 Errores Tipo 1 __________________________________________________ 66 3.8.2 Errores Tipo 2 __________________________________________________ 66 3.8.3 Errores Tipo 3 __________________________________________________ 67 3.8.4 Tabla de errores. ________________________________________________ 68
Conclusión 69 Bibliografía 70
5
I. INTRODUCCIÓN
La necesidad creciente de comercializar cada día mayor cantidad de produc-
tos y servicios, requiere de técnicas y elementos que faciliten su desplazamiento
hacia los mercados potenciales de clientes.
Las bases de datos constituyen un instrumento de mucha utilidad en las
empresas, es por ello que en la empresa Ferretería Méndez S. A de C.V. surge la
necesidad de controlar las tareas que son muy rutinarias o sobre las cuales no se
tiene control, como son el orden, la manipulación de datos, la seguridad de los da-
tos, etc. Esto lleva a dar soluciones que faciliten la operación de las tareas mediante
la construcción de una base de datos que pueda satisfacer las necesidades de su
mercado en menor tiempo, brindando así una mejor calidad en los servicios.
El material presentado se divide en una introducción del proyecto, tres capí-
tulos y la conclusión.
El capítulo I se refiere a la necesidad del desarrollo de una base de datos
que permita a la Ferretería Méndez S. A de C.V. poder controlar de manera eficien-
te los productos en un inventario, el levantamiento de pedidos y el control de la
nómina, y se da una breve explicación de lo que son las bases de datos, cubriendo
así un marco teórico.
El capitulo II trata del planteamiento y análisis del problema, en el cual se
describe con detalle la necesidad de un Sistema de Bases de Datos dividiendo este
capitulo en la Especificación de Requisitos donde se describe el software y hardwa-
6
re necesarios, la Definición Conceptual del Sistema en la cual se describen las ca-
racterísticas generales de la empresa, Descripción de la Información en la cual se
detallan las funciones principales del Sistema mediante casos de uso.
Posteriormente se muestra el Modelo conceptual el cual contiene 3 niveles
de Diagramas de Flujo de Datos en los cuales se explica la manera en que opera el
Sistema y la forma en que interactúan los diferentes módulos y sus almacenes de
datos.
Una vez expuesto el Modelo Conceptual se presenta el Modelo Entidad Re-
lación explicando cada uno de sus componentes, partiendo de esto y al finalizar el
capitulo se describe el Modelo Relacional con la explicación de las tablas obtenidas.
En el capitulo III se muestra la Implementación y Pruebas del Sistema, en
cada uno de sus apartados se pueden ver las pantallas principales del software al
mismo tiempo que se explica cada una con ejemplos y en las áreas necesarias se
describe el proceso que se realizó para obtener los resultados mostrados en cada
pantalla.
7
CAPITULO I MARCO TEORICO
8
MARCO TEORICO
El presente capítulo se divide en dos partes, el objetivo de la primera es descri-
bir la necesidad de la Ferretería Méndez S.A. de C.V. de contar con un Sistema de
Bases de Datos que le permita lograr la eficiencia en el control de los productos con
los que comercializa, así como también llevar un control de su nómina, y el objeti-
vo de la segunda parte es dar un marco teórico de las bases de datos y de la inge-
niería de software.
1.1 Empresa
La empresa denominada Ferretería Méndez S.A. de C.V. surge en el mes de
mayo del 2003.
La misión es competir en el ramo ferretero, proporcionando al cliente artículos
de calidad en plomería, material eléctrico, herramienta en general, etc. de marcas
nacionales y extranjeras.
La función principal de la empresa para la cual será elaborada la base de datos
es la de realizar la venta de productos divididos en categorías de Herramientas
En la pantalla principal en los módulos de Nómina, Clientes, Proveedores se
muestra por default la pantalla consulta. El modo de operar es el siguiente:
El usuario ingresa el valor a buscar de acuerdo a la categoría por la que elija se realice
la consulta, presiona el botón enviar y el sistema muestra todos los campos del resul-
tado obtenido.
Figura 3.9. Sistema Nómina: Consultas
3.5.3 Bajas.
Para realizar una eliminación el usuario teclea el nombre del empleado, a con-
tinuación se desplegará la lista de nombres que coinciden y una liga para elegir el
elemento a modificar, si el dato existe, es dado de baja siempre y cuando el elemento
no se esté siendo utilizado por la tabla de ventas, en caso de no existir la clave, el Sis-
tema mandará un mensaje de error. Un ejemplo de un empleado correctamente eli-
minado se muestra a continuación:
57
Figura 3.10. Sistema Nómina: Bajas.
3.5.4 Modificaciones.
El área de modificaciones actúa de forma similar a las modificaciones de pro-
ducto, a continuación se muestra el proceso:
Pantalla 1: El usuario Hace la bús-
queda y selección del
elemento a eliminar
Pantalla 2: Confirmación de que
el elemento ha sido
de baja.
Pantalla 1: El usuario Hace la bús-
queda y selección del
elemento a modificar
58
Figura 3.11. Modificaciones de Empleados
Pantalla 2: Modificando Datos
Pantalla 3: Confirmación
59
3.6. Ventas
El Sistema Ventas es el módulo más importante del Sistema, por lo cual, al pulsar la opción Ventas en la pantalla principal
del Sistema, el resultado no se muestra en la misma pantalla, en vez de esto, se abre una nueva ventana. Mostrada a continuación.
Banner
Petición de empleado y Nota de ventaIngreso de productos
Lista de productos y opciones de eliminar y modificar
Monto Actual
Área de búsquedas
Figura3.12. Pantalla Principal Ventas
60
El Área de Ventas se divide en tres partes, el Banner en la parte superior, a con-
tinuación se encuentra el área de inserción y presentación de datos referentes a la
venta, el parte inferior a ésta se encuentra el área de consultas por producto y en la
parte inferior el área destinada a los cambios.
A continuación se explica cada Área con detalle.
3.6.1 Inserción de productos.
El primer paso para realizar una venta es elegir la clave del empleado que la
realiza y teclear la Nota de Venta, este identificador de cliente y nota de venta se
mantendrán durante toda la operación hasta que la venta haya finalizado, para man-
tener el dato se utilizaron dos cookies, una se encarga de llevar la nota de venta y la
otra lleva la clave del empleado.
El Sistema Ventas captura los productos solicitados por un cliente, se revisa si
existen en la bodega las cantidades necesarias para surtir el producto, en caso de ser
así se va mostrando en la pantalla la cantidad, la clave del producto y su descripción,
el descuento e importe y para cada producto se muestran dos ligas una es para modi-
ficar el artículo y la siguiente es para eliminarlo. En la parte derecha de la pantalla se
muestra el monto total de la venta, mismo que se actualiza cada vez que se introduce
un nuevo producto. En caso de existir algún error en la captura del producto, el Sis-
tema informa al usuario que no puede realizar la transacción y no realiza cambios en
las ventas, es decir, no agrega un producto que no exista o que no haya la suficiente
existencia para cubrir el pedido.
Debido a que el Empleado y la nota de Venta ya fueron ingresados, estos campos
se muestran solo de lectura.
61
Figura 3.13. Captura de Productos
3.6.2 Búsquedas.
Debido a que el número de productos que pueden ser surtidos en una ferrete-
ría es extenso, el sistema proporciona al usuario la opción de hacer búsquedas por
nombre de producto para facilitar la inserción de los mismos en la venta actual, un
ejemplo de ésta búsqueda se muestra a continuación.
Figura 3.14. Búsqueda de Productos en la pantalla Ventas
3.6.3 Modificaciones.
Cuando se quiere alterar la cantidad o el descuento que se hace a un producto in-
gresado, se da clic sobre la palabra “Modificar” ubicada en el mismo renglón del
producto seleccionado, el sistema despliega en la parte inferior de la pantalla los
datos originales. El usuario ingresa los cambios a realizar y pide al Sistema mos-
trar las modificaciones.
En la siguiente página se muestra el proceso por pantallas.
62
Selección del producto a modificar y presentación de los datos originales
Realizando CambiosCambio Terminado
Figura 3.15 Modificaciones
63
3.6.4 Borrar
Para eliminar un producto de la venta actual, se da clic sobre la palabra “Bo-
rrar” ubicada en el mismo renglón del producto seleccionado, posteriormente, se con-
firma el borrado y el Sistema los elimina de la lista de productos.
3.6.5 Finalizar Ventas
Para finalizar una venta, se pulsa el botón correspondiente en la ventana, con
lo cual se borran las cookies que tienen almacenado el valor de la nota de Venta y la
clave del empleado y se limpia la pantalla de ventas para quedar en su forma origi-
nal. (Figura 12)
3.6.6 Cancelar Ventas
La opción Cancelar Venta, restaura los valores de existencia del inventario de
los productos registrados y la información de la venta actual.
64
3.7. Reportes
El área de sistemas trabaja con Microsoft Access para la realización de los re-
portes, ésta área permite al usuario visualizar los reportes de ventas e inventario.
Al seleccionar la opción Reportes del menú principal, se presenta una pantalla en la
que se da al usuario las operaciones que se pueden realizar, que son:
• Generar y visualizar reportes: Esta opción genera un archivo de texto del in-
ventario o ventas actuales o ambos, este archivo posteriormente será importa-
do por Access para así presentar el informe con un formato adecuado.
• Solo Visualizar Reportes : en esta opción el Sistema no genera ningún archivo
de texto, en vez de esto muestra una liga para ir directo al archivo de Microsoft
Access que tiene el formato en que se visualizan los reportes.
A continuación se presenta la pantalla de inicio realizada en Microsoft Access para los
reportes.
Figura 3.17. Pantalla de Inicio de Reportes en MS Access.
65
Una vez que el usuario se ha decidido por Ventas o Inventario el sistema le
presenta una lista con los reportes disponibles de la categoría elegida, el usuario se-
lecciona el archivo con la fecha que desea visualizar y el sistema le proporciona la
opción de Solo visualizarlo o de Imprimirlo, una vez hecha la elección se realiza la
operación correspondiente.
A continuación se muestra un fragmento de un ejemplo en el que se solicitó el reporte
de ventas:
Figura 3.18. Pantalla de Reporte de Ventas.
3.8 Salir
La opción Salir de la ventana principal del Sistema permite al usuario terminar con la
ejecución del programa.
66
3.9 Manejo de Errores
El Sistema debe encargarse de evitar las operaciones con datos no válidos, por
lo cual trata de validar la información introducida y de manejar los errores que pue-
dan ocurrir. Existen tres formas de indicarle al usuario un error, los cuales llamare-
mos de Tipo1, Tipo2 y Tipo3.
3.8.1 Errores Tipo 1
Esta forma de validar es verificando que los tipos de datos sean correctos, esta
forma de validación se realiza cuando el usuario pulsa el botón para enviar infor-
mación al Sistema. La forma de alertar el error es mediante la aparición de una
ventana que indica las fallas en la captura.
Figura 3.19. Ejemplo de error Tipo1
3.8.2 Errores Tipo 2
Esta forma de validación trabaja con la información que tiene un tipo de dato
correcto pero que no coincide con la información de la base de datos o no es correcta
para mantener la integridad de la misma. A continuación se presentan ejemplos del
manejo de algunos errores Tipo2.
67
Figura 3.18.Error donde el dato no coincide con la información de la base de datos
Figura 3.20. Error donde se pretende insertar una clave que ya existe.
Figura 3.21. Error donde se quiere eliminar un elemento que está siendo utilizado por algún elemento
de la base de datos
Figura 3.22. Error en el que se quieren insertar mas productos de los disponibles
3.8.3 Errores Tipo 3
Esta forma de manejar los errores tiene que ver con los permisos o privilegios
otorgados a los usuarios del Sistema, cuando exista una falla de este tipo, se mostrará
la siguiente pantalla:
Figura 3.23. Ejemplo de Error tipo3
68
3.8.4 Tabla de errores.
En esta parte trataremos los errores que pueden ocurrir en las operaciones
principales que son: ALTAS, BAJAS, MODIFICACIONES Y CONSULTAS, en la
siguiente tabla se muestran las operaciones, los errores y el tipo de error con el que
pueden ser tratados.
Operación Error Tipo
Altas Tipos de datos no válidos 1
Altas Llaves primarias ya insertadas 2
Altas +Tratar de insertar productos que no tienen existencia 2
Altas +Tratar de comprar mas productos de los disponibles 2
Altas Usuario sin permisos 3
Bajas Campo vacío 1
Bajas El elemento es utilizado por alguna tabla de la base de
datos
2
Bajas Clave de producto no existente 3
Bajas Usuario sin permisos 3
Modificaciones Campo vacío* 1
Modificaciones Tipos de datos no válidos 1
Modificaciones Modificar la clave por otra ya existente 2
Modificaciones Usuario sin permisos 3
Consultas Tipos de datos no válidos 1
Consultas Usuario sin permisos 3
Consultas Campo vacío* 1
Consultas Clave de producto no existente 3
+ Solo aplica para el Sistema Ventas. * No aplica para el Sistema Marcas y Categorías
Tabla 3.1 Errores
69
Conclusión
El objetivo de este proyecto fue crear un Sistema de Base de Datos para una
Ferretería con el fin de controlar sobre las cuales no se tiene control, como son el
orden, la manipulación de datos, el Sistema cuenta con los módulos de Productos,
Clientes, Ventas, Proveedores, Reportes de Ventas e Inventario.
La Base de Datos está hecha en MYSQL, los módulos fueron realizados en
PHP, HTML y en algunos casos con Java Script, los reportes se hicieron con PHP,
HTML y Microsoft Access, la parte que se dificultó mas en su implementación fue
el área de Ventas, ya que al ser PHP un lenguaje que trabaja del lado del Servidor y
no del cliente, se dificultaba un poco los cambios o modificaciones que se necesita-
ran hacer de los productos ingresados en cada venta, este problema fue resuelto
utilizando Marcos de HTML, otra de las razones por las que Ventas fue el área mas
complicada es que lleva muchas validaciones de datos lo cual propició que el ma-
yor trabajo de este sistema fuera enfocado a esta área.
Planes a Futuro
El Sistema realizado en este proyecto, puede crecer hacia muchas áreas, en
Proveedores y Clientes se puede hacer una implementación que permita llevar el
área de Cuentas por Pagar y Cuentas por Cobrar, así como la información de los
productos que compra un Cliente y que proveedor se encarga de surtirlos, ya que
hasta la fecha el Sistema solo da altas, bajas modificaciones y búsquedas de los da-
tos personales de Clientes y Proveedores.
70
Bibliografía
PHP Fast & Easy Web Development Julie C. Melani. Ed. Premier Press. MYSQL Pau Dubois Ed. New Readers UML Y PATRONES Graig Larman Ed. PRENTICE HALL UML gota a gota Martin Fowler, Kendall Scott Ed PEARSON Notas Análisis y diseño de Bases de Datos, Diplomado en Bases de Datos M.C. Yolanda Moyao Martinez Primavera 2004 Diplomado en Bases de Datos, Aplicaciones en Bases de Datos Locales con MySQL- PHP. Dr. Ivo Humberto Pineda Torres. Febrero 2004 Páginas de Internet Tutoriales PHP: www.programacion.com/php/ http://es.tldp.org/Manuales-LuCAS/manual_PHP/ www.webestilo.com/php Tutoriales MYSQL www.mysql-hispano.org www.mysql.com www.mysql.es
71
www.solotutoriales.com www.abcdatos.com/tutoriales/tutorial/ Tutoriales HTML www.desarrolloweb.com www.lawebdelprogramador.com www.htmlconclase.com