SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
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                    A mis Padres:
 trabajo y por permitirle haber estado      Les dedico este trabajo con todo mi amor
conmigo a las personas a las que dedi-      y les agradezco todos los sacrificios que
             caré esta tesis.                 hicieron para que pudiera llegar hasta
                                             aquí, gracias por confiar en mi, por cui-
                                            darme en tantas y tantas ocasiones y so-
                                            bre todo por darme un ejemplo de vida,
                                            los dos son dos son admirables para mi.

                A miTía:
  Tantas y tantas cosas hiciste por mi
                                                           Susy y Toño :
 que no tendía suficientes líneas para
                                               Niños, hemos pasado por muchas y
  explicar por que te dedico mi tesis,
                                              aunque aveces no lo pareciera, los tres
 donde quiera que estés quiero que se-
                                            sabemos que contamos uno con el otro si
pas que todo eso dio frutos, se que aun
                                                lo necesitamos, gracias por ser mis
me cuidas y que estas contenta de estar
                                             hermanos porque no pude haber tenido
leyendo esto, gracias por todo, te quie-
                                            mejores compañeros en casa que ustedes,
             ro muchísimo.
                                                             gracias.




                                                      Nancy, Gaby, Maribel:
                Alejandro:
                                             Uff tantas anécdotas que tenemos … y
    Mi amor parte de este trabajo es tu
                                             las que faltan, muchas gracias por estar
 culpa, gracias por apoyarme y porque
                                            conmigo y por haberme ayudado a lograr
en ocasiones me obligaste a terminarlo,
                                            esto, no se alejen mucho porque las voy a
  este es el principio de tantas y tantas
                                             necesitar en muchas situaciones buenas
  cosas que aun nos falta por vivir, lo
                                             y malas, conocerlas y estar con ustedes
   importante es que ya será juntos, te
                                             ha sido de lo mas divertido pero que to-
         adoro con toda mi alma.
                                                   do 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
3.4.1 Consultas ______________________________________________________      51
     3.4.2 Altas. _________________________________________________________      51
     3.4.3 Bajas. _________________________________________________________      52
     3.4.4 Modificaciones. _________________________________________________     53
     3.4.5 Categorías y Marcas. _____________________________________________    54
  3.5 Nómina, 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 Inserción de productos. ___________________________________________   60
     3.6.2 Búsquedas._____________________________________________________       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
Conclusión        69
Bibliografía      70




                                                                                  4
I. INTRODUCCIÓN


      La necesidad creciente de comercializar cada día mayor cantidad de produc-

tos y servicios, requiere de técnicas y elementos que faciliten su desplazamiento

hacia los mercados potenciales de clientes.



      Las bases de datos constituyen un instrumento de mucha utilidad en las

empresas, es por ello que en la empresa Ferretería Méndez S. A de C.V. surge la

necesidad de controlar las tareas que son muy rutinarias o sobre las cuales no se

tiene control, como son el orden, la manipulación de datos, la seguridad de los da-

tos, etc. Esto lleva a dar soluciones que faciliten la operación de las tareas mediante

la construcción de una base de datos que pueda satisfacer las necesidades de su

mercado en menor tiempo, brindando así una mejor calidad en los servicios.



      El material presentado se divide en una introducción del proyecto, tres capí-

tulos y la conclusión.



      El capítulo I se refiere a la necesidad del desarrollo de una base de datos

que permita a la Ferretería Méndez S. A de C.V. poder controlar de manera eficien-

te los productos en un inventario, el levantamiento de pedidos y el control de la

nómina, y se da una breve explicación de lo que son las bases de datos, cubriendo

así un marco teórico.



      El capitulo II trata del planteamiento y análisis del problema, en el cual se

describe con detalle la necesidad de un Sistema de Bases de Datos dividiendo este

capitulo en la Especificación de Requisitos donde se describe el software y hardwa-



                                                                                     5
re necesarios, la Definición Conceptual del Sistema en la cual se describen las ca-

racterísticas generales de la empresa, Descripción de la Información en la cual se

detallan las funciones principales del Sistema mediante casos de uso.

         Posteriormente se muestra el Modelo conceptual el cual contiene 3 niveles

de Diagramas de Flujo de Datos en los cuales se explica la manera en que opera el

Sistema y la forma en que interactúan los diferentes módulos y sus almacenes de

datos.

         Una vez expuesto el Modelo Conceptual se presenta el Modelo Entidad Re-

lación explicando cada uno de sus componentes, partiendo de esto y al finalizar el

capitulo se describe el Modelo Relacional con la explicación de las tablas obtenidas.



         En el capitulo III se muestra la Implementación y Pruebas del Sistema, en

cada uno de sus apartados se pueden ver las pantallas principales del software al

mismo tiempo que se explica cada una con ejemplos y en las áreas necesarias se

describe el proceso que se realizó para obtener los resultados mostrados en cada

pantalla.




                                                                                   6
CAPITULO I MARCO TEORICO




                           7
MARCO TEORICO


   El presente capítulo se divide en dos partes, el objetivo de la primera es descri-

bir la necesidad de la Ferretería Méndez S.A. de C.V. de contar con un Sistema de

Bases de Datos que le permita lograr la eficiencia en el control de los productos con

los que comercializa, así como también llevar un control de su nómina, y el objeti-

vo de la segunda parte es dar un marco teórico de las bases de datos y de la inge-

niería de software.


1.1 Empresa


   La empresa denominada Ferretería Méndez S.A. de C.V. surge en el mes de

mayo del 2003.



   La misión es competir en el ramo ferretero, proporcionando al cliente artículos

de calidad en plomería, material eléctrico, herramienta en general, etc. de marcas

nacionales y extranjeras.



   La función principal de la empresa para la cual será elaborada la base de datos

es la de realizar la venta de productos divididos en categorías de Herramientas

Eléctricas, Herramientas Manuales, Plomería, Electricidad, Iluminación, Muebles,

Organización, Hogar, Accesorios para baños y cocinas, Jardinería, Mascotas, Pintu-

ra, Cerrajería, Hogar y Limpieza.




                                                                                   8
1.1.1 Antecedentes

   Desde su creación, 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 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, ocasionando demoras en los servicios.

       Refiriéndose a la nómina, 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, teléfono, dirección y pedidos del cliente, con la dificul-

tad de que la información continuaba dispersa y para poder surtir un producto se

tenía 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 Organización 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


                                                                                   9
d) Atención a proveedores

e)   Hacer o verificar el correcto corte de caja

f)   Elaborar cartera de clientes

g) Realizar operaciones bancarias

h) Supervisión de inventario

i)   Revisión del ingreso de mercancía y su facturación

j)   Autorización 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) 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. CAJERO: Encargado de cobros en mostrador.

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.


                                                                   10
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. 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. 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, candados y puer-

   tas)

c) Mantener el espacio destinado a estacionamiento




                                                                         11
1.1.3 Recursos Materiales de la empresa

       Dos camionetas

       Una caja registradora

       Fax

        4 líneas telefónicas

       Un conmutador

       Tres equipo de cómputo.

       Una impresora.

       Papelería en general.




1.1.4 Necesidad de controlar los procesos de negocio.

   Una necesidad básica es dar al cliente una atención rápida, lo cual requiere de

tener en una o varias computadoras una base de datos con los productos disponi-

bles para evitar la pérdida de tiempo en las búsquedas de existencia de los produc-

tos así como sus características, 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 nómina

   Pagos a acreedores

   Altas a nuevos trabajadores



                                                                                12
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 métodos tradicionales

de mantener los registros en papel es que una base de datos es compacta, rápida,

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 información.

      La información es uno de los recursos más valiosos de una empresa. Así en

un comercio sin un sistema de este tipo, cada aplicación tiene por lo regular sus

propios archivos privados de manera que los datos están muy dispersos y con se-

guridad son difíciles de controlar en cualquier forma sistemática.




                                                                               13
1.2 Bases de Datos


1.2.1 ¿Qué es un Sistema de Base de datos?

      Un Sistema de Base de Datos es básicamente un sistema computarizado pa-

ra llevar registros. Es posible considerar a la propia Base de Datos como una espe-

cie de armario electrónico para archivar, es decir, un depósito o un contenedor de

una colección de archivos de datos computarizados.




1.2.2 Principales componentes de un Sistema de Bases de Datos.

      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. En general, la información en la base de datos estará inte-

grada y además 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, etcétera, 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-



                                                                                14
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-

ción; los usuarios finales, quienes interactúan 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 física

misma y los usuarios del sistema: el Sistema de Administración 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 Administración de Bases de Datos (DBMS)

        El software que permite a una o más 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.




                                                                                    15
Sincronización: Cuando varios usuarios corren programas que accesan a la

base de datos al mismo tiempo, el DBMS deberá dar protección de inconsistencias

que puedan resultar de dos operaciones simultáneas a un mismo grupo de datos.



      Protección de rupturas y recuperación: facilidades para realizar copias regu-

lares de la base de datos y reconstruirla después de un error de hardware o softwa-

re.



      Uno de sus objetivos más importantes es proporcionar a los usuarios una vi-

sión 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 razón la tecnología 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 colección de relaciones normalizadas [Boone 2000].



El modelo relacional se ocupa de tres aspectos:




                                                                                   16
1. Estructura de datos: El usuario percibe la información de la base de datos como

   tablas y nada más que tablas. La estructura de datos es la terminología que se

   utiliza como notación y forma de representar la información en el modelo rela-

   cional.




                    Figura 1.1 Modelo Relacional: Estructura de Datos

En particular una relación corresponde a lo que comúnmente 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

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, de los cuales uno o mas atribu-

tos (columnas) son del mismo tipo.

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 do-

minios subyacentes se llama grado.

El número de tuplas en una relación se llama Cardinalidad.




                                                                                17
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: Ningún componente de una re-

          lación base puede tener valores nulos.

       ♦ La base de datos no debe contener valores de llave ajena sin concordan-

          cia.



3. Manipulación. 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 operación restringir extrae las filas especificadas de una tabla.

   La operación proyectar extrae las columnas especificadas de las tablas.

   La operación juntar reúne dos tablas con base en valores comunes de al menos

una columna en común.




                                                                                  18
1.3 Ingeniería de Software

   La Ingeniería del Software se podría definir como el establecimiento y aplica-

ción de principios de la Ingeniería para obtener software. Teniendo en cuenta fac-

tores tan importantes como el coste económico, 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 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 tra-

bajo.


1.3.1 Modelo de cascada




                    Figura 1.2 Modelo Cascada

En un modelo en cascada un proyecto progresa a través de una secuencia ordena-

da de pasos que son:


   •    Concepto del software.


                                                                               19
•    Análisis de requerimientos.

   •    Diseño global.

   •    Diseño detallado.

   •    Codificación y depuración.

   •    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 aplicación cuando el problema es estable y cuando se trabaja

con metodologías técnicas conocidas. Este modelo será apropiado para la migra-

ción de una aplicación o a una versión 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 más 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 difícil ya que hay que rehacer la etapa ante-

rior, este modelo es el ciclo de vida del salmón. Por lo tanto este es un modelo poco


                                                                                  20
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 estén todos controlados. Una vez que estén los riesgos más 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 aproximación a la siguiente iteración. Con cada iteración se

produce una aproximación al producto final.




                                                                                  21
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.


En cada iteración seguimos los siguientes pasos:


   •   Determinar objetivos, alternativas y límites.

   •   Identificar y resolver riesgos.

   •   Evaluar las alternativas.

   •   Generar entregas de esta iteración, y comprobar que son correctas.

   •   Planificar la siguiente iteración.

   •   Si se decide ejecutar la siguiente iteración, 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 iteración se obtienen los puntos de verificación.

   •   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 gestión con-

       cienzuda, atenta y unos conocimientos profundos.




                                                                                    22
1.3.3 Modelo del desarrollo por prototipos

      Los sistemas pueden desarrollarse con métodos y lenguajes de programa-

ción convencionales, aunque no tengan todas las características y toques finales de

un sistema terminado. Quizás 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 información no siempre están bien definidos, pueden

ser demasiados vagos aún al formular el diseño. En otros casos, es probable que

una investigación de sistemas bien llevada, de como resultado un conjunto muy

amplio de requerimientos de sistemas, pero construir un sistema que satisfaga a

todos ellos quizás necesite del desarrollo de nueva tecnología.

      Los prototipos permiten evaluar situaciones extraordinarias donde los en-

cargados de diseñar e implantar sistemas no tienen información ni experiencia, o

también donde existen situaciones de riesgo y costos elevados, y aquellas donde el

diseño propuesto es novedoso y aún no ha sido probada.

      La información obtenida con su uso se aplica en un nuevo diseño que se

emplea, otra vez, como prototipo y que revela más información valiosa sobre dise-

ño. El proceso se repite las veces que sea necesario para revelar los requerimientos

esenciales del diseño.




                                                                                 23
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 opinión.

      Ambos métodos son muy útiles para establecer la viabilidad del proyecto y

definir acuerdos sobre los objetivos y resultados esperados.



1.3.3.2 Etapas del método de prototipos

1) Identificación de requerimientos conocido.

      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). 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 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. Es difícil, y en ocasiones imposibles, fijar una fecha ten-

tativa de terminación. La experiencia con el sistema es la que determina eventual-

mente cuando en sistema esta terminado.

      Para comenzar la primera iteración, usuarios y analistas identifican de ma-

nera conjunta los datos que son necesarios para el sistema y especifican la salida

que debe producir la aplicación.

      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. Sin




                                                                                   24
embargo, con un prototipo, se espera que las especificaciones iniciales estén in-

completas.

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 em-

plea la organización.

      En esta etapa es más importante la rapidez con que se construye el prototipo

que la eficiencia de operación. Es por esto que el analista no intenta optimizar la

velocidad de operación del sistema.

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 caracte-

rística y operación. 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 eliminación de características inadecuadas o innecesarias.

4) Revisión del prototipo

      Información sobre los que les gusta y los que les desagrada a los usuarios.

La información obtenida tendrá influencia sobre las características de la siguiente

versión de la aplicación.

      Los cambios al prototipo son planificados con los usuarios antes de llevarlos

a cabo. El analista es el responsable de realizar las modificaciones.

5) Repetición del proceso las veces que sea necesario.




                                                                                  25
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.

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.




                                                                                   26
CAPIITULO II ANÁLISIS Y DISEÑO DEL SISTEMA




                                             27
2.1 Especificación de Requisitos


       Las bases de datos constituyen un instrumento de mucha utilidad en las

empresas. Esto lleva a dar soluciones que faciliten la operación de las tareas me-

diante la construcción de una base de datos que pueda satisfacer las necesidades

de su mercado en menor tiempo, brindando así una mejor calidad en los servicios,

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 nómina de

una ferretería 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 programación y proporciona una interfaz gráfica pa-

       ra el usuario, otra ventaja de PHP es que nos esconde el código.

   •   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




                                                                                28
2.2 Definición Conceptual del Sistema


   El Sistema será una base de datos que lleve el control y administración de la in-

formación que se tiene dentro de la ferretería para así facilitar el manejo de servi-

cios, clientes y trabajadores dentro de ésta, teniendo como funciones principales:

   •   Cartera de clientes actualizada.

   •   Información personal de los trabajadores para la nomina.

   •   Control de las Ventas de Productos.

   •   Control del inventario.

   •   Información de los proveedores.

   La recopilación de la información se hizo a través de entrevistas con el cliente,

en las cuales se discutieron las necesidades de la empresa, ya que esta no cuenta

con una organización eficiente que le permita realizar sus procesos de negocio con

la suficiente rapidez y efectividad, causando con esto una demora en la atención a

clientes.

   La empresa realiza sus procesos en forma manual, es decir, tiene un inventario

hecho en papel, el control de la nómina se basa en la memoria del gerente y la in-

formación personal de los empleados está registrada en papeles, las ventas se rea-

lizan en forma manual y la actualización 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 información de proveedores está en

una hoja de cálculo en Microsoft Excel, la cual solo contiene la información perso-

nal del cliente y de los proveedores.

   Teniendo esta información, se obtuvieron los requisitos del Sistema, los cuales

se explicarán en la siguiente parte.




                                                                                     29
2.3 Descripción de la Información.



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 nómina.

          Dar de alta a trabajadores.

          Dar de baja a trabajadores.

          Dar información de productos.

          Controlar información de proveedores.




2.3.1 Casos De Uso: Descripción De Procesos.


2.3.1.1 Actores

          Los actores del sistema son los siguientes: Cliente, Vendedor, Gerente, sus

actividades son descritas a continuación.



Cliente      Compra productos

             Paga productos

Cajero       Cobra

             Emite facturas y notas

Vendedor Registra productos

             Da de alta a clientes


                                                                                  30
Gerente   Da de alta productos

          Controla nómina

          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

Descripción      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

Descripción      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

Descripción      El cajero cobra el monto, el cliente paga y el cajero emite facturas o

                 notas, entregas el cambio




                                                                                   31
Caso de uso   Obtener nómina

Actores       Gerente empleado

Tipo          Secundario

Descripción   El gerente consulta la nómina y paga al vendedor o cajero.



Caso de uso   Alta a trabajadores

Actores       Empleados en general

Tipo          Secundario

Descripción   El gerente inicia con el ingreso de información del nuevo empleado, el

              empleado proporciona sus datos



Caso de uso   Ingresar clientes

Actores       Cliente, vendedor o gerente

Tipo          Primario

Descripción   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

Descripción   El gerente o empleado captura información del nuevo producto




                                                                                32
2.4 Modelo Funcional


        El diagrama funcional del proyecto consta de 3 niveles de Diagramas de

Flujo de Datos (DFD), a continuación se explica la simbología utilizada.



Símbolo              Significado

Texto         Entidad externa al Sistema.

              Proceso: Manipula o destruye información

              Indica la dirección en que fluye la información

              Almacén de datos, indica de donde se alimenta un proceso




2.4.1 DFD NIVEL 0

                                                                       Vendedor
Vendedor                            Sistema                            Gerente
Gerente                                                                Impresora


                       Figura2.1. Diagrama de flujo de datos nivel 0

        El primer DFD muestra la relación 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.




                                                                                   33
2.4.2 DFD NIVEL 1

Este diagrama muestra en forma general el comportamiento del sistema en el que

se encuentran 6 procesos: Ventas, Actualización de inventario, Reportes, Actuali-

zación de clientes, Actualización de nomina, Actualización de proveedores; tam-

bién se puede observar que el sistema se alimenta de los almacenes: Nómina,

Clientes, Proveedores, Ventas, e Inventario.




                                               Inventario


Vendendor
                                                                                   Vendedor
                                                Ventas
                                                                                   (Pantalla)
                      Actualización                                 Ventas
                      de Inventario
                                         Inventario
                       Inventario                       Reportes
                                                                                    Impresora

                           Actualización
                            de Clientes
                                                                                     Gerente
                                                                          Nómina
                                                                                    (Pantalla)
                              Clientes
                                                          Actualización
                                                           de Nómina
    Gerente

                                                  Actualización
                                                  Proveedores

                                                      Proveedores




                       Figura2.2. Diagrama de flujo de datos nivel 1




                                                                                        34
2.4.3 DFD NIVEL 2

2.4.3.1 Ventas.

      El vendedor captura la clave de los productos solicitados por el cliente, ob-

teniéndolos del almacén Inventario, en caso de haber existencia de los productos se

despliega en la pantalla y se actualiza el inventario y el almacén ventas.




                              Realiza Consulta
Vendendor                                                                       Vendendor
                               de productos
                                                                                (Pantalla)

                       Inventario                      Despliega
                                                       Productos


                               Actualiza
                               Inventario            Actualiza
                                                      Ventas

                                          Ventas


                                    Figura2.3 DFD 2 Ventas

2.4.3.2 Actualización de Nómina

      El Gerente introduce los nuevos datos para ser agregados o modificados del

almacén Nómina, los resultados se muestran en la pantalla.




   Gerente                            Actualizar
Dá información                                                      Gerente
                                     Información
 del empleado                                                      (Pantalla)

                          Nómina



                           Figura 2.4. DFD 2 Actualizar Nómina



                                                                                       35
2.4.3.3 Actualización de Clientes.

      El Gerente o Vendedor introduce los nuevos datos para ser agregados o

modificados del almacén Clientes, los resultados se muestran en la pantalla.




  Gerente o
  Vendedor                           Actualizar                     Gerente o
Dá información                      Información                     Vendedor
  del cliente                                                       (Pantalla)
                         Clientes



                          Figura2.5. DFD 2 Actualizar Clientes



2.4.3.4 Actualización de inventario.

      El gerente o empleado ingresa los datos de o de los productos y se actualiza

la información del almacén inventario, los resultados se muestran en pantalla.




  Gerente o
  Vendedor                           Actualizar                     Gerente o
Dá información                      Información                     Vendedor
 del producto                                                       (Pantalla)
                        Inventario



                         Figura 2.6. DFD 2 Actualizar Inventario.




                                                                                 36
2.4.3.5 Actualización de Proveedores.

      El gerente ingresa los datos de los proveedores y se actualiza la información

del almacén proveedores, los resultados se muestran en pantalla.




   Gerente                        Actualizar
Dá información                                                      Gerente
                                 Información
 del proveedor                                                     (Pantalla)

                       Proveedores



                       Figura 2.7. DFD 2 Actualizar Proveedores.




                                                                                37
2.5. Modelo Entidad – Relación

                      Municipio         Ciudad                                                 Hora
       Colonia                                     CP                                                          Fecha

    Calle                                          Tel1
                       Empleado                                                                     Ventas              Monto
   Nombre                                          Tel2

   Id_empleado                                                       Hecha
                                        Cargo                                                              Id_ventas
                                                                      por
              Sueldo
                         Fechaingreso




        Id_linea             Cantidad


                                                                                                Contiene
Descuento          lineaproducto                                                                                      Id_categoria


        Importe                                                                                                        Categoria

                                  Regista

                                                                             Nombre
                                                           Id_producto                                                  Tiene


    Marca                           Tiene                              Producto
                                                                                               Preciou

   Id_marca                                               Existencia              Características

                                                                       Precioc




                                                                                               Nombrec        Calle
                               Nombrec          Calle
                                                                                     Nombre                             Colonia
                   Nombre                                 Colonia
                                                                                                                            Municipio
                                                               Municipio         Id_prov
            Id_cliente                                                                              Proveedor
                                    Cliente                                                                                  Ciudad
                                                                Ciudad            Fax
                Fax                                                                                                    CP
                                                          CP                            Tel3
                      Tel3
                                                                                                    Tel2      Tel1
                                   Tel2          Tel1




                                          Figura2.8 Modelo Entidad Relación.




                                                                                                                                     38
El modelo consta de 8 entidades con sus respectivas relaciones y tributos,

a continuación se explican cada una de las entidades con su nombre, función y sus

atributos.


2.5.1 Entidades


2.5.1.1 Entidad: Empleado

       Contiene la información de la nómina.

     Atributo        Descripción

     Nombre          Nombre del empleado

     Calle           Calle

     Colonia         Colonia

     Municipio       Municipio.

     Ciudad          Ciudad

     CP              Código Postal

     Tel1            Teléfono

     Tel2            Teléfono 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 información relacionada con una venta.

     Atributo Descripción

     Hora         Hora en que se realiza la venta

     Fecha        Fecha en que se realiza la venta



                                                                                 39
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 información general de un producto.

      Atributo          Descripción

      Características Información extra del producto

      Preciou           Precio unitario en que se vende el producto

      Precioc           Precio en que se compra el artículo

      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 Descripción

      Id_marca Identificador de la marca
                                      Tabla 2.4 Marca

2.5.1.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 Categoría

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      Descripción


                                                                                 40
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     Descripción

     Nombre       Nombre del cliente

     Nombrec      Nombre de contacto

     Calle        Calle

     Colonia      Colonia

     Municipio Municipio

     Ciudad       Ciudad

     CP           Código Postal

     Tel1         Teléfono uno

     Tel2         Teléfono dos

     Tel3         Teléfono tres

     Fax          Número de Fax

     Id_Cliente identificador único del cliente
                                   Tabla 2.7 Cliente

2.5.1.8 Entidad: Proveedor

      Contiene la información personal del proveedor.

     Atributo       Descripción

     Nombre         Nombre del proveedor

     Nombrec        Nombre de contacto del proveedor




                                                                         41
Calle            Calle

     Colonia          Colonia

     Municipio        Municipio

     Ciudad           Ciudad

     CP               Código Postal

     Tel1             Teléfono uno

     Tel2             Teléfono dos

     Tel3             Teléfono tres

     Fax              Número 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-

nuació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        Relación Conectividad      Entidad

             Ventas             Hecha por M:1            Empleado

             Ventas             Contiene    1:M          Lineaproducto

             Lineaproducto Registra         M:1          Producto

             Categoría          Tiene       1:M          Producto

             Marca              Tiene       1:M          Producto

                                 Tabla 2.9 Relaciones




                                                                                42
2.6 Modelo Relacional
              El modelo Relacional se obtuvo del Modelo Entidad Relación, a continuación se
       presentan las tablas que se obtuvieron solamente del nombre de la entidad y sus atributos:



       2.6.1 Tablas Empleado, Cliente, Proveedor, Marca, Categoría

 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            Categoría        Tipo

Id_marca         Varchar(30)             Id_categoria varchar(30)
                      Tabla 2.10 Tablas Empleado, Cliente, Proveedor, Marca, Categoría




                                                                                                43
2.6.2 Tabla Producto

      A continuación se presenta la tabla producto, la cual contiene la llave forá-

nea de la tabla marca y categoría, ambas se obtuvieron de una relación 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 relación muchos a muchos.

                               Ventas                Tipo
                           id_ventas         Int
                           Monto             Flota
                           Fecha             Date
                           Hora              Time
                           id_empleado       Varchar(5)
                                    Tabla 2.12 Ventas




                                                                                44
2.6.4 Tabla Lineaproducto

      LineaProducto contiene tres llaves foráneas ya que existe una relación 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




                                                                               45
CAPITULO III IMPLEMENTACION Y PRUEBAS.




                                         46
3.1 Breve Explicación

       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 nómina de la ferretería

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 Módulos:

   •   Conexión. 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

       categorías.

   •   Nómina. El Sistema nómina se encarga de llevar el control de la información

       de los empleados, permitiendo altas, bajas, modificaciones y búsquedas.

   •   Clientes. En este módulo se accede a la información de clientes, se pueden

       hacer altas, bajas, modificaciones y consultas.

   •   Proveedores. En este módulo se realizan las mismas operaciones que en

       clientes o nómina en la información de proveedores.

   •   Reportes. En esta parte del Sistema se generan informes con los datos de las

       Ventas o Inventario, para este módulo se toma como herramienta de ayuda

       Microsoft Access.

A continuación se explican las pantallas principales de cada módulo y su función.




                                                                                      47
3.2 Iniciando.

   El primer paso para iniciar con el Sistema es abrir algún 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 máquina 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 página

principal del Sistema, cuya imagen se presenta a continuación:




                                                                                                                Banner




                                         Menú Principal




                                                                Figura3.1 Pantalla principal


                                                                                                                                           48
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 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 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 co-

nexió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, Modifica-

ciones, 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 “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 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
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 búsqueda de este y muestra los

elementos que coinciden con la búsqueda, a continuación 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 eliminación. Un ejemplo de un producto correctamente eliminado

se muestra a continuación:




                                                                     Figura 3.5 Bajas de Produc-

                                                                                 tos




                                                                   Pantalla 2: Confirmación




                                                                                       52
3.4.4 Modificaciones.

      El sistema ofrece la herramienta de búsqueda por nombre, lo que hace el usua-

rio es teclear el nombre del producto y a continuación 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 confirmación. El proceso se explica a conti-

nuación.


                                                                      Pantalla 1:
                                                                      Consulta




                                                                        Pantalla 2:
                                                                        El   sistema
                                                                        regresa     los
                                                                        datos y el
                                                                        usuario     los
                                                                        modifica

                                                                      Pantalla 3:
                                                                      Confirmación.




                          Figura 3.6 Modificaciones de Producto




                                                                                          53
3.4.5 Categorías y Marcas.

       El Sistema Categorías, y Marcas son similares, ambos contienen las opciones

de insertar, eliminar y buscar, a continuación 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 búsqueda, el sistema le mostrará todas las marcas

o categorías existentes.




                           Figura 3.7 Sistemas: Marcas y Categorías.




                                                                                   54
3.5 Nómina, Clientes, Proveedores

      Los módulos Nómina, Clientes, Proveedores son muy parecidos, solo difieren

en los datos que se piden en cada uno, por lo cual, a continuación se presentan sus

pantallas de altas, las operaciones de bajas, modificaciones y consultas se muestran

mas adelante solo tomando como muestra las pantallas de nómina.


3.5.1 Altas

Nómina. Datos solicitados: Nombre, Clave, Calle Y Número, Colonia, Municipio, Ciu-

dad, CP, Teléfono, Celular U Otro, Fecha De Ingreso, Cargo Y Sueldo.

Clientes. Datos solicitados: Nombre, Clave, Nombre de contacto, Calle y Número, Co-

lonia, Municipio, Ciudad, CP, Teléfono1, Teléfono2, Teléfono3, Fax.

Proveedores. Datos solicitados: Nombre, Clave, Nombre de contacto, Calle y Número,

Colonia, Municipio, Ciudad, CP, Teléfono1, Teléfono2, Teléfono3, Fax.




                                                                 Figura 3.8. Altas
                                                                 de Empleados




                                                                                     55
3.5.2 Consultas

       En la pantalla principal en los módulos de Nómina, Clientes, Proveedores se

muestra por default la pantalla consulta. El modo de operar es el siguiente:

El usuario ingresa el valor a buscar de acuerdo a la categoría por la que elija se realice

la consulta, presiona el botón enviar y el sistema muestra todos los campos del resul-

tado obtenido.




                            Figura 3.9. Sistema Nómina: Consultas




       3.5.3 Bajas.

       Para realizar una eliminación el usuario teclea el nombre del empleado, a con-

tinuación se desplegará la lista de nombres que coinciden y una liga para elegir el

elemento a modificar, si el dato existe, es dado de baja siempre y cuando el elemento

no se esté siendo utilizado por la tabla de ventas, en caso de no existir la clave, el Sis-

tema mandará un mensaje de error. Un ejemplo de un empleado correctamente eli-

minado se muestra a continuación:




                                                                                        56
Pantalla 1:
                                                            El usuario Hace la bús-
                                                            queda y selección del
                                                            elemento a eliminar




                                                              Pantalla 2:
                                                              Confirmación de que
                                                              el elemento ha sido
                                                              de baja.
                            Figura 3.10. Sistema Nómina: Bajas.




      3.5.4 Modificaciones.

      El área de modificaciones actúa de forma similar a las modificaciones de pro-

ducto, a continuación se muestra el proceso:




                                                              Pantalla 1:
                                                              El usuario Hace la bús-
                                                              queda y selección del
                                                              elemento a modificar




                                                                                        57
Pantalla 2:
                                      Modificando Datos




                                      Pantalla 3:
                                      Confirmación




Figura 3.11. Modificaciones de Empleados




                                                          58
3.6. Ventas

      El Sistema Ventas es el módulo más importante del Sistema, por lo cual, al pulsar la opción Ventas en la pantalla principal

del Sistema, el resultado no se muestra en la misma pantalla, en vez de esto, se abre una nueva ventana. Mostrada a continuación.




                                                               Banner

                                                  Ingreso de productos             Petición de empleado y Nota de venta



                  Lista de productos y opciones                                                                             Monto
                  de eliminar y modificar                                                                                   Actual




                                                                   Área de búsquedas




                                                   Figura3.12. Pantalla Principal Ventas




                                                                                                                                    59
El Área de Ventas se divide en tres partes, el Banner en la parte superior, a con-

tinuación se encuentra el área de inserción y presentación de datos referentes a la

venta, el parte inferior a ésta se encuentra el área de consultas por producto y en la

parte inferior el área destinada a los cambios.

      A continuación se explica cada Área con detalle.



      3.6.1 Inserción de productos.

      El primer paso para realizar una venta es elegir la clave del empleado que la

realiza y teclear la Nota de Venta, este identificador de cliente y nota de venta se

mantendrán durante toda la operación hasta que la venta haya finalizado, para man-

tener el dato se utilizaron dos cookies, una se encarga de llevar la nota de venta y la

otra lleva la clave del empleado.



      El Sistema Ventas captura los productos solicitados por un cliente, se revisa si

existen en la bodega las cantidades necesarias para surtir el producto, en caso de ser

así se va mostrando en la pantalla la cantidad, la clave del producto y su descripción,

el descuento e importe y para cada producto se muestran dos ligas una es para modi-

ficar el artículo y la siguiente es para eliminarlo. En la parte derecha de la pantalla se

muestra el monto total de la venta, mismo que se actualiza cada vez que se introduce

un nuevo producto. En caso de existir algún error en la captura del producto, el Sis-

tema informa al usuario que no puede realizar la transacción y no realiza cambios en

las ventas, es decir, no agrega un producto que no exista o que no haya la suficiente

existencia para cubrir el pedido.



   Debido a que el Empleado y la nota de Venta ya fueron ingresados, estos campos

   se muestran solo de lectura.




                                                                                         60
Figura 3.13. Captura de Productos


      3.6.2 Búsquedas.

      Debido a que el número de productos que pueden ser surtidos en una ferrete-

ría es extenso, el sistema proporciona al usuario la opción de hacer búsquedas por

nombre de producto para facilitar la inserción de los mismos en la venta actual, un

ejemplo de ésta búsqueda se muestra a continuación.




                   Figura 3.14. Búsqueda de Productos en la pantalla Ventas




      3.6.3 Modificaciones.

   Cuando se quiere alterar la cantidad o el descuento que se hace a un producto in-

   gresado, se da clic sobre la palabra “Modificar” ubicada en el mismo renglón del

   producto seleccionado, el sistema despliega en la parte inferior de la pantalla los

   datos originales. El usuario ingresa los cambios a realizar y pide al Sistema mos-

   trar las modificaciones.

      En la siguiente página se muestra el proceso por pantallas.




                                                                                   61
Selección del producto a
                                            modificar y presentación
                                            de los datos originales




Realizando Cambios
                         Cambio Terminado




         Figura 3.15 Modificaciones




                                                                       62
3.6.4 Borrar

       Para eliminar un producto de la venta actual, se da clic sobre la palabra “Bo-

rrar” ubicada en el mismo renglón del producto seleccionado, posteriormente, se con-

firma el borrado y el Sistema los elimina de la lista de productos.


       3.6.5 Finalizar Ventas

       Para finalizar una venta, se pulsa el botón correspondiente en la ventana, con

lo cual se borran las cookies que tienen almacenado el valor de la nota de Venta y la

clave del empleado y se limpia la pantalla de ventas para quedar en su forma origi-

nal. (Figura 12)




       3.6.6 Cancelar Ventas

       La opción Cancelar Venta, restaura los valores de existencia del inventario de

los productos registrados y la información de la venta actual.




                                                                                  63
3.7. Reportes

       El área de sistemas trabaja con Microsoft Access para la realización de los re-

portes, ésta área permite al usuario visualizar los reportes de ventas e inventario.

Al seleccionar la opción Reportes del menú principal, se presenta una pantalla en la

que se da al usuario las operaciones que se pueden realizar, que son:



   •   Generar y visualizar reportes: Esta opción genera un archivo de texto del in-

       ventario o ventas actuales o ambos, este archivo posteriormente será importa-

       do por Access para así presentar el informe con un formato adecuado.



   •   Solo Visualizar Reportes : en esta opción el Sistema no genera ningún archivo

       de texto, en vez de esto muestra una liga para ir directo al archivo de Microsoft

       Access que tiene el formato en que se visualizan los reportes.



A continuación se presenta la pantalla de inicio realizada en Microsoft Access para los

reportes.




                    Figura 3.17. Pantalla de Inicio de Reportes en MS Access.




                                                                                       64
Una vez que el usuario se ha decidido por Ventas o Inventario el sistema le

presenta una lista con los reportes disponibles de la categoría elegida, el usuario se-

lecciona el archivo con la fecha que desea visualizar y el sistema le proporciona la

opción de Solo visualizarlo o de Imprimirlo, una vez hecha la elección se realiza la

operación correspondiente.



A continuación se muestra un fragmento de un ejemplo en el que se solicitó el reporte

de ventas:




                          Figura 3.18. Pantalla de Reporte de Ventas.




3.8 Salir

La opción Salir de la ventana principal del Sistema permite al usuario terminar con la

ejecución del programa.



                                                                                    65
3.9 Manejo de Errores


      El Sistema debe encargarse de evitar las operaciones con datos no válidos, por

lo cual trata de validar la información introducida y de manejar los errores que pue-

dan ocurrir. Existen tres formas de indicarle al usuario un error, los cuales llamare-

mos de Tipo1, Tipo2 y Tipo3.




      3.8.1 Errores Tipo 1

   Esta forma de validar es verificando que los tipos de datos sean correctos, esta

   forma de validación se realiza cuando el usuario pulsa el botón para enviar infor-

   mación al Sistema. La forma de alertar el error es mediante la aparición de una

   ventana que indica las fallas en la captura.




                               Figura 3.19. Ejemplo de error Tipo1




      3.8.2 Errores Tipo 2

      Esta forma de validación trabaja con la información que tiene un tipo de dato

correcto pero que no coincide con la información de la base de datos o no es correcta

para mantener la integridad de la misma. A continuación se presentan ejemplos del

manejo de algunos errores Tipo2.


                                                                                   66
Figura 3.18.Error donde el dato no coincide con la información de la base de datos




                Figura 3.20. Error donde se pretende insertar una clave que ya existe.




Figura 3.21. Error donde se quiere eliminar un elemento que está siendo utilizado por algún elemento

                                         de la base de datos




          Figura 3.22. Error en el que se quieren insertar mas productos de los disponibles


       3.8.3 Errores Tipo 3

       Esta forma de manejar los errores tiene que ver con los permisos o privilegios

otorgados a los usuarios del Sistema, cuando exista una falla de este tipo, se mostrará

la siguiente pantalla:




                                 Figura 3.23. Ejemplo de Error tipo3




                                                                                                  67
3.8.4 Tabla de errores.

        En esta parte trataremos los errores que pueden ocurrir en las operaciones

principales que son: ALTAS, BAJAS, MODIFICACIONES Y CONSULTAS, en la

siguiente tabla se muestran las operaciones, los errores y el tipo de error con el que

pueden ser tratados.

  Operación                                       Error                      Tipo

Altas              Tipos de datos no válidos                                   1

Altas              Llaves primarias ya insertadas                              2

Altas              +Tratar de insertar productos que no tienen existencia      2

Altas              +Tratar de comprar mas productos de los disponibles         2

Altas              Usuario sin permisos                                        3

Bajas              Campo vacío                                                 1

Bajas              El elemento es utilizado por alguna tabla de la base de     2

                   datos

Bajas              Clave de producto no existente                              3

Bajas              Usuario sin permisos                                        3

Modificaciones Campo vacío*                                                    1

Modificaciones Tipos de datos no válidos                                       1

Modificaciones Modificar la clave por otra ya existente                        2

Modificaciones Usuario sin permisos                                            3

Consultas          Tipos de datos no válidos                                   1

Consultas          Usuario sin permisos                                        3

Consultas          Campo vacío*                                                1

Consultas          Clave de producto no existente                              3
+ Solo aplica para el Sistema Ventas.
* No aplica para el Sistema Marcas y Categorías
                                         Tabla 3.1 Errores



                                                                                    68
Conclusión

      El objetivo de este proyecto fue crear un Sistema de Base de Datos para una

Ferretería con el fin de controlar sobre las cuales no se tiene control, como son el

orden, la manipulación de datos, el Sistema cuenta con los módulos de Productos,

Clientes, Ventas, Proveedores, Reportes de Ventas e Inventario.



      La Base de Datos está hecha en MYSQL, los módulos fueron realizados en

PHP, HTML y en algunos casos con Java Script, los reportes se hicieron con PHP,

HTML y Microsoft Access, la parte que se dificultó mas en su implementación fue

el área de Ventas, ya que al ser PHP un lenguaje que trabaja del lado del Servidor y

no del cliente, se dificultaba un poco los cambios o modificaciones que se necesita-

ran hacer de los productos ingresados en cada venta, este problema fue resuelto

utilizando Marcos de HTML, otra de las razones por las que Ventas fue el área mas

complicada es que lleva muchas validaciones de datos lo cual propició que el ma-

yor trabajo de este sistema fuera enfocado a esta área.



Planes a Futuro

      El Sistema realizado en este proyecto, puede crecer hacia muchas áreas, en

Proveedores y Clientes se puede hacer una implementación que permita llevar el

área de Cuentas por Pagar y Cuentas por Cobrar, así como la información de los

productos que compra un Cliente y que proveedor se encarga de surtirlos, ya que

hasta la fecha el Sistema solo da altas, bajas modificaciones y búsquedas de los da-

tos personales de Clientes y Proveedores.




                                                                                 69
Bibliografía


PHP Fast & Easy Web Development
Julie C. Melani.
Ed. Premier Press.

MYSQL
Pau Dubois
Ed. New Readers

UML Y PATRONES
Graig Larman
Ed. PRENTICE HALL

UML gota a gota
Martin Fowler, Kendall Scott
Ed PEARSON

Notas Análisis y diseño de Bases de Datos, Diplomado en Bases de Datos
M.C. Yolanda Moyao Martinez
Primavera 2004

Diplomado en Bases de Datos, Aplicaciones en Bases de Datos Locales con
MySQL- PHP.
Dr. Ivo Humberto Pineda Torres.
Febrero 2004

Páginas de Internet
Tutoriales PHP:
www.programacion.com/php/
http://es.tldp.org/Manuales-LuCAS/manual_PHP/
www.webestilo.com/php

Tutoriales MYSQL
www.mysql-hispano.org
www.mysql.com
www.mysql.es



                                                                         70
www.solotutoriales.com
www.abcdatos.com/tutoriales/tutorial/


Tutoriales HTML
www.desarrolloweb.com
www.lawebdelprogramador.com
www.htmlconclase.com




                                        71

Mais conteúdo relacionado

Mais procurados

Control a los sistemas de informacion
Control a los sistemas de informacionControl a los sistemas de informacion
Control a los sistemas de informacionCarlos Jara
 
Ensayo sistemas de informacion
Ensayo sistemas de informacionEnsayo sistemas de informacion
Ensayo sistemas de informacionAna Cova G
 
Planificación y Modelado del Sistema de Información para una Ferretería
Planificación y Modelado del Sistema de Información para una Ferretería Planificación y Modelado del Sistema de Información para una Ferretería
Planificación y Modelado del Sistema de Información para una Ferretería Erick Domínguez Canseco
 
Documentación de sistemas
Documentación de sistemasDocumentación de sistemas
Documentación de sistemasGladys Rodriguez
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
Sistemas de información
Sistemas de informaciónSistemas de información
Sistemas de informaciónguestd49fa4
 
Sistemas de Información
Sistemas de Información Sistemas de Información
Sistemas de Información R.M. M.H.
 
Capitulo 2 comercio electronico global y colaboracion
Capitulo 2   comercio electronico global y colaboracionCapitulo 2   comercio electronico global y colaboracion
Capitulo 2 comercio electronico global y colaboracionJohn Bonilla
 
IDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosIDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosFranklin Parrales Bravo
 
Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...leidyshernandez23
 
Foda (utilizacion del internet)
Foda (utilizacion del internet)Foda (utilizacion del internet)
Foda (utilizacion del internet)bianca zamora
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
 
Documentación de los sistemas de información
Documentación de los sistemas de informaciónDocumentación de los sistemas de información
Documentación de los sistemas de informaciónKarina Hernández
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datosRobert Rodriguez
 

Mais procurados (20)

Control a los sistemas de informacion
Control a los sistemas de informacionControl a los sistemas de informacion
Control a los sistemas de informacion
 
Ensayo sistemas de informacion
Ensayo sistemas de informacionEnsayo sistemas de informacion
Ensayo sistemas de informacion
 
Planificación y Modelado del Sistema de Información para una Ferretería
Planificación y Modelado del Sistema de Información para una Ferretería Planificación y Modelado del Sistema de Información para una Ferretería
Planificación y Modelado del Sistema de Información para una Ferretería
 
SISTEMA DE INFORMACION GERENCIAL
SISTEMA DE INFORMACION GERENCIAL SISTEMA DE INFORMACION GERENCIAL
SISTEMA DE INFORMACION GERENCIAL
 
Documentación de sistemas
Documentación de sistemasDocumentación de sistemas
Documentación de sistemas
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Sistemas de información
Sistemas de informaciónSistemas de información
Sistemas de información
 
Sistemas de Información
Sistemas de Información Sistemas de Información
Sistemas de Información
 
Mapa mental de Ing. de requisito y requerimiento
Mapa mental de Ing. de requisito y requerimientoMapa mental de Ing. de requisito y requerimiento
Mapa mental de Ing. de requisito y requerimiento
 
Capitulo 2 comercio electronico global y colaboracion
Capitulo 2   comercio electronico global y colaboracionCapitulo 2   comercio electronico global y colaboracion
Capitulo 2 comercio electronico global y colaboracion
 
IDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosIDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientos
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...Analisis e implementacion de un sistema de información de una tienda de abarr...
Analisis e implementacion de un sistema de información de una tienda de abarr...
 
Foda (utilizacion del internet)
Foda (utilizacion del internet)Foda (utilizacion del internet)
Foda (utilizacion del internet)
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)
 
Ejemplo aplicado foda
Ejemplo aplicado fodaEjemplo aplicado foda
Ejemplo aplicado foda
 
Documentación de los sistemas de información
Documentación de los sistemas de informaciónDocumentación de los sistemas de información
Documentación de los sistemas de información
 
Conclusión sistemas de informacion
Conclusión sistemas de informacionConclusión sistemas de informacion
Conclusión sistemas de informacion
 
Diseño logico de una base de datos
Diseño logico de  una base de datosDiseño logico de  una base de datos
Diseño logico de una base de datos
 
PROYECTO FINAL ANÀLISIS Y DISEÑO ll
PROYECTO FINAL ANÀLISIS Y DISEÑO llPROYECTO FINAL ANÀLISIS Y DISEÑO ll
PROYECTO FINAL ANÀLISIS Y DISEÑO ll
 

Destaque

Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaErick Domínguez Canseco
 
Base de datos trabajo
Base de datos trabajoBase de datos trabajo
Base de datos trabajololita_89
 
Diapositivas sistmas 3 Juan Manuel Davila
Diapositivas sistmas 3 Juan Manuel DavilaDiapositivas sistmas 3 Juan Manuel Davila
Diapositivas sistmas 3 Juan Manuel Davilajuancho456
 
PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...
PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...
PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...Rosmiluz Amaya Camargo
 
Apertura Sucursal de Ferretería
Apertura Sucursal de FerreteríaApertura Sucursal de Ferretería
Apertura Sucursal de Ferreteríapaas86
 
Presentación ferretería
Presentación ferreteríaPresentación ferretería
Presentación ferreteríaluisperu9
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 
Anteproyeto anyelina lebron
Anteproyeto anyelina lebronAnteproyeto anyelina lebron
Anteproyeto anyelina lebronedwina260981
 
Base de datos
Base de datosBase de datos
Base de datoslolita_89
 
Ferretería triángulo del café
Ferretería triángulo del caféFerretería triángulo del café
Ferretería triángulo del caféPaulita1994
 
Modelo entidad relacion de base de datos
Modelo entidad relacion de base de datosModelo entidad relacion de base de datos
Modelo entidad relacion de base de datosjinethmarcelasanchez
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)Darwin Durand
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosAidil Sanchez
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datosani_tuza
 

Destaque (20)

Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteria
 
Base de datos trabajo
Base de datos trabajoBase de datos trabajo
Base de datos trabajo
 
Analisis FODA Ferreteria
Analisis FODA FerreteriaAnalisis FODA Ferreteria
Analisis FODA Ferreteria
 
Diapositivas sistmas 3 Juan Manuel Davila
Diapositivas sistmas 3 Juan Manuel DavilaDiapositivas sistmas 3 Juan Manuel Davila
Diapositivas sistmas 3 Juan Manuel Davila
 
PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...
PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...
PROPUESTA PARA LA CREACION DE UNA FERRETERIA CON PRODUCTOS Y MATERIALES IDONE...
 
Apertura Sucursal de Ferretería
Apertura Sucursal de FerreteríaApertura Sucursal de Ferretería
Apertura Sucursal de Ferretería
 
Presentación ferretería
Presentación ferreteríaPresentación ferretería
Presentación ferretería
 
Ejemplos de entidad relacion
Ejemplos de entidad relacionEjemplos de entidad relacion
Ejemplos de entidad relacion
 
Proyecto Inventario
Proyecto Inventario Proyecto Inventario
Proyecto Inventario
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Anteproyeto anyelina lebron
Anteproyeto anyelina lebronAnteproyeto anyelina lebron
Anteproyeto anyelina lebron
 
Base de datos
Base de datosBase de datos
Base de datos
 
Ferretería triángulo del café
Ferretería triángulo del caféFerretería triángulo del café
Ferretería triángulo del café
 
Modelo entidad relacion de base de datos
Modelo entidad relacion de base de datosModelo entidad relacion de base de datos
Modelo entidad relacion de base de datos
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventarios
 
Sistema de Nomina
Sistema de NominaSistema de Nomina
Sistema de Nomina
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
Modelo entidad relacion 1
Modelo entidad relacion 1Modelo entidad relacion 1
Modelo entidad relacion 1
 
Sesion n°09 2012
Sesion n°09 2012Sesion n°09 2012
Sesion n°09 2012
 

Semelhante a Bd ferreteria

SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...
SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...
SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...DANIEL CUBILLOS
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniRAUL CHIPANA LARICO
 
PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...
PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...
PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...Jairo Acosta Solano
 
Arianna celia frenes tesis completa
Arianna celia frenes tesis completaArianna celia frenes tesis completa
Arianna celia frenes tesis completaAry Celia
 
4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA
4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA
4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICAIndugraf Peru
 
Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...
Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...
Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...José Miguel Bello Valera
 
Proyecto Vivero "Pequeños Gigantes"
Proyecto Vivero "Pequeños Gigantes"Proyecto Vivero "Pequeños Gigantes"
Proyecto Vivero "Pequeños Gigantes"Steffy_10
 
Taller los Ciegos y El Elefante
Taller los Ciegos y El ElefanteTaller los Ciegos y El Elefante
Taller los Ciegos y El ElefanteJuangabrielyate990
 
Informe completo kerine - pasantia...
Informe completo   kerine - pasantia...Informe completo   kerine - pasantia...
Informe completo kerine - pasantia...Daniel Flores
 
manejo de inventario
manejo de inventariomanejo de inventario
manejo de inventarioirisabreu
 
MANEJO DE INVENTARIO
MANEJO DE INVENTARIOMANEJO DE INVENTARIO
MANEJO DE INVENTARIOirisabreu
 
Proyecto IV contaduría publica 2020
Proyecto IV contaduría  publica 2020Proyecto IV contaduría  publica 2020
Proyecto IV contaduría publica 2020lincenciadosestudien
 
TUTORIA DEL 26.pdf
TUTORIA DEL 26.pdfTUTORIA DEL 26.pdf
TUTORIA DEL 26.pdfAlejitaRios1
 
E-Portafolio-marcela-guerrero-201512-32
E-Portafolio-marcela-guerrero-201512-32E-Portafolio-marcela-guerrero-201512-32
E-Portafolio-marcela-guerrero-201512-32marcelaguerrerocelis
 
Soluciones de software libre para el desarrollo de aplicaciones
Soluciones de software libre para el desarrollo de aplicacionesSoluciones de software libre para el desarrollo de aplicaciones
Soluciones de software libre para el desarrollo de aplicacionesJorge Luis Otero
 

Semelhante a Bd ferreteria (20)

58808744 ferreteria-tesis
58808744 ferreteria-tesis58808744 ferreteria-tesis
58808744 ferreteria-tesis
 
SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...
SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...
SISTEMA GESTOR DE REFERENCIAS BIBLIOGRÁFICAS Y ELABORADOR DE BIBLIOGRAFÍAS PA...
 
Guia debilidades de 5to
Guia debilidades de 5toGuia debilidades de 5to
Guia debilidades de 5to
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
 
PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...
PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...
PROPUESTA PARA EL DISEÑO DE MODELO DE COSTOS REALES BASADO EN COSTOS POR PROC...
 
Arianna celia frenes tesis completa
Arianna celia frenes tesis completaArianna celia frenes tesis completa
Arianna celia frenes tesis completa
 
4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA
4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA
4TO GRADO_ACTIVIDADES DE EVALUACION DIAGNOSTICA
 
Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...
Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...
Ventajas del Uso de las Microcomputadoras en las Micro, Pequeñas y Medianas E...
 
Proyecto Vivero "Pequeños Gigantes"
Proyecto Vivero "Pequeños Gigantes"Proyecto Vivero "Pequeños Gigantes"
Proyecto Vivero "Pequeños Gigantes"
 
Taller los Ciegos y El Elefante
Taller los Ciegos y El ElefanteTaller los Ciegos y El Elefante
Taller los Ciegos y El Elefante
 
Informe completo kerine - pasantia...
Informe completo   kerine - pasantia...Informe completo   kerine - pasantia...
Informe completo kerine - pasantia...
 
manejo de inventario
manejo de inventariomanejo de inventario
manejo de inventario
 
MANEJO DE INVENTARIO
MANEJO DE INVENTARIOMANEJO DE INVENTARIO
MANEJO DE INVENTARIO
 
Proyecto IV contaduría publica 2020
Proyecto IV contaduría  publica 2020Proyecto IV contaduría  publica 2020
Proyecto IV contaduría publica 2020
 
TUTORIA DEL 26.pdf
TUTORIA DEL 26.pdfTUTORIA DEL 26.pdf
TUTORIA DEL 26.pdf
 
Atención al cliente en hoteles
Atención al cliente en hotelesAtención al cliente en hoteles
Atención al cliente en hoteles
 
E-Portafolio-marcela-guerrero-201512-32
E-Portafolio-marcela-guerrero-201512-32E-Portafolio-marcela-guerrero-201512-32
E-Portafolio-marcela-guerrero-201512-32
 
Soluciones de software libre para el desarrollo de aplicaciones
Soluciones de software libre para el desarrollo de aplicacionesSoluciones de software libre para el desarrollo de aplicaciones
Soluciones de software libre para el desarrollo de aplicaciones
 
Info plc net_0063171
Info plc net_0063171Info plc net_0063171
Info plc net_0063171
 
Tabla1
Tabla1Tabla1
Tabla1
 

Bd ferreteria

  • 1. 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
  • 2. Dedicatoria A Dios: Por la oportunidad de estar viva y darme inteligencia para realizar este A mis Padres: trabajo y por permitirle haber estado Les dedico este trabajo con todo mi amor conmigo a las personas a las que dedi- y les agradezco todos los sacrificios que caré esta tesis. hicieron para que pudiera llegar hasta aquí, gracias por confiar en mi, por cui- darme en tantas y tantas ocasiones y so- bre todo por darme un ejemplo de vida, los dos son dos son admirables para mi. A miTía: Tantas y tantas cosas hiciste por mi Susy y Toño : que no tendía suficientes líneas para Niños, hemos pasado por muchas y explicar por que te dedico mi tesis, aunque aveces no lo pareciera, los tres donde quiera que estés quiero que se- sabemos que contamos uno con el otro si pas que todo eso dio frutos, se que aun lo necesitamos, gracias por ser mis me cuidas y que estas contenta de estar hermanos porque no pude haber tenido leyendo esto, gracias por todo, te quie- mejores compañeros en casa que ustedes, ro muchísimo. gracias. Nancy, Gaby, Maribel: Alejandro: Uff tantas anécdotas que tenemos … y Mi amor parte de este trabajo es tu las que faltan, muchas gracias por estar culpa, gracias por apoyarme y porque conmigo y por haberme ayudado a lograr en ocasiones me obligaste a terminarlo, esto, no se alejen mucho porque las voy a este es el principio de tantas y tantas necesitar en muchas situaciones buenas cosas que aun nos falta por vivir, lo y malas, conocerlas y estar con ustedes importante es que ya será juntos, te ha sido de lo mas divertido pero que to- adoro con toda mi alma. do eso quede entre nos ok? Las quiero mucho. 2
  • 3. Índice I. INTRODUCCIÓN _____________________________________________________ 5 CAPITULO I MARCO TEORICO __________________________________________ 7 1.1 Empresa __________________________________________________________ 8 1.1.1 Antecedentes ____________________________________________________ 9 1.1.2 Organización de la empresa_________________________________________ 9 1.1.3 Recursos Materiales de la empresa __________________________________ 12 1.1.4 Necesidad de controlar los procesos de negocio. _______________________ 12 1.1.5 Principales Procesos de Negocio de la empresa.________________________ 12 1.1.6 Beneficios de la base de datos a la empresa. ___________________________ 13 1.2 Bases de Datos____________________________________________________ 14 1.2.1 ¿Qué es un Sistema de Base de datos? _______________________________ 14 1.2.2 Principales componentes de un Sistema de Bases de Datos._______________ 14 1.2.3 El Sistema de Administración de Bases de Datos (DBMS) _______________ 15 1.2.4 El Modelo Relacional ____________________________________________ 16 1.3 Ingeniería de Software ____________________________________________ 19 1.3.1 Modelo de cascada_______________________________________________ 19 1.3.2 Espiral ________________________________________________________ 21 1.3.3 Modelo del desarrollo por prototipos ________________________________ 23 CAPIITULO II ANÁLISIS Y DISEÑO DEL SISTEMA _______________________ 27 2.1 Especificación de Requisitos _______________________________________ 28 2.1.1 Requerimientos del Sistema _______________________________________ 28 2.2 Definición Conceptual del Sistema _________________________________ 29 2.3 Descripción de la Información. _____________________________________ 30 2.3.1 Casos De Uso: Descripción De Procesos. _____________________________ 30 2.4 Modelo Funcional_________________________________________________ 33 2.4.1 DFD NIVEL 0 __________________________________________________ 33 2.4.2 DFD NIVEL 1 __________________________________________________ 34 2.4.3 DFD NIVEL 2 __________________________________________________ 35 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
  • 4. 3.4.1 Consultas ______________________________________________________ 51 3.4.2 Altas. _________________________________________________________ 51 3.4.3 Bajas. _________________________________________________________ 52 3.4.4 Modificaciones. _________________________________________________ 53 3.4.5 Categorías y Marcas. _____________________________________________ 54 3.5 Nómina, 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 Inserción de productos. ___________________________________________ 60 3.6.2 Búsquedas._____________________________________________________ 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 Conclusión 69 Bibliografía 70 4
  • 5. I. INTRODUCCIÓN La necesidad creciente de comercializar cada día mayor cantidad de produc- tos y servicios, requiere de técnicas y elementos que faciliten su desplazamiento hacia los mercados potenciales de clientes. Las bases de datos constituyen un instrumento de mucha utilidad en las empresas, es por ello que en la empresa Ferretería Méndez S. A de C.V. surge la necesidad de controlar las tareas que son muy rutinarias o sobre las cuales no se tiene control, como son el orden, la manipulación de datos, la seguridad de los da- tos, etc. Esto lleva a dar soluciones que faciliten la operación de las tareas mediante la construcción de una base de datos que pueda satisfacer las necesidades de su mercado en menor tiempo, brindando así una mejor calidad en los servicios. El material presentado se divide en una introducción del proyecto, tres capí- tulos y la conclusión. El capítulo I se refiere a la necesidad del desarrollo de una base de datos que permita a la Ferretería Méndez S. A de C.V. poder controlar de manera eficien- te los productos en un inventario, el levantamiento de pedidos y el control de la nómina, y se da una breve explicación de lo que son las bases de datos, cubriendo así un marco teórico. El capitulo II trata del planteamiento y análisis del problema, en el cual se describe con detalle la necesidad de un Sistema de Bases de Datos dividiendo este capitulo en la Especificación de Requisitos donde se describe el software y hardwa- 5
  • 6. re necesarios, la Definición Conceptual del Sistema en la cual se describen las ca- racterísticas generales de la empresa, Descripción de la Información en la cual se detallan las funciones principales del Sistema mediante casos de uso. Posteriormente se muestra el Modelo conceptual el cual contiene 3 niveles de Diagramas de Flujo de Datos en los cuales se explica la manera en que opera el Sistema y la forma en que interactúan los diferentes módulos y sus almacenes de datos. Una vez expuesto el Modelo Conceptual se presenta el Modelo Entidad Re- lación explicando cada uno de sus componentes, partiendo de esto y al finalizar el capitulo se describe el Modelo Relacional con la explicación de las tablas obtenidas. En el capitulo III se muestra la Implementación y Pruebas del Sistema, en cada uno de sus apartados se pueden ver las pantallas principales del software al mismo tiempo que se explica cada una con ejemplos y en las áreas necesarias se describe el proceso que se realizó para obtener los resultados mostrados en cada pantalla. 6
  • 7. CAPITULO I MARCO TEORICO 7
  • 8. MARCO TEORICO El presente capítulo se divide en dos partes, el objetivo de la primera es descri- bir la necesidad de la Ferretería Méndez S.A. de C.V. de contar con un Sistema de Bases de Datos que le permita lograr la eficiencia en el control de los productos con los que comercializa, así como también llevar un control de su nómina, y el objeti- vo de la segunda parte es dar un marco teórico de las bases de datos y de la inge- niería de software. 1.1 Empresa La empresa denominada Ferretería Méndez S.A. de C.V. surge en el mes de mayo del 2003. La misión es competir en el ramo ferretero, proporcionando al cliente artículos de calidad en plomería, material eléctrico, herramienta en general, etc. de marcas nacionales y extranjeras. La función principal de la empresa para la cual será elaborada la base de datos es la de realizar la venta de productos divididos en categorías de Herramientas Eléctricas, Herramientas Manuales, Plomería, Electricidad, Iluminación, Muebles, Organización, Hogar, Accesorios para baños y cocinas, Jardinería, Mascotas, Pintu- ra, Cerrajería, Hogar y Limpieza. 8
  • 9. 1.1.1 Antecedentes Desde su creación, 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 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, ocasionando demoras en los servicios. Refiriéndose a la nómina, 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, teléfono, dirección y pedidos del cliente, con la dificul- tad de que la información continuaba dispersa y para poder surtir un producto se tenía 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 Organización 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 9
  • 10. d) Atención a proveedores e) Hacer o verificar el correcto corte de caja f) Elaborar cartera de clientes g) Realizar operaciones bancarias h) Supervisión de inventario i) Revisión del ingreso de mercancía y su facturación j) Autorización 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) 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. CAJERO: Encargado de cobros en mostrador. 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. 10
  • 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. 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. 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, candados y puer- tas) c) Mantener el espacio destinado a estacionamiento 11
  • 12. 1.1.3 Recursos Materiales de la empresa Dos camionetas Una caja registradora Fax 4 líneas telefónicas Un conmutador Tres equipo de cómputo. Una impresora. Papelería en general. 1.1.4 Necesidad de controlar los procesos de negocio. Una necesidad básica es dar al cliente una atención rápida, lo cual requiere de tener en una o varias computadoras una base de datos con los productos disponi- bles para evitar la pérdida de tiempo en las búsquedas de existencia de los produc- tos así como sus características, 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 nómina Pagos a acreedores Altas a nuevos trabajadores 12
  • 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 métodos tradicionales de mantener los registros en papel es que una base de datos es compacta, rápida, 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 información. La información es uno de los recursos más valiosos de una empresa. Así en un comercio sin un sistema de este tipo, cada aplicación tiene por lo regular sus propios archivos privados de manera que los datos están muy dispersos y con se- guridad son difíciles de controlar en cualquier forma sistemática. 13
  • 14. 1.2 Bases de Datos 1.2.1 ¿Qué es un Sistema de Base de datos? Un Sistema de Base de Datos es básicamente un sistema computarizado pa- ra llevar registros. Es posible considerar a la propia Base de Datos como una espe- cie de armario electrónico para archivar, es decir, un depósito o un contenedor de una colección de archivos de datos computarizados. 1.2.2 Principales componentes de un Sistema de Bases de Datos. 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. En general, la información en la base de datos estará inte- grada y además 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, etcétera, 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- 14
  • 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- ción; los usuarios finales, quienes interactúan 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 física misma y los usuarios del sistema: el Sistema de Administración 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 Administración de Bases de Datos (DBMS) El software que permite a una o más 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. 15
  • 16. Sincronización: Cuando varios usuarios corren programas que accesan a la base de datos al mismo tiempo, el DBMS deberá dar protección de inconsistencias que puedan resultar de dos operaciones simultáneas a un mismo grupo de datos. Protección de rupturas y recuperación: facilidades para realizar copias regu- lares de la base de datos y reconstruirla después de un error de hardware o softwa- re. Uno de sus objetivos más importantes es proporcionar a los usuarios una vi- sión 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 razón la tecnología 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 colección de relaciones normalizadas [Boone 2000]. El modelo relacional se ocupa de tres aspectos: 16
  • 17. 1. Estructura de datos: El usuario percibe la información de la base de datos como tablas y nada más que tablas. La estructura de datos es la terminología que se utiliza como notación y forma de representar la información en el modelo rela- cional. Figura 1.1 Modelo Relacional: Estructura de Datos En particular una relación corresponde a lo que comúnmente 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 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, de los cuales uno o mas atribu- tos (columnas) son del mismo tipo. 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 do- minios subyacentes se llama grado. El número de tuplas en una relación se llama Cardinalidad. 17
  • 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: Ningún componente de una re- lación base puede tener valores nulos. ♦ La base de datos no debe contener valores de llave ajena sin concordan- cia. 3. Manipulación. 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 operación restringir extrae las filas especificadas de una tabla. La operación proyectar extrae las columnas especificadas de las tablas. La operación juntar reúne dos tablas con base en valores comunes de al menos una columna en común. 18
  • 19. 1.3 Ingeniería de Software La Ingeniería del Software se podría definir como el establecimiento y aplica- ción de principios de la Ingeniería para obtener software. Teniendo en cuenta fac- tores tan importantes como el coste económico, 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 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 tra- bajo. 1.3.1 Modelo de cascada Figura 1.2 Modelo Cascada En un modelo en cascada un proyecto progresa a través de una secuencia ordena- da de pasos que son: • Concepto del software. 19
  • 20. Análisis de requerimientos. • Diseño global. • Diseño detallado. • Codificación y depuración. • 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 aplicación cuando el problema es estable y cuando se trabaja con metodologías técnicas conocidas. Este modelo será apropiado para la migra- ción de una aplicación o a una versión 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 más 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 difícil ya que hay que rehacer la etapa ante- rior, este modelo es el ciclo de vida del salmón. Por lo tanto este es un modelo poco 20
  • 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 estén todos controlados. Una vez que estén los riesgos más 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 aproximación a la siguiente iteración. Con cada iteración se produce una aproximación al producto final. 21
  • 22. 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. En cada iteración seguimos los siguientes pasos: • Determinar objetivos, alternativas y límites. • Identificar y resolver riesgos. • Evaluar las alternativas. • Generar entregas de esta iteración, y comprobar que son correctas. • Planificar la siguiente iteración. • Si se decide ejecutar la siguiente iteración, 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 iteración se obtienen los puntos de verificación. • 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 gestión con- cienzuda, atenta y unos conocimientos profundos. 22
  • 23. 1.3.3 Modelo del desarrollo por prototipos Los sistemas pueden desarrollarse con métodos y lenguajes de programa- ción convencionales, aunque no tengan todas las características y toques finales de un sistema terminado. Quizás 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 información no siempre están bien definidos, pueden ser demasiados vagos aún al formular el diseño. En otros casos, es probable que una investigación de sistemas bien llevada, de como resultado un conjunto muy amplio de requerimientos de sistemas, pero construir un sistema que satisfaga a todos ellos quizás necesite del desarrollo de nueva tecnología. Los prototipos permiten evaluar situaciones extraordinarias donde los en- cargados de diseñar e implantar sistemas no tienen información ni experiencia, o también donde existen situaciones de riesgo y costos elevados, y aquellas donde el diseño propuesto es novedoso y aún no ha sido probada. La información obtenida con su uso se aplica en un nuevo diseño que se emplea, otra vez, como prototipo y que revela más información valiosa sobre dise- ño. El proceso se repite las veces que sea necesario para revelar los requerimientos esenciales del diseño. 23
  • 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 opinión. Ambos métodos son muy útiles para establecer la viabilidad del proyecto y definir acuerdos sobre los objetivos y resultados esperados. 1.3.3.2 Etapas del método de prototipos 1) Identificación de requerimientos conocido. 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). 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 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. Es difícil, y en ocasiones imposibles, fijar una fecha ten- tativa de terminación. La experiencia con el sistema es la que determina eventual- mente cuando en sistema esta terminado. Para comenzar la primera iteración, usuarios y analistas identifican de ma- nera conjunta los datos que son necesarios para el sistema y especifican la salida que debe producir la aplicación. 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. Sin 24
  • 25. embargo, con un prototipo, se espera que las especificaciones iniciales estén in- completas. 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 em- plea la organización. En esta etapa es más importante la rapidez con que se construye el prototipo que la eficiencia de operación. Es por esto que el analista no intenta optimizar la velocidad de operación del sistema. 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 caracte- rística y operación. 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 eliminación de características inadecuadas o innecesarias. 4) Revisión del prototipo Información sobre los que les gusta y los que les desagrada a los usuarios. La información obtenida tendrá influencia sobre las características de la siguiente versión de la aplicación. Los cambios al prototipo son planificados con los usuarios antes de llevarlos a cabo. El analista es el responsable de realizar las modificaciones. 5) Repetición del proceso las veces que sea necesario. 25
  • 26. 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. 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. 26
  • 27. CAPIITULO II ANÁLISIS Y DISEÑO DEL SISTEMA 27
  • 28. 2.1 Especificación de Requisitos Las bases de datos constituyen un instrumento de mucha utilidad en las empresas. Esto lleva a dar soluciones que faciliten la operación de las tareas me- diante la construcción de una base de datos que pueda satisfacer las necesidades de su mercado en menor tiempo, brindando así una mejor calidad en los servicios, 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 nómina de una ferretería 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 programación y proporciona una interfaz gráfica pa- ra el usuario, otra ventaja de PHP es que nos esconde el código. • 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 28
  • 29. 2.2 Definición Conceptual del Sistema El Sistema será una base de datos que lleve el control y administración de la in- formación que se tiene dentro de la ferretería para así facilitar el manejo de servi- cios, clientes y trabajadores dentro de ésta, teniendo como funciones principales: • Cartera de clientes actualizada. • Información personal de los trabajadores para la nomina. • Control de las Ventas de Productos. • Control del inventario. • Información de los proveedores. La recopilación de la información se hizo a través de entrevistas con el cliente, en las cuales se discutieron las necesidades de la empresa, ya que esta no cuenta con una organización eficiente que le permita realizar sus procesos de negocio con la suficiente rapidez y efectividad, causando con esto una demora en la atención a clientes. La empresa realiza sus procesos en forma manual, es decir, tiene un inventario hecho en papel, el control de la nómina se basa en la memoria del gerente y la in- formación personal de los empleados está registrada en papeles, las ventas se rea- lizan en forma manual y la actualización 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 información de proveedores está en una hoja de cálculo en Microsoft Excel, la cual solo contiene la información perso- nal del cliente y de los proveedores. Teniendo esta información, se obtuvieron los requisitos del Sistema, los cuales se explicarán en la siguiente parte. 29
  • 30. 2.3 Descripción de la Información. 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 nómina. Dar de alta a trabajadores. Dar de baja a trabajadores. Dar información de productos. Controlar información de proveedores. 2.3.1 Casos De Uso: Descripción De Procesos. 2.3.1.1 Actores Los actores del sistema son los siguientes: Cliente, Vendedor, Gerente, sus actividades son descritas a continuación. Cliente Compra productos Paga productos Cajero Cobra Emite facturas y notas Vendedor Registra productos Da de alta a clientes 30
  • 31. Gerente Da de alta productos Controla nómina 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 Descripción 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 Descripción 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 Descripción El cajero cobra el monto, el cliente paga y el cajero emite facturas o notas, entregas el cambio 31
  • 32. Caso de uso Obtener nómina Actores Gerente empleado Tipo Secundario Descripción El gerente consulta la nómina y paga al vendedor o cajero. Caso de uso Alta a trabajadores Actores Empleados en general Tipo Secundario Descripción El gerente inicia con el ingreso de información del nuevo empleado, el empleado proporciona sus datos Caso de uso Ingresar clientes Actores Cliente, vendedor o gerente Tipo Primario Descripción 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 Descripción El gerente o empleado captura información del nuevo producto 32
  • 33. 2.4 Modelo Funcional El diagrama funcional del proyecto consta de 3 niveles de Diagramas de Flujo de Datos (DFD), a continuación se explica la simbología utilizada. Símbolo Significado Texto Entidad externa al Sistema. Proceso: Manipula o destruye información Indica la dirección en que fluye la información Almacén de datos, indica de donde se alimenta un proceso 2.4.1 DFD NIVEL 0 Vendedor Vendedor Sistema Gerente Gerente Impresora Figura2.1. Diagrama de flujo de datos nivel 0 El primer DFD muestra la relación 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. 33
  • 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, Actualización de inventario, Reportes, Actuali- zación de clientes, Actualización de nomina, Actualización de proveedores; tam- bién se puede observar que el sistema se alimenta de los almacenes: Nómina, Clientes, Proveedores, Ventas, e Inventario. Inventario Vendendor Vendedor Ventas (Pantalla) Actualización Ventas de Inventario Inventario Inventario Reportes Impresora Actualización de Clientes Gerente Nómina (Pantalla) Clientes Actualización de Nómina Gerente Actualización Proveedores Proveedores Figura2.2. Diagrama de flujo de datos nivel 1 34
  • 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- teniéndolos del almacén Inventario, en caso de haber existencia de los productos se despliega en la pantalla y se actualiza el inventario y el almacén ventas. Realiza Consulta Vendendor Vendendor de productos (Pantalla) Inventario Despliega Productos Actualiza Inventario Actualiza Ventas Ventas Figura2.3 DFD 2 Ventas 2.4.3.2 Actualización de Nómina El Gerente introduce los nuevos datos para ser agregados o modificados del almacén Nómina, los resultados se muestran en la pantalla. Gerente Actualizar Dá información Gerente Información del empleado (Pantalla) Nómina Figura 2.4. DFD 2 Actualizar Nómina 35
  • 36. 2.4.3.3 Actualización de Clientes. El Gerente o Vendedor introduce los nuevos datos para ser agregados o modificados del almacén Clientes, los resultados se muestran en la pantalla. Gerente o Vendedor Actualizar Gerente o Dá información Información Vendedor del cliente (Pantalla) Clientes Figura2.5. DFD 2 Actualizar Clientes 2.4.3.4 Actualización de inventario. El gerente o empleado ingresa los datos de o de los productos y se actualiza la información del almacén inventario, los resultados se muestran en pantalla. Gerente o Vendedor Actualizar Gerente o Dá información Información Vendedor del producto (Pantalla) Inventario Figura 2.6. DFD 2 Actualizar Inventario. 36
  • 37. 2.4.3.5 Actualización de Proveedores. El gerente ingresa los datos de los proveedores y se actualiza la información del almacén proveedores, los resultados se muestran en pantalla. Gerente Actualizar Dá información Gerente Información del proveedor (Pantalla) Proveedores Figura 2.7. DFD 2 Actualizar Proveedores. 37
  • 38. 2.5. Modelo Entidad – Relación Municipio Ciudad Hora Colonia CP Fecha Calle Tel1 Empleado Ventas Monto Nombre Tel2 Id_empleado Hecha Cargo Id_ventas por Sueldo Fechaingreso Id_linea Cantidad Contiene Descuento lineaproducto Id_categoria Importe Categoria Regista Nombre Id_producto Tiene Marca Tiene Producto Preciou Id_marca Existencia Características Precioc Nombrec Calle Nombrec Calle Nombre Colonia Nombre Colonia Municipio Municipio Id_prov Id_cliente Proveedor Cliente Ciudad Ciudad Fax Fax CP CP Tel3 Tel3 Tel2 Tel1 Tel2 Tel1 Figura2.8 Modelo Entidad Relación. 38
  • 39. El modelo consta de 8 entidades con sus respectivas relaciones y tributos, a continuación se explican cada una de las entidades con su nombre, función y sus atributos. 2.5.1 Entidades 2.5.1.1 Entidad: Empleado Contiene la información de la nómina. Atributo Descripción Nombre Nombre del empleado Calle Calle Colonia Colonia Municipio Municipio. Ciudad Ciudad CP Código Postal Tel1 Teléfono Tel2 Teléfono 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 información relacionada con una venta. Atributo Descripción Hora Hora en que se realiza la venta Fecha Fecha en que se realiza la venta 39
  • 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 información general de un producto. Atributo Descripción Características Información extra del producto Preciou Precio unitario en que se vende el producto Precioc Precio en que se compra el artículo 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 Descripción Id_marca Identificador de la marca Tabla 2.4 Marca 2.5.1.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 Categoría 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 Descripción 40
  • 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 Descripción Nombre Nombre del cliente Nombrec Nombre de contacto Calle Calle Colonia Colonia Municipio Municipio Ciudad Ciudad CP Código Postal Tel1 Teléfono uno Tel2 Teléfono dos Tel3 Teléfono tres Fax Número de Fax Id_Cliente identificador único del cliente Tabla 2.7 Cliente 2.5.1.8 Entidad: Proveedor Contiene la información personal del proveedor. Atributo Descripción Nombre Nombre del proveedor Nombrec Nombre de contacto del proveedor 41
  • 42. Calle Calle Colonia Colonia Municipio Municipio Ciudad Ciudad CP Código Postal Tel1 Teléfono uno Tel2 Teléfono dos Tel3 Teléfono tres Fax Número 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- nuació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 Relación Conectividad Entidad Ventas Hecha por M:1 Empleado Ventas Contiene 1:M Lineaproducto Lineaproducto Registra M:1 Producto Categoría Tiene 1:M Producto Marca Tiene 1:M Producto Tabla 2.9 Relaciones 42
  • 43. 2.6 Modelo Relacional El modelo Relacional se obtuvo del Modelo Entidad Relación, a continuación se presentan las tablas que se obtuvieron solamente del nombre de la entidad y sus atributos: 2.6.1 Tablas Empleado, Cliente, Proveedor, Marca, Categoría 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 Categoría Tipo Id_marca Varchar(30) Id_categoria varchar(30) Tabla 2.10 Tablas Empleado, Cliente, Proveedor, Marca, Categoría 43
  • 44. 2.6.2 Tabla Producto A continuación se presenta la tabla producto, la cual contiene la llave forá- nea de la tabla marca y categoría, ambas se obtuvieron de una relación 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 relación muchos a muchos. Ventas Tipo id_ventas Int Monto Flota Fecha Date Hora Time id_empleado Varchar(5) Tabla 2.12 Ventas 44
  • 45. 2.6.4 Tabla Lineaproducto LineaProducto contiene tres llaves foráneas ya que existe una relación 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 45
  • 47. 3.1 Breve Explicación 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 nómina de la ferretería 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 Módulos: • Conexión. 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 categorías. • Nómina. El Sistema nómina se encarga de llevar el control de la información de los empleados, permitiendo altas, bajas, modificaciones y búsquedas. • Clientes. En este módulo se accede a la información de clientes, se pueden hacer altas, bajas, modificaciones y consultas. • Proveedores. En este módulo se realizan las mismas operaciones que en clientes o nómina en la información de proveedores. • Reportes. En esta parte del Sistema se generan informes con los datos de las Ventas o Inventario, para este módulo se toma como herramienta de ayuda Microsoft Access. A continuación se explican las pantallas principales de cada módulo y su función. 47
  • 48. 3.2 Iniciando. El primer paso para iniciar con el Sistema es abrir algún 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 máquina 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 página principal del Sistema, cuya imagen se presenta a continuación: Banner Menú Principal Figura3.1 Pantalla principal 48
  • 49. 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 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 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 co- nexión. 49
  • 50. 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, Modifica- ciones, Categorías y Marcas. Figura 3.2 Pantalla Productos 50
  • 51. 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 “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 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
  • 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 búsqueda de este y muestra los elementos que coinciden con la búsqueda, a continuación 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 eliminación. Un ejemplo de un producto correctamente eliminado se muestra a continuación: Figura 3.5 Bajas de Produc- tos Pantalla 2: Confirmación 52
  • 53. 3.4.4 Modificaciones. El sistema ofrece la herramienta de búsqueda por nombre, lo que hace el usua- rio es teclear el nombre del producto y a continuación 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 confirmación. El proceso se explica a conti- nuación. Pantalla 1: Consulta Pantalla 2: El sistema regresa los datos y el usuario los modifica Pantalla 3: Confirmación. Figura 3.6 Modificaciones de Producto 53
  • 54. 3.4.5 Categorías y Marcas. El Sistema Categorías, y Marcas son similares, ambos contienen las opciones de insertar, eliminar y buscar, a continuación 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 búsqueda, el sistema le mostrará todas las marcas o categorías existentes. Figura 3.7 Sistemas: Marcas y Categorías. 54
  • 55. 3.5 Nómina, Clientes, Proveedores Los módulos Nómina, Clientes, Proveedores son muy parecidos, solo difieren en los datos que se piden en cada uno, por lo cual, a continuación se presentan sus pantallas de altas, las operaciones de bajas, modificaciones y consultas se muestran mas adelante solo tomando como muestra las pantallas de nómina. 3.5.1 Altas Nómina. Datos solicitados: Nombre, Clave, Calle Y Número, Colonia, Municipio, Ciu- dad, CP, Teléfono, Celular U Otro, Fecha De Ingreso, Cargo Y Sueldo. Clientes. Datos solicitados: Nombre, Clave, Nombre de contacto, Calle y Número, Co- lonia, Municipio, Ciudad, CP, Teléfono1, Teléfono2, Teléfono3, Fax. Proveedores. Datos solicitados: Nombre, Clave, Nombre de contacto, Calle y Número, Colonia, Municipio, Ciudad, CP, Teléfono1, Teléfono2, Teléfono3, Fax. Figura 3.8. Altas de Empleados 55
  • 56. 3.5.2 Consultas En la pantalla principal en los módulos de Nómina, Clientes, Proveedores se muestra por default la pantalla consulta. El modo de operar es el siguiente: El usuario ingresa el valor a buscar de acuerdo a la categoría por la que elija se realice la consulta, presiona el botón enviar y el sistema muestra todos los campos del resul- tado obtenido. Figura 3.9. Sistema Nómina: Consultas 3.5.3 Bajas. Para realizar una eliminación el usuario teclea el nombre del empleado, a con- tinuación se desplegará la lista de nombres que coinciden y una liga para elegir el elemento a modificar, si el dato existe, es dado de baja siempre y cuando el elemento no se esté siendo utilizado por la tabla de ventas, en caso de no existir la clave, el Sis- tema mandará un mensaje de error. Un ejemplo de un empleado correctamente eli- minado se muestra a continuación: 56
  • 57. Pantalla 1: El usuario Hace la bús- queda y selección del elemento a eliminar Pantalla 2: Confirmación de que el elemento ha sido de baja. Figura 3.10. Sistema Nómina: Bajas. 3.5.4 Modificaciones. El área de modificaciones actúa de forma similar a las modificaciones de pro- ducto, a continuación se muestra el proceso: Pantalla 1: El usuario Hace la bús- queda y selección del elemento a modificar 57
  • 58. Pantalla 2: Modificando Datos Pantalla 3: Confirmación Figura 3.11. Modificaciones de Empleados 58
  • 59. 3.6. Ventas El Sistema Ventas es el módulo más importante del Sistema, por lo cual, al pulsar la opción Ventas en la pantalla principal del Sistema, el resultado no se muestra en la misma pantalla, en vez de esto, se abre una nueva ventana. Mostrada a continuación. Banner Ingreso de productos Petición de empleado y Nota de venta Lista de productos y opciones Monto de eliminar y modificar Actual Área de búsquedas Figura3.12. Pantalla Principal Ventas 59
  • 60. El Área de Ventas se divide en tres partes, el Banner en la parte superior, a con- tinuación se encuentra el área de inserción y presentación de datos referentes a la venta, el parte inferior a ésta se encuentra el área de consultas por producto y en la parte inferior el área destinada a los cambios. A continuación se explica cada Área con detalle. 3.6.1 Inserción de productos. El primer paso para realizar una venta es elegir la clave del empleado que la realiza y teclear la Nota de Venta, este identificador de cliente y nota de venta se mantendrán durante toda la operación hasta que la venta haya finalizado, para man- tener el dato se utilizaron dos cookies, una se encarga de llevar la nota de venta y la otra lleva la clave del empleado. El Sistema Ventas captura los productos solicitados por un cliente, se revisa si existen en la bodega las cantidades necesarias para surtir el producto, en caso de ser así se va mostrando en la pantalla la cantidad, la clave del producto y su descripción, el descuento e importe y para cada producto se muestran dos ligas una es para modi- ficar el artículo y la siguiente es para eliminarlo. En la parte derecha de la pantalla se muestra el monto total de la venta, mismo que se actualiza cada vez que se introduce un nuevo producto. En caso de existir algún error en la captura del producto, el Sis- tema informa al usuario que no puede realizar la transacción y no realiza cambios en las ventas, es decir, no agrega un producto que no exista o que no haya la suficiente existencia para cubrir el pedido. Debido a que el Empleado y la nota de Venta ya fueron ingresados, estos campos se muestran solo de lectura. 60
  • 61. Figura 3.13. Captura de Productos 3.6.2 Búsquedas. Debido a que el número de productos que pueden ser surtidos en una ferrete- ría es extenso, el sistema proporciona al usuario la opción de hacer búsquedas por nombre de producto para facilitar la inserción de los mismos en la venta actual, un ejemplo de ésta búsqueda se muestra a continuación. Figura 3.14. Búsqueda de Productos en la pantalla Ventas 3.6.3 Modificaciones. Cuando se quiere alterar la cantidad o el descuento que se hace a un producto in- gresado, se da clic sobre la palabra “Modificar” ubicada en el mismo renglón del producto seleccionado, el sistema despliega en la parte inferior de la pantalla los datos originales. El usuario ingresa los cambios a realizar y pide al Sistema mos- trar las modificaciones. En la siguiente página se muestra el proceso por pantallas. 61
  • 62. Selección del producto a modificar y presentación de los datos originales Realizando Cambios Cambio Terminado Figura 3.15 Modificaciones 62
  • 63. 3.6.4 Borrar Para eliminar un producto de la venta actual, se da clic sobre la palabra “Bo- rrar” ubicada en el mismo renglón del producto seleccionado, posteriormente, se con- firma el borrado y el Sistema los elimina de la lista de productos. 3.6.5 Finalizar Ventas Para finalizar una venta, se pulsa el botón correspondiente en la ventana, con lo cual se borran las cookies que tienen almacenado el valor de la nota de Venta y la clave del empleado y se limpia la pantalla de ventas para quedar en su forma origi- nal. (Figura 12) 3.6.6 Cancelar Ventas La opción Cancelar Venta, restaura los valores de existencia del inventario de los productos registrados y la información de la venta actual. 63
  • 64. 3.7. Reportes El área de sistemas trabaja con Microsoft Access para la realización de los re- portes, ésta área permite al usuario visualizar los reportes de ventas e inventario. Al seleccionar la opción Reportes del menú principal, se presenta una pantalla en la que se da al usuario las operaciones que se pueden realizar, que son: • Generar y visualizar reportes: Esta opción genera un archivo de texto del in- ventario o ventas actuales o ambos, este archivo posteriormente será importa- do por Access para así presentar el informe con un formato adecuado. • Solo Visualizar Reportes : en esta opción el Sistema no genera ningún archivo de texto, en vez de esto muestra una liga para ir directo al archivo de Microsoft Access que tiene el formato en que se visualizan los reportes. A continuación se presenta la pantalla de inicio realizada en Microsoft Access para los reportes. Figura 3.17. Pantalla de Inicio de Reportes en MS Access. 64
  • 65. Una vez que el usuario se ha decidido por Ventas o Inventario el sistema le presenta una lista con los reportes disponibles de la categoría elegida, el usuario se- lecciona el archivo con la fecha que desea visualizar y el sistema le proporciona la opción de Solo visualizarlo o de Imprimirlo, una vez hecha la elección se realiza la operación correspondiente. A continuación se muestra un fragmento de un ejemplo en el que se solicitó el reporte de ventas: Figura 3.18. Pantalla de Reporte de Ventas. 3.8 Salir La opción Salir de la ventana principal del Sistema permite al usuario terminar con la ejecución del programa. 65
  • 66. 3.9 Manejo de Errores El Sistema debe encargarse de evitar las operaciones con datos no válidos, por lo cual trata de validar la información introducida y de manejar los errores que pue- dan ocurrir. Existen tres formas de indicarle al usuario un error, los cuales llamare- mos de Tipo1, Tipo2 y Tipo3. 3.8.1 Errores Tipo 1 Esta forma de validar es verificando que los tipos de datos sean correctos, esta forma de validación se realiza cuando el usuario pulsa el botón para enviar infor- mación al Sistema. La forma de alertar el error es mediante la aparición de una ventana que indica las fallas en la captura. Figura 3.19. Ejemplo de error Tipo1 3.8.2 Errores Tipo 2 Esta forma de validación trabaja con la información que tiene un tipo de dato correcto pero que no coincide con la información de la base de datos o no es correcta para mantener la integridad de la misma. A continuación se presentan ejemplos del manejo de algunos errores Tipo2. 66
  • 67. Figura 3.18.Error donde el dato no coincide con la información de la base de datos Figura 3.20. Error donde se pretende insertar una clave que ya existe. Figura 3.21. Error donde se quiere eliminar un elemento que está siendo utilizado por algún elemento de la base de datos Figura 3.22. Error en el que se quieren insertar mas productos de los disponibles 3.8.3 Errores Tipo 3 Esta forma de manejar los errores tiene que ver con los permisos o privilegios otorgados a los usuarios del Sistema, cuando exista una falla de este tipo, se mostrará la siguiente pantalla: Figura 3.23. Ejemplo de Error tipo3 67
  • 68. 3.8.4 Tabla de errores. En esta parte trataremos los errores que pueden ocurrir en las operaciones principales que son: ALTAS, BAJAS, MODIFICACIONES Y CONSULTAS, en la siguiente tabla se muestran las operaciones, los errores y el tipo de error con el que pueden ser tratados. Operación Error Tipo Altas Tipos de datos no válidos 1 Altas Llaves primarias ya insertadas 2 Altas +Tratar de insertar productos que no tienen existencia 2 Altas +Tratar de comprar mas productos de los disponibles 2 Altas Usuario sin permisos 3 Bajas Campo vacío 1 Bajas El elemento es utilizado por alguna tabla de la base de 2 datos Bajas Clave de producto no existente 3 Bajas Usuario sin permisos 3 Modificaciones Campo vacío* 1 Modificaciones Tipos de datos no válidos 1 Modificaciones Modificar la clave por otra ya existente 2 Modificaciones Usuario sin permisos 3 Consultas Tipos de datos no válidos 1 Consultas Usuario sin permisos 3 Consultas Campo vacío* 1 Consultas Clave de producto no existente 3 + Solo aplica para el Sistema Ventas. * No aplica para el Sistema Marcas y Categorías Tabla 3.1 Errores 68
  • 69. Conclusión El objetivo de este proyecto fue crear un Sistema de Base de Datos para una Ferretería con el fin de controlar sobre las cuales no se tiene control, como son el orden, la manipulación de datos, el Sistema cuenta con los módulos de Productos, Clientes, Ventas, Proveedores, Reportes de Ventas e Inventario. La Base de Datos está hecha en MYSQL, los módulos fueron realizados en PHP, HTML y en algunos casos con Java Script, los reportes se hicieron con PHP, HTML y Microsoft Access, la parte que se dificultó mas en su implementación fue el área de Ventas, ya que al ser PHP un lenguaje que trabaja del lado del Servidor y no del cliente, se dificultaba un poco los cambios o modificaciones que se necesita- ran hacer de los productos ingresados en cada venta, este problema fue resuelto utilizando Marcos de HTML, otra de las razones por las que Ventas fue el área mas complicada es que lleva muchas validaciones de datos lo cual propició que el ma- yor trabajo de este sistema fuera enfocado a esta área. Planes a Futuro El Sistema realizado en este proyecto, puede crecer hacia muchas áreas, en Proveedores y Clientes se puede hacer una implementación que permita llevar el área de Cuentas por Pagar y Cuentas por Cobrar, así como la información de los productos que compra un Cliente y que proveedor se encarga de surtirlos, ya que hasta la fecha el Sistema solo da altas, bajas modificaciones y búsquedas de los da- tos personales de Clientes y Proveedores. 69
  • 70. Bibliografía PHP Fast & Easy Web Development Julie C. Melani. Ed. Premier Press. MYSQL Pau Dubois Ed. New Readers UML Y PATRONES Graig Larman Ed. PRENTICE HALL UML gota a gota Martin Fowler, Kendall Scott Ed PEARSON Notas Análisis y diseño de Bases de Datos, Diplomado en Bases de Datos M.C. Yolanda Moyao Martinez Primavera 2004 Diplomado en Bases de Datos, Aplicaciones en Bases de Datos Locales con MySQL- PHP. Dr. Ivo Humberto Pineda Torres. Febrero 2004 Páginas de Internet Tutoriales PHP: www.programacion.com/php/ http://es.tldp.org/Manuales-LuCAS/manual_PHP/ www.webestilo.com/php Tutoriales MYSQL www.mysql-hispano.org www.mysql.com www.mysql.es 70