Documento Final V&V
Documento Final V&V
Documento Final V&V
ASIGNATURA:
CATEDRATICO:
Presentan:
SEMESTRE: 9° GRUPO: A
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
1.1.2 Misión
1.1.3 Visión
1.1.4 Valores
4
Respeto: Tratamos a nuestros clientes y proveedores con dignidad y
tolerancia sin causar alguna ofensa o perjuicio.
investigación
5
1.1.7.1 Objetivo del área
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.3 Objetivos
1.3.1 Generales
1.3.2 Específicos
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.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.3 Cascada
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
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
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.
12
2.1.2 CVar
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.
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
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
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.
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.
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.1 JavaScript
25
No es tan extenso en recursos.
2.3.2 NetBeans
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
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.
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.
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.
31
3.1.3 Estudio de factibilidad
32
3.1.4.2 Análisis de riesgos
33
34
35
36
37
3.1.5 Análisis de requerimiento
Descripción de Requerimientos
Descripción de Requerimientos
38
Observación:
Descripción de Requerimientos
Requisitos: El sistema permitirá al usuario ver el nombre del producto, su descripción, precio y cantidad en
inventario cuando se ejecute una consulta.
Observación:
Descripción de Requerimientos
39
Requisitos: El sistema llevará el control de los estados de los clientes y permitirá Añadir y borrar clientes.
Observación:
Descripción de Requerimientos
Requisitos: El sistema debe generar reportes tales como: reporte de ventas y de inventario.
Observación:
40
3.1.5.2 Requisitos no funcionales
Descripción de Requerimientos
Observación:
Descripción de Requerimientos
41
Observación:
Descripción de Requerimientos
Requisitos: El sistema será programado en Java y tendrá como base de datos a MySQL.
Observación:
Descripción de Requerimientos
Á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.
Observación:
43
Ilustración 3Registro de productos
44
Ilustración 5 Realiza venta
45
3.2.1.2 Diagrama de procesos
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
50
Ilustración 11proceso de login
51
Ilustración 12 Proceso de registro de productos
52
Ilustración 13Proceso de registro de clientes
53
3.2.2.1 Modelo Relacional
diccionario
Table Name Table Column Name Table Column Table Column Comment
Datatype
54
cliente en caso de ser necesario
puede ser utilizado como llave
primaria
Subpreciocompra Decimal(7,2)
Referencia Varchar(100)
55
Direccion Varchar(255) Dato que lo compone la calle,
colonia, numero y cp de las
peronas para su ubicacion rapida
almacenar en el sistema
Unidad_producto Varchar(20)
56
Stock_producto Int (11) Contiene la cantidad de productos
en bodega
Unidad_producto Varchar(450)
57
Password Varchar(45) Almacena una serie de caracteres
los cuales son asiganados por
cada usuario a usar el sistema
Tipo_comprobante Varchar(10)
Pago Decimal(7,2)
58
3.3 DESARROLLO
3.3.1 Interfaces
59
Ilustración 16 Modulo personal submodulo clientes
60
Ilustración 17 Modulo personal Submodulo Usuarios
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 20 Categoria
62
Ilustración 21 herramientas de ventas
63
Capitulo 4 pruebas y resultados
Verificación de contenidos
64
Prueba Resultado Errores encontrados Observación
Verificacion de interfaces
65
Prueba Resultado Errores encontrados Observación
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.
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
Asuntos Pendientes
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.
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:
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.
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.
76
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.
Prueba Stress
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
79
CRITERIOS DE ENTRADA Y SALIDA
80
Información General
Descripción Prueba: Realizar una venta conforme a los productos con los que cuenta el
inventario previamente rellenado
Prerrequisitos
Los productos deben de estar previamente registrados en el sistema con todos sus datos correspondientes
81
Información General
Descripción Prueba: registrar los clientes nuevos en la base de datos del sistema. Los
clientes registrados podrán hacer compras fiadas
Prerrequisitos
El encargado de la abarrotera deberá analizar que el cliente sea apto para darle fiado
Caso: Capturar los datos del cliente para completar el registro de dicho usuario
82
Información General
Descripción Prueba: registrar los productos nuevos en la base de datos del sistema. Estos
productos se utilizaran en diferentes módulos
Prerrequisitos
El usuario debe conocer la forma en que los datos deben ser ingresados al sistema para una correcta consistencia
en los datos
83
Información General
Prerrequisitos
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
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
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