Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación

“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

1

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 dedicaré 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 cuidarme en tantas y tantas ocasiones y sobre 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 sepas que todo eso dio frutos, se que aun me cuidas y que estas contenta de estar leyendo esto, gracias por todo, te quiero 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 todo eso quede entre nos ok? Las quiero mucho.

2

Í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 2.5. Modelo Entidad – Relación ________________________________________ 38 2.5.1 Entidades ______________________________________________________ 39 2.5.2 Relaciones._____________________________________________________ 42 2.6 Modelo Relacional ________________________________________________ 43 2.6.1 Tablas Empleado, Cliente, Proveedor, Marca, Categoría _________________ 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 Explicación _________________________________________________ 47 3.2 Iniciando. ________________________________________________________ 48 3.3 Conexión_________________________________________________________ 49 3.3.1 Usuarios. ______________________________________________________ 49 3.4 Productos ________________________________________________________ 50

3

Proveedores _____________________________________ 3.8.6.1 Inserción de productos.2 Errores Tipo 2 __________________________________________________ 3.3 Modificaciones. _________________________________________________________ 3.3 Bajas.8.8.6.4.7.5 Categorías y Marcas.6 Cancelar Ventas_________________________________________________ 3.8.4.6. _________________________________________________ 3. ___________________________________________ 3.5 Finalizar Ventas_________________________________________________ 3. ________________________________________________ Conclusión 69 Bibliografía 70 51 51 52 53 54 55 55 56 56 57 59 60 61 61 63 63 63 64 65 66 66 66 67 68 4 .3. Clientes. Reportes _________________________________________________________ 3.4.4 Modificaciones.6.2 Consultas ______________________________________________________ 3.6.1 Consultas ______________________________________________________ 3.3 Errores Tipo 3 __________________________________________________ 3. _________________________________________________ 3.6.4 Modificaciones.5.8 Salir ____________________________________________________________ 3. _____________________________________________ 3.4 Borrar_________________________________________________________ 3.4 Tabla de errores. _________________________________________________________ 3.9 Manejo de Errores_________________________________________________ 3. Ventas __________________________________________________________ 3.5 Nómina. _________________________________________________________ 3.2 Búsquedas.6.1 Altas__________________________________________________________ 3.4. _________________________________________________ 3.5.3 Bajas.5._____________________________________________________ 3.5.4.2 Altas.1 Errores Tipo 1 __________________________________________________ 3.

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. el levantamiento de pedidos y el control de la nómina. como son el orden. A de C. poder controlar de manera eficiente los productos en un inventario. etc.I. tres capítulos y la conclusión. El material presentado se divide en una introducción del proyecto. surge la necesidad de controlar las tareas que son muy rutinarias o sobre las cuales no se tiene control. El capitulo II trata del planteamiento y análisis del problema. A de C.V. y se da una breve explicación de lo que son las bases de datos. la seguridad de los datos. es por ello que en la empresa Ferretería Méndez S. cubriendo así un marco teórico.V. INTRODUCCIÓN La necesidad creciente de comercializar cada día mayor cantidad de productos y servicios. la manipulación de datos. 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- 5 . 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. brindando así una mejor calidad en los servicios. 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.

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.re necesarios. la Definición Conceptual del Sistema en la cual se describen las características generales de la empresa. Una vez expuesto el Modelo Conceptual se presenta el Modelo Entidad Relación explicando cada uno de sus componentes. 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. 6 . Descripción de la Información en la cual se detallan las funciones principales del Sistema mediante casos de uso. 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.

CAPITULO I MARCO TEORICO 7 .

V. 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 Eléctricas. Pintura.A. Hogar y Limpieza. así como también llevar un control de su nómina. 8 . Electricidad. herramienta en general.1 Empresa La empresa denominada Ferretería Méndez S. de marcas nacionales y extranjeras. Plomería. 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. de C. material eléctrico.V.A. Iluminación. La misión es competir en el ramo ferretero. 1. de C. Hogar. Muebles. Cerrajería. etc. Mascotas. Jardinería. Organización. proporcionando al cliente artículos de calidad en plomería.MARCO TEORICO El presente capítulo se divide en dos partes. el objetivo de la primera es describir la necesidad de la Ferretería Méndez S. Accesorios para baños y cocinas. surge en el mes de mayo del 2003. y el objetivo de la segunda parte es dar un marco teórico de las bases de datos y de la ingeniería de software. Herramientas Manuales.

El control de la cartera de clientes se realizaba en un archivo de Excel en el cual se anotaba el nombre.2 Organización de la empresa La empresa organiza a su personal de la siguiente manera: 1. 1.1. En relación al control de inventario. la información se elaboraba manualmente en archivos de papeles. y en consecuencia generaba una labor tediosa encontrar información. que como consecuencia. la empresa ha tenido como uno de sus objetivos principales satisfacer las necesidades del cliente y hacer una cartera de clientes cada vez mayor. dirección y pedidos del cliente. ya que ésta computadora se encuentra en la planta alta del local de la empresa. generaba conflictos en los pagos. con la dificultad de que la información continuaba dispersa y para poder surtir un producto se tenía que consultar a varias fuentes. teléfono. el control de los empleados se llevaba a cabo poniendo toda la responsabilidad en la capacidad de memoria del gerente.1.1. FUNCIONES a) Iniciar operaciones b) Revisar agenda de cobros y pagos c) Iniciar registro de caja 9 .1 Antecedentes Desde su creación. GERENTE: Encargado de dirigir al personal y autorizar todas las operaciones dentro de la empresa y de administrar los diferentes recursos de la misma. ocasionando demoras en los servicios. de las cuales el acceso no era sencillo. Refiriéndose a la nómina.

d) Atención a proveedores e) f) Hacer o verificar el correcto corte de caja Elaborar cartera de clientes g) Realizar operaciones bancarias h) Supervisión de inventario i) j) Revisión del ingreso de mercancía y su facturación Autorización de movimientos materiales o financieros 2. CAJERO: Encargado de cobros en mostrador. SECRETARIA: Encargada de las labores administrativas. 10 . FUNCIONES a) Organizar agenda b) Contactar proveedores c) Revisar cobros de clientes y pagos a proveedores d) Atención telefónica en general e) Control de remisiones y facturas de efectivo y crédito f) Relación de gastos por facturación de proveedores g) Captura de información 3. FUNCIONES a) Iniciar registro de caja b) Hacer corte de caja diario c) Atención 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.

VIGILANTES: Encargado de la seguridad del lugar de trabajo FUNCIONES a) Asegurar el lugar de trabajo b) Revisar los dispositivos de seguridad ( malla eléctrica. 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 mercancía d) Reparto de mercancía a clientes e) Atención de clientes en mostrador en caso necesario f) Organización de productos en el almacén y en el mostrador 6. candados y puertas) c) Mantener el espacio destinado a estacionamiento 11 .FUNCIONES a) Venta de productos en mostrador o por teléfono b) Seguimiento de cartera de clientes c) Emisión de facturas y remisiones d) Entrega de mercancía e) Elaboración de inventario (manual) f) Recibir y organizar mercancía de nuevo ingreso g) Mantenimiento del lugar de trabajo y medios de transporte del mismo 5.

4 Necesidad de controlar los procesos de negocio.5 Principales Procesos de Negocio de la empresa. etc. Papelería en general. 1. Una necesidad básica es dar al cliente una atención rápida. Una impresora. marca. ¿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. Ventas Pago de nómina Pagos a acreedores Altas a nuevos trabajadores 12 .1. pagar a empleados y acreedores.1. que incluyen el precio.1. color. 1. controlar el inventario.3 Recursos Materiales de la empresa Dos camionetas Una caja registradora Fax 4 líneas telefónicas Un conmutador Tres equipo de cómputo. lo cual requiere de tener en una o varias computadoras una base de datos con los productos disponibles para evitar la pérdida de tiempo en las búsquedas de existencia de los productos así como sus características. etc.1.

Altas a nuevos clientes Control de Inventario 1. 13 . existe una ventaja adicional: El sistema de Base de Datos ofrece a la empresa un control centralizado de su información. cada aplicación tiene por lo regular sus propios archivos privados de manera que los datos están muy dispersos y con seguridad son difíciles de controlar en cualquier forma sistemática. rápida. Así en un comercio sin un sistema de este tipo. Con todo. Las ventajas de un sistema de base de datos sobre los métodos tradicionales de mantener los registros en papel es que una base de datos es compacta.6 Beneficios de la base de datos a la empresa.1. menos laboriosa y actual. La información es uno de los recursos más valiosos de una empresa.

1. En general. etcétera. un depósito o un contenedor de una colección de archivos de datos computarizados. es decir. Drives. Se considera que son componentes del equipo del sistema: Medios de almacenamiento secundario: Dispositivos E/S asociados. consultar o realizar sus reportes. Es posible considerar a la propia Base de Datos como una especie de armario electrónico para archivar. 1. Se tie- 14 . Los usuarios: Es todo el personal del departamento que requiera usar el sistema de base de datos para implementar. Canales de E/S.2.2 Principales componentes de un Sistema de Bases de Datos.2 Bases de Datos 1. A continuación se mencionarán los cuatro principales componentes en un sistema de base de datos: La información El equipo Los usuarios Los programas La información.1 ¿Qué es un Sistema de Base de datos? Un Sistema de Base de Datos es básicamente un sistema computarizado para llevar registros. El equipo. la información en la base de datos estará integrada y además será compartida. Procesador o procesadores y memoria principal.2.

Seguridad: no todos los usuarios tienen acceso a todos lo datos. Data Base Managment System). los usuarios finales. El DBMS maneja todas las solicitudes de acceso a la base de datos formuladas por los usuarios.3 El Sistema de Administración de Bases de Datos (DBMS) El software que permite a una o más personas el usar y/o modificar los datos de una base de datos se denomina Administrador de Base de Datos (DBMS). 1..nen diferentes tipos de usuarios. y es quien administra la base de datos Los programas. y finalmente el Administrador de la Base de Datos (DBA). Integridad: cierto tipo de “consistencia” deberá realizarse sobre los atributos y valores de los datos. Maneja todas las solicitudes de acceso a la base de datos formuladas por los usuarios. 15 . los cuales son los responsables de escribir los programas de aplicación. quienes interactúan con el sistema desde estaciones de trabajo o terminales. entre los cuales tenemos a los programadores de aplicaciones. Existe una capa de programas entre la base de datos física misma y los usuarios del sistema: el Sistema de Administración de Base de Datos (DBMS.2. para evitar la inconsistencia en los datos.

Uno de sus objetivos más importantes es proporcionar a los usuarios una visión abstracta de los datos. Protección de rupturas y recuperación: facilidades para realizar copias regulares de la base de datos y reconstruirla después de un error de hardware o software.2.4 El Modelo Relacional El modelo relacional de las bases de datos representa la tendencia dominante en el mercado actual debido al avance que ha tenido en el campo de las bases de datos principalmente en el modelo relacional.Sincronización: Cuando varios usuarios corren programas que accesan a la base de datos al mismo tiempo. es decir. en ésta parte del capitulo se explicará de manera general los conceptos fundamentales para los sistemas relacionales de bases de datos. 1. pero sin embargo se deben extraer eficientemente. por ende. El modelo relacional se ocupa de tres aspectos: 16 . por esta razón la tecnología de bases de datos se orienta hacia los sistemas relacionales. el DBMS deberá dar protección de inconsistencias que puedan resultar de dos operaciones simultáneas a un mismo grupo de datos. el sistema esconde ciertos detalles de como se almacenan y mantienen los datos. Una base de datos relacional es una base de datos percibida por el usuario como una colección de relaciones normalizadas [Boone 2000].

La estructura de datos es la terminología que se utiliza como notación y forma de representar la información en el modelo relacional. es decir una columna o combinación de columnas con la siguiente propiedad: Nunca existen dos filas de la tabla con el mismo valor en esa columna o combinación de columnas. Un Dominio es una colección de valores escalares. Estructura de datos: El usuario percibe la información de la base de datos como tablas y nada más que tablas.1. La llave primaria es un identificador único para la tabla. de los cuales uno o mas atributos (columnas) son del mismo tipo. Entidad: es cualquier objeto distinguible que ha de representarse en la base de datos. 17 . Figura 1. El número de tuplas en una relación se llama Cardinalidad. Una Tupla corresponde a una fila de esa tabla y a un atributo a una columna. Un atributo es una característica o valor que se toma (las columnas) dentro de la naturaleza de su dominio. El número de atributos en una relación o en forma equivalente el número de dominios subyacentes se llama grado.1 Modelo Relacional: Estructura de Datos En particular una relación corresponde a lo que comúnmente se le llama Tabla.

tres de estos operadores son importantes: restringir. La operación restringir extrae las filas especificadas de una tabla. 3. 18 .2. ♦ La base de datos no debe contener valores de llave ajena sin concordancia. En particular. Las tablas deben satisfacer ciertas restricciones de integridad. proyectar. La operación juntar reúne dos tablas con base en valores comunes de al menos una columna en común. juntar. Integridad. Manipulación. La integridad se basa en dos reglas en el modelo relacional: ♦ Regla de la Integridad de las Entidades: Ningún componente de una relación base puede tener valores nulos. La operación proyectar extrae las columnas especificadas de las tablas. Los operadores disponibles para que el usuario manipule estas tablas son operadores que derivan tablas a partir de tablas.

Teniendo en cuenta factores tan importantes como el coste económico. la fiabilidad del sistema y un funcionamiento eficiente que satisfaga las necesidades del usuario. una mala elección del modelo de ciclo de vida puede hacer que se nos retrase el trabajo enormemente o que tengamos una planificación perfecta del trabajo.3 Ingeniería de Software La Ingeniería del Software se podría definir como el establecimiento y aplicación de principios de la Ingeniería para obtener software.1 Modelo de cascada Figura 1.2 Modelo Cascada En un modelo en cascada un proyecto progresa a través de una secuencia ordenada de pasos que son: • Concepto del software. 1.1. 19 . El modelo del ciclo de vida es un factor principal para conseguir los objetivos buscados.3.

El modelo contiene una serie de etapas que no se solapan. fechas de entrega y lo más importante que pueden comprobar al final de cada etapa si el proyecto cumple todas las necesidades del usuario. Por lo tanto esto produce un fracaso en la industria ya que es reacio a las modificaciones de última hora. el trabajo que hay que realizar se retrasa en fechas de entrega y el coste es mayor. Por este motivo se puede modificar el modelo en cascada pudiendo pasar de una etapa a la anterior. Diseño detallado. Tiene una buena aplicación cuando el problema es estable y cuando se trabaja con metodologías técnicas conocidas. 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. Diseño global. y el proyecto se va revisando tras cada una de las etapas. Codificación y depuración. Este modelo será apropiado para la migración de una aplicación o a una versión de mantenimiento bien definida.• • • • • Análisis de requerimientos. pero suele ser difícil ya que hay que rehacer la etapa anterior. 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. es un proceso secuencial. Por lo tanto este es un modelo poco 20 . Para poder pasar a la siguiente etapa se tiene que haber conseguido todos los objetivos de la etapa anterior. Prueba del sistema. este modelo es el ciclo de vida del salmón.

21 . genera un plan para manejarlos y se establece una aproximación a la siguiente iteración. Con cada iteración se produce una aproximación al producto final. Cada proyecto se encargará de resolver uno o varios riesgos hasta que estén todos controlados.2 Espiral Fig1. pero su rendimiento puede mejorar notablemente variando el modelo de la cascada pura.3 Modelo Espiral El modelo de la espiral es un modelo orientado a riesgo que divide el proyecto software en mini proyectos. En el ciclo de vida en espiral localizan los riesgos. 1.apropiado para proyectos con fecha de entrega corta. Una vez que estén los riesgos más importantes controlados se finaliza igual que el ciclo de vida en cascada.3.

alternativas y límites. Es un modelo complicado de llevar a cabo porque exige una gestión concienzuda. En este modelo las primeras iteraciones son menos costosas y a medida que se avanza aumenta el coste. atenta y unos conocimientos profundos. Al final de cada iteración se obtienen los puntos de verificación. Las desventajas de este modelo son: • • Un aumento de costes. Se obtienen con anterioridad indicaciones de cualquier riesgo insuperable.En el modelo en espiral se comienza con una parte pequeña del proyecto y se expande tras reducir los riesgos para la siguiente iteración. y comprobar que son correctas. Planificar la siguiente iteración. Las ventajas de este modelo son: • • • Se disminuyen los riesgos. En cada iteración seguimos los siguientes pasos: • • • • • • Determinar objetivos. 22 . Si se decide ejecutar la siguiente iteración. hay que establecer un enfoque para ella. Evaluar las alternativas. Generar entregas de esta iteración. Identificar y resolver riesgos.

. Los prototipos permiten evaluar situaciones extraordinarias donde los encargados de diseñar e implantar sistemas no tienen información ni experiencia. cuando no son muchos los beneficios que se obtienen. En algunos casos donde el sistema no será utilizado frecuentemente.1 Razones para desarrollar prototipos de sistemas Los requerimientos de información no siempre están bien definidos.1.3 Modelo del desarrollo por prototipos Los sistemas pueden desarrollarse con métodos y lenguajes de programación convencionales. pero construir un sistema que satisfaga a todos ellos quizás necesite del desarrollo de nueva tecnología. El proceso se repite las veces que sea necesario para revelar los requerimientos esenciales del diseño. o bien. es probable que una investigación de sistemas bien llevada.3. de como resultado un conjunto muy amplio de requerimientos de sistemas. Quizás los informes no tengan encabezados. logos. aunque no tengan todas las características y toques finales de un sistema terminado. como prototipo y que revela más información valiosa sobre diseño. La información obtenida con su uso se aplica en un nuevo diseño que se emplea.3. o también donde existen situaciones de riesgo y costos elevados. 1. puede convertirse el prototipo en el sistema terminado. y hallar los requerimientos. y aquellas donde el diseño propuesto es novedoso y aún no ha sido probada. Lo importante es el ensayo.3. falten controles de entradas y procesamiento. 23 . En otros casos. otra vez. pueden ser demasiados vagos aún al formular el diseño. etc.

Para hacerlo determinan los fines para lo que servirá el sistema y el alcance de sus capacidades. Sin 24 . Las decisiones de diseño necesarias para desarrollar la salida del sistema cambian muy poco en relación con las tomadas en otros métodos de desarrollo. los analistas y usuarios deben trabajar juntos para identificar los requerimientos conocidos que tiene que satisfacerse.3. usuarios y analistas identifican de manera conjunta los datos que son necesarios para el sistema y especifican la salida que debe producir la aplicación. fijar una fecha tentativa de terminación. Para comenzar la primera iteración. 1.2 Etapas del método de prototipos 1) Identificación de requerimientos conocido. tiene por objetivo presentar a los usuarios y/o clientes la apariencia del sistema final. Cuando se comienza el desarrollo. antes de crear el prototipo. Es difícil. Ambos métodos son muy útiles para establecer la viabilidad del proyecto y definir acuerdos sobre los objetivos y resultados esperados. Por consiguiente. La experiencia con el sistema es la que determina eventualmente cuando en sistema esta terminado.3. La determinación de los requerimientos de una aplicación es tan importante para el método de desarrollo de prototipo como lo es para los métodos del ciclo clásico de desarrollo de sistemas o análisis estructurado (aunque las tácticas son diferentes). Los usuarios pueden manifestar su opinión.Maquetas. y en ocasiones imposibles. 2) Desarrollo de un modelo de trabajo Es útil comenzar el proceso de construcción 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.

La información obtenida tendrá influencia sobre las características de la siguiente versión de la aplicación. Es por esto que el analista no intenta optimizar la velocidad de operación del sistema. Los cambios al prototipo son planificados con los usuarios antes de llevarlos a cabo.embargo. 5) Repetición del proceso las veces que sea necesario. 4) Revisión del prototipo Información sobre los que les gusta y los que les desagrada a los usuarios. La experiencia con el sistema bajo condiciones permite obtener la familiaridad indispensable para determinar los cambios o mejoras que sean necesarios así como la eliminación de características inadecuadas o innecesarias. 25 . se espera que las especificaciones iniciales estén incompletas. El analista es el responsable de realizar las modificaciones. En el desarrollo de un prototipo se preparan los siguientes componentes: *El lenguaje para el diálogo o conversación entre el usuario y el sistema *Pantallas y formato para la entrada de datos *módulos esenciales de procesamiento *Salida del sistema Al construir el prototipo se deben seguir los estándares para datos que emplea la organización. Durante la evaluación los analistas de sistemas desean capturar 3) El prototipo y el usuario Es responsabilidad del usuario trabajar con prototipo y evaluar su característica y operación. con un prototipo. En esta etapa es más importante la rapidez con que se construye el prototipo que la eficiencia de operación.

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 tecnología existente o por el factor económico.El proceso finaliza cuando los usuarios y analistas están de acuerdo en que el sistema ha evolucionado lo suficiente como para incluir todas las características necesarias o cuando ya es evidente que no se obtendrá mayor beneficio. 26 .

CAPIITULO II ANÁLISIS Y DISEÑO DEL SISTEMA 27 .

Microsoft Visio: Software para realizar los diagramas. con el Sistema Operativo Windows 2000.1 Requerimientos del Sistema El Sistema de Base de Datos requiere en principio de una computadora Pentium II en adelante.1. por lo cual. HTML: Soporta el PHP y ayuda en la interfaz con el usuario. un navegador WEB como Internet Explorer o Netscape Navigator. 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.2. PHP: Es el lenguaje de programación y proporciona una interfaz gráfica para el usuario. El software necesario para realizar el Sistema es: • • Apache: Proporciona las tareas de Servidor. 2. registro de ventas de productos y la nómina de una ferretería teniendo la capacidad de manejarse en red. Ultra-Edit32: Editor de HTML y PHP 28 . otra ventaja de PHP es que nos esconde el código. brindando así una mejor calidad en los servicios. este proyecto tiene como objeto crear un sistema de Bases de Datos para llevar el control de inventario.1 Especificación de Requisitos Las bases de datos constituyen un instrumento de mucha utilidad en las empresas. • • • • MYSQL: Es el sistema Manejador de Bases de Datos. NT o XP.

en las cuales se discutieron las necesidades de la empresa. los cuales se explicarán en la siguiente parte. clientes y trabajadores dentro de ésta. es decir. se obtuvieron los requisitos del Sistema. La recopilación de la información se hizo a través de entrevistas con el cliente. la cual solo contiene la información personal del cliente y de los proveedores. ya que esta no cuenta con una organización eficiente que le permita realizar sus procesos de negocio con la suficiente rapidez y efectividad. Control de las Ventas de Productos. teniendo como funciones principales: • • • • • Cartera de clientes actualizada. la cartera de clientes y la información de proveedores está en una hoja de cálculo en Microsoft Excel. por otro lado.2 Definición Conceptual del Sistema El Sistema será una base de datos que lleve el control y administración de la información que se tiene dentro de la ferretería para así facilitar el manejo de servicios.2. causando con esto una demora en la atención a clientes. las ventas se realizan en forma manual y la actualización del inventario se hace de la misma manera. 29 . el control de la nómina se basa en la memoria del gerente y la información personal de los empleados está registrada en papeles. tiene un inventario hecho en papel. Información personal de los trabajadores para la nomina. lo que provoca que el control de las ventas e inventario no sea exacto ni actualizado. La empresa realiza sus procesos en forma manual. Teniendo esta información. Control del inventario. Información de los proveedores.

1 Casos De Uso: Descripción De Procesos. Aplicar descuentos.1. Calcular la nómina. Cliente Compra productos Paga productos Cajero Cobra Emite facturas y notas Vendedor Registra productos Da de alta a clientes 30 . 2.3.3.1 Actores Los actores del sistema son los siguientes: Cliente. Dar de baja a clientes. Calcular totales.2. Dar de alta a trabajadores. Gerente. Dar de baja a trabajadores.3 Descripción de la Información. Controlar información de proveedores. Calcular las existencias. sus actividades son descritas a continuación. Las funciones principales del sistema son: Dar de alta a clientes. Vendedor. Dar información de productos. 2.

2 Casos De Uso En Formato De Alto Nivel. vendedor Primario El cliente pide los productos que desea comprar.Gerente Da de alta productos Controla nómina Da de alta empleados Inicia operaciones 2.3. el vendedor los registra. Caso de uso Actores Tipo Descripción Pagar factura o recibo Cajero cliente Primario El cajero cobra el monto.1. entregas el cambio 31 . el cajero captura los pagos. Caso de uso Actores Tipo Descripción Comprar productos Cliente (iniciador). Caso de uso Actores Tipo Descripción Inicio de operaciones Gerente Primario El gerente activa el sistema a fin de prepararlo para que lo usen vendedores y cajeros. el cliente paga y el cajero emite facturas o notas. cajero. Al terminar el cliente se marcha con los productos.

el empleado proporciona sus datos Caso de uso Actores Tipo Descripción Ingresar clientes Cliente.Caso de uso Actores Tipo Descripción Obtener nómina Gerente empleado Secundario El gerente consulta la nómina y paga al vendedor o cajero. vendedor o gerente Primario El cliente solicita darse de alta. el vendedor o gerente captura sus datos Caso de uso Actores Tipo Descripción Dar de alta productos Gerente o empleado Primario El gerente o empleado captura información del nuevo producto 32 . Caso de uso Actores Tipo Descripción Alta a trabajadores Empleados en general Secundario El gerente inicia con el ingreso de información del nuevo empleado.

1 DFD NIVEL 0 Vendedor Vendedor Gerente Sistema Gerente Impresora Figura2. gerente e impresora.1.2. el flujo de datos es del vendedor o el gerente al Sistema y del Sistema al vendedor o gerente y a la impresora. Proceso: Manipula o destruye información Indica la dirección en que fluye la información Almacén de datos. Diagrama de flujo de datos nivel 0 El primer DFD muestra la relación que existe entre el Sistema y las entidades externas que son vendedores.4. 33 .4 Modelo Funcional El diagrama funcional del proyecto consta de 3 niveles de Diagramas de Flujo de Datos (DFD). Símbolo Texto Significado Entidad externa al Sistema. indica de donde se alimenta un proceso 2. a continuación se explica la simbología utilizada.

también se puede observar que el sistema se alimenta de los almacenes: Nómina. Inventario Vendendor Ventas Actualización de Inventario Inventario Actualización de Clientes Nómina Clientes Gerente Actualización de Nómina Actualización Proveedores Proveedores Gerente (Pantalla) Ventas Inventario Reportes Impresora Vendedor (Pantalla) Figura2. Clientes. e Inventario.2. Actualización de nomina.2. Proveedores. Reportes. Actualización de clientes. Ventas. Diagrama de flujo de datos nivel 1 34 . Actualización de proveedores. Actualización de inventario.2 DFD NIVEL 1 Este diagrama muestra en forma general el comportamiento del sistema en el que se encuentran 6 procesos: Ventas.4.

DFD 2 Actualizar Nómina 35 . obteniéndolos del almacén Inventario.3 DFD NIVEL 2 2.2 Actualización de Nómina El Gerente introduce los nuevos datos para ser agregados o modificados del almacén Nómina.3. Vendendor Realiza Consulta de productos Inventario Despliega Productos Vendendor (Pantalla) Actualiza Inventario Ventas Actualiza Ventas Figura2.3.2. El vendedor captura la clave de los productos solicitados por el cliente.4. los resultados se muestran en la pantalla.1 Ventas. Gerente Dá información del empleado Nómina Actualizar Información Gerente (Pantalla) Figura 2.4.4.3 DFD 2 Ventas 2.4. en caso de haber existencia de los productos se despliega en la pantalla y se actualiza el inventario y el almacén ventas.

4 Actualización de inventario.3. DFD 2 Actualizar Inventario.5.4. 36 . los resultados se muestran en la pantalla. El Gerente o Vendedor introduce los nuevos datos para ser agregados o modificados del almacén Clientes.4.3 Actualización de Clientes. DFD 2 Actualizar Clientes 2. Gerente o Vendedor Dá información del producto Actualizar Información Inventario Gerente o Vendedor (Pantalla) Figura 2.6. los resultados se muestran en pantalla.3. Gerente o Vendedor Dá información del cliente Clientes Actualizar Información Gerente o Vendedor (Pantalla) Figura2. El gerente o empleado ingresa los datos de o de los productos y se actualiza la información del almacén inventario.2.

DFD 2 Actualizar Proveedores. Gerente Dá información del proveedor Actualizar Información Proveedores Gerente (Pantalla) Figura 2. El gerente ingresa los datos de los proveedores y se actualiza la información del almacén proveedores. los resultados se muestran en pantalla. 37 .7.3.4.2.5 Actualización de Proveedores.

Modelo Entidad – Relación Municipio Ciudad Hora Colonia Calle Nombre Id_empleado CP Tel1 Tel2 Fecha Monto Empleado Ventas Cargo Fechaingreso Sueldo Hecha por Id_ventas Id_linea Cantidad Descuento lineaproducto Contiene Id_categoria Importe Regista Id_producto Nombre Categoria Tiene Marca Tiene Existencia Producto Preciou Características Id_marca Precioc Nombrec Nombre Id_cliente Fax Tel3 Tel2 Cliente Calle Colonia Municipio Ciudad CP Tel1 Nombrec Nombre Id_prov Fax Tel3 Tel2 Calle Colonia Municipio Proveedor Ciudad CP Tel1 Figura2. 38 .5.8 Modelo Entidad Relación.2.

a continuación se explican cada una de las entidades con su nombre.2 Entidad: Ventas.1 Entidad: Empleado Contiene la información de la nómina.5. Contiene información relacionada con una venta. Ciudad Código Postal Teléfono Teléfono alternativo 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. Atributo Nombre Calle Colonia Municipio Ciudad CP Tel1 Tel2 Cargo Descripción Nombre del empleado Calle Colonia Municipio.5.1. 2.El modelo consta de 8 entidades con sus respectivas relaciones y tributos. Atributo Descripción Hora Fecha Hora en que se realiza la venta Fecha en que se realiza la venta 39 .5.1 Empleado 2.1 Entidades 2. función y sus atributos.1.

3 Entidad: Producto.5 Categoría 2.5.5.1.1. Atributo Descripción Id_marca Identificador de la marca Tabla 2.4 Marca 2. Contiene la información general de un producto.5 Entidad: Categoría Contiene las categorías en que se dividen los productos Atributo Descripción Id_categoría Identificador de la categoría del producto Tabla 2.5.1. Atributo Descripción 40 .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.2 Empleado 2.3 Producto 2. Atributo Descripción Características Información extra del producto Preciou Precioc Nombre Existencia Id_producto Precio unitario en que se vende el producto Precio en que se compra el artículo Nombre del producto Total de existencia de un producto identificador único de un producto Tabla 2.Monto Costo total de los productos comprados en una venta Id_ventas identificador único de la venta Tabla 2.4 Entidad: Marca Contiene las marcas existentes de los productos.1.5.

Identificador único de lineaproducto Tabla 2.8 Entidad: Proveedor Contiene la información personal del proveedor.6 Empleado 2.1.5. Atributo Nombre Nombrec Descripción Nombre del proveedor Nombre de contacto del proveedor 41 .7 Entidad: Cliente Contiene los datos personales de un cliente.7 Cliente 2.5.1.Descuento Contiene el descuento hecho a cada uno de los productos Importe Cantidad Id_linea Importe del producto Cantidad solicitada por producto. Atributo Nombre Nombrec Calle Colonia Descripción Nombre del cliente Nombre de contacto Calle Colonia Municipio Municipio Ciudad CP Tel1 Tel2 Tel3 Fax Ciudad Código Postal Teléfono uno Teléfono dos Teléfono tres Número de Fax Id_Cliente identificador único del cliente Tabla 2.

Hasta ahora solo se han mencionado las entidades y sus atributos.8 Proveedor 2.Calle Colonia Municipio Ciudad CP Tel1 Tel2 Tel3 Fax Calle Colonia Municipio Ciudad Código Postal Teléfono uno Teléfono dos Teléfono tres Número de Fax Id_proveedor Identificador único del proveedor Tabla 2.9 Relaciones 42 .2 Relaciones. a continuación se muestra la relación 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 Ventas Ventas Relación Conectividad Hecha por M:1 Contiene 1:M M:1 1:M 1:M Entidad Empleado Lineaproducto Producto Producto Producto Lineaproducto Registra Categoría Marca Tiene Tiene Tabla 2.5.

Proveedor. Categoría Empleado Tipo Cliente id_cliente nombre nombrec Calle Colonia Municipio Ciudad CP tel1 tel2 tel3 fax Tipo varchar(5) varchar(60) varchar(60) varchar(30) varchar(30) varchar(30) varchar(15) varchar(5) varchar(12) varchar(12) varchar(12) varchar(12) Proveedor id_prov nombre nombrec Calle Colonia Tipo varchar(5) varchar(60) varchar(60) varchar(30) varchar(30) id_empleado varchar(5) nombre Calle Colonia Municipio Ciudad CP tel1 tel2 cargo varchar(60) varchar(30) varchar(30) varchar(30) varchar(15) varchar(5) varchar(17) varchar(17) varchar(30) Municipio varchar(30) Ciudad CP tel1 tel2 tel3 fax varchar(15) varchar(5) varchar(12) varchar(12) varchar(12) varchar(12) fechaingreso Date sueldo Flota Marca Id_marca Tipo Varchar(30) Categoría Tipo Id_categoria varchar(30) Tabla 2. Categoría 43 . Cliente.2. Cliente. Marca. a continuación se presentan las tablas que se obtuvieron solamente del nombre de la entidad y sus atributos: 2.6 Modelo Relacional El modelo Relacional se obtuvo del Modelo Entidad Relación.6. Marca.1 Tablas Empleado. Proveedor.10 Tablas Empleado.

6.2. Producto id_producto nombre preciou precioc existencia id_marca id_categoria Tipo Varchar(10) varchar(40) float float float Varchar(30) Varchar(30) caracteristicas varchar(100) Tabla 2. Ventas id_ventas Monto Fecha Hora id_empleado Int Flota Date Time Varchar(5) Tipo Tabla 2.3 Tabla Ventas La tabla ventas contiene la llave de la tabla empleado debido a la existencia de una relación muchos a muchos. ambas se obtuvieron de una relación uno a muchos especificada en el modelo anterior.2 Tabla Producto A continuación se presenta la tabla producto.11 Producto 2. la cual contiene la llave foránea de la tabla marca y categoría.6.12 Ventas 44 .

y producto.13 Lineaproducto 45 .4 Tabla Lineaproducto LineaProducto contiene tres llaves foráneas ya que existe una relación muchos a uno con las tablas ventas. lineaproducto id_linea descuento cantidad id_ventas id_producto importe int Int float int varchar(10) float Tipo Tabla 2.6.2.

CAPITULO III IMPLEMENTACION Y PRUEBAS. 46 .

El Sistema nómina se encarga de llevar el control de la información de los empleados.1 Breve Explicación Para lograr el objetivo de crear un Sistema de Bases de Datos para llevar el control de inventario. bajas. bajas. bajas. En esta área el usuario se registra con su login y password para tener acceso al Sistema. • Clientes. • Proveedores. modificaciones y búsquedas. En este módulo se accede a la información de clientes. En esta parte del Sistema se generan informes con los datos de las Ventas o Inventario. 47 . • Reportes. MYSQL como manejador de Bases de Datos. permitiendo altas. registro de ventas de productos y la nómina de la ferretería se utilizó el siguiente software: PHP para realizar la interfaz del programa ayudado de HTML. modificaciones. A continuación se explican las pantallas principales de cada módulo y su función. El Software consta de los siguientes Módulos: • Conexión. • Nómina. • Ventas. APACHE como servidor.3. para este módulo se toma como herramienta de ayuda Microsoft Access. modificaciones y consultas. En éste modulo el usuario dependiendo de sus privilegios puede realizar altas. se pueden hacer altas. consultas de productos y de marcas y categorías. El Sistema Ventas realiza las operaciones de ventas y actualiza el inventario. • Productos. En este módulo se realizan las mismas operaciones que en clientes o nómina en la información de proveedores. MACROMEDIA DREAM WEAVER para facilitar el manejo de HTML en algunas interfaces.

En ambos casos pulsando la tecla enter se dará inicio a página principal del Sistema. cuya imagen se presenta a continuación: Banner Menú Principal Figura3. teclear: http://localhost/contenedor.1 Pantalla principal 48 .3. El primer paso para iniciar con el Sistema es abrir algún navegador de Internet y en caso de trabajar de forma local. se teclea la ruta en la que se encuentra la pagina principal del servidor.htm.2 Iniciando. si se está accediendo a la base de datos desde una máquina cualquiera al servidor que contiene el Sistema.

3.3 Conexión
En conexión el usuario se registra con un nombre de usuario y un password, los cuales le permitirán realizar diferentes operaciones de acuerdo a los privilegios dados.

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 productos, clientes, proveedores, a visualizar la clave de cada empleado en las ventas, y todos los privilegios sobre las tablas que tienen que ver con el módulo ventas, marcas y categorías

Una vez que el usuario se ha registrado correctamente puede acceder a las demás opciones dependiendo de los privilegios (mencionados anteriormente) solo con dar clic sobre la opción deseada. Para mantener el usuario y el password durante todas las operaciones realizadas por el usuario se manejan cookies, las cuales continúan con su valor hasta que sea seleccionada la opción “SALIR” o se ingresen nuevos datos en la pantalla de conexión.

49

3.4 Productos
El módulo 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, Modificaciones, Categorías y Marcas.

Figura 3.2 Pantalla Productos

50

3.4.1 Consultas Las búsquedas de un producto se pueden hacer por Nombre, Clave, Categoría, 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 cómo el sistema presenta el resultado de una consulta en que se piden los productos que tengan por nombre “taladro” 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 categorías a las cuales puede pertenecer el producto se muestran en los campos de menú, cabe resaltar que las marcas y categorías se extraen de los datos ingresados en los Sistemas Categorías y Marcas. En la pantalla Altas se valida que los tipos de datos sean correctos, por ejemplo, no se permiten precios no numéricos ni claves vacías y en caso de que el producto ya exista, se mostrará un mensaje de error.

51

4 Altas de Productos 3. En esta pantalla se muestra un cuadro de texto en el que el usuario teclea el nombre del elemento a eliminar. por ejemplo por el área de ventas. si el producto está siendo utilizado por alguna otra parte del Sistema.4. no se permitirá la eliminación.3 Bajas. a continuación el usuario elige el producto a eliminar de la lista y con un clic es borrado de la base de datos.5 Bajas de Productos Pantalla 2: Confirmación 52 . Un ejemplo de un producto correctamente eliminado se muestra a continuación: Figura 3.Figura 3. el Sistema hace una búsqueda de este y muestra los elementos que coinciden con la búsqueda.

Pantalla 1: Consulta Pantalla 2: El sistema los los regresa usuario modifica Pantalla 3: Confirmación. el usuario podrá modificar los datos. El sistema ofrece la herramienta de búsqueda por nombre.6 Modificaciones de Producto 53 . lo que hace el usuario es teclear el nombre del producto y a continuación se desplegará la lista de nombres que coinciden y una liga para elegir el elemento a modificar.3.4.4 Modificaciones. datos y el Figura 3. el sistema los valida y regresa una confirmación. El proceso se explica a continuación. posteriormente el Sistema regresa los datos originales del producto.

eliminar y buscar. El Sistema Categorías. ambos contienen las opciones de insertar. el sistema le mostrará todas las marcas o categorías existentes. a continuación se muestran las pantallas de cada uno. ya que si el usuario deja en blanco la casilla de búsqueda. y Marcas son similares.7 Sistemas: Marcas y Categorías. En estos Sistemas en las consultas no es necesario introducir un valor.4.3. Figura 3. 54 .5 Categorías y Marcas.

Nombre de contacto. Celular U Otro. Clientes. Municipio. solo difieren en los datos que se piden en cada uno. Calle y Número. Proveedores Los módulos Nómina. Calle y Número. Teléfono. Clave. Teléfono2. Clave. modificaciones y consultas se muestran mas adelante solo tomando como muestra las pantallas de nómina. Datos solicitados: Nombre. CP. a continuación se presentan sus pantallas de altas. Clientes. por lo cual. Teléfono2. Teléfono3. Proveedores son muy parecidos. Proveedores. Fax. Teléfono3.1 Altas Nómina. CP.5 Nómina. CP. Municipio. Colonia. Teléfono1. Clave. Ciudad. Nombre de contacto. Ciudad. Colonia. Altas de Empleados 55 .3. Clientes. Calle Y Número. 3. Fecha De Ingreso. Fax. Figura 3.8. las operaciones de bajas. Datos solicitados: Nombre.5. Datos solicitados: Nombre. Cargo Y Sueldo. Teléfono1. Ciudad. Colonia. Municipio.

Clientes.3 Bajas.9. Figura 3.2 Consultas En la pantalla principal en los módulos de Nómina.5.5. en caso de no existir la clave. Proveedores se muestra por default la pantalla consulta. Un ejemplo de un empleado correctamente eliminado se muestra a continuación: 56 . Sistema Nómina: Consultas 3. presiona el botón enviar y el sistema muestra todos los campos del resultado obtenido. a continuación se desplegará la lista de nombres que coinciden y una liga para elegir el elemento a modificar. el Sistema mandará un mensaje de error. es dado de baja siempre y cuando el elemento no se esté siendo utilizado por la tabla de ventas. Para realizar una eliminación el usuario teclea el nombre del empleado.3. 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. si el dato existe.

a continuación se muestra el proceso: Pantalla 1: El usuario Hace la búsqueda y selección del elemento a modificar 57 .5.4 Modificaciones. Sistema Nómina: Bajas. 3.Pantalla 1: El usuario Hace la búsqueda y selección del elemento a eliminar Pantalla 2: Confirmación de que el elemento ha sido de baja.10. Figura 3. El área de modificaciones actúa de forma similar a las modificaciones de producto.

Pantalla 2: Modificando Datos Pantalla 3: Confirmación Figura 3. Modificaciones de Empleados 58 .11.

el resultado no se muestra en la misma pantalla. Banner Ingreso de productos Petición de empleado y Nota de venta Lista de productos y opciones de eliminar y modificar Monto Actual Área de búsquedas Figura3. al pulsar la opción Ventas en la pantalla principal del Sistema. Mostrada a continuación. Ventas El Sistema Ventas es el módulo más importante del Sistema. se abre una nueva ventana. en vez de esto.12. por lo cual.6.3. Pantalla Principal Ventas 59 .

se revisa si existen en la bodega las cantidades necesarias para surtir el producto. A continuación se explica cada Área con detalle. 3. mismo que se actualiza cada vez que se introduce un nuevo producto. estos campos se muestran solo de lectura. en caso de ser así se va mostrando en la pantalla la cantidad. 60 . a continuación se encuentra el área de inserción y presentación de datos referentes a la venta. es decir. el descuento e importe y para cada producto se muestran dos ligas una es para modificar el artículo y la siguiente es para eliminarlo.6. una se encarga de llevar la nota de venta y la otra lleva la clave del empleado. el Sistema informa al usuario que no puede realizar la transacción y no realiza cambios en las ventas. el parte inferior a ésta se encuentra el área de consultas por producto y en la parte inferior el área destinada a los cambios. no agrega un producto que no exista o que no haya la suficiente existencia para cubrir el pedido. para mantener el dato se utilizaron dos cookies. Debido a que el Empleado y la nota de Venta ya fueron ingresados. la clave del producto y su descripción.El Área de Ventas se divide en tres partes. el Banner en la parte superior. En caso de existir algún error en la captura del producto. En la parte derecha de la pantalla se muestra el monto total de la venta. este identificador de cliente y nota de venta se mantendrán durante toda la operación hasta que la venta haya finalizado. El primer paso para realizar una venta es elegir la clave del empleado que la realiza y teclear la Nota de Venta.1 Inserción de productos. El Sistema Ventas captura los productos solicitados por un cliente.

Figura 3.14. el sistema despliega en la parte inferior de la pantalla los datos originales.6. Captura de Productos 3. un ejemplo de ésta búsqueda se muestra a continuación.3 Modificaciones.6. 61 . se da clic sobre la palabra “Modificar” ubicada en el mismo renglón del producto seleccionado.2 Búsquedas. El usuario ingresa los cambios a realizar y pide al Sistema mostrar las modificaciones. Figura 3. 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. Debido a que el número de productos que pueden ser surtidos en una ferretería es extenso. En la siguiente página se muestra el proceso por pantallas.13. Búsqueda de Productos en la pantalla Ventas 3. Cuando se quiere alterar la cantidad o el descuento que se hace a un producto ingresado.

Selección del producto a modificar y presentación de los datos originales Realizando Cambios Cambio Terminado Figura 3.15 Modificaciones 62 .

6.4 Borrar Para eliminar un producto de la venta actual.3. 63 . se pulsa el botón correspondiente en la ventana.5 Finalizar Ventas Para finalizar una venta. 3.6. 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 original. se confirma el borrado y el Sistema los elimina de la lista de productos. se da clic sobre la palabra “Borrar” ubicada en el mismo renglón del producto seleccionado. restaura los valores de existencia del inventario de los productos registrados y la información de la venta actual.6. (Figura 12) 3.6 Cancelar Ventas La opción Cancelar Venta. posteriormente.

Figura 3. 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.7. • Solo Visualizar Reportes : en esta opción el Sistema no genera ningún archivo de texto.3. Pantalla de Inicio de Reportes en MS Access. A continuación se presenta la pantalla de inicio realizada en Microsoft Access para los reportes. ésta área permite al usuario visualizar los reportes de ventas e inventario. que son: • Generar y visualizar reportes: Esta opción genera un archivo de texto del inventario o ventas actuales o ambos.17. 64 . 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. Reportes El área de sistemas trabaja con Microsoft Access para la realización de los reportes. este archivo posteriormente será importado por Access para así presentar el informe con un formato adecuado.

3. 65 . el usuario selecciona el archivo con la fecha que desea visualizar y el sistema le proporciona la opción de Solo visualizarlo o de Imprimirlo.8 Salir La opción Salir de la ventana principal del Sistema permite al usuario terminar con la ejecución del programa. una vez hecha la elección se realiza la operación correspondiente. Pantalla de Reporte de Ventas.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.18. A continuación se muestra un fragmento de un ejemplo en el que se solicitó el reporte de ventas: Figura 3.

los cuales llamaremos de Tipo1.1 Errores Tipo 1 Esta forma de validar es verificando que los tipos de datos sean correctos. A continuación se presentan ejemplos del manejo de algunos errores Tipo2. por lo cual trata de validar la información introducida y de manejar los errores que puedan ocurrir.8. Tipo2 y Tipo3. La forma de alertar el error es mediante la aparición de una ventana que indica las fallas en la captura. 3.9 Manejo de Errores El Sistema debe encargarse de evitar las operaciones con datos no válidos.8.19. Existen tres formas de indicarle al usuario un error.3. 66 . Figura 3. esta forma de validación se realiza cuando el usuario pulsa el botón para enviar información al Sistema. Ejemplo de error Tipo1 3.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.

22. Error donde se pretende insertar una clave que ya existe.8. se mostrará la siguiente pantalla: Figura 3. Figura 3.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.20.18.Error donde el dato no coincide con la información de la base de datos Figura 3. Ejemplo de Error tipo3 67 .Figura 3.21. Error en el que se quieren insertar mas productos de los disponibles 3.23. Error donde se quiere eliminar un elemento que está siendo utilizado por algún elemento de la base de datos Figura 3.

en la siguiente tabla se muestran las operaciones.1 Errores 68 . BAJAS. los errores y el tipo de error con el que pueden ser tratados. Operación Altas Altas Altas Altas Altas Bajas Bajas Tipos de datos no válidos Llaves primarias ya insertadas +Tratar de insertar productos que no tienen existencia +Tratar de comprar mas productos de los disponibles Usuario sin permisos Campo vacío El elemento es utilizado por alguna tabla de la base de datos Bajas Bajas Clave de producto no existente Usuario sin permisos 3 3 1 1 2 3 1 3 1 3 Error Tipo 1 2 2 2 3 1 2 Modificaciones Campo vacío* Modificaciones Tipos de datos no válidos Modificaciones Modificar la clave por otra ya existente Modificaciones Usuario sin permisos Consultas Consultas Consultas Consultas Tipos de datos no válidos Usuario sin permisos Campo vacío* Clave de producto no existente + Solo aplica para el Sistema Ventas.8. MODIFICACIONES Y CONSULTAS. * No aplica para el Sistema Marcas y Categorías Tabla 3.3.4 Tabla de errores. En esta parte trataremos los errores que pueden ocurrir en las operaciones principales que son: ALTAS.

69 . los reportes se hicieron con PHP. ya que hasta la fecha el Sistema solo da altas.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. Reportes de Ventas e Inventario. bajas modificaciones y búsquedas de los datos personales de Clientes y Proveedores. HTML y en algunos casos con Java Script. así como la información de los productos que compra un Cliente y que proveedor se encarga de surtirlos. en Proveedores y Clientes se puede hacer una implementación que permita llevar el área de Cuentas por Pagar y Cuentas por Cobrar. HTML y Microsoft Access. La Base de Datos está hecha en MYSQL. como son el orden. se dificultaba un poco los cambios o modificaciones que se necesitaran hacer de los productos ingresados en cada venta. Planes a Futuro El Sistema realizado en este proyecto. 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 mayor trabajo de este sistema fuera enfocado a esta área. Ventas. la parte que se dificultó mas en su implementación fue el área de Ventas. este problema fue resuelto utilizando Marcos de HTML. Clientes. ya que al ser PHP un lenguaje que trabaja del lado del Servidor y no del cliente. el Sistema cuenta con los módulos de Productos. los módulos fueron realizados en PHP. la manipulación de datos. puede crecer hacia muchas áreas. Proveedores.

Melani. PRENTICE HALL UML gota a gota Martin Fowler. Dr.tldp. New Readers UML Y PATRONES Graig Larman Ed. Ivo Humberto Pineda Torres. Diplomado en Bases de Datos M.PHP.webestilo.programacion.mysql-hispano.org/Manuales-LuCAS/manual_PHP/ www.es 70 .mysql. Yolanda Moyao Martinez Primavera 2004 Diplomado en Bases de Datos. Febrero 2004 Páginas de Internet Tutoriales PHP: www.com www.mysql. Aplicaciones en Bases de Datos Locales con MySQL.org www.C. Premier Press. Ed.com/php Tutoriales MYSQL www.Bibliografía PHP Fast & Easy Web Development Julie C. MYSQL Pau Dubois Ed.com/php/ http://es. Kendall Scott Ed PEARSON Notas Análisis y diseño de Bases de Datos.

htmlconclase.lawebdelprogramador.com www.desarrolloweb.com www.com www.solotutoriales.www.com 71 .com/tutoriales/tutorial/ Tutoriales HTML www.abcdatos.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.