Este documento presenta un sistema de base de datos para una ferretería. Incluye una introducción, marco teórico, análisis y diseño del sistema, e implementación y pruebas. El marco teórico describe los componentes de un sistema de base de datos y métodos de ingeniería de software. El análisis incluye requisitos, modelado conceptual y lógico. La implementación muestra las pantallas y funcionalidad del sistema para gestionar productos, clientes, proveedores y ventas.
0 calificaciones0% encontró este documento útil (0 votos)
230 vistas71 páginas
Este documento presenta un sistema de base de datos para una ferretería. Incluye una introducción, marco teórico, análisis y diseño del sistema, e implementación y pruebas. El marco teórico describe los componentes de un sistema de base de datos y métodos de ingeniería de software. El análisis incluye requisitos, modelado conceptual y lógico. La implementación muestra las pantallas y funcionalidad del sistema para gestionar productos, clientes, proveedores y ventas.
Este documento presenta un sistema de base de datos para una ferretería. Incluye una introducción, marco teórico, análisis y diseño del sistema, e implementación y pruebas. El marco teórico describe los componentes de un sistema de base de datos y métodos de ingeniería de software. El análisis incluye requisitos, modelado conceptual y lógico. La implementación muestra las pantallas y funcionalidad del sistema para gestionar productos, clientes, proveedores y ventas.
Este documento presenta un sistema de base de datos para una ferretería. Incluye una introducción, marco teórico, análisis y diseño del sistema, e implementación y pruebas. El marco teórico describe los componentes de un sistema de base de datos y métodos de ingeniería de software. El análisis incluye requisitos, modelado conceptual y lógico. La implementación muestra las pantallas y funcionalidad del sistema para gestionar productos, clientes, proveedores y ventas.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 71
1
Sistema de Base de Datos
para una Ferretera
Presenta Lucero Prez Morales
Para obtener el Ttulo de Licenciada en Ciencias de la Computacin
Asesor M. C. Beatriz Beltrn Martnez Diciembre 2004 Benemrita Universidad Autnoma de Puebla Facultad de Ciencias de la Computacin 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 miTa: Tantas y tantas cosas hiciste por mi que no tenda suficientes lneas para explicar por que te dedico mi tesis, donde quiera que ests 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 muchsimo.
Susy y Too : Nios, 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 compaeros 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 ancdotas 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. INTRODUCCIN_____________________________________________________ 5 CAPITULO I MARCO TEORICO__________________________________________ 7 1.1 Empresa __________________________________________________________ 8 1.1.1 Antecedentes ____________________________________________________ 9 1.1.2 Organizacin 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 Administracin de Bases de Datos (DBMS) _______________ 15 1.2.4 El Modelo Relacional ____________________________________________ 16 1.3 Ingeniera 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 ANLISIS Y DISEO DEL SISTEMA _______________________ 27 2.1 Especificacin de Requisitos _______________________________________ 28 2.1.1 Requerimientos del Sistema _______________________________________ 28 2.2 Definicin Conceptual del Sistema _________________________________ 29 2.3 Descripcin de la Informacin. _____________________________________ 30 2.3.1 Casos De Uso: Descripcin 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 2.5. Modelo Entidad Relacin ________________________________________ 38 2.5.1 Entidades ______________________________________________________ 39 2.5.2 Relaciones._____________________________________________________ 42 2.6 Modelo Relacional ________________________________________________ 43 2.6.1 Tablas Empleado, Cliente, Proveedor, Marca, Categora _________________ 43 2.6.2 Tabla Producto__________________________________________________ 44 2.6.3 Tabla Ventas ___________________________________________________ 44 2.6.4 Tabla Lineaproducto _____________________________________________ 45 CAPITULO III IMPLEMENTACION Y PRUEBAS. __________________________ 46 3.1 Breve Explicacin _________________________________________________ 47 3.2 Iniciando. ________________________________________________________ 48 3.3 Conexin_________________________________________________________ 49 3.3.1 Usuarios. ______________________________________________________ 49 3.4 Productos ________________________________________________________ 50 4 3.4.1 Consultas ______________________________________________________ 51 3.4.2 Altas. _________________________________________________________ 51 3.4.3 Bajas. _________________________________________________________ 52 3.4.4 Modificaciones. _________________________________________________ 53 3.4.5 Categoras y Marcas. _____________________________________________ 54 3.5 Nmina, Clientes, Proveedores _____________________________________ 55 3.5.1 Altas__________________________________________________________ 55 3.5.2 Consultas ______________________________________________________ 56 3.5.3 Bajas. _________________________________________________________ 56 3.5.4 Modificaciones. _________________________________________________ 57 3.6. Ventas __________________________________________________________ 59 3.6.1 Insercin de productos. ___________________________________________ 60 3.6.2 Bsquedas. _____________________________________________________ 61 3.6.3 Modificaciones. _________________________________________________ 61 3.6.4 Borrar_________________________________________________________ 63 3.6.5 Finalizar Ventas_________________________________________________ 63 3.6.6 Cancelar Ventas_________________________________________________ 63 3.7. Reportes_________________________________________________________ 64 3.8 Salir ____________________________________________________________ 65 3.9 Manejo de Errores_________________________________________________ 66 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 Conclusin 69 Bibliografa 70 5 I. INTRODUCCIN
La necesidad creciente de comercializar cada da mayor cantidad de produc- tos y servicios, requiere de tcnicas 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 Ferretera Mndez 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 manipulacin de datos, la seguridad de los da- tos, etc. Esto lleva a dar soluciones que faciliten la operacin de las tareas mediante la construccin 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 introduccin del proyecto, tres cap- tulos y la conclusin.
El captulo I se refiere a la necesidad del desarrollo de una base de datos que permita a la Ferretera Mndez 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 nmina, y se da una breve explicacin de lo que son las bases de datos, cubriendo as un marco terico.
El capitulo II trata del planteamiento y anlisis del problema, en el cual se describe con detalle la necesidad de un Sistema de Bases de Datos dividiendo este capitulo en la Especificacin de Requisitos donde se describe el software y hardwa- 6 re necesarios, la Definicin Conceptual del Sistema en la cual se describen las ca- ractersticas generales de la empresa, Descripcin de la Informacin 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 interactan los diferentes mdulos y sus almacenes de datos. Una vez expuesto el Modelo Conceptual se presenta el Modelo Entidad Re- lacin explicando cada uno de sus componentes, partiendo de esto y al finalizar el capitulo se describe el Modelo Relacional con la explicacin de las tablas obtenidas.
En el capitulo III se muestra la Implementacin 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 captulo se divide en dos partes, el objetivo de la primera es descri- bir la necesidad de la Ferretera Mndez 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 tambin llevar un control de su nmina, y el objeti- vo de la segunda parte es dar un marco terico de las bases de datos y de la inge- niera de software. 1.1 Empresa
La empresa denominada Ferretera Mndez S.A. de C.V. surge en el mes de mayo del 2003.
La misin es competir en el ramo ferretero, proporcionando al cliente artculos de calidad en plomera, material elctrico, herramienta en general, etc. de marcas nacionales y extranjeras.
La funcin principal de la empresa para la cual ser elaborada la base de datos es la de realizar la venta de productos divididos en categoras de Herramientas Elctricas, Herramientas Manuales, Plomera, Electricidad, Iluminacin, Muebles, Organizacin, Hogar, Accesorios para baos y cocinas, Jardinera, Mascotas, Pintu- ra, Cerrajera, Hogar y Limpieza. 9 1.1.1 Antecedentes Desde su creacin, la empresa ha tenido como uno de sus objetivos principales satisfacer las necesidades del cliente y hacer una cartera de clientes cada vez ma- yor. En relacin al control de inventario, la informacin se elaboraba manualmente en archivos de papeles, y en consecuencia generaba una labor tediosa encontrar informacin, ocasionando demoras en los servicios. Refirindose a la nmina, el control de los empleados se llevaba a cabo po- niendo toda la responsabilidad en la capacidad de memoria del gerente, que como consecuencia, generaba conflictos en los pagos. El control de la cartera de clientes se realizaba en un archivo de Excel en el cual se anotaba el nombre, telfono, direccin y pedidos del cliente, con la dificul- tad de que la informacin continuaba dispersa y para poder surtir un producto se tena que consultar a varias fuentes, de las cuales el acceso no era sencillo, ya que sta computadora se encuentra en la planta alta del local de la empresa.
1.1.2 Organizacin de la empresa La empresa organiza a su personal de la siguiente manera:
1. GERENTE: Encargado de dirigir al personal y autorizar todas las opera- ciones dentro de la empresa y de administrar los diferentes recursos de la misma. FUNCIONES a) Iniciar operaciones b) Revisar agenda de cobros y pagos c) Iniciar registro de caja 10 d) Atencin a proveedores e) Hacer o verificar el correcto corte de caja f) Elaborar cartera de clientes g) Realizar operaciones bancarias h) Supervisin de inventario i) Revisin del ingreso de mercanca y su facturacin j) Autorizacin de movimientos materiales o financieros
2. SECRETARIA: Encargada de las labores administrativas. FUNCIONES a) Organizar agenda b) Contactar proveedores c) Revisar cobros de clientes y pagos a proveedores d) Atencin telefnica en general e) Control de remisiones y facturas de efectivo y crdito f) Relacin de gastos por facturacin de proveedores g) Captura de informacin
3. CAJERO: Encargado de cobros en mostrador. FUNCIONES a) Iniciar registro de caja b) Hacer corte de caja diario c) Atencin de clientes en el mostrador en caso de ser necesario d) Control de remisiones y facturas
4. EJECUTIVO DE VENTAS: Encargado de ventas en general. 11 FUNCIONES a) Venta de productos en mostrador o por telfono b) Seguimiento de cartera de clientes c) Emisin de facturas y remisiones d) Entrega de mercanca e) Elaboracin de inventario (manual) f) Recibir y organizar mercanca de nuevo ingreso g) Mantenimiento del lugar de trabajo y medios de transporte del mismo
5. COBRADOR: Encargado de cobros a clientes FUNCIONES a) Mantenimiento del lugar de trabajo b) Realizar ruta de cobros a clientes c) Compra y recibo de mercanca d) Reparto de mercanca a clientes e) Atencin de clientes en mostrador en caso necesario f) Organizacin de productos en el almacn y en el mostrador
6. VIGILANTES: Encargado de la seguridad del lugar de trabajo FUNCIONES a) Asegurar el lugar de trabajo b) Revisar los dispositivos de seguridad ( malla elctrica, candados y puer- tas) c) Mantener el espacio destinado a estacionamiento
12 1.1.3 Recursos Materiales de la empresa Dos camionetas Una caja registradora Fax 4 lneas telefnicas Un conmutador Tres equipo de cmputo. Una impresora. Papelera en general.
1.1.4 Necesidad de controlar los procesos de negocio. Una necesidad bsica es dar al cliente una atencin rpida, lo cual requiere de tener en una o varias computadoras una base de datos con los productos disponi- bles para evitar la prdida de tiempo en las bsquedas de existencia de los produc- tos as como sus caractersticas, que incluyen el precio, marca, color, etc.
1.1.5 Principales Procesos de Negocio de la empresa. Qu son los procesos de negocio? Los procesos de negocio consisten en las tareas que debe realizar una empresa si quiere seguir funcionando: realizar ventas, pagar a empleados y acreedores, con- trolar el inventario, etc. Ventas Pago de nmina Pagos a acreedores Altas a nuevos trabajadores 13 Altas a nuevos clientes Control de Inventario
1.1.6 Beneficios de la base de datos a la empresa. Las ventajas de un sistema de base de datos sobre los mtodos tradicionales de mantener los registros en papel es que una base de datos es compacta, rpida, menos laboriosa y actual. Con todo, existe una ventaja adicional: El sistema de Base de Datos ofrece a la empresa un control centralizado de su informacin. La informacin es uno de los recursos ms valiosos de una empresa. As en un comercio sin un sistema de este tipo, cada aplicacin tiene por lo regular sus propios archivos privados de manera que los datos estn muy dispersos y con se- guridad son difciles de controlar en cualquier forma sistemtica.
14 1.2 Bases de Datos
1.2.1 Qu es un Sistema de Base de datos? Un Sistema de Base de Datos es bsicamente un sistema computarizado pa- ra llevar registros. Es posible considerar a la propia Base de Datos como una espe- cie de armario electrnico para archivar, es decir, un depsito o un contenedor de una coleccin de archivos de datos computarizados.
1.2.2 Principales componentes de un Sistema de Bases de Datos. A continuacin se mencionarn los cuatro principales componentes en un sistema de base de datos: La informacin El equipo Los usuarios Los programas
La informacin. En general, la informacin en la base de datos estar inte- grada y adems ser compartida.
El equipo. Se considera que son componentes del equipo del sistema: Medios de almacenamiento secundario: Dispositivos E/S asociados, Drives, Cana- les de E/S, etctera, Procesador o procesadores y memoria principal.
Los usuarios: Es todo el personal del departamento que requiera usar el sis- tema de base de datos para implementar, consultar o realizar sus reportes. Se tie- 15 nen diferentes tipos de usuarios, entre los cuales tenemos a los programadores de aplicaciones;, los cuales son los responsables de escribir los programas de aplica- cin; los usuarios finales, quienes interactan con el sistema desde estaciones de trabajo o terminales; y finalmente el Administrador de la Base de Datos (DBA), y es quien administra la base de datos
Los programas. Existe una capa de programas entre la base de datos fsica misma y los usuarios del sistema: el Sistema de Administracin de Base de Datos (DBMS, Data Base Managment System).
El DBMS maneja todas las solicitudes de acceso a la base de datos formuladas por los usuarios.
1.2.3 El Sistema de Administracin de Bases de Datos (DBMS) El software que permite a una o ms personas el usar y/o modificar los da- tos de una base de datos se denomina Administrador de Base de Datos (DBMS). Maneja todas las solicitudes de acceso a la base de datos formuladas por los usua- rios.
Seguridad: no todos los usuarios tienen acceso a todos lo datos.
Integridad: cierto tipo de consistencia deber realizarse sobre los atributos y valores de los datos, para evitar la inconsistencia en los datos.
16 Sincronizacin: Cuando varios usuarios corren programas que accesan a la base de datos al mismo tiempo, el DBMS deber dar proteccin de inconsistencias que puedan resultar de dos operaciones simultneas a un mismo grupo de datos.
Proteccin de rupturas y recuperacin: facilidades para realizar copias regu- lares de la base de datos y reconstruirla despus de un error de hardware o softwa- re.
Uno de sus objetivos ms importantes es proporcionar a los usuarios una vi- sin abstracta de los datos, es decir, el sistema esconde ciertos detalles de como se almacenan y mantienen los datos, pero sin embargo se deben extraer eficientemen- te.
1.2.4 El Modelo Relacional El modelo relacional de las bases de datos representa la tendencia dominan- te en el mercado actual debido al avance que ha tenido en el campo de las bases de datos principalmente en el modelo relacional, por esta razn la tecnologa de bases de datos se orienta hacia los sistemas relacionales, por ende, en sta parte del capi- tulo se explicar de manera general los conceptos fundamentales para los sistemas relacionales de bases de datos.
Una base de datos relacional es una base de datos percibida por el usuario como una coleccin de relaciones normalizadas [Boone 2000].
El modelo relacional se ocupa de tres aspectos:
17 1. Estructura de datos: El usuario percibe la informacin de la base de datos como tablas y nada ms que tablas. La estructura de datos es la terminologa que se utiliza como notacin y forma de representar la informacin en el modelo rela- cional. Figura 1.1 Modelo Relacional: Estructura de Datos En particular una relacin corresponde a lo que comnmente se le llama Tabla. Entidad: es cualquier objeto distinguible que ha de representarse en la base de da- tos. Una Tupla corresponde a una fila de esa tabla y a un atributo a una columna. La llave primaria es un identificador nico para la tabla; es decir una columna o combinacin de columnas con la siguiente propiedad: Nunca existen dos filas de la tabla con el mismo valor en esa columna o combinacin de columnas. Un Dominio es una coleccin de valores escalares, de los cuales uno o mas atribu- tos (columnas) son del mismo tipo. Un atributo es una caracterstica o valor que se toma (las columnas) dentro de la naturaleza de su dominio. El nmero de atributos en una relacin o en forma equivalente el nmero de do- minios subyacentes se llama grado. El nmero de tuplas en una relacin se llama Cardinalidad.
18 2. Integridad. Las tablas deben satisfacer ciertas restricciones de integridad. La integridad se basa en dos reglas en el modelo relacional: Regla de la Integridad de las Entidades: Ningn componente de una re- lacin base puede tener valores nulos. La base de datos no debe contener valores de llave ajena sin concordan- cia.
3. Manipulacin. Los operadores disponibles para que el usuario manipule estas tablas son operadores que derivan tablas a partir de tablas. En particular, tres de estos operadores son importantes: restringir, proyectar, juntar.
La operacin restringir extrae las filas especificadas de una tabla. La operacin proyectar extrae las columnas especificadas de las tablas. La operacin juntar rene dos tablas con base en valores comunes de al menos una columna en comn. 19 1.3 Ingeniera de Software La Ingeniera del Software se podra definir como el establecimiento y aplica- cin de principios de la Ingeniera para obtener software. Teniendo en cuenta fac- tores tan importantes como el coste econmico, la fiabilidad del sistema y un fun- cionamiento eficiente que satisfaga las necesidades del usuario. El modelo del ciclo de vida es un factor principal para conseguir los objetivos buscados, una mala eleccin del modelo de ciclo de vida puede hacer que se nos retrase el trabajo enormemente o que tengamos una planificacin perfecta del tra- bajo. 1.3.1 Modelo de cascada En un modelo en cascada un proyecto progresa a travs de una secuencia ordena- da de pasos que son: Concepto del software. Figura 1.2 Modelo Cascada 20 Anlisis de requerimientos. Diseo global. Diseo detallado. Codificacin y depuracin. Prueba del sistema. El modelo contiene una serie de etapas que no se solapan, y el proyecto se va revisando tras cada una de las etapas. Para poder pasar a la siguiente etapa se tiene que haber conseguido todos los objetivos de la etapa anterior, es un proceso se- cuencial. Tiene una buena aplicacin cuando el problema es estable y cuando se trabaja con metodologas tcnicas conocidas. Este modelo ser apropiado para la migra- cin de una aplicacin o a una versin de mantenimiento bien definida. Con este modelo se tiene un seguimiento de todas las fases del proyecto y del cumplimiento de todos los objetivos marcados en cada etapa tanto de costes, fe- chas de entrega y lo ms importante que pueden comprobar al final de cada etapa si el proyecto cumple todas las necesidades del usuario. A su vez esto es un problema ya que si el usuario se da cuenta de que falta una tarea de la empresa en el proyecto una vez pasada esta etapa, el trabajo que hay que realizar se retrasa en fechas de entrega y el coste es mayor. Por lo tanto esto produce un fracaso en la industria ya que es reacio a las modificaciones de ltima hora. Por este motivo se puede modificar el modelo en cascada pudiendo pasar de una etapa a la anterior, pero suele ser difcil ya que hay que rehacer la etapa ante- rior, este modelo es el ciclo de vida del salmn. Por lo tanto este es un modelo poco 21 apropiado para proyectos con fecha de entrega corta, pero su rendimiento puede mejorar notablemente variando el modelo de la cascada pura. 1.3.2 Espiral Fig1.3 Modelo Espiral El modelo de la espiral es un modelo orientado a riesgo que divide el proyecto software en mini proyectos. Cada proyecto se encargar de resolver uno o varios riesgos hasta que estn todos controlados. Una vez que estn los riesgos ms im- portantes controlados se finaliza igual que el ciclo de vida en cascada. En el ciclo de vida en espiral localizan los riesgos, genera un plan para manejar- los y se establece una aproximacin a la siguiente iteracin. Con cada iteracin se produce una aproximacin al producto final. 22 En el modelo en espiral se comienza con una parte pequea del proyecto y se expande tras reducir los riesgos para la siguiente iteracin. En cada iteracin seguimos los siguientes pasos: Determinar objetivos, alternativas y lmites. Identificar y resolver riesgos. Evaluar las alternativas. Generar entregas de esta iteracin, y comprobar que son correctas. Planificar la siguiente iteracin. Si se decide ejecutar la siguiente iteracin, hay que establecer un enfoque para ella. En este modelo las primeras iteraciones son menos costosas y a medida que se avanza aumenta el coste. Las ventajas de este modelo son: Se disminuyen los riesgos. Al final de cada iteracin se obtienen los puntos de verificacin. Se obtienen con anterioridad indicaciones de cualquier riesgo insuperable. Las desventajas de este modelo son: Un aumento de costes. Es un modelo complicado de llevar a cabo porque exige una gestin con- cienzuda, atenta y unos conocimientos profundos.
23 1.3.3 Modelo del desarrollo por prototipos Los sistemas pueden desarrollarse con mtodos y lenguajes de programa- cin convencionales, aunque no tengan todas las caractersticas y toques finales de un sistema terminado. Quizs los informes no tengan encabezados, logos, etc., fal- ten controles de entradas y procesamiento. Lo importante es el ensayo, y hallar los requerimientos. En algunos casos donde el sistema no ser utilizado frecuentemente, puede conver- tirse el prototipo en el sistema terminado, o bien, cuando no son muchos los bene- ficios que se obtienen.
1.3.3.1 Razones para desarrollar prototipos de sistemas Los requerimientos de informacin no siempre estn bien definidos, pueden ser demasiados vagos an al formular el diseo. En otros casos, es probable que una investigacin de sistemas bien llevada, de como resultado un conjunto muy amplio de requerimientos de sistemas, pero construir un sistema que satisfaga a todos ellos quizs necesite del desarrollo de nueva tecnologa. Los prototipos permiten evaluar situaciones extraordinarias donde los en- cargados de disear e implantar sistemas no tienen informacin ni experiencia, o tambin donde existen situaciones de riesgo y costos elevados, y aquellas donde el diseo propuesto es novedoso y an no ha sido probada. La informacin obtenida con su uso se aplica en un nuevo diseo que se emplea, otra vez, como prototipo y que revela ms informacin valiosa sobre dise- o. El proceso se repite las veces que sea necesario para revelar los requerimientos esenciales del diseo. 24 Maquetas. Cuando se comienza el desarrollo, tiene por objetivo presentar a los usuarios y/o clientes la apariencia del sistema final. Los usuarios pueden manifes- tar su opinin. Ambos mtodos son muy tiles para establecer la viabilidad del proyecto y definir acuerdos sobre los objetivos y resultados esperados.
1.3.3.2 Etapas del mtodo de prototipos 1) Identificacin de requerimientos conocido. La determinacin de los requerimientos de una aplicacin es tan importante para el mtodo de desarrollo de prototipo como lo es para los mtodos del ciclo clsico de desarrollo de sistemas o anlisis estructurado (aunque las tcticas son diferentes). Por consiguiente, antes de crear el prototipo, los analistas y usuarios deben trabajar juntos para identificar los requerimientos conocidos que tiene que satisfacerse. Para hacerlo determinan los fines para lo que servir el sistema y el alcance de sus capacidades. 2) Desarrollo de un modelo de trabajo Es til comenzar el proceso de construccin del prototipo con el desarrollo de un plan general que permita a las personas conocer lo que se espera de ellas y del proceso de desarrollo. Es difcil, y en ocasiones imposibles, fijar una fecha ten- tativa de terminacin. La experiencia con el sistema es la que determina eventual- mente cuando en sistema esta terminado. Para comenzar la primera iteracin, usuarios y analistas identifican de ma- nera conjunta los datos que son necesarios para el sistema y especifican la salida que debe producir la aplicacin. Las decisiones de diseo necesarias para desarrollar la salida del sistema cambian muy poco en relacin con las tomadas en otros mtodos de desarrollo. Sin 25 embargo, con un prototipo, se espera que las especificaciones iniciales estn in- completas. En el desarrollo de un prototipo se preparan los siguientes componentes: *El lenguaje para el dilogo o conversacin entre el usuario y el sistema *Pantallas y formato para la entrada de datos *mdulos esenciales de procesamiento *Salida del sistema Al construir el prototipo se deben seguir los estndares para datos que em- plea la organizacin. En esta etapa es ms importante la rapidez con que se construye el prototipo que la eficiencia de operacin. Es por esto que el analista no intenta optimizar la velocidad de operacin del sistema. Durante la evaluacin los analistas de sistemas desean capturar 3) El prototipo y el usuario Es responsabilidad del usuario trabajar con prototipo y evaluar su caracte- rstica y operacin. La experiencia con el sistema bajo condiciones permite obtener la familiaridad indispensable para determinar los cambios o mejoras que sean ne- cesarios as como la eliminacin de caractersticas inadecuadas o innecesarias. 4) Revisin del prototipo Informacin sobre los que les gusta y los que les desagrada a los usuarios. La informacin obtenida tendr influencia sobre las caractersticas de la siguiente versin de la aplicacin. Los cambios al prototipo son planificados con los usuarios antes de llevarlos a cabo. El analista es el responsable de realizar las modificaciones. 5) Repeticin del proceso las veces que sea necesario. 26 El proceso finaliza cuando los usuarios y analistas estn de acuerdo en que el sistema ha evolucionado lo suficiente como para incluir todas las caractersticas necesarias o cuando ya es evidente que no se obtendr mayor beneficio. 6) El abandono o dejarlo como esta: Cuando se verifica que no es posible desarrollar el sistema para satisfacer los objetivos deseados, ya sea por la tecnologa existente o por el factor econmico. 27
CAPIITULO II ANLISIS Y DISEO DEL SISTEMA
28 2.1 Especificacin de Requisitos
Las bases de datos constituyen un instrumento de mucha utilidad en las empresas. Esto lleva a dar soluciones que faciliten la operacin de las tareas me- diante la construccin de una base de datos que pueda satisfacer las necesidades de su mercado en menor tiempo, brindando as una mejor calidad en los servicios, por lo cual, este proyecto tiene como objeto crear un sistema de Bases de Datos pa- ra llevar el control de inventario, registro de ventas de productos y la nmina de una ferretera teniendo la capacidad de manejarse en red.
2.1.1 Requerimientos del Sistema El Sistema de Base de Datos requiere en principio de una computadora Pen- tium II en adelante, con el Sistema Operativo Windows 2000, NT o XP, un navega- dor WEB como Internet Explorer o Netscape Navigator. El software necesario para realizar el Sistema es: Apache: Proporciona las tareas de Servidor. PHP: Es el lenguaje de programacin y proporciona una interfaz grfica pa- ra el usuario, otra ventaja de PHP es que nos esconde el cdigo. MYSQL: Es el sistema Manejador de Bases de Datos. Microsoft Visio: Software para realizar los diagramas. HTML: Soporta el PHP y ayuda en la interfaz con el usuario. Ultra-Edit32: Editor de HTML y PHP
29 2.2 Definicin Conceptual del Sistema
El Sistema ser una base de datos que lleve el control y administracin de la in- formacin que se tiene dentro de la ferretera para as facilitar el manejo de servi- cios, clientes y trabajadores dentro de sta, teniendo como funciones principales: Cartera de clientes actualizada. Informacin personal de los trabajadores para la nomina. Control de las Ventas de Productos. Control del inventario. Informacin de los proveedores. La recopilacin de la informacin se hizo a travs de entrevistas con el cliente, en las cuales se discutieron las necesidades de la empresa, ya que esta no cuenta con una organizacin eficiente que le permita realizar sus procesos de negocio con la suficiente rapidez y efectividad, causando con esto una demora en la atencin a clientes. La empresa realiza sus procesos en forma manual, es decir, tiene un inventario hecho en papel, el control de la nmina se basa en la memoria del gerente y la in- formacin personal de los empleados est registrada en papeles, las ventas se rea- lizan en forma manual y la actualizacin del inventario se hace de la misma mane- ra, lo que provoca que el control de las ventas e inventario no sea exacto ni actuali- zado, por otro lado, la cartera de clientes y la informacin de proveedores est en una hoja de clculo en Microsoft Excel, la cual solo contiene la informacin perso- nal del cliente y de los proveedores. Teniendo esta informacin, se obtuvieron los requisitos del Sistema, los cuales se explicarn en la siguiente parte. 30 2.3 Descripcin de la Informacin.
Las funciones principales del sistema son: Dar de alta a clientes. Calcular totales. Aplicar descuentos. Dar de baja a clientes. Calcular las existencias. Calcular la nmina. Dar de alta a trabajadores. Dar de baja a trabajadores. Dar informacin de productos. Controlar informacin de proveedores.
2.3.1 Casos De Uso: Descripcin De Procesos.
2.3.1.1 Actores Los actores del sistema son los siguientes: Cliente, Vendedor, Gerente, sus actividades son descritas a continuacin.
Cliente Compra productos Paga productos Cajero Cobra Emite facturas y notas Vendedor Registra productos Da de alta a clientes 31 Gerente Da de alta productos Controla nmina Da de alta empleados Inicia operaciones
2.3.1.2 Casos De Uso En Formato De Alto Nivel.
Caso de uso Comprar productos Actores Cliente (iniciador), cajero, vendedor Tipo Primario Descripcin El cliente pide los productos que desea comprar, el vendedor los regis- tra, el cajero captura los pagos. Al terminar el cliente se marcha con los productos.
Caso de uso Inicio de operaciones Actores Gerente Tipo Primario Descripcin El gerente activa el sistema a fin de prepararlo para que lo usen ven- dedores y cajeros.
Caso de uso Pagar factura o recibo Actores Cajero cliente Tipo Primario Descripcin El cajero cobra el monto, el cliente paga y el cajero emite facturas o notas, entregas el cambio
32 Caso de uso Obtener nmina Actores Gerente empleado Tipo Secundario Descripcin El gerente consulta la nmina y paga al vendedor o cajero.
Caso de uso Alta a trabajadores Actores Empleados en general Tipo Secundario Descripcin El gerente inicia con el ingreso de informacin del nuevo empleado, el empleado proporciona sus datos
Caso de uso Ingresar clientes Actores Cliente, vendedor o gerente Tipo Primario Descripcin El cliente solicita darse de alta, el vendedor o gerente captura sus datos
Caso de uso Dar de alta productos Actores Gerente o empleado Tipo Primario Descripcin El gerente o empleado captura informacin del nuevo producto
33 2.4 Modelo Funcional
El diagrama funcional del proyecto consta de 3 niveles de Diagramas de Flujo de Datos (DFD), a continuacin se explica la simbologa utilizada.
Smbolo Significado Texto Entidad externa al Sistema. Proceso: Manipula o destruye informacin Indica la direccin en que fluye la informacin Almacn de datos, indica de donde se alimenta un proceso
2.4.1 DFD NIVEL 0 Vendedor Vendedor Gerente Gerente Impresora
Figura2.1. Diagrama de flujo de datos nivel 0 El primer DFD muestra la relacin que existe entre el Sistema y las entida- des externas que son vendedores, gerente e impresora, el flujo de datos es del ven- dedor o el gerente al Sistema y del Sistema al vendedor o gerente y a la impresora.
Sistema 34 2.4.2 DFD NIVEL 1 Este diagrama muestra en forma general el comportamiento del sistema en el que se encuentran 6 procesos: Ventas, Actualizacin de inventario, Reportes, Actuali- zacin de clientes, Actualizacin de nomina, Actualizacin de proveedores; tam- bin se puede observar que el sistema se alimenta de los almacenes: Nmina, Clientes, Proveedores, Ventas, e Inventario.
Inventario Vendendor Gerente (Pantalla) Vendedor (Pantalla) Impresora Gerente Clientes Proveedores Nmina Ventas Actualizacin de Inventario Actualizacin de Nmina Actualizacin de Clientes Reportes Inventario Actualizacin Proveedores Ventas Inventario
Figura2.2. Diagrama de flujo de datos nivel 1
35 2.4.3 DFD NIVEL 2 2.4.3.1 Ventas. El vendedor captura la clave de los productos solicitados por el cliente, ob- tenindolos del almacn Inventario, en caso de haber existencia de los productos se despliega en la pantalla y se actualiza el inventario y el almacn ventas.
Figura2.3 DFD 2 Ventas 2.4.3.2 Actualizacin de Nmina El Gerente introduce los nuevos datos para ser agregados o modificados del almacn Nmina, los resultados se muestran en la pantalla.
Gerente D informacin del empleado Gerente (Pantalla) Actualizar Informacin Nmina
Figura 2.4. DFD 2 Actualizar Nmina 36 2.4.3.3 Actualizacin de Clientes. El Gerente o Vendedor introduce los nuevos datos para ser agregados o modificados del almacn Clientes, los resultados se muestran en la pantalla.
Gerente o Vendedor D informacin del cliente Gerente o Vendedor (Pantalla) Actualizar Informacin Clientes
Figura2.5. DFD 2 Actualizar Clientes
2.4.3.4 Actualizacin de inventario. El gerente o empleado ingresa los datos de o de los productos y se actualiza la informacin del almacn inventario, los resultados se muestran en pantalla.
Gerente o Vendedor D informacin del producto Gerente o Vendedor (Pantalla) Actualizar Informacin Inventario
Figura 2.6. DFD 2 Actualizar Inventario.
37 2.4.3.5 Actualizacin de Proveedores. El gerente ingresa los datos de los proveedores y se actualiza la informacin del almacn proveedores, los resultados se muestran en pantalla.
Gerente D informacin del proveedor Gerente (Pantalla) Actualizar Informacin Proveedores
Figura 2.7. DFD 2 Actualizar Proveedores.
38 2.5. Modelo Entidad Relacin
Empleado Id_empleado Cargo Nombre Ventas Hecha por Monto Fecha Hora Producto Preciou Nombre Categoria Tiene Id_categoria Id_marca Nombre Proveedor Id_prov Existencia Id_ventas lineaproducto Id_linea Cantidad Descuento Contiene Fechaingreso Caractersticas Marca Tiene Regista Calle Colonia Municipio Ciudad CP Tel1 Tel2 Sueldo Importe Precioc Id_producto Nombrec Calle Colonia Municipio Ciudad CP Tel1 Tel2 Tel3 Fax Nombre Id_cliente Nombrec Calle Colonia Municipio Ciudad CP Tel1 Tel2 Tel3 Fax Cliente
Figura2.8 Modelo Entidad Relacin.
39 El modelo consta de 8 entidades con sus respectivas relaciones y tributos, a continuacin se explican cada una de las entidades con su nombre, funcin y sus atributos. 2.5.1 Entidades
2.5.1.1 Entidad: Empleado Contiene la informacin de la nmina. Atributo Descripcin Nombre Nombre del empleado Calle Calle Colonia Colonia Municipio Municipio. Ciudad Ciudad CP Cdigo Postal Tel1 Telfono Tel2 Telfono alternativo Cargo Puesto ocupado en la empresa Fechaingreso Contiene la fecha en que el empleado ingresa a la empresa Sueldo Salario Mensual Id_empleado Identificador nico por empleado Tabla 2.1 Empleado 2.5.1.2 Entidad: Ventas. Contiene informacin relacionada con una venta. Atributo Descripcin Hora Hora en que se realiza la venta Fecha Fecha en que se realiza la venta 40 Monto Costo total de los productos comprados en una venta Id_ventas identificador nico de la venta Tabla 2.2 Empleado 2.5.1.3 Entidad: Producto. Contiene la informacin general de un producto. Atributo Descripcin Caractersticas Informacin extra del producto Preciou Precio unitario en que se vende el producto Precioc Precio en que se compra el artculo Nombre Nombre del producto Existencia Total de existencia de un producto Id_producto identificador nico de un producto Tabla 2.3 Producto 2.5.1.4 Entidad: Marca Contiene las marcas existentes de los productos. Atributo Descripcin Id_marca Identificador de la marca Tabla 2.4 Marca 2.5.1.5 Entidad: Categora Contiene las categoras en que se dividen los productos Atributo Descripcin Id_categora Identificador de la categora del producto Tabla 2.5 Categora 2.5.1.6 Entidad: lineaproducto Es encargado de llevar la cantidad y el descuento en caso de existir de cada uno de los productos contenidos en una venta. Atributo Descripcin 41 Descuento Contiene el descuento hecho a cada uno de los productos Importe Importe del producto Cantidad Cantidad solicitada por producto. Id_linea Identificador nico de lineaproducto Tabla 2.6 Empleado 2.5.1.7 Entidad: Cliente Contiene los datos personales de un cliente. Atributo Descripcin Nombre Nombre del cliente Nombrec Nombre de contacto Calle Calle Colonia Colonia Municipio Municipio Ciudad Ciudad CP Cdigo Postal Tel1 Telfono uno Tel2 Telfono dos Tel3 Telfono tres Fax Nmero de Fax Id_Cliente identificador nico del cliente Tabla 2.7 Cliente 2.5.1.8 Entidad: Proveedor Contiene la informacin personal del proveedor. Atributo Descripcin Nombre Nombre del proveedor Nombrec Nombre de contacto del proveedor 42 Calle Calle Colonia Colonia Municipio Municipio Ciudad Ciudad CP Cdigo Postal Tel1 Telfono uno Tel2 Telfono dos Tel3 Telfono tres Fax Nmero de Fax Id_proveedor Identificador nico del proveedor Tabla 2.8 Proveedor 2.5.2 Relaciones. Hasta ahora solo se han mencionado las entidades y sus atributos, a conti- nuacin se muestra la relacin que hay entre ellos y su conectividad, expresando la conectividad de la siguiente manera: Uno a Muchos: 1:M Muchos a 1: M:1
Entidad Relacin Conectividad Entidad Ventas Hecha por M:1 Empleado Ventas Contiene 1:M Lineaproducto Lineaproducto Registra M:1 Producto Categora Tiene 1:M Producto Marca Tiene 1:M Producto Tabla 2.9 Relaciones 43 2.6 Modelo Relacional El modelo Relacional se obtuvo del Modelo Entidad Relacin, a continuacin se presentan las tablas que se obtuvieron solamente del nombre de la entidad y sus atributos:
2.6.1 Tablas Empleado, Cliente, Proveedor, Marca, Categora Empleado Tipo Cliente Tipo Proveedor Tipo id_empleado varchar(5) id_cliente varchar(5) id_prov varchar(5) nombre varchar(60) nombre varchar(60) nombre varchar(60) Calle varchar(30) nombrec varchar(60) nombrec varchar(60) Colonia varchar(30) Calle varchar(30) Calle varchar(30) Municipio varchar(30) Colonia varchar(30) Colonia varchar(30) Ciudad varchar(15) Municipio varchar(30) Municipio varchar(30) CP varchar(5) Ciudad varchar(15) Ciudad varchar(15) tel1 varchar(17) CP varchar(5) CP varchar(5) tel2 varchar(17) tel1 varchar(12) tel1 varchar(12) cargo varchar(30) tel2 varchar(12) tel2 varchar(12) fechaingreso Date tel3 varchar(12) tel3 varchar(12) sueldo Flota fax varchar(12) fax varchar(12)
Marca Tipo Categora Tipo Id_marca Varchar(30) Id_categoria varchar(30) Tabla 2.10 Tablas Empleado, Cliente, Proveedor, Marca, Categora
44 2.6.2 Tabla Producto A continuacin se presenta la tabla producto, la cual contiene la llave for- nea de la tabla marca y categora, ambas se obtuvieron de una relacin uno a mu- chos especificada en el modelo anterior. Producto Tipo id_producto Varchar(10) nombre varchar(40) preciou float precioc float caracteristicas varchar(100) existencia float id_marca Varchar(30) id_categoria Varchar(30) Tabla 2.11 Producto
2.6.3 Tabla Ventas La tabla ventas contiene la llave de la tabla empleado debido a la existencia de una relacin muchos a muchos. Ventas Tipo id_ventas Int Monto Flota Fecha Date Hora Time id_empleado Varchar(5) Tabla 2.12 Ventas
45
2.6.4 Tabla Lineaproducto LineaProducto contiene tres llaves forneas ya que existe una relacin mu- chos a uno con las tablas ventas, y producto. lineaproducto Tipo id_linea int descuento Int cantidad float id_ventas int id_producto varchar(10) importe float Tabla 2.13 Lineaproducto
46
CAPITULO III IMPLEMENTACION Y PRUEBAS.
47 3.1 Breve Explicacin Para lograr el objetivo de crear un Sistema de Bases de Datos para llevar el control de inventario, registro de ventas de productos y la nmina de la ferretera se utiliz el siguiente software: PHP para realizar la interfaz del programa ayuda- do de HTML, MYSQL como manejador de Bases de Datos, APACHE como servi- dor, MACROMEDIA DREAM WEAVER para facilitar el manejo de HTML en al- gunas interfaces. El Software consta de los siguientes Mdulos: Conexin. En esta rea el usuario se registra con su login y password para tener acceso al Sistema. Ventas. El Sistema Ventas realiza las operaciones de ventas y actualiza el in- ventario. Productos. En ste modulo el usuario dependiendo de sus privilegios puede realizar altas, bajas, modificaciones, consultas de productos y de marcas y categoras. Nmina. El Sistema nmina se encarga de llevar el control de la informacin de los empleados, permitiendo altas, bajas, modificaciones y bsquedas. Clientes. En este mdulo se accede a la informacin de clientes, se pueden hacer altas, bajas, modificaciones y consultas. Proveedores. En este mdulo se realizan las mismas operaciones que en clientes o nmina en la informacin de proveedores. Reportes. En esta parte del Sistema se generan informes con los datos de las Ventas o Inventario, para este mdulo se toma como herramienta de ayuda Microsoft Access. A continuacin se explican las pantallas principales de cada mdulo y su funcin. 48 3.2 Iniciando. El primer paso para iniciar con el Sistema es abrir algn navegador de Internet y en caso de trabajar de forma local, teclear: http://localhost/contenedor.htm, si se est accediendo a la base de datos desde una mquina cualquiera al servidor que contiene el Sistema, se teclea la ruta en la que se encuentra la pagina principal del servidor. En ambos casos pulsando la tecla enter se dar inicio a pgina principal del Sistema, cuya imagen se presenta a continuacin:
Figura3.1 Pantalla principal Men Principal Banner 49 3.3 Conexin En conexin el usuario se registra con un nombre de usuario y un password, los cuales le permitirn realizar diferentes operaciones de acuerdo a los privilegios da- dos.
3.3.1 Usuarios. Existen dos tipos de usuarios, gerente y empleado. Gerente. Tiene todos los privilegios sobre las tablas de la base de datos. Empleado. Solo tienen acceso a ciertas operaciones, como son las consultas de produc- tos, clientes, proveedores, a visualizar la clave de cada empleado en las ventas, y to- dos los privilegios sobre las tablas que tienen que ver con el mdulo ventas, marcas y categoras
Una vez que el usuario se ha registrado correctamente puede acceder a las dems opciones dependiendo de los privilegios (mencionados anteriormente) solo con dar clic sobre la opcin deseada. Para mantener el usuario y el password durante todas las operaciones realizadas por el usuario se manejan cookies, las cuales continan con su valor hasta que sea seleccionada la opcin SALIR o se ingresen nuevos datos en la pantalla de co- nexin. 50
3.4 Productos El mdulo Productos muestra en la parte inferior las operaciones disponibles para los usuarios sobre el tema, para esto se utilizaron dos frames que contienen la pantalla de consulta y el men Productos que contiene las opciones Altas, Bajas, Modifica- ciones, Categoras y Marcas.
Figura 3.2 Pantalla Productos 51 3.4.1 Consultas Las bsquedas de un producto se pueden hacer por Nombre, Clave, Categora, Precio unitario y Precio de Compra, no es necesario dar el valor completo del dato a buscar, basta con escribir una parte de l. Un ejemplo de cmo el sistema presenta el resultado de una consulta en que se piden los productos que tengan por nombre ta- ladro se muestra en la siguiente figura:
Figura3.3 Resultado de consulta.
3.4.2 Altas. En la pantalla altas, se permite al usuario ingresar los datos de un nuevo producto, las marcas y categoras a las cuales puede pertenecer el producto se muestran en los campos de men, cabe resaltar que las marcas y categoras se extraen de los datos ingresados en los Sistemas Categoras y Marcas. En la pantalla Altas se valida que los tipos de datos sean correctos, por ejemplo, no se permiten precios no numricos ni claves vacas y en caso de que el producto ya exista, se mostrar un mensaje de error.
52
Figura 3.4 Altas de Productos
3.4.3 Bajas. En esta pantalla se muestra un cuadro de texto en el que el usuario teclea el nombre del elemento a eliminar, el Sistema hace una bsqueda de este y muestra los elementos que coinciden con la bsqueda, a continuacin el usuario elige el producto a eliminar de la lista y con un clic es borrado de la base de datos; si el producto est siendo utilizado por alguna otra parte del Sistema, por ejemplo por el rea de ventas, no se permitir la eliminacin. Un ejemplo de un producto correctamente eliminado se muestra a continuacin:
Pantalla 2: Confirmacin Figura 3.5 Bajas de Produc- tos
53 3.4.4 Modificaciones. El sistema ofrece la herramienta de bsqueda por nombre, lo que hace el usua- rio es teclear el nombre del producto y a continuacin se desplegar la lista de nom- bres que coinciden y una liga para elegir el elemento a modificar, posteriormente el Sistema regresa los datos originales del producto, el usuario podr modificar los da- tos, el sistema los valida y regresa una confirmacin. El proceso se explica a conti- nuacin.
Figura 3.6 Modificaciones de Producto Pantalla 1: Consulta Pantalla 2: El sistema regresa los datos y el usuario los modifica Pantalla 3: Confirmacin. 54 3.4.5 Categoras y Marcas. El Sistema Categoras, y Marcas son similares, ambos contienen las opciones de insertar, eliminar y buscar, a continuacin se muestran las pantallas de cada uno. En estos Sistemas en las consultas no es necesario introducir un valor, ya que si el usuario deja en blanco la casilla de bsqueda, el sistema le mostrar todas las marcas o categoras existentes.
Figura 3.7 Sistemas: Marcas y Categoras.
55 3.5 Nmina, Clientes, Proveedores Los mdulos Nmina, Clientes, Proveedores son muy parecidos, solo difieren en los datos que se piden en cada uno, por lo cual, a continuacin se presentan sus pantallas de altas, las operaciones de bajas, modificaciones y consultas se muestran mas adelante solo tomando como muestra las pantallas de nmina. 3.5.1 Altas Nmina. Datos solicitados: Nombre, Clave, Calle Y Nmero, Colonia, Municipio, Ciu- dad, CP, Telfono, Celular U Otro, Fecha De Ingreso, Cargo Y Sueldo. Clientes. Datos solicitados: Nombre, Clave, Nombre de contacto, Calle y Nmero, Co- lonia, Municipio, Ciudad, CP, Telfono1, Telfono2, Telfono3, Fax. Proveedores. Datos solicitados: Nombre, Clave, Nombre de contacto, Calle y Nmero, Colonia, Municipio, Ciudad, CP, Telfono1, Telfono2, Telfono3, Fax.
Figura 3.8. Altas de Empleados 56 3.5.2 Consultas En la pantalla principal en los mdulos de Nmina, 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 categora por la que elija se realice la consulta, presiona el botn enviar y el sistema muestra todos los campos del resul- tado obtenido.
Figura 3.9. Sistema Nmina: Consultas
3.5.3 Bajas. Para realizar una eliminacin el usuario teclea el nombre del empleado, a con- tinuacin 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 continuacin: 57
Figura 3.10. Sistema Nmina: Bajas.
3.5.4 Modificaciones. El rea de modificaciones acta de forma similar a las modificaciones de pro- ducto, a continuacin se muestra el proceso:
Pantalla 1: El usuario Hace la bs- queda y seleccin del elemento a eliminar Pantalla 2: Confirmacin de que el elemento ha sido de baja. Pantalla 1: El usuario Hace la bs- queda y seleccin del elemento a modificar 58
Figura 3.11. Modificaciones de Empleados Pantalla 2: Modificando Datos Pantalla 3: Confirmacin 59 3.6. Ventas El Sistema Ventas es el mdulo ms importante del Sistema, por lo cual, al pulsar la opcin 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 continuacin.
Banner Peticin de empleado y Nota de venta Ingreso de productos Lista de productos y opciones de eliminar y modificar Monto Actual rea de bsquedas Figura3.12. Pantalla Principal Ventas 60 El rea de Ventas se divide en tres partes, el Banner en la parte superior, a con- tinuacin se encuentra el rea de insercin y presentacin 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 continuacin se explica cada rea con detalle.
3.6.1 Insercin 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 mantendrn durante toda la operacin 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 descripcin, el descuento e importe y para cada producto se muestran dos ligas una es para modi- ficar el artculo 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 algn error en la captura del producto, el Sis- tema informa al usuario que no puede realizar la transaccin 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 Bsquedas. Debido a que el nmero de productos que pueden ser surtidos en una ferrete- ra es extenso, el sistema proporciona al usuario la opcin de hacer bsquedas por nombre de producto para facilitar la insercin de los mismos en la venta actual, un ejemplo de sta bsqueda se muestra a continuacin.
Figura 3.14. Bsqueda 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 rengln 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 pgina se muestra el proceso por pantallas. 62
Seleccin del producto a modificar y presentacin de los datos originales Realizando Cambios Cambio 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 rengln 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 botn 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 opcin Cancelar Venta, restaura los valores de existencia del inventario de los productos registrados y la informacin de la venta actual. 64 3.7. Reportes El rea de sistemas trabaja con Microsoft Access para la realizacin de los re- portes, sta rea permite al usuario visualizar los reportes de ventas e inventario. Al seleccionar la opcin 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 opcin 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 opcin el Sistema no genera ningn 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 continuacin 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 categora elegida, el usuario se- lecciona el archivo con la fecha que desea visualizar y el sistema le proporciona la opcin de Solo visualizarlo o de Imprimirlo, una vez hecha la eleccin se realiza la operacin correspondiente.
A continuacin 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 opcin Salir de la ventana principal del Sistema permite al usuario terminar con la ejecucin del programa. 66 3.9 Manejo de Errores
El Sistema debe encargarse de evitar las operaciones con datos no vlidos, por lo cual trata de validar la informacin 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 validacin se realiza cuando el usuario pulsa el botn para enviar infor- macin al Sistema. La forma de alertar el error es mediante la aparicin 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 validacin trabaja con la informacin que tiene un tipo de dato correcto pero que no coincide con la informacin de la base de datos o no es correcta para mantener la integridad de la misma. A continuacin se presentan ejemplos del manejo de algunos errores Tipo2. 67
Figura 3.18.Error donde el dato no coincide con la informacin 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 algn 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. Operacin Error Tipo Altas Tipos de datos no vlidos 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 vaco 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 vaco* 1 Modificaciones Tipos de datos no vlidos 1 Modificaciones Modificar la clave por otra ya existente 2 Modificaciones Usuario sin permisos 3 Consultas Tipos de datos no vlidos 1 Consultas Usuario sin permisos 3 Consultas Campo vaco* 1 Consultas Clave de producto no existente 3 + Solo aplica para el Sistema Ventas. * No aplica para el Sistema Marcas y Categoras Tabla 3.1 Errores 69 Conclusin
El objetivo de este proyecto fue crear un Sistema de Base de Datos para una Ferretera con el fin de controlar sobre las cuales no se tiene control, como son el orden, la manipulacin de datos, el Sistema cuenta con los mdulos de Productos, Clientes, Ventas, Proveedores, Reportes de Ventas e Inventario.
La Base de Datos est hecha en MYSQL, los mdulos 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 implementacin 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 implementacin que permita llevar el rea de Cuentas por Pagar y Cuentas por Cobrar, as como la informacin 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 bsquedas de los da- tos personales de Clientes y Proveedores. 70 Bibliografa
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 Anlisis y diseo 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
Pginas 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