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