Está en la página 1de 85

INSTITUTO TECNOLÓGICO SUPERIOR DE COMALCALCO

INGENIERÍA EN SISTEMAS COMPUTACIONALES

SISTEMA DE PUNTO DE VENTA PARA LA


MICROEMPRESA ABARROTES ADRIANA

ASIGNATURA:

VERIFICACION Y VALIDACION DEL SOFTWARE

CATEDRATICO:

ALEJANDRO LOPEZ JIMENEZ

Presentan:

LUCIANO RODRIGUEZ ERICK EDGARDO


GIL CIGARROA FRANCISCO OSWALDO

SEMESTRE: 9° GRUPO: A

COMALCALCO, TABASCO 10 JULIO 2019

1
Contenido
Capitulo I. GENERALIDADES................................................................................................................................ 4
1.1.1 Antecedentes..................................................................................................................................... 4
1.1.2 Misión ................................................................................................................................................ 4
1.1.3 Visión ................................................................................................................................................. 4
1.1.4 Valores ............................................................................................................................................... 4
1.1.5 Organigrama general de la empresa ................................................................................................. 5
1.1.6 Croquis de la ubicación ...................................................................................................................... 5
1.1.7 Descripción del área donde se realizó la investigación ..................................................................... 5
1.2 Planteamiento del problema .................................................................................................................... 6
1.2.1 Definición del problema .................................................................................................................... 6
1.2.2 Delimitación de la investigación ........................................................................................................ 6
1.2.3 Pregunta de investigación ................................................................................................................. 7
1.3 Objetivos................................................................................................................................................... 7
1.3.1 Generales ........................................................................................................................................... 7
1.3.2 Específicos ......................................................................................................................................... 7
1.4 Justificación .............................................................................................................................................. 8
1.5 Metodología utilizada ............................................................................................................................... 8
1.5.1 Metodología de investigación ........................................................................................................... 8
1.5.2 Metodología de desarrollo ................................................................................................................ 9
1.5.3 Cascada .............................................................................................................................................. 9
Capitulo II Marco teórico .................................................................................................................................. 12
2.1 Marco Referencial .................................................................................................................................. 12
2.1.1 Sistema Institucional de Curriculum Vitae ...................................................................................... 12
2.1.2 CVar ................................................................................................................................................. 13
2.1.3 Currículum Vitae Normalizado (CVN) .............................................................................................. 13
2.2 Marco Conceptual .................................................................................................................................. 15
2.2.1 Curriculum ....................................................................................................................................... 15
2.2.2 Aplicación Local ............................................................................................................................... 17
2.2.3 Lenguaje de programación .............................................................................................................. 17
2.2.4 Sistema gestor de base de datos ..................................................................................................... 18
2.2.5 Base de datos .................................................................................................................................. 19
2.2.6 clasificaciones de la base de datos .................................................................................................. 21
2.3 Marco Tecnológico ................................................................................................................................. 25

2
2.3.1 JavaScript ......................................................................................................................................... 25
2.3.2 NetBeans ......................................................................................................................................... 26
2.3.3 Xampp .............................................................................................................................................. 27
2.4 Marco Legal ............................................................................................................................................ 28
Capitulo III Aplicación de la metodología y desarrollo ..................................................................................... 30
3.1 Etapa de análisis ..................................................................................................................................... 30
3.1.1 Análisis de la situación actual .......................................................................................................... 30
3.1.2 Propuesta de solución ..................................................................................................................... 31
3.1.3 Estudio de factibilidad ..................................................................................................................... 32
3.1.4 Planeación de riegos ........................................................................................................................ 32
3.1.5 Análisis de requerimiento................................................................................................................ 38
3.2 Etapa de Diseño ...................................................................................................................................... 43
3.2.1 Diagrama UML ................................................................................................................................. 43
3.2.2 Diseño de datos ............................................................................................................................... 53
3.3 DESARROLLO .......................................................................................................................................... 59
3.3.1 Interfaces ......................................................................................................................................... 59
Capitulo 4 pruebas y resultados ....................................................................................................................... 64
4.1 Pruebas de interfaces y contenidos........................................................................................................ 64
4.2 Pruebas de funcionalidad ....................................................................................................................... 67
4.3 Prueba de seguridad ............................................................................................................................... 70
4.4Prueba de aceptación .............................................................................................................................. 71
4.5 Prueba de integración ............................................................................................................................ 72
4.6 Prueba de carga ...................................................................................................................................... 74
4.7 Prueba de stress ..................................................................................................................................... 78
4.8 Prueba Unitaria....................................................................................................................................... 79

3
Capitulo I. GENERALIDADES
1.1.1 Antecedentes

En 1987 la familia Gil Madrigal se mudó de residencia al municipio de Cárdenas,


Tabasco. En aquellos años el señor Héctor Francisco Gil Fuentes decidió crear un
negocio de Abarrotes al cual llamo “Abarrotes Adriana”. Desde su fundación la
abarrotera ha permanecido en esa misma ubicación y ha contado con solo un dueño
distinto. En el año 2000, paso la propiedad de dichos abarrotes a Aida Lucia Gil
Madrigal que estuvo como dueña de la abarrotera por 12 años, pero por motivos
personales tuvo que pasar la propiedad a Héctor Francisco Gil Madrigal en el año
2012 y este es él actual dueño de dicha propiedad.

1.1.2 Misión

Brindar al cliente una amplia variedad de productos relacionados con el hogar, la


alimentación y cuidado personal, logrando que esta, pueda satisfacer todas sus
necesidades en un mismo lugar y a un precio muy accesible

1.1.3 Visión

Ser una empresa reconocida y distinguida en el sector comercial, en los mercados


actuales y futuros, siendo la primera opción de compra para los habitantes de la
comunidad.

1.1.4 Valores

Los valores institucionales que conocen y representan en sus actividades y acciones


diarias los trabajadores para lograr un impacto positivo son:

Honestidad: Nos conducimos siempre con la verdad y rectitud de


comportamiento dentro y fuera de la empresa, para mantener la confianza y
credibilidad de nuestros clientes y proveedores.
Compromiso: Asumimos con lealtad y responsabilidad la misión de la
Empresa: Brindar al cliente una amplia variedad de productos relacionados con
el hogar, la alimentación y cuidado personal, logrando que esta, pueda satisfacer
todas sus necesidades en un mismo lugar y a un precio muy accesible.

4
Respeto: Tratamos a nuestros clientes y proveedores con dignidad y
tolerancia sin causar alguna ofensa o perjuicio.

1.1.5 Organigrama general de la empresa

Héctor Francisco Gil Madrigal


Encargado

1.1.6 Croquis de la ubicación

1.1.7 Descripción del área donde se realizó la

investigación

Se llevó a cabo en la Abarrotera Adriana del municipio de Cárdenas tabasco

5
1.1.7.1 Objetivo del área

Proporcionar los servicios de ventas a todos los clientes en la zona

1.2 Planteamiento del problema

1.2.1 Definición del problema

Actualmente en la empresa “Abarrotes Adriana” no cuentan con un control de ventas


adecuado, es por ello que no se tiene conocimiento de las ganancias y las pérdidas
generadas en todo el mes o semana, se desconoce el total de mercancía que hay
en existencia, además de que no se lleva un control de fecha de caducidad en cada
producto y eso ocasiona gran pérdida en los consumibles, además de que el
establecimiento es atendido por una sola persona que en este caso es el dueño de
la abarrotera.
Por otro lado; al no saber cuáles productos les hacen falta, pide al proveedor
mercancía y éste se las envía, pero para cuando le llega el pedido ya le hace falta
otros productos, es así que no lleva un adecuado control de inventario en la
empresa.
La otra problemática es que no se lleva un control de ventas favorable ya que al
llegar un cliente al establecimiento y busca o solicita un producto el tendero o
encargado de la empresa se percata de que no tiene tal producto en existencia,
además de que lleva el control de clientes en una libreta y tiene anotados a los
clientes que tienen créditos, cuanto deben y la fecha en que se les otorgó el crédito,
y actualmente en esa libreta se hace el corte de caja de manera manual.

1.2.2 Delimitación de la investigación

1.2.2.1 Alcance
El software abarcará solo el área administrativa de la empresa “Abarrotes Adriana”
donde se controlará el punto de ventas y el inventario.
1.2.2.2 Limitaciones
 Ausencia de equipo de cómputo para la instalación del sistema de
información.

6
 Falta de experiencia de elaboración de sistemas de información por los
desarrolladores.
 Poco conocimiento del lenguaje de programación.
 Escasez de tiempo del personal de la abarrotera para capacitarse.
 El tiempo estimado para la terminación del producto finalizara.
 Que el sistema no cumpla con las expectativas que se establecieron al inicio
de la elaboración.
 Que las herramientas y metodologías predeterminas no sean lo suficiente
para el desempeño del producto.
 Por falta de infraestructura no se pueda concretar la realización del producto.

1.2.3 Pregunta de investigación

¿Qué tan necesario es la implementación de un sistema de punto de ventas e


inventario para la abarrotera Adriana para optimizar sus procesos?

1.3 Objetivos

1.3.1 Generales

Desarrollar, implementar, capacitar y hacer pruebas del sistema para brindar un


excelente servicio al cliente y satisfacer sus necesidades que actualmente se les
presenta y por ende proporcionarle un software de calidad para enmendar sus
carestías en la empresa.

1.3.2 Específicos

 Elegir un lenguaje de programación para hacer el sistema.

7
 Seleccionar la BD a utilizar.
 Desarrollar el sistema de información utilizando los datos recolectados con
anticipación.
 Implementar el sistema en la empresa.
 Hacer pruebas para detectar posibles fallos y asegurar un buen
funcionamiento del sistema.
 Asesorar y/o capacitar al personal necesario para un eficiente manejo del
software.
 Brindar mantenimiento al sistema cada determinado tiempo.

1.4 Justificación
El proyecto se desarrollará porque el cliente “Abarrotes Adriana” requiere de un
sistema que le facilite la administración y control de la empresa, llevar el control de
la mercancía, el control de inventario y facilitar el abastecimiento de los
consumibles. Para así poder optimizar las ventas y los recursos que se generen a
lo largo de la semana, mes o año y brindar un buen servicio a sus consumidores.

1.5 Metodología utilizada

1.5.1 Metodología de investigación

1.5.1.1Metodología cualitativa
Es la encarda de los estudios de la gente a partir de lo que dicen y hacen las
personas en el escenario social y cultural. El objetivo de la investigación cualitativa
es el de proporcionar una metodología de investigación que permita comprender el
complejo mundo de la experiencia vivida desde el punto de vista de las personas
que la viven (Taylor y Bogdan, 1984). La metodología cualitativa que estudia los
fenómenos sociales complejos, concreta que se puede realizar estudios desde un
diseño clasificado en: Descriptivo, Interpretativo, Técnica recogida de datos y
Análisis. Para mejorar la recolección de información del fenómeno.
1.5.1.2 Herramienta
Para brindar una mejor ayuda a la metodología de desarrollo se determinó utilizar
la técnica recogida de datos para poder sustraer la información necesaria en base
8
a una entrevista, especificando a detalle los puntos más relevantes del fenómeno
estudiado, aplicando esta técnica se podrá manipular de forma correcta la
información que fue proporcionada. Para realizar esta entrevista fue necesario
formular diez preguntas plateadas analíticamente acerca del fenómeno estudiado,
y así obtener la información precisa de lo que pretende que alcance el sistema.
1.5.1.3 Diseño de la entrevista
1. ¿Cuenta con empleados en la sucursal?
2. ¿otorga crédito a personas seleccionadas por usted?
3. ¿Qué tipo de reporte elabora usted para el control de productos?
4. ¿Qué tipo de reporte elabora usted para el control de ventas?
5. ¿Qué tipo de reporte elabora usted para el control de pagos de clientes con
crédito?
6. ¿Cómo guarda la información que recopila?
7. ¿Qué proceso requiere mas tiempo para la captura de la información
manual?
8. ¿Cuál es el proceso que tiende a realizarse con mas frecuencia?
9. ¿Qué documentos presenta, para conocer la información del personal a su
cargo?
10. ¿cuenta con otras sucursales además de esta?

1.5.2 Metodología de desarrollo

Para el desarrollo de este proyecto se aplicará la metodología CASCADA y se


consideró por adoptar una estrategia de desarrollo de software por secuencia,
logrando calcular el costo y tiempo del proyecto con mas claridad.

1.5.3 Cascada

el desarrollo en cascada, también llamado secuencial o ciclo de vida de un


programa (denominado así por la posición de las fases en el desarrollo de esta, que
parecen caer en cascada “por gravedad” hacia las siguientes fases), es el enfoque
metodológico que ordena rigurosamente las etapas del proceso para el desarrollo
de software, de tal forma que el inicio de cada etapa debe esperar a la finalización
de la etapa anterior Al final de cada etapa, el modelo está diseñado para llevar a
cabo una revisión final, que se encarga de determinar si el proyecto está listo para

9
avanzar a la siguiente fase. Este modelo fue el primero en originarse y es la base
de todos los demás modelos de ciclo de vida

Figura 1. Modelo de desarrollo Cascada

1.5.3.1 Beneficios
 Realiza un buen funcionamiento en equipos débiles y productos maduros,
por lo que se requiere de menos capital y herramientas para hacerlo
funcionar de manera óptima.
 Es un modelo fácil de implementar y entender.
 Está orientado a documentos.
 Es un modelo conocido y utilizado con frecuencia.
 Promueve una metodología de trabajo efectiva: Definir antes que diseñar,
diseñar antes que codificar.
1.5.3.2 Características
 Es el más utilizado.
 Es una visión del proceso de desarrollo de software como una sucesión de
etapas que produce productos intermedios.
 Si se cambia el orden de las fases, el producto final será de inferior calidad

1.5.3.3 Roles o Responsabilidades


Product Owner: Persona conocedora del entorno de negocio del cliente y de la
visión del producto. 15 Representa a todos los interesados en el producto final,

10
financia el proyecto, provee los requerimientos del sistema, prioriza los
Funcionalidades, adapta los incrementos de cada Sprint, define los objetivos del
proyecto
Scrum Master: Garantiza el funcionamiento y cumplimiento de los procesos y
metodologías que se emplean es el director del proyecto. Es decir se encarga de
servir como guía para los integrantes del equipo a través de las reuniones.
Scrum Team: Equipo multidisciplinar que cubre todas las habilidades
necesarias para generar el resultado requerido por el Product Owner, Dispone
de atribuciones suficientes para toma de decisiones sobre cómo realizar su
trabajo y seleccionan los requisitos que pueden completar en cada iteración

1.5.3.4 Elementos
Product Backlog: Es una lista de todas las tareas, funcionalidades o
requerimientos del proyecto. El Product Owner se encarga de priorizar estas
tareas y de actualizar la lista con los objetivos conseguidos con la ayuda del
Scrum Master
Sprint Planning Meeting: El trabajo a realizar durante el Sprint se planifica en la
Reunión de Planificación de Sprint. Este plan se crea mediante el trabajo
colaborativo del Equipo Scrum completo. La Reunión de Planificación de Sprint
tiene un máximo de duración de ocho horas para un Sprint de un mes. Para
Sprints más cortos, el evento es usualmente más corto. El Scrum Master se
asegura de que el evento se lleve a cabo y que los asistentes entiendan su
propósito. El Scrum Master enseña al Equipo Scrum a mantenerse dentro del
bloque de tiempo.
Sprint Backlog: Lista de trabajos que realizará el equipo durante el sprint. Cada
iteración tiene que proporcionar un resultado completo, un incremento de producto
que sea susceptible de ser entregado con el mínimo esfuerzo cuando el cliente lo
solicite.
Scrum Daily: Demostración de los objetivos alcanzados en cada sprint. Asistencia
de todos los roles, Product Owner e incluso usuarios. Es una tarea iterativa que se
realiza todos los días que dure el Sprint Backlog con el equipo de desarrollo o de
trabajo. Se trata de una reunión 17 operativa, informal y ágil de un tiempo máximo
de 30 minutos
Sprint Review: Al final del Sprint se lleva a cabo una Revisión de Sprint para
inspeccionar el Incremento y adaptar la Lista de Producto si fuese necesario.
Durante la Revisión de Sprint, el Equipo Scrum y los interesados colaboran acerca
de lo que se hizo durante el Sprint

11
Sprint Retrospective: La Retrospectiva de Sprint es una oportunidad para el
Equipo Scrum de inspeccionarse a sí mismo y crear un plan de mejoras que sean
abordadas durante el siguiente Sprint.
Sprint: Un sprint es un periodo de tiempo durante el que se desarrolla un incremento
de funcionalidad. Constituye el núcleo de Scrum, que divide de esta forma el
desarrollo de un proyecto en un conjunto de pequeñas carreras.

Capitulo II Marco teórico


2.1 Marco Referencial

2.1.1 Sistema Institucional de Curriculum Vitae

Sistema Institucional de Curriculum Vitae es una plataforma tecnológica con la


finalidad de ayudar a los maestros de tiempo completo que participan al Programa
de Evaluación y Estímulos al Desempeño del Personal Docente (ESDEPED), para
evaluar la calidad académica. Por lo cual es esencial tener una estructura que
demuestre o argumente su nivel académico. Sistema Institucional de Curriculum
Vitae gestiona la información conforme a lo relacionado al programa de evaluación
ESDEPED. De esta forma recolectan la información de los docentes para tener una
perspectiva más amplia de quienes pueden ser partícipes al programa,
posteriormente incluir su documentación electrónica.

12
2.1.2 CVar

El CVar es una plataforma informática donde se lleva el registro unificado y


normalizado a nivel nacional de los datos curriculares del personal científico y
tecnológico que se desempeñan en las distintas instituciones de argentina. Se
puede acceder de forma segura a través de una plataforma web y por medio de un
navegador de Internet.
CVar está orientado a las personas que desarrollan actividades científicas y
tecnológicas en instituciones argentinas oficiales o privadas, residan actualmente
en el país o se encuentren realizando una estancia en el exterior. Los principales
beneficios que otorga el CVar son: Provee información valiosa para la planificación
y la toma de decisiones, Permite consultar dónde y cómo se realiza investigación y
desarrollo en Argentina y ofrece la posibilidad de realizar y participar en
convocatorias institucionales, incluyendo las de financiamiento para proyectos,
utilizando información cargada en el CVar y evitando que el investigador tenga que
completar nuevamente su currículum vitae en los formularios y bases de datos de
las convocatorias.

2.1.3 Currículum Vitae Normalizado (CVN)

El Currículum Vitae normalizado (CVN) es una norma estándar que define un mismo
formato de presentación de los datos curriculares de los investigadores y permite

13
que estos puedan incluirse en las diferentes bases de datos de las instituciones. La
ventaja de este sistema consiste en que no es necesario volver a introducir los datos
curriculares una vez que los haya capturado. Se podrán actualizar, conservando la
información que se guardó con anterioridad.
Los investigadores podrán presentar su currículum vitae en un formato digital único
y normalizado, según las exigencias de las diferentes convocatorias a las que
concurran. La información contenida en el CVN se protege de acuerdo con las
normas de la Ley Orgánica de Protección de Datos. Solo el interesado podrá
actualizar los datos. El propietario del CVN es el único responsable de la veracidad
y exactitud del contenido del mismo.

Ilustración 1 CvLAC (Currículum Vitae Latinoamericano y del Caribe)

CvLAC es un formato electrónico que se consulta atreves de una página web, está
basado en un proyecto estratégico de cooperación técnica de la Coordinación de
investigaciones de la Organización Panamericana de la salud, que permite
mostrarse como científicos, sus producciones científicas, participación y
certificaciones. La información registrada por cada uno de los investigadores en
CvLAC se integrara al intercambio de información de los curriculum de todas
aquellas personas que forman parte del sistema de ciencia y tecnología de los
países que participan.

14
2.2 Marco Conceptual

2.2.1 Curriculum

El currículum es el medio de comunicación que permite transmitir nuestros


conocimientos, formación, experiencia profesional y habilidades. Dependiendo del
perfil, experiencia laboral y objetivo profesional que tengamos será recomendable
utilizar un tipo de currículum u otro. Existen varios tipos de Currículum Vitae:
Currículum Cronológico, Currículum Funcional, Currículum Mixto, Currículum
Competencia y Currículum Infografico.
2.2.1.1 Curriculum Cronológico
Es el más utilizado y el más claro y fácil de entender. Expone la experiencia
profesional de forma cronológica. En función de cómo se exponga hablaremos de
currículum cronológico directo o cronológico inverso.
El currículum cronológico directo relata la experiencia profesional comenzando por
la más antigua y finalizando con la más nueva. Es útil para perfiles que presentan
una evolución ascendente y lineal en su trayectoria profesional, y tienen como
objetivo encontrar un empleo que permita seguir con su evolución.

15
El currículum cronológico inverso comienza explicando la experiencia profesional
más reciente y finaliza explicando la más antigua. Permite destacar, en primer lugar,
la experiencia más actual, de forma que el receptor, puede obtener una imagen muy
rápida del perfil profesional del candidato.
2.2.1.2 Curriculum funcional
Este tipo de currículum expone la experiencia profesional por bloques y/o temas
(por ejemplo: en el ámbito de compras, en el ámbito de facturación, etc.). De cada
bloque y/o tema se especifican las funciones realizadas y los logros obtenidos. A
diferencia del currículum cronológico, el currículum funcional destaca las
habilidades del candidato. Así pues, el seleccionador podrá hacer una primera
valoración en cuanto a si el candidato, a priori, dispone de las competencias que
requiere el puesto.
Se utiliza principalmente cuando se conoce el puesto de trabajo al que se quiere
optar y los requisitos que solicita la empresa. También es útil para perfiles
polivalentes (por ejemplo: un informático que ha trabajo en el área de sistemas, de
desarrollo, etc.) o para perfiles que buscan un proyecto profesional diferente a lo
que han hecho hasta ahora y prefieren destacar sus habilidades y logros.
2.2.1.3 Curriculum mixto
Combina las características del currículum cronológico y del currículum funcional.
Hace hincapié en la trayectoria profesional del candidato, teniendo en cuenta las
fechas y las empresas a las que ha pertenecido, y además destaca los logros que
ha obtenido y las competencias que ha desarrollado.
2.2.1.4 Curriculum por competencias
Este tipo de currículum hace hincapié en las habilidades que tiene el candidato.
Menciona las competencias que dispone y los logros que ha conseguido que
demuestran disponer de esas habilidades. Es uno de los currículums más complejos
de elaborar ya que requiere un buen ejercicio de introspección y autoanálisis
respecto a qué has conseguido en el trabajo, qué retos has superado, cómo eres,
cuáles son tus puntos fuertes y áreas de mejora.
2.2.1.5 Curriculum Infografico
Es un currículum muy visual en el que los diferentes apartados están expuestos a
través de gráficas, imágenes y textos cortos. Recomendable para perfiles técnicos
y sobretodo que estén relacionados con el diseño gráfico, marketing o que el
desempeño de la profesión requiera un componente de creatividad. Al ser tan
conciso, antes de elaborarlo hay que seleccionar y filtrar la información que se
quiere transmitir. Hoy en día, existen varias herramientas que permiten construir un
currículum de estas características como Visual.ly, Piktochart o Easel.ly. También
hay páginas que, a través de la información que se proporciona en LinkedIn,
permiten elaborar un currículum de este tipo como, por ejemplo, Visualize.me o
Kinzaa.

16
2.2.1.6 Currículum web
Un Currículum Web es una página personal diseñada a modo de currículum, es
decir, como una presentación de tus habilidades, capacidades y logros y colgada
en Internet, para que cualquier empresario del mundo pueda acceder a ella

2.2.2 Aplicación Local

Es el sistema que se encarga del funcionamiento de todos los programas que


integran el ordenador (actúa como intermediario entre el usuario de un computador
y el hardware de éste).-Funciones:

Administrar los archivos.


Administrar las tareas y servicio de soporte y los útiles.
Administrar los recursos.
El suministro de interfaz (permite la circulación sencilla de la información) al
usuario.
Multi acceso es decir un usuario puede conectarse a otro ordenador sin tener que
estar cerca de ella.
Organizar los archivos en diversos dispositivos de almacenamiento como el disco
duro.
Gestionar los errores de hardware y la pérdida de datos.

2.2.3 Lenguaje de programación

Un lenguaje de programación es el conjunto de sentencias que sirven para decirle


a una computadora qué es lo que tiene que hacer. Mediante los lenguajes de
programación se pueden crear y modificar programas y comandos, para que una
computadora u otro dispositivo digital puedan realizar diversas funciones lógicas.
Las computadoras utilizan como lenguaje interno el código binario, y los lenguajes
de programación son una especie de fase intermedia entre el código binario que
utiliza internamente la computadora y un lenguaje que los usuarios puedan
entender, tratándose este lenguaje de programación de instrucciones u órdenes
concretas, que la computadora interpreta binariamente para ejecutarlas.
Estos lenguajes de programación están formados por conjuntos de símbolos, que
la máquina interpreta como órdenes lógicas, siendo entonces un lenguaje
intermedio entre aquel que usan internamente (el código binario), y nosotros, por

17
medio de los cuales podemos realizar acciones o programarlas para que estas se
ejecuten.
En los lenguajes de programación interpretados, la computadora ejecuta las
instrucciones conforme las va leyendo; en los compilados existe un programa que
toma el código en el lenguaje de programación y lo convierte en un código
ejecutable.
2.2.3.1 Ejemplos de Lenguaje de Programación
Action Script: Se trata de un lenguaje de programación para la plataforma Adobe
Fash, lo que permite la creación de aplicaciones y comandos en dicha plataforma
de una manera más eficaz.
ASP: Se trata de un sub-lenguaje de programación enfocado a la creación de
aplicaciones para servidores creado por Microsoft.
C: Es un lenguaje de programación que se encuentra enfocado a la creación de
sistemas operativos. Su desarrollo se dio entre los años 1969 y 1972, como una
eficiente sustitución de lenguajes de programación en computadoras como el
antiguo lenguaje COBOL. De este lenguaje se derivan los lenguajes C# y C++ más
actuales
Java Script: El lenguaje JavaScript es un sub-lenguaje o “dialecto” enfocado a los
navegadores web, si bien se basa en el lenguaje Java parte de su diseño, sintaxis
y estructura posee similitudes con el lenguaje C, aunque poseyendo sus
características propias con las que difiere de los anteriores.
PHP: (cuyo nombre es acrónimo de PHP: Hipertext Preprocessor) es un lenguaje
Interpretado con una sintaxis similar a la de C++ o JAVA. Aunque el lenguaje se
puede usar para realizar cualquier tipo de programa, es en la generación dinámica
de páginas web donde ha alcanzado su máxima popularidad. En concreto, suele
incluirse incrustado en páginas HTML (o XHTML), siendo el servidor web el
encargado de ejecutarlo.

2.2.4 Sistema gestor de base de datos

Un sistema gestor de base de datos (SGBD) es un conjunto de programas que


permiten el almacenamiento, modificación y extracción de la información en una
base de datos, además de proporcionar herramientas para añadir, borrar, modificar
y analizar los datos.

18
2.2.5 Base de datos

Se le llama base de datos a los bancos de información que contienen datos relativos
a diversas temáticas y categorizados de distinta manera, pero que comparten entre
sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto.
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemáticamente para su posterior uso.
2.2.5.1 Dato
Un dato es una representación simbólica (numérica, alfabética, algorítmica,
espacial, etc.) de un atributo o variable cuantitativa o cualitativa. Los datos describen
hechos empíricos, sucesos y entidades. Es un valor o referente que recibe el
computador por diferentes medios, los datos representan la información que el
programador manipula en la construcción de una solución o en el desarrollo de un
algoritmo. Un dato es la expresión general que describe las características de las
entidades sobre las cuales opera un algoritmo
2.2.5.2 Tupla
En informática, o concretamente en el contexto de una base de datos relacional, un
registro (también llamado fila o tupla) representa un objeto único de datos
implícitamente estructurados en una tabla. En términos simples, una tabla de una
base de datos puede imaginarse formada de filas y columnas o campos. Cada fila
de una tabla representa un conjunto de datos relacionados, y todas las filas de la
misma tabla tienen la misma estructura. Un registro es un conjunto de campos que
contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna
automáticamente un número consecutivo (número de registro) que en ocasiones es
usado como índice, aunque lo normal y práctico es asignarle a cada registro un
campo clave para su búsqueda.

2.2.5.3 Tablas
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se
guardan los datos recogidos por un programa. Su estructura general se asemeja a
la vista general de un programa de hoja de cálculo. Una tabla es utilizada para
organizar y presentar información. Las tablas se componen de filas y columnas de
celdas.
2.2.5.4 Columnas
Una columna es una agrupación de celdas que se agrupan verticalmente desde
arriba hacia abajo

19
2.2.5.5 Consultas
Una consulta es el método para acceder a los datos en las bases de datos. Con las
consultas se puede modificar, borrar, mostrar y agregar datos en una base de datos.
Para esto se utiliza un lenguaje de consultas. Los lenguajes de consultas a base de
datos se realizan a través de un lenguaje de manipulación de datos.
2.2.5.6 Diccionario de datos
Un diccionario de datos es un conjunto de metadatos que contiene las
características lógicas y puntuales de los datos que se van a utilizar en el sistema
que se programa, incluyendo nombre, descripción, alias, contenido y organización.
En un diccionario de datos se encuentra la lista de todos los elementos que forman
parte del flujo de datos en todo el sistema. Los elementos más importantes son
flujos de datos, almacenes de datos y procesos. El diccionario guarda los detalles y
descripciones de todos estos elementos. El diccionario se desarrolla durante el
análisis de flujo de datos y auxilia a los analistas que participan en la determinación
de los requerimientos de sistemas.
2.2.5.7 Llave Foránea
Es llamada clave Externa, es uno o más campos de una tabla que hacen referencia
al campo o campos de clave principal de otra tabla, una clave externa indica cómo
están relacionadas las tablas. Los datos en los campos de clave externa y clave
principal deben coincidir, aunque los nombres de los campos no sean los mismos.
2.2.5.8 Llave primaria
Una llave primaria es un conjunto de uno o más atributos de una tabla, que tomados
colectivamente nos permiten identificar un registro como único, es decir, en una
tabla podemos saber cuál es un registro en específico sólo con conocer la llave
primaria. En una arquitectura entidad-relación la llave primaria permite las
relaciones de la tabla que tiene la llave primaria, con otras tablas que van a utilizar
la información de esta tabla.
2.2.5.9 Lenguaje de consulta
Un lenguaje de consulta es un lenguaje informático usado para hacer consultas en
bases de datos y sistemas de información. Los lenguajes de consulta pueden ser
clasificados de acuerdo a si son lenguajes de consulta de bases de datos o
lenguajes de consulta de recuperación de información.
2.2.5.10 Modelo entidad-relación
Es una herramienta para el modelado de datos que permite representar las
entidades relevantes de un sistema de información, así como sus interrelaciones y
propiedades.

20
2.2.5.11 Entidad
Representa una “cosa” u "objeto" del mundo real con existencia independiente, es
decir, se diferencia únicamente de otro objeto o cosa, incluso siendo del mismo tipo,
o una misma entidad.
2.2.5.12 Atributos
Son las características que definen o identifican a una entidad. Estas pueden ser
muchas, y el diseñador solo utiliza o implementa las que considere más relevantes.
2.2.5.13 Diagrama E-R
Formalmente, los diagramas ER son un lenguaje gráfico para describir conceptos.
Informalmente, son simples dibujos o gráficos que describen información que trata
un sistema de información y el software que lo automatiza.

2.2.6 clasificaciones de la base de datos

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto


que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan.
2.2.6.1 Según la variabilidad de la base de datos
Bases de datos estáticas:
Son bases de datos únicamente de lectura, utilizadas primordialmente para
almacenar datos históricos que posteriormente se pueden utilizar para estudiar el
comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones,
tomar decisiones y realizar análisis de datos para inteligencia empresarial.
Bases de datos dinámicas:
Son bases de datos donde la información almacenada se modifica con el tiempo,
permitiendo operaciones como actualización, borrado y edición de datos, además
de las operaciones fundamentales de consulta. Un ejemplo, puede ser la base de
datos utilizada en un sistema de información de un supermercado.
2.2.6.2 Según el contenido
Bases de datos bibliográficas:
Sólo contienen un subrogante (representante) de la fuente primaria, que permite
localizarla. Un registro típico de una base de datos bibliográfica contiene información
sobre el autor, fecha de publicación, editorial, título, edición, de una determinada
publicación, etc. Puede contener un resumen o extracto de la publicación original,
pero nunca el texto completo, porque si no, estaríamos en presencia de una base
de datos a texto completo (o de fuentes primarias). Como su nombre lo indica, el
contenido son cifras o números. Por ejemplo, una colección de resultados de
análisis de laboratorio, entre otras.

21
Bases de datos de texto completo:
Almacenan las fuentes primarias como, por ejemplo, todo el contenido de todas las
ediciones de una colección de revistas científicas.
Directorios:
Un ejemplo son las guías telefónicas en formato electrónico. Estos directorios se
pueden clasificar en dos grandes tipos dependiendo de si son personales o
empresariales (llamados páginas blancas o amarillas respectivamente).
Bases de datos o "bibliotecas" de información química o biológica:
Son bases de datos que almacenan diferentes tipos de información proveniente de
la química, las ciencias de la vida o médicas. Se pueden considerar en varios
subtipos:
 Las que almacenan secuencias de nucleótidos o proteínas.
 Las bases de datos de rutas metabólicas.
 Bases de datos de estructura, comprende los registros de datos
experimentales sobre estructuras 3D de biomoléculas-
 Bases de datos clínicas.
2.2.7 Modelos de base de datos
Además de la clasificación por la función de las bases de datos, éstas también se
pueden clasificar de acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido como
contenedor de datos (algo en donde se guarda la información), así como de los
métodos para almacenar y recuperar información de esos contenedores. Los
modelos de datos no son cosas físicas: son abstracciones que permiten la
implementación de un sistema eficiente de base de datos; por lo general se refieren
a algoritmos, y conceptos matemáticos.
Algunos modelos con frecuencia utilizados en las bases de datos:
Bases de datos jerárquicas:
En este modelo los datos se organizan en forma de árbol invertido (algunos dicen
raíz), en donde un nodo padre de información puede tener varios hijos. El nodo que
no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce
como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de
aplicaciones que manejan un gran volumen de información y datos muy compartidos
permitiendo crear estructuras estables y de gran rendimiento. Una de las principales
limitaciones de este modelo es su incapacidad de representar eficientemente la
redundancia de datos.
Base de datos de red:

22
Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es
la modificación del concepto de nodo: se permite que un mismo nodo tenga varios
padres (posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución
eficiente al problema de redundancia de datos; pero, aun así, la dificultad que
significa administrar la información en una base de datos de red ha significado que
sea un modelo utilizado en su mayoría por programadores más que por usuarios
finales.
Bases de datos transaccionales:
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes
velocidades, estas bases son muy poco comunes y están dirigidas por lo general al
entorno de análisis de calidad, datos de producción e industrial, es importante
entender que su fin único es recolectar y recuperar los datos a la mayor velocidad
posible, por lo tanto la redundancia y duplicación de información no es un problema
como con las demás bases de datos, por lo general para poderlas aprovechar al
máximo permiten algún tipo de conectividad a bases de datos relacionales.
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre
cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una
en la que se decremento el saldo de la cuenta origen y otra en la que incrementamos
el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir,
para que no aparezca o desaparezca dinero), las dos operaciones deben ser
atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia
(incluso una caída del sistema), el resultado final es que, o bien se han realizado las
dos operaciones, o bien no se ha realizado ninguna.
Bases de datos relacionales:
Éste es el modelo utilizado en la actualidad para representar problemas reales y
administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970
por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en
consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea
fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en
forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría
de las bases de datos relacionales creadas por Codd, la mayoría de las veces se
conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada
relación como si fuese una tabla que está compuesta por registros (las filas de una
tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este
modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a
diferencia de otros modelos como el jerárquico y el de red). Esto tiene la
considerable ventaja de que es más fácil de entender y de utilizar para un usuario
esporádico de la base de datos. La información puede ser recuperada o almacenada
mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la

23
información. El lenguaje más habitual para construir las consultas a bases de datos
relacionales es SQL, Structured Query Language o Lenguaje Estructurado de
Consultas, un estándar implementado por los principales motores o sistemas de
gestión de bases de datos relacionales. Durante su diseño, una base de datos
relacional pasa por un proceso al que se le conoce como normalización de una base
de datos.
Bases de datos multidimensionales:
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como
creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases
de datos relacionales (una tabla en una base de datos relacional podría serlo
también en una base de datos multidimensional), la diferencia está más bien a nivel
conceptual; en las bases de datos multidimensionales los campos o atributos de
una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o
bien representan métricas que se desean aprender.
Bases de datos orientadas a objetos:
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a
objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento). Una base de datos orientada a objetos es una base de datos que
incorpora todos los conceptos importantes del paradigma de objetos:
 Encapsulación: Propiedad que permite ocultar la información al resto de los
objetos, impidiendo así accesos incorrectos o conflictos.
 Herencia: Propiedad a través de la cual los objetos heredan comportamiento
dentro de una jerarquía de clases.
 Polimorfismo: Propiedad de una operación mediante la cual puede ser
aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones
sobre los datos como parte de la definición de la base de datos. Una operación
(llamada función) se especifica en dos partes. La interfaz (o signatura) de una
operación incluye el nombre de la operación y los tipos de datos de sus argumentos
(o parámetros). La implementación (o método) de la operación se especifica
separadamente y puede modificarse sin afectar la interfaz. Los programas de
aplicación de los usuarios pueden operar sobre los datos invocando a dichas
operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que
se han implementado. Esto podría denominarse independencia entre programas y
operaciones.
Bases de datos documentales:

24
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas
más potentes. Tesaurus es un sistema de índices optimizado para este tipo de
bases de datos.
Bases de datos deductivas:
Un sistema de base de datos deductiva, es un sistema de base de datos, pero con
la diferencia de que permite hacer deducciones a través de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de datos. Las
bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de
que se basa en lógica matemática. Este tipo de base de datos surge debido a las
limitaciones de la Base de Datos Relacional de responder a consultas recursivas y
de deducir relaciones indirectas de los datos almacenados en la base de datos.

2.3 Marco Tecnológico

2.3.1 JavaScript

JavaScript es un lenguaje de programación que se utiliza principalmente para crear


páginas web dinámicas. Una página web dinámica es aquella que incorpora efectos
como texto que aparece y desaparece, animaciones, acciones que se activan al
pulsar botones y ventanas con mensajes de aviso al usuario. Técnicamente,
JavaScript es un lenguaje de programación interpretado, por lo que no es necesario
compilar los programas para ejecutarlos. En otras palabras, los programas escritos
con JavaScript se pueden probar directamente en cualquier navegador sin
necesidad de procesos intermedios. A pesar de su nombre, JavaScript no guarda
ninguna relación directa con el lenguaje de programación Java. Legalmente,
JavaScript es una marca registrada de la empresa Sun Microsystems.
Ventajas
 Ligero de carga.
 Fácil de integrar.
 Cientos de aplicaciones disponibles para uso
 Puede agregar interactividad a elementos web.
 Compatible con la gran mayoría de los navegadores modernos incluyendo
iPhone, móviles & PS3.
Desventajas

25
 No es tan extenso en recursos.

2.3.2 NetBeans

NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para


el lenguaje de programación Java. Existe además un número importante de
módulos para extenderlo. NetBeans IDE1 es un producto libre y gratuito sin
restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de
usuarios, una comunidad en constante crecimiento. Sun MicroSystems fundó el
proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el
patrocinador principal de los proyectos (Actualmente Sun Microsystems es
administrado por Oracle Corporation).
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de
un conjunto de componentes de software llamados módulos. Un módulo es un
archivo Java que contiene clases de java escritas para interactuar con las APIs de
NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las
aplicaciones construidas a partir de módulos pueden ser extendidas agregándole
nuevos módulos. Debido a que los módulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma NetBeans pueden
ser extendidas fácilmente por otros desarrolladores de software.
El NetBeans IDE soporta el desarrollo de todos los tipos de aplicación Java (J2SE,
web, EJB y aplicaciones móviles). Entre sus características se encuentra un sistema
de proyectos basado en Ant, control de versiones y refactoring.
Ventajas

 Lenguaje Multi-plataforma: El código que es escrito en java es leído por un


interprete, por lo que su programa andará en cualquier plataforma.
 Manejo automático de la memoria. (para los que vienen de C/C++). El
manejo de la memoria se hace automáticamente y utilizando el garbage
collector.
 ¡ Es Gratis!
 Desarrolla aplicaciones web dinámicas.
 Desarrollar aplicaciones de servidor para foros en línea, almacenes,
encuestas,procesamiento de formularios HTML y mucho más.

Desventajas

26
 Por su lentitud a la hora de ejecutar las aplicaciones (aunque ha mejorado
con el tiempo)
 Requiere un intérprete.
 Algunas implementaciones y librerías pueden tener código rebuscado.
 Una mala implementación de un programa en java, puede resultar en algo
muy lento.
 Algunas herramientas tienen un costo adicional

2.3.3 Xampp

XAMPP es un paquete de software libre, que consiste principalmente en el sistema


de gestión de bases de datos MySQL, el servidor web Apache y
los intérpretes para lenguajes de script PHP y Perl. El nombre es en realidad
un acrónimo: X (para cualquiera de los diferentes sistemas
operativos), Apache, MariaDB/MySQL, PHP, Perl. A partir de la versión 5.6.15,
XAMPP cambió la base de datos MySQL por MariaDB, un fork de MySQL
con licencia GPL.
El programa se distribuye con la licencia GNU y actúa como un servidor web libre,
fácil de usar y capaz de interpretar páginas dinámicas. A esta fecha, XAMPP está
disponible para Microsoft Windows, GNU/Linux, Solaris y Mac OS X.

Ventajas

 Xampp es una herramienta muy práctica que nos permite instalar el entorno
MySQL, Apache y PHP , suficiente para empezar proyectos web o revisar
alguna aplicación localmente. Ademas trae otros servicios como servidor de
correos y servidor FTP.

 Si alguna vez has intentado instalar Apache, sabes que no es una tarea fácil,
sin embargo con XAMPP todo es diferente. Una de las ventajas de usar
XAMPP es que su instalación es de lo mas sencilla, basta descargarlo,
extraerlo y comenzar a usarlo. En general es bastante fácil la instalacion de
apache y php sobre Unix, sobre todo si dispone de un manejador de
paquetes.

27
 La mayor ventaja de Xampp es que es muy fácil de instalar y las
configuraciones son mínimas o inexistentes, lo cual nos ahorra bastante
tiempo.

Desventaja
 No soporta MySQL desde la consola.
 No se pueden actualizar individualmente las versiones de los programas que
instala.
 Dificultad para configurar aplicaciones de terceros.
 Una desventaja es la garantía.

2.4 Marco Legal


Tipo de Licencia Descripción
NetBeans Licencia Pública General NetBeans es un entorno de
GNU (GNU General Public desarrollo integrado libre,
License GPL). hecho principalmente para
el lenguaje de
Licencia: Software
programación Java. Existe
propietario, bajo este tipo de
además un número
licencia el software tiene
importante de módulos para
limitadas las posibilidades de
extenderlo. NetBeans IDE1 es
modificarlo y de distribuir
un producto libre y gratuito sin
copias. Por otra parte implica
restricciones de uso.
adquirir una licencia con un
coste para el uso el uso de NetBeans es un proyecto de
este tipo de software. código abierto de gran éxito
con una gran base de
usuarios, una comunidad en
constante crecimiento. Sun
MicroSystems fundó el
proyecto de código abierto
NetBeans en junio de 2000 y
continúa siendo el
patrocinador principal de los
proyectos (Actualmente Sun
Microsystems es administrado
por Oracle Corporation).

28
La plataforma NetBeans
permite que las aplicaciones
sean desarrolladas a partir de
un conjunto de componentes
de
software llamados módulos.
Un módulo es un archivo Java
que contiene clases de java
escritas para interactuar con
las APIs de NetBeans y un
archivo especial (manifest file)
que lo identifica como módulo.
Las aplicaciones construidas
a partir de módulos pueden
ser extendidas agregándole
nuevos módulos. Debido a
que los módulos pueden ser
desarrollados
independientemente, las
aplicaciones basadas en la
plataforma NetBeans pueden
ser extendidas fácilmente por
otros desarrolladores de
software.
Xampp XAMPP es una compilación XAMPP es un paquete de
de software libre (similar a instalación independiente
una distribución de Linux). Es de plataforma, software libre,
gratuita y puede ser copiada que consiste principalmente
libremente de acuerdo a la en el sistema de gestión de
licencia GNU GPL. bases de datos MySQL, el
Únicamente la compilación servidor web Apache y los
de XAMPP está publicada intérpretes para lenguajes de
bajo la licencia GPL. Cada script: PHP y Perl
uno de los componentes El programa se distribuye bajo
incluidos tiene su propia la licencia GNU y actúa como
licencia y deberías un servidor web libre, fácil de
consultarlas para conocer usar y capaz de interpretar
qué es posible y que no. En el páginas dinámicas.
caso de uso comercial
deberás consultar las .

licencias individuales, en
particular MySQL. Desde el

29
punto de vista de XAMPP
como compilación, el uso
comercial es gratuito.

Capitulo III Aplicación de la


metodología y desarrollo
3.1 Etapa de análisis

3.1.1 Análisis de la situación actual

Actualmente en la empresa “Abarrotes Adriana” no cuentan con un control de ventas


adecuado, es por ello que no se tiene conocimiento de las ganancias y las pérdidas
generadas en todo el mes o semana, se desconoce el total de mercancía que hay
en existencia, además de que no se lleva un control de fecha de caducidad en cada
producto y eso ocasiona gran pérdida en los consumibles, además de que el
establecimiento es atendido por una sola persona que en este caso es el dueño de
la abarrotera.
Por otro lado; al no saber cuáles productos les hacen falta, pide al proveedor
mercancía y éste se las envía, pero para cuando le llega el pedido ya le hace falta
otros productos, es así que no lleva un adecuado control de inventario en la
empresa.
La otra problemática es que no se lleva un control de ventas favorable ya que al
llegar un cliente al establecimiento y busca o solicita un producto el tendero o

30
encargado de la empresa se percata de que no tiene tal producto en existencia,
además de que lleva el control de clientes en una libreta y tiene anotados a los
clientes que tienen créditos, cuanto deben y la fecha en que se les otorgó el crédito,
y actualmente en esa libreta se hace el corte de caja de manera manual.

3.1.2 Propuesta de solución

Una vez realizado el análisis de la problemática que actualmente presenta la


empresa abarrotes Adriana
Se pudo indentificar que las necesidades que se requiere la elaboración de este
proyecto que lleva el nombre de desarrollo e implementación del sistema de
inventario y punto de venta de la abarrotera Adriana
Realizar este proyecto contribuye a la mejoría del servicio y atención a los clientes
para mayor rendimiento se toma los siguientes criterios
 El sistema estará diseñada con las características proporcionadas por el
cliente
 Llevar el control de los productos a Ingresar
 Disminuir la cantidad de perdida monetaria en la empresa

31
3.1.3 Estudio de factibilidad

Tabla 2. Estudio de factibilidad

Económica Técnica Operativa

La empresa “Abarrotes La empresa no cuenta con Los usuarios están en la


Adriana” está en la mejor los recursos de hardware ni mejor disposición para usar el
disponibilidad para invertir en mucho menos de software sistema porque desean tener
el sistema porque requiere para ser implementado el un mejor rendimiento en las
satisfacer las necesidades sistema debido que es una ganancias y en el servicio
que actualmente se le micro empresa que tiene que ellos ofrecen a sus
presentan y; para ello están muchos años de trayectoria, clientes diariamente es por
dispuestos a comprar los pero toda la contabilidad la ello que han optado por
equipos de cómputo que se llevan de manera manual y adquirir de un sistema que le
requieran para implementar anteriormente no habían facilite el punto de ventas e
el software a desarrollar pensado en digitalizar su inventario, así como
además de que pretenden ser control de ventas proporcionar datos y precios
asesorados en informática de los productos
básica para así poder operar rápidamente.
el sistema de información que
están solicitando.

3.1.4 Planeación de riegos

3.1.4.1 Identificación de riesgo


 El personal encargado para la realización del sistema se enferme.
 El sistema no cumpla con las necesidades que se estipularon al inicio del
desarrollo.
 El sistema no funcione correctamente para el día que se presentará.
 El tiempo estimado para la realización del sistema no es suficiente para
terminarlo.

32
3.1.4.2 Análisis de riesgos

33
34
35
36
37
3.1.5 Análisis de requerimiento

3.1.5.1 Requerimiento funcional

Descripción de Requerimientos

Folio: ERS-001 Fecha: 5 de marzo de 2018


Tipo: Funcional Puesto: Encargado

Área: Administrativa Usuarios: Héctor Francisco Gil Madrigal


Requisitos: El sistema debe permitir al usuario registrar productos y guardarlos en la base de datos Para futuras
consultas.

Modulo que afecta: Inventario Interfaz:


Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-002 Fecha: 5 de marzo de 2018

Tipo: Funcional Puesto: Encargado


Área: Administrativa Usuarios: Héctor Francisco Gil Madrigal
Requisitos: El sistema debe mostrar los productos que se le solicitan al hacer una consulta en el inventario o en
el módulo de ventas.

Modulo que afecta: Inventario, Ventas Interfaz:

38
Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-003 Fecha: 5 de marzo de 2018

Tipo: Funcional Puesto: Encargado


Área: Administrativa Usuarios: Héctor Francisco Gil Madrigal

Requisitos: El sistema permitirá al usuario ver el nombre del producto, su descripción, precio y cantidad en
inventario cuando se ejecute una consulta.

Modulo que afecta: Inventario Interfaz:

Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-004 Fecha: 5 de marzo de 2018


Tipo: Funcional Puesto: Encargado

Área: Administrativa Usuarios: Héctor Francisco Gil Madrigal

39
Requisitos: El sistema llevará el control de los estados de los clientes y permitirá Añadir y borrar clientes.

Modulo que afecta: Clientes Interfaz:

Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-005 Fecha: 5 de marzo de 2018

Tipo: Funcional Puesto: Encargado

Área: Administrativa Usuarios: Héctor Francisco Gil Madrigal

Requisitos: El sistema debe generar reportes tales como: reporte de ventas y de inventario.

Modulo que afecta: Estadísticas, Inventario Interfaz:

Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

40
3.1.5.2 Requisitos no funcionales
Descripción de Requerimientos

Folio: ERS-006 Fecha: 5 de marzo de 2018


Tipo: No Funcional Puesto: Desarrollador
Área: Programación y Desarrollo Usuarios: Pedro Alberto De La Cruz Hernández, Henry
Domínguez De La Cruz, Francisco Oswaldo Gil Cigarroa,
Erick Edgardo Luciano Rodríguez.
Requisitos: El sistema se desarrollará para la plataforma de escritorio.

Modulo que afecta: Programación Interfaz:

Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-007 Fecha: 5 de marzo de 2018

Tipo: No Funcional Puesto: Desarrollador


Área: Programación y Desarrollo Usuarios: Pedro Alberto De La Cruz Hernández, Henry
Domínguez De La Cruz, Francisco Oswaldo Gil Cigarroa,
Erick Edgardo Luciano Rodríguez.
Requisitos: El software se construirá para ser soportado por el sistema operativo Windows, a partir de Windows
7.

Modulo que afecta: Programación Interfaz:

41
Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-008 Fecha: 5 de marzo de 2018

Tipo: No Funcional Puesto: Desarrollador

Área: Programación y Desarrollo Usuarios: Pedro Alberto De La Cruz Hernández, Henry


Domínguez De La Cruz, Francisco Oswaldo Gil Cigarroa,
Erick Edgardo Luciano Rodríguez.

Requisitos: El sistema será programado en Java y tendrá como base de datos a MySQL.

Modulo que afecta: Programación Interfaz:

Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

Descripción de Requerimientos

Folio: ERS-009 Fecha: 5 de marzo de 2018


Tipo: No Funcional Puesto: Desarrollador

Área: Programación y Desarrollo, Administrativa. Usuarios: Héctor Francisco Gil Madrigal, Pedro Alberto De
La Cruz Hernández, Henry Domínguez De La Cruz, Francisco
Oswaldo Gil Cigarroa, Erick Edgardo Luciano Rodríguez.

42
Requisitos: El sistema contará con un manual para los usuarios donde se describa la utilización del mismo y si es
necesario se realizará una capacitación presencial.

Modulo que afecta: Programación Interfaz:

Observación:

Nombre y firma Nombre y firma Nombre y firma

Elaboro Autorizo Reviso

3.2 Etapa de Diseño

3.2.1 Diagrama UML

3.2.1.1 Diagrama de caso de usos

Ilustración 2Ingreso al sistema

43
Ilustración 3Registro de productos

Ilustración 4 Realiza venta fiada

44
Ilustración 5 Realiza venta

45
3.2.1.2 Diagrama de procesos

Ilustración 6 Proceso de venta

46
Ilustración 7Proceso de login

47
Ilustración 8Proceso de registro de productos

48
Ilustración 9Proceso de registro de clientes

49
3.2.1.3 Diagrama de secuencia

Ilustración 10Proceso de ventas

50
Ilustración 11proceso de login

51
Ilustración 12 Proceso de registro de productos

52
Ilustración 13Proceso de registro de clientes

3.2.2 Diseño de datos

53
3.2.2.1 Modelo Relacional

Ilustración 14 Modelo relacional

3.2.2.2 Diccionario de Datos

diccionario
Table Name Table Column Name Table Column Table Column Comment
Datatype

Categoria Cod_categoria Varchar(450) Almacena el dato unico de las


categorias para su identificacion

Nombre_categoria Int Contiene el nombre de las


categorias para su facil ubicacion
en la BD

Descripcion_categoria Varchar(450) Almacena la descripcion de la


categoria almacenando diversos
productos en 1 categoria

Cliente Cod_cliente Int Almacena el codigo unico de cada


cliente para su facil idenficacion

Rut_cliente Varchar(20) Almacena una cedula o


idenficador como la curp de cada

54
cliente en caso de ser necesario
puede ser utilizado como llave
primaria

Cod_proveedor Int Almacena el codigo unico del


proveedor para su identificasion

Detalle_venta Cod_detalle Int (11) Almacena del codigo unico de


cada dellate de venta valor que no
puede repetirse

Cantidad_detalle Int (11)

Precio_producto Decimal(7,2) Almacena el precio de dicho


productos

Subtotal Decimal(7,2) Almacena el total de la compra

Subpreciocompra Decimal(7,2)

Precio_compra Decimal(7,2) Almacena el precio al cual se


adquiere un producto del
proveedor

Cod_venta Int (11) Almacena un folio de venta para


cada venta el cual es unico

Historial Cod_historial Int Dato unico e irrepetible asignado


al historial para su identificacion

Cod_cliente Int Almacena el codigo unico de cada


cliente para su facil idenficacion

Cod_usuario Int (11) Almacena el codigo de cada


usuario a almacenar en el sistema

Descripcion Varchar(200) Almacena descripciones de


productos o sucesos

Referencia Varchar(100)

Fecha Datetime Almacena la fecha del historial a


consultar

Cantidad Int Dato el cual almacena la cantidad


de productos adquiridos

Persona Cod_persona Int Clave unica que se asignara a


cada persona para su
identificacion unica

Nombre_persona Varchar(255) Dato que lo compone el


Nombre,Apellido paterno y
apellido materno de los usuarios

55
Direccion Varchar(255) Dato que lo compone la calle,
colonia, numero y cp de las
peronas para su ubicacion rapida

Telefono Varchar(12) Dato que se compone por 10


digitos el cual es el numero
telefonico de la persona

Email Varchar(255) Almacena el correo proporcionado


de las personas para futuros
avisos

Contacto Varchar(20) Almacena el contacto que prefiere


el usuario

Cel_contacto Varchar(10) Dato que se compone por 10


digitos el cual es el numero
telefonico de la persona el cual
siempre estara disponible

Correo_contacto Varchar(20) Almacena el correo proporcionado


de las personas para futuros
avisos y el cual se
puede poner en contaco con el

Producto Cod_producto Bigint (20) Almacena el dato unico e


irrepetible de productos el cual es
su identificador

Cod_historial Int Dato unico e irrepetible asignado


al historial para su identificacion

Cod_cliente Int Almacena el codigo unico de cada


cliente para su facil idenficacion

Cod_usuario Int (11) Almacena el codigo de cada


usuario a

almacenar en el sistema

Nombre_producto Varchar(255) Almacena el nombre de dicho


productos

Descripcion_producto Varchar(255) Contiene la descripcion de los


productos o ya sea el tipo

Unidad_producto Varchar(20)

Ubicacion_bodega Varchar(250) Almacena la ubicacion de los


productos en la bodega

Precio_producto Decimal(7,2) Contiene el precio del produco al


publico

Precio_compra Decimal(7,2) Almacena el precio de compra al


proveedor de dicho producto

56
Stock_producto Int (11) Contiene la cantidad de productos
en bodega

Cod_categoria Varchar(450) Almacena el dato unico de las


categorias para su identificacion

Productoescaneado Cod_producto Bigint (20) Dato unico e irrepetible que


identifica a cada producto

Nombre Varchar(450) Contiene el nombre del producto


para su registros

Cantidad Int (11) Almacena cuantos productos


contiene en mostrador y bodega

Productostock Cod_producto Bigint (20) Dato unico r irrepetible que


identifica a cada producto

Nombre_producto Varchar(450) Contiene el nombre del producto a


almacenar

Descripcion_producto Varchar(450) Almacena la descripcion del


producto para tenerlo en stock

Unidad_producto Varchar(450)

Precio_producto Decimal(7,2) Almacena el precio al publico del


producto para su venta

Precio_compra Decimal(7,2) Almacena el precio de compra al


proveedor de los productos

Stock_producto Int (11) Contiene la cantidad de productos


en almacen y en aparador

Proveedor Cod_proveedor Int Almacena el codigo unico del


proveedor para su identificasion

Rut_proveedor Varchar(45) Almacena la cedula o identificador


ya sea curp para identificar al
proveedor de ser necesario puede
usarse como llave primaria

Usuario Cod_usuario Int (11) Almacena el codigo de cada


usuario a almacenar en el sistema

Rut_usuario Varchar(20) Almacena la cedula o identificador


ya sea curp para identificar al
proveedor de ser necesario puede
usarse como llave primaria

Login Varchar(45) Almacena el nombre del usuario


para poder acceder al sistema

57
Password Varchar(45) Almacena una serie de caracteres
los cuales son asiganados por
cada usuario a usar el sistema

Estado Varchar(8) Almacena la actividad del usuario


los cuales son activo o
desactivado para indicar que no
podra usar el sistema

Acceso Varchar(15) Almacena el tipo de acceso al


sistema ya sea administrador o
user normal

Cod_persona Int Clave unica que se asignara a


cada persona para su
identificacion unica

Ventas Cod_venta Int (11) Almacena un folio de venta para


cada venta el cual es unico

Fecha_venta Date Almacena la fecha que se realizó


la venta de los productos

Total_venta Decimal(7,2) Almacena el total de las ventas de


los productos

Tipo_comprobante Varchar(10)

Num_factura Bigint (20) Dato el cual almacena que


numero de factura se realizó el
caso de solicitarla

Pago Decimal(7,2)

Descuento Decimal(7,2) Almacena la cantidad de


descuentos que asigne en el caso
de dar descuentos

Cod_usuario Int (11) Almacena el codigo de cada


usuario a almacenar en el sistema

Cod_historial Int Dato unico e irrepetible asignado


al historial para su identificacion

Cod_cliente Int Almacena el codigo unico de cada


cliente para su facil idenficacion

58
3.3 DESARROLLO

3.3.1 Interfaces

Ilustración 15 Modulo de venta

El modulo de venta consta de opciones multiples:


Ventas por cliente general: se realizara la venta de los productos con pago de
contado. Todos los registros serán almacenados en el modulo de herramientas para
su posterior consulta.
Ventas por cliente con crédito: se realizara la venta a clientes seleccionados por
el usuario administrador, cuya finalidad es la de almacenar la cantidad adeudada de
los clientes al vendedor. Todos los registros serán almacenados en el modulo de
herramientas para su posterior consulta
Ventas con descuento: se deberá ingresar el “porcentaje” de promoción antes de
seleccionar el botón “iniciar” para proceder a la venta.

59
Ilustración 16 Modulo personal submodulo clientes

EL submodulo clientes encontrado en el modulo personal cumple la función de


registrar a los clientes seleccionados por el usuario administrador, de este modo
cumplirá el propósito para una venta a clientes con crédito.

60
Ilustración 17 Modulo personal Submodulo Usuarios

El submodulo usuarios encontrado en el modulo personal cumple la función de


registrar a los usuarios dependiendo el nivel considerado del administrador
(usuarioC, donde C es igual a “común”, o usuario administrador. ) este modulo solo
tiene acceso el usuario nivel administrador.

Ilustración 18 Modulo productos Submodulo producto

61
El submodulo producto, cumplirá la función de registrar nuevos productos o bien,
modificar la cantidad en existencia (bodega / tienda), ese modulo solo tiene acceso
el usuario nivel administrador.

Ilustración 19 modulo productos submodulo “consultar productos”

El submodulo “consultar productos”, cumple la función de verificación de productos,


en caso de no saber de su cantidad en existencia, se podrá ingresar a este
submodulo con la finalidad de contemplar los próximos productos a agotarse o bien
para verificar si cuentan con algún producto ya registrado y que ha sido solicitado
por algún cliente.

Ilustración 20 Categoria

El submodulo categoría, funciona de la mano con el submodulo “productos”, deberá


ser ingresada una categoría antes de ser registrado un producto, de este modo se
mantiene un orden total de los productos ingresados asi como un reporte mas
detallado de los productos en la tienda.

62
Ilustración 21 herramientas de ventas

El submodulo “herramienta de ventas” encontrado en el modulo “herramientas “tiene


como finalidad mostrar un registro total de las ventas realizadas mostrando a detalle
cada una de ellas, asi como mostrar los clientes con crédito que aun mantienen una
deuda con el comercio.

63
Capitulo 4 pruebas y resultados

Prueba Resultado Errores encontrados Observación

Validación gramatical Aceptado Ninguno No se han encontrado


errores gramaticales

Validación de rutas Denegado Ninguno Redireccionamiento de


interfaces no es
necesario.

Validación de iconografía Aceptado Ninguno El sistema cuenta con los


iconos pertinentes a cada
modulo, submodulo y
botones por interfaces

4.1 Pruebas de interfaces y contenidos

Verificación de contenidos

64
Prueba Resultado Errores encontrados Observación

Consistencia del Aceptado Ninguno Las interfaces


maquetado fueron planificadas
para evitar la vista
cansada, por lo tanto
se ha colocado en
color negro

Tamaño del Aceptado El software tiene debe ser ajustado a


maquetado unas letras un tamaño mas
considerablemente grande.
pequeñas para
personas con
problemas
visuales.

Maquetado en Descartado Ninguno El sistema no cuenta


navegadores web con plataforma web.

Verificacion de interfaces

65
Prueba Resultado Errores encontrados Observación

Campos obligatorios Exitoso Ninguno Ninguno

Sintaxis de ingreso Exitoso Campos de texto Campos obligatorios


aceptan letras y son evaluados para
números. ingreso de solo letras
y números,
incluyendo la
cantidad de
caracteres
permitidos

Validación locales Exitoso Ninguno El sistema cuenta con


formularios
validados.

Ingreso de datos Exitoso Ninguno Los datos son


ingresados
exitosamente al
sistema.

Elementos de interfaz Aceptado Se abren nuevas Las ventanas deben


estancias en lugar de ser corregidas con su
maximizar las respectivo dispose.
ventanas ya
existentes al utilizar
cualquier tecla de
atajo.

Botones Exitoso Ninguno Los botones realizan


sus acciones de
manera exitosa,
redireccionando a la
pantalla de impresión
y alternándose entre
las interfaces.
Validación de formularios

66
4.2 Pruebas de funcionalidad
INFORMACIÓN BÁSICA
Proyecto: Implementación de Punto de ventas e Inventario de la Abarrotera “Adriana”
Responsable QA: Gil Cigarroa Francisco Oswaldo
Líder Funcional: Gil Cigarroa Francisco Oswaldo
Caso de Uso Proceso de venta
Objetivo: Comprobar que el sistema realice la venta solicitada conforme a los productos con los que cuenta el
inventario previamente rellenado
Fecha de la prueba: Año: 2019 Mes: 07 Día: 03
SECUENCIAS DE PRUEBAS

Descripción de la Observaciones
Nro. Resultado Esperado Resultado
prueba Incidencias Mejoras
1 Realizar una venta El sistema logra Se copia el pantallazo con el Se relacionan las Se relacionan las
conforme a los registrar exitosamente resultado de la prueba. incidencias mejoras
productos con los que en la base de datos el presentadas para solicitadas para
cuenta el inventario subtotal, total, usuario, solución del estudio del líder
previamente fecha, cantidad con la desarrollador. técnico.
rellenado
que el cliente paga sus
productos y cantidad
de productos que se
han vendidos, así
también logra el
decremento de la
cantidad en existencia
de un producto en la
base de datos,
reduciendo su total en
cada venta.

INFORMACIÓN BÁSICA
Proyecto: Implementación de Punto de ventas e Inventario de la Abarrotera “Adriana”
Responsable QA: Gil Cigarroa Francisco Oswaldo
Líder Funcional: Gil Cigarroa Francisco Oswaldo
Caso de Uso Proceso De Ingreso al sistema
Objetivo: Comprobar que el sistema valide el acceso al sistema de cada usuario permitiendo utilizar las
funciones de cada rol
Fecha de la prueba: Año: 2019 Mes: 07 Día: 03
SECUENCIAS DE PRUEBAS

67
Descripción de la Observaciones
Nro. Resultado Esperado Resultado
prueba Incidencias Mejoras
1 Validar el acceso al El sistema logra Se copia el pantallazo con el Se relacionan las Se relacionan las
sistema de cada validar los permisos resultado de la prueba. incidencias mejoras
usuario, de “usuario y presentadas para solicitadas para
permitiéndole administrador”, solución del estudio del líder
utilizar las desactivando los desarrollador. técnico.
diferentes módulos “productos,
funciones del informes y
software herramientas”, así
como la sección de
“clientes”
encontrado en el
módulo de
“usuarios”

INFORMACIÓN BÁSICA
Proyecto: Implementación de Punto de ventas e Inventario de la Abarrotera “Adriana”
Responsable QA: Gil Cigarroa Francisco Oswaldo
Líder Funcional: Gil Cigarroa Francisco Oswaldo
Caso de Uso Registro de productos
Objetivo: Comprobar que el sistema registre los productos nuevos en la base de datos
Fecha de la prueba: Año: 2019 Mes: 07 Día: 03
SECUENCIAS DE PRUEBAS

Descripción de la Observaciones
Nro. Resultado Esperado Resultado
prueba Incidencias Mejoras
1 registrar los Los registros Se copia el pantallazo con el Se relacionan las Se relacionan las
productos nuevos ingresados son resultado de la prueba. incidencias mejoras
en la base de datos almacenados y presentadas para solicitadas para
del sistema. Estos mostrados solución del estudio del líder
productos se correctamente en la desarrollador. técnico.
utilizaran en
base de datos del
diferentes módulos
sistema

68
INFORMACIÓN BÁSICA
Proyecto: Implementación de Punto de ventas e Inventario de la Abarrotera “Adriana”
Responsable QA: Gil Cigarroa Francisco Oswaldo
Líder Funcional: Gil Cigarroa Francisco Oswaldo
Caso de Uso Registro de clientes para comprar con crédito
Objetivo: Comprobar que el sistema realice el registro exitoso de los clientes que cuentan con crédito
Fecha de la prueba: Año: 2019 Mes: 07 Día: 03
SECUENCIAS DE PRUEBAS

Descripción de la Observaciones
Nro. Resultado Esperado Resultado
prueba Incidencias Mejoras
1 registrar los clientes Los datos capturados Se copia el pantallazo con el Se relacionan las Se relacionan las
nuevos en la base de los clientes son resultado de la prueba. incidencias mejoras
de datos del exitosamente presentadas para solicitadas para
sistema. Los clientes mostrados y solución del estudio del líder
registrados podrán guardados en la base desarrollador. técnico.
hacer compras
de datos, así como en
fiadas
la interfaz del sistema

INFORMACIÓN BÁSICA
Proyecto: Implementación de Punto de ventas e Inventario de la Abarrotera “Adriana”
Responsable QA: Gil Cigarroa Francisco Oswaldo
Líder Funcional: Gil Cigarroa Francisco Oswaldo
Caso de Uso Proceso para el registro de nuevos usuarios orientado a empleados
Objetivo: Comprobar que el sistema realice el registro exitoso de los roles de empleados con sus
respectivos permisos
Fecha de la prueba: Año: 2019 Mes: 07 Día: 03
SECUENCIAS DE PRUEBAS

Descripción de la Observaciones
Nro. Resultado Esperado Resultado
prueba Incidencias Mejoras
1 Este proceso se El sistema logra Se copia el pantallazo con el Se relacionan las Se relacionan las
encarga del registro validar los permisos resultado de la prueba. incidencias mejoras
de nuevos usuarios de “usuario y presentadas para solicitadas para
para cada empleado administrador”, solución del estudio del líder
asignando a si desactivando los desarrollador. técnico.
mismo un nivel de
módulos “productos,
permiso
informes y
herramientas”, así
como la sección de
“clientes” encontrado
en el módulo de
“usuarios”.

69
4.3 Prueba de seguridad
Prueba Seguridad
Metodo Ingresar con diferentes usuarios (registrados y no registrados)

Observaciones Al ingresar los usuarios registrados, logramos verificar que el sistema verifica
exitosamente los permisos establecidos para cada usuario habilitando y
deshabilitando las opciones pertinentes.

Al ingresar usuarios no registrados logramos verificar exitosamente que se


deniega el acceso total al sistema.

70
4.4Prueba de aceptación
Introducción
Este documento establece la terminación del proyecto de Implementación del sistema de
Inventariado y punto de venta

Documento de aceptación
Documento que establece la aceptación del cliente de los entregables establecidos
en el proyecto

Implementación de Sistema de Inventariado y Punto de venta de los


Nombre del
Proyecto: Abarrotes Adriana

Registro de Recepción de la Entrega


Condiciones de entrega
Entregables Fecha de recepción
01/07/2019 Muestra Impresa para aprecio del cliente
acerca de cómo el sistema tendrá sus interfaces
Modelo de interfaces

Sistema Concluido 08/07/2019

Manual 08/07/2019 Impreso y dijital para lectura y entendimiento


del sistema
Usb De Instalación 08/07/2019 Nueva con el sistema dentro

Asuntos Pendientes

Nota: el cliente está de acuerdo con los criterios de aceptación expuestos en la


columna “condiciones de entrega”

71
4.5 Prueba de integración

Introducción
Contiene el orden de integración de los componentes o subsistemas, guiado por la
parte arquitectónica del análisis y diseño; y las pruebas que se aplicarán para
verificar la interacción entre los componentes.

Descripción de la integración de componentes.

Componente Descripción Elementos a Prueba de integración Calendari


o subsistema integrar zación
Interfaz de En esta vista, al iniciar Datos de la Verificar que todos los 24/06/20
primera sesión el sistema por Conexión módulos relacionados 19
del sistema primera vez, le según el rol del
Nombre de
solicitará el nombre usuario, con este
Usuario
de usuario y módulo se muestren
contraseña para el rol Contraseña de correctamente, y las
de administrador del Usuario interacciones con cada
sistema Base de Datos elemento se habiliten
según las opciones
seleccionadas.
Interfaz de El administrador Inventario Verificar el registro de 24/06/20
Registro de deberá ingresar los Los productos en la 19
Ventas
Productos productos llenando Base de Datos
los campos de Reportes
Nombre, Marca, Base de Datos
Contenido
Neto,Cantidad,
Codigo De Barras,
Presentación

Interfaz de En esta vista, se llevan Inventario verificar que los datos 24/06/20
Ventas a cabo las ventas de de venta concuerden 19
Base de Datos
los productos donde con los productos el
se consulta toda la

72
información de la cual se está realizando
base de datos y se la venta
ingresa nueva
información
Interfaz de En esta vista, se Ventas Verificar que los datos 01/07/20
Agregar Ingresan los datos de del Usuario sea 19
Base de Datos
Usuarios los usuarios a registrado al realizar la
registrar para venta de un producto
manipular el Sistema de igual manera sea
al realizar ventas registrado en la Base
ingresando los datos: de Datos
Nombre, Direccion,
Telefono, Cedula,
Usuario, Contraseña,
Estado y Acceso
Interfaz de En esta vista Base de datos Verifica que al realizar
Reportes Obtendrán Los una consulta de
Ventas
reportes de las venta, reportes los datos del
reportes de productos intervalo que necesite
cuyo existencia sea sea los correctos entre
menos a <N y el total la sección de reportes
recaudado por ventas y la BD

Requerimientos de ambiente
Recursos de sistema
Elementos para establecer el ambiente de pruebas necesario.

Recursos Nombre/Tipo
Nombre de Base de Adriana
Datos
Computadoras 1 Computadora personal con las siguientes características:
personales y Sistema operativo Windows 7, 8 o 10.
configuración.
Procesador CELERON a 1.8 o superior.

73
4 GB. RAM mínimo
100 Mb. libres y disco duro
Tener instalado un navegador de internet moderno (IE9+, Chrome,
Firefox, Opera, Safari, etc.) que soporte HTML5 Y CSS3.

Herramientas
Herramientas necesarias para ejecutar este plan:

Reporte de defectos ● Se debe llenar un formato Reporte de Pruebas de


Integración con los errores encontrados, se especifica el
nivel de severidad y la descripción del error.

Recursos a proveer por el cliente

El cliente deberá proveer información completa de los catálogos y movimientos de


los diferentes tipos de Programas Presupuestarios:

 De el aproximado de los productos con los que cuenta y precio


 Demanda de productos

4.6 Prueba de carga


Modulo Venta > Venta
Tiempo promedio de 68.80 ms
ejecución
Pruebas realizadas 21
Observación El tiempo promedio estimado para el guardado de
información debe ser máximo 50ms tomando en
consideración la devolución de información en formato pdf.

74
Resultado el sistema cumple exitosamente en el tiempo de carga de
información al vender cualquier producto. En un tiempo pro
de 0.68 segundos.

Ilustración 22 pruebadecarga_detalleventas.jpg 001

Modulo Personal > Usuarios


Tiempo promedio de 180.4 ms
ejecución
Pruebas realizadas 5
Observación El tiempo promedio estimado para el guardado de
información debe ser máximo 50ms.

75
Resultado El sistema muestra una variación de tiempo, guardando los
datos requeridos en la base de datos en un tiempo mayor a lo
esperado.
El sistema cumple exitosamente con el propósito,
resguardando los datos en un tiempo promedio de 0.18s.

Ilustración 23 pruebadecarga_crearusuarios.jpg 001

Modulo Productos > Productos


Tiempo promedio de 104 ms
ejecución
Pruebas realizadas 7

76
Observación El tiempo promedio estimado para el guardado de
información debe ser máximo 50ms.

Resultado El sistema muestra una variación de tiempo, guardando los


datos requeridos en la base de datos en un tiempo mayor a lo
esperado.
El sistema cumple exitosamente con el propósito,
resguardando los datos en un tiempo promedio de 0.10s.

Ilustración 24 pruebadecarga_RegistrarProductos.jpg 001

Modulo Personal > Clientes


Tiempo promedio de 160.14 ms
ejecución
Pruebas realizadas 7
Observación El tiempo promedio estimado para el guardado de
información debe ser máximo 50ms.

77
Resultado El sistema muestra una variación de tiempo, guardando los
datos requeridos en la base de datos en un tiempo mayor a lo
esperado.
El sistema cumple exitosamente con el propósito,
resguardando los datos en un tiempo promedio de 1.60s.

Ilustración 25 pruebadecarga_crearusuarios.jpg 001

4.7 Prueba de stress

Prueba Stress

Método Se ejecutaron en variadas ocasiones la solicitud de


abrir módulos del sistema en un promedio de 50
veces

Observaciones Al procesar la solicitud en repetidas ocasiones el


sistema empieza a sobrecargarse y su rendimiento

78
de procesamiento disminuye, hasta llegar al punto
de saturación donde deja de responder al uso del
usuario debido a la sobrecarga realizada
Solución Se deberá realizar una modificación en el Código de
programación para que al solicitar el modulo
requerido el sistema no habrá un módulo nuevo,
manteniendo en uso el modulo con anterioridad

4.8 Prueba Unitaria


INTRODUCCION

Por medio de este documento se pretende establecer la guía para la elaboración


del Plan de Pruebas Unitarias del proyecto “SISTEMA DE INVENTARIO Y PUNTO
DE VENTA DE LA ABARROTERA ADRIANA”.1
OBJETIVO
El propósito del plan de pruebas es proveer la información necesaria para planear
y controlar los esfuerzos de pruebas de un proyecto o iteración específicos.
Describe el enfoque para probar el software y es el plan general generado y utilizado
por administradores para dirigir el esfuerzo de pruebas.

79
CRITERIOS DE ENTRADA Y SALIDA

Criterio de Ejecución del Plan de Pruebas

 Claridad en el procedimiento para la realización de las pruebas.


 El entorno de pruebas debe ser el adecuado para la realización de las
pruebas.
 Toda la documentación requerida debe estar disponible .

Criterio de Terminación del Plan de Pruebas

 Todas las pruebas se ejecutan sin errores.

Criterio de Suspensión del Plan de Pruebas

 Una componente principal tiene un error que impide probar un área


importante.
 El entorno de pruebas no es lo suficientemente estable como para confiar en
los resultados.
 El entorno de pruebas es muy diferente del entorno de producción previsto y
no se puede confiar en los resultados.

80
Información General

Identificador de caso de uso: CU-01

Nombre de caso de uso: Proceso de Ventas

Descripción Prueba: Realizar una venta conforme a los productos con los que cuenta el
inventario previamente rellenado

Responsable: Luciano Rodríguez Erick Edgardo

Prerrequisitos

Los productos deben de estar previamente registrados en el sistema con todos sus datos correspondientes

Descripción de Casos de Prueba

Caso: Realizar una venta de productos de la Empresa

Servicio (s) Probados:

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt)


Instrucciones de Prueba
1. Seleccionar algún producto con el que cuente y este previamente registrado en el Sistema ‘Abarrotes
Adriana’
2. Pasar el producto por la lectora de códigos de barra
3. Comprobar que el producto se refleje dentro del sistema junto con sus características de cada productos
4. Realizar la venta y comprobar que el productos fue eliminado de la Base de Datos
Criterios de Aceptación
 El producto se encuentra en la base de datos de la empresa ‘Abarrotes Adriana’
Datos de entrada
 Código de barras
 Nombre del producto

81
Información General

Identificador de caso de uso: CU-03

Nombre de caso de uso: Registro de clientes para comprar con crédito

Descripción Prueba: registrar los clientes nuevos en la base de datos del sistema. Los
clientes registrados podrán hacer compras fiadas

Responsable: Luciano Rodríguez Erick Edgardo

Prerrequisitos

El encargado de la abarrotera deberá analizar que el cliente sea apto para darle fiado

Descripción de Casos de Prueba

Caso: Capturar los datos del cliente para completar el registro de dicho usuario

Servicio (s) Probados:


private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt)
Instrucciones de Prueba
1. Acceder al módulo de personal
2. Acceder al submódulo de clientes
3. Activar el registro de datos
4. Capturar datos del cliente
Criterios de Aceptación
 Registro exitoso del cliente en el sistema
Datos de entrada
 Nombre
 Dirección
 Teléfono
 Email
 Cedula

82
Información General

Identificador de caso de uso: CU-04

Nombre de caso de uso: Registro de productos

Descripción Prueba: registrar los productos nuevos en la base de datos del sistema. Estos
productos se utilizaran en diferentes módulos

Responsable: Luciano Rodríguez Erick Edgardo

Prerrequisitos

El usuario debe conocer la forma en que los datos deben ser ingresados al sistema para una correcta consistencia
en los datos

Descripción de Casos de Prueba

Caso: Realizar el registro de productos dentro del sistema

Servicio (s) Probados:

private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt)


Instrucciones de Prueba
1. Entrar al modulo de productos
2. Activar sección de agregar productos
3. Rellenar campos de agregación de productos
4. Guardar los datos de productos ingresados
Criterios de Aceptación
 Registrar la información de los productos en la base de datos
Datos de entrada
 Código
 Nombre
 Descripción
 Unidad
 Precio venta
 Precio compra
 Bodega
 Categoría

83
Información General

Identificador de caso de uso: CU-02

Nombre de caso de uso: Proceso De Ingreso al sistema

Descripción Prueba: Se encarga de validar el acceso al sistema de cada usuario,


permitiéndole utilizar las diferentes funciones del software

Responsable: Luciano Rodríguez Erick Edgardo

Prerrequisitos

El usuario debe tener su clave de acceso única.

Descripción de Casos de Prueba

Caso: Ingresar al sistema con respectivas claves de acceso

Servicio (s) Probados:

private void btnIngresarActionPerformed(java.awt.event.ActionEvent evt)


Instrucciones de Prueba
1. Abrir el sistema
2. Colocar nombre de usuario
3. Colocar contraseña del usuario

Criterios de Aceptación
4. El sistema esté funcionando correctamente. El usuario pueda entrar al sistema
Datos de entrada
 Usuario
 Contraseñas

84
Información General

Identificador de caso de uso: CU-05

Nombre de caso de uso: Proceso de devolución

Descripción Prueba: Este proceso de encarga de las devoluciones de productos por


compras erróneas o producto con algún daño de empaquetado .

Responsable: Luciano Rodríguez Erick Edgardo

Prerrequisitos

El registro de la venta del producto debe estar en la base de datos para comprobar venta y se acceda a posible
devolución de efectivo o intercambio de producto

Descripción de Casos de Prueba

Caso: Eliminar Del inventario y de la venta el producto en estado de devolución

Servicio (s) Probados:

Instrucciones de Prueba
5.
Criterios de Aceptación
 El producto en estado de devolución debe ser eliminado de la tabla de ventas
Datos de entrada

85

También podría gustarte