PG 3652
PG 3652
PG 3652
PROYECTO DE GRADO
SISTEMA INTEGRADO WEB DE CONTROL DE COMPRA,
VENTA E INVENTARIOS DE MEDICAMENTOS
CASO: “FARMACIA MAYA”
PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA
MENCIÓN: INGENIERÍA EN SISTEMAS INFORMÁTICOS
LICENCIA DE USO
iii
AGRADECIMIENTOS
Primeramente, agradezco a mí a Dios por darme la fortaleza para seguir adelante a pesar de
los obstáculos, por guiar mi camino, protegerme y estar a mi lado en todo momento.
A mi familia, que sin su apoyo me hubiese sido muy difícil emprender este camino, gracias
por todo el apoyo y los valores que se me han inculcado.
A mi Docente tutor M.Sc. Aldo Ramiro Valdez Alvarado, quien con su gran calidad de
persona, profesionalismo y experiencia acompaño en el desarrollo del presente proyecto,
gracias por la paciencia y por los consejos que nos brinda.
A mi Docente revisor Ph.D. Yohoni Cuenca Sarzuri, quien con su excelente calidad
profesional realizo el seguimiento a este trabajo, los consejos, observaciones, correcciones
fueron aportes importantes en la elaboración de este proyecto.
A todos los Docentes de la carrera de informática por transmitirnos sus conocimientos y por
todo el desempeño que nos brindan.
Gracias a mis amigas y compañeras que me apoyaron a lo largo de mi vida universitaria, por
los buenos momentos compartidos.
RESUMEN
Para el desarrollo del proyecto se utilizó la metodología ágil Scrum, que propone un modelo
de proceso incremental, basado en iteración y revisiones continuas. En cada iteración se
utilizó el lenguaje de modelado WebML, que está orientado para el desarrollo de sistemas
web. Después de cada iteración y al culminar el proyecto, se realizó las pruebas
correspondientes para garantizar la seguridad y calidad del sistema web desarrollado.
Finalmente se puede mostrar en las conclusiones que los objetivos planteados fueron
alcanzados y que el producto desarrollado cumple con los requerimientos, funcionales de la
empresa.
ABSTRACT
The development of a web system resulted in a detachment of many ideas to see technology
advance the impact on companies, it is not an easy task unless they are a worker or exclusive
expert of the entity to obtain and process data we see in Bolivia that the various companies
do not all maintain a development of use of updated technologies, but it should be noted that
they go step by step by utilitarian need optimizing time with the use of technologies.
The purpose of this project is to support the MAYA pharmacy, through the implementation of
the integrated web system that will control the purchase, sale and inventory of medicines.
The Scrum agile methodology was used for the development of the project, which proposes
an incremental process model, based on continuous iteration and revisions. In each iteration
the WebML modeling language was used, which is oriented to the development of web
systems. After each iteration and at the end of the project, the corresponding tests were
carried out to guarantee the safety and quality of the web system developed.
The software obtained is a quality product according to the methodology of quality evaluation
of WEB-SITE QEM systems.
Finally, it can be shown in the conclusions that the proposed objectives were achieved and
that the product developed meets the functional requirements of the company.
INDICE
ii
2.4.1. ELEMENTOS DE SCRUM .................................................................................................... 16
2.4.2. ROLES Y RESPONSABILIDADES ...................................................................................... 16
2.4.2.1. PRODUCT OWNER............................................................................................................ 16
2.4.2.2. SCRUM MASTER ............................................................................................................... 17
2.4.2.3. SCRUM TEAM ................................................................................................................... 17
2.4.3. HERRAMIENTAS DE LA METODOLOGÍA ...................................................................... 17
2.4.3.1. PRODUCT BACKLOG ....................................................................................................... 17
2.4.3.2. SPRINT BACKLOG ............................................................................................................ 18
2.4.4. FASES DEL PROCESO SCRUM .......................................................................................... 19
2.4.4.1. PRE – GAME ....................................................................................................................... 20
2.4.4.2. GAME .................................................................................................................................. 20
2.4.4.3. POST – GAME .................................................................................................................... 21
2.5. INGENIERÍA WEB ................................................................................................................... 21
2.5.1. DEFINICIÓN DE APLICACIÓN WEB ................................................................................. 21
2.5.2. CARACTERÍSTICAS DE APLICACIONES WEB .............................................................. 22
2.5.3. WEBML (WEB MODELING LANGUAJE) ......................................................................... 22
2.5.3.1. DISEÑO EN WEBML ......................................................................................................... 23
2.5.3.2. CARACTERÍSTICAS WEBML.......................................................................................... 27
2.5.3.3. OBJETIVOS PRINCIPALES DE WEBML ........................................................................ 27
2.5.3.4. EL DESARROLLO EN WEBML ....................................................................................... 28
2.6. CONTROL DE VENTAS Y CONTROL DE INVENTARIOS ................................................ 28
2.6.1 INVENTARIO ......................................................................................................................... 28
2.6.2 VENTAS .................................................................................................................................. 29
2.7. TECNOLOGÍA DE SOFTWARE ............................................................................................. 30
2.7.1. SERVIDOR DE BASE DE DATOS “MySQL” ..................................................................... 30
2.7.2. SISTEMA DE GESTIÓN DE BASE DE DATOS (SGBD) ................................................... 30
2.7.3. LENGUAJE DE PROGRAMACIÓN “PHP” ......................................................................... 30
2.7.4. ENTORNO DE DESARROLLO “LARAGON” .................................................................... 31
2.7.5. FRAMEWORKS “LARAVEL” ............................................................................................. 31
CAPÍTULO III MARCO APLICATIVO
3.1. INTRODUCCIÓN ..................................................................................................................... 32
iii
3.2. PRE GAME ................................................................................................................................ 33
3.2.1 RECOPILACIÓN DE REQUERIMIENTOS .......................................................................... 33
3.2.2 PILA DEL PRODUCTO .......................................................................................................... 33
3.2.3 DEFINICIÓN DE CRONOGRAMA DE TRABAJO .............................................................. 35
3.2.4 ANÁLISIS DE RIESGOS ........................................................................................................ 35
3.2.5. HERRAMIENTAS PARA EL DESARROLLO DEL SISTEMA .......................................... 36
3.3 GAME ......................................................................................................................................... 37
3.3.1 PRIMER SPRINT .................................................................................................................... 37
3.3.1.1 HISTORIAS DE USUARIO ................................................................................................. 38
3.3.1.2. MODELO ENTIDAD RELACIÓN ..................................................................................... 45
3.3.1.3. MODELO ESTRUCTURAL ............................................................................................... 46
3.3.1.4. MODELO DE HIPERTEXTO ............................................................................................. 47
3.3.1.5. MODELO DE PRESENTACIÓN ....................................................................................... 48
3.3.16 DESARROLLO DEL PRIMER SPRINT .............................................................................. 50
3.3.2. SEGUNDO SPRINT ............................................................................................................... 52
3.3.2.1. MODELO DE HIPERTEXTO ............................................................................................. 52
3.3.2.2. MODELO DE PRESENTACIÓN ....................................................................................... 54
3.3.2.3 DESARROLLO DEL SEGUNDO SPRINT ......................................................................... 55
3.3.3. TERCER SPRINT ................................................................................................................... 57
3.3.3.1. MODELO DE HIPERTEXTO ............................................................................................. 57
3.3.3.2. MODELO DE PRESENTACIÓN ....................................................................................... 59
3.3.3.3 DESARROLLO DEL TERCER SPRINT ............................................................................. 59
3.4. POSTGAME .............................................................................................................................. 61
3.4.1. ROLES Y RESPONSABILIDADES DE USUARIOS ........................................................... 61
3.5. FASES DE PRUEBAS............................................................................................................... 61
3.5.1 PRUEBAS DE ACEPTACIÓN ............................................................................................... 61
3.5.2 PRUEBA DE STRESS............................................................................................................. 64
CAPÍTULO IV CALIDAD Y SEGURIDAD
4.1. CALIDAD DE SOFTWARE ..................................................................................................... 67
4.2 WEBSITE QEM .......................................................................................................................... 67
4.2.1 ESPECIFICACIÓN DE CARACTERÍSTICAS DE CALIDAD DE QEM ............................. 68
iv
4.2.1.1 USABILIDAD ...................................................................................................................... 68
4.2.1.2 FUNCIONALIDAD .............................................................................................................. 71
4.2.1.3 CONFIABILIDAD................................................................................................................ 73
4.2.1.4 EFICIENCIA ......................................................................................................................... 74
4.3 RESULTADOS ........................................................................................................................... 75
4.4 FACTORES DE SEGURIDAD .................................................................................................. 76
4.4.1 A NIVEL BASE DE DATOS .................................................................................................. 76
4.4.2 SEGURIDAD DE BASE DE DATOS ..................................................................................... 76
4.4.3 SEGURIDAD CON AUTENTIFICACIÓN ............................................................................ 77
4.4.3.1 ALGORITMO MD5 ............................................................................................................. 77
4.4.3.2 APLICACIÓN DE ALGORITMO MD5 .............................................................................. 77
4.5 SEGURIDAD DE LA APLICACIÓN ........................................................................................ 78
4.5.1 CONFIDENCIALIDAD .......................................................................................................... 78
4.5.2 AUTENTICACIÓN Y AUTORIZACIÓN .............................................................................. 78
4.5.3 SEGURIDAD EN FORMULARIOS ....................................................................................... 78
CAPÍTULO V COSTO Y BENEFICIO
5.1 INTRODUCCIÓN ...................................................................................................................... 80
5.1.1 COCOMO II............................................................................................................................. 80
5.2 COSTO DEL SISTEMA ............................................................................................................. 82
5.2.1 COSTO DE DESARROLLO DEL SOFTWARE .................................................................... 82
5.2.2 COSTO DE IMPLEMENTACIÓN.......................................................................................... 85
5.2.3 COSTO DE ELABORACIÓN DEL PROYECTO .................................................................. 85
5.2.4 COSTO TOTAL DEL SOFTWARE ....................................................................................... 85
5.3 VALOR ACTUAL NETO .......................................................................................................... 86
5.4 TASA INTERNA DE RETORNO .............................................................................................. 88
CAPÍTULO VI CONCLUSIONES Y RECOMENDACIONES
6.1 CONCLUSIONES ...................................................................................................................... 90
6.2 RECOMENDACIONES ............................................................................................................. 90
BIBLIOGRAFÍA ............................................................................................................................. 92
ANEXOS .......................................................................................................................................... 95
v
ÍNDICE DE FIGURAS
vi
ÍNDICE DE TABLAS
vii
Tabla 4. 2 WebSiteQEM: Evaluación de mecanismos de ayuda ...................................................... 70
Tabla 4. 3 WebSiteQEM: Evaluación de aspectos de interfaz .......................................................... 70
Tabla 4. 4 WebSiteQEM: Evaluaciones misceláneas de usabilidad ................................................. 71
Tabla 4. 5 WebSiteQEM: Evaluación total de usabilidad ................................................................. 71
Tabla 4. 6 WebSiteQEM: Evaluación de búsqueda y recuperación .................................................. 72
Tabla 4. 7 WebSiteQEM: Evaluación de aspectos de navegación y exploración ............................. 72
Tabla 4. 8 WebSiteQEM: Evaluación de dominio orientado al Usuario .......................................... 73
Tabla 4. 9 WebSiteQEM: Evaluación total de funcionalidad ........................................................... 73
Tabla 4. 10 WebSiteQEM: Evaluación de confiabilidad ................................................................. 74
Tabla 4. 11 WebSiteQEM: Evaluación de desempeño ..................................................................... 74
Tabla 4. 12 WebSiteQEM: Evaluación de accesibilidad .................................................................. 75
Tabla 4. 13 WebSiteQEM: Evaluación total de eficiencia ................................................................ 75
Tabla 4. 14 WebSiteQEM: Evaluación de total de calidad ............................................................... 75
viii
CAPÍTULO I
MARCO INTRODUCTORIO
1.1. INTRODUCCIÓN
En la actualidad los sistemas de información están basados en computadoras que son objetos
de gran consideración en la toma de decisiones oportunas, confiables y efectivas en cuanto a
técnicas de planificación, programación y administración con el fin de garantizar su éxito,
limitar el riesgo y reducir costos y aumentar las ganancias (Peña, 2007).
Los procesos de compra y venta son realizados de forma manual y con ayuda de herramientas
ofimáticas las cuales resultan insuficientes ante las necesidades de la farmacia. La cantidad
de información sobre las compras mensuales, las ventas diarias y fechas de vencimiento de
medicamentos, es imposible llevar un buen control al respecto y la pérdida de información
se presenta con frecuencia estas situaciones. Es por esta forma de procesar la información,
que la farmacia tiene muchos problemas y dificultades al momento de la toma de decisiones.
Al no contar con información de las ventas totales mensuales, los productos más vendidos o
los productos que ya se agotaron, se retrasaban los pedidos y compras en perjuicio de los
proveedores, ocasionando demoras a las demandas y exigencias de sus clientes. También, en
ocasiones, los medicamentos se extravían y no se tiene control de cuantos medicamentos se
pierde. Asimismo, los procesos de venta son lentos en “horas pico”, es decir, cuando hay
mucha clientela que requiere atención, por el hecho de que no se cuenta con información
instantánea de la disponibilidad de algún medicamento.
Mediante el presente proyecto se dará una solución a los problemas que presenta la farmacia
Maya en el manejo de información de las compras, ventas, inventarios, desarrollando un
sistema integrado de control de compra, venta e inventarios de medicamentos, de manera
que, al momento de realizar la toma de decisiones, el propietario cuente con información
clara, precisa, actualizada e instantánea para, de esta forma, satisfacer la demanda de sus
clientes.
1.2. ANTECEDENTES
El año 1992 se logra la resolución secretarial de Funcionamiento y apertura por parte del
Ministerio dela resolución que lleva el Nº 0484.
Farmacias Maya fue fundada en primero de junio de 1992, se encuentra ubicada en la Av.
Tiahuanaco N° 70 zona Sagrado Corazón de Jesús en la ciudad de El Alto, además cuenta
con N° NIT 2289620015, es una empresa privada, con patrimonio independiente.
La farmacia además de realizar las ventas de medicamentos, realiza otras actividades extras
como de inyectado y curaciones.
El objetivo principal de la Farmacias Maya es brindar una buena atención a los clientes sin
demora alguna.
2
necesidades de la empresa pues se lo realiza de manera manual, sin un adecuado control del
ingreso y salida de productos del inventario.
MISION Y VISION
OBJETIVOS
3
Las personas auxiliares de apoyo tienen conocimientos de la farmacología, nombres
genéricos, concentraciones, indicaciones sobre la forma de administración.
4
Título: Sistema web de control de compra, venta e inventarios, caso: librería de la
asociación cristiana pan de vida.
Autor: Condori Palomeque Raquel.
Año: 2015.
Institución: Carrera de Informática, UMSA
Descripción: El sistema informatiza los procesos de compra, venta e inventarios de
la librería, con adecuado control de procesos. Esté proyecto fue realizado con la
metodología de desarrollo ágil XP, y se complementó con la fase de diseño de IFML
para el diseño de las funciones y la interfaz del usuario.
Título: Sistema de control de ventas e inventarios para almacenes de aluminios
utilizando dispositivos móviles caso: técnica de aluminio, vidrio y servicios (talviser).
Autor: Gutiérrez Vargas Grover.
Año: 2015.
Institución: Carrera de Informática, UMSA
Descripción: El sistema automatiza los procesos y optimiza los tiempos de
producción de la empresa, este proyecto fue realizado con la metodología SCRUM,
que propone un modelo y aplicación Web.
5
1.3.2. PROBLEMAS SECUNDARIOS
Pérdida de tiempo al hacer la verificación de la existencia del medicamento, el
farmacéutico tiene que verificar si el producto está disponible, esto causa molestias
al cliente por la espera del medicamento solicitado al farmacéutico.
Retraso en la elaboración de reportes sobre las ventas y compras mensuales, esto
causa malas decisiones para la realización de compras a los proveedores.
Los informes del inventario son anotados con la ayuda de herramientas ofimáticas,
tarda al momento de imprimir y con errores, esto causa confusión de que
medicamento se debe pedir al proveedor.
El control manual de las compras a los proveedores es moroso y lento, lo cual causa
demoras en la entrega de medicamentos y errores en los pedidos de medicamento.
El abastecimiento de medicamentos no es preciso, lo cual causa pérdidas económicas
al farmacéutico al no tener el control del stock de los medicamentos.
Se emplea mucho tiempo en la consulta de manuales para conocer las características
y funciones de los medicamentos, lo cual puede causar que le dé un medicamento
erróneo al cliente.
6
Reducir errores en los informes del inventario de medicamentos.
Controlar compras a los proveedores, así corregir los errores de pedido delos
medicamentos.
Brindar información del abastecimiento de medicamentos para la toma de decisiones.
Facilitar el manejo de la administración de datos.
1.5. JUSTIFICACIÓN
En el desarrollo del sistema se empleará herramientas que sustituirán los procesos realizados
con herramientas ofimáticas como ser plantillas en Excel y manuales que generan un costo
innecesario a la farmacia.
Se espera que este proyecto permita minimizar el tiempo de trabajo para el farmacéutico de
la empresa mencionada anteriormente, así lograr mayor eficiencia con la incorporación de
tecnologías informáticas actualizadas.
7
Este proyecto se justifica socialmente porque brindará una atención mejorada, apropiada y
sistematizada para las personas que vienen a adquirir los medicamentos que se venden en la
farmacia Maya.
El proyecto a desarrollar, se lo realizará por las necesidades que tiene la farmacia por no tener
un buen control de los medicamentos, así se optimizara los servicios que presta el mismo.
La farmacia Maya cuenta con dos equipos de computación, para la implementación del
sistema.
1.6.1. ALCANCES
El sistema tendrá los siguientes alcances:
Módulo de compras
Registros de compras realizadas a los proveedores, cantidad y precio.
Editar compra.
Eliminar compra.
Módulo de ventas
Cantidad de ventas realizadas
Verificar disponibilidad del producto.
emisión de reportes de stock
Módulo de medicamentos
8
registro de los medicamentos tomando en cuenta características como: código
de medicamento, nombre
Eliminar medicamento.
Editar medicamento.
Reporte listado detallado de la información de los fármacos y su uso en
formato texto.
Módulo administración de usuarios
Control de usuarios del sistema informático, permitiendo la asignación según las
prioridades con la que el usuario fue asignado.
Módulo de proveedor
Registra nuevo proveedor
Editar la información del proveedor
Eliminar proveedor
Módulo de inventarios
Tener información de las ventas
Reportes de medicamentos más vendidos.
1.6.2. LÍMITES
El presente proyecto de grado estará limitado a las siguientes características:
9
1.7. APORTES
1.7.1. PRÁCTICO
El sistema integrado web ayudará a la farmacia a realizar mayor control de ventas de los
medicamentos que salen, para así saber si es necesario realizar más pedidos de los
medicamentos a los proveedores, así también saber qué personas hicieron entrega de los
mismos.
El desarrollo del sistema permitirá cubrir las necesidades para organizar los procesos
rutinarios, como disminuir el tiempo de atención al cliente, ayudar en el control y en el
seguimiento de los medicamentos, generando información que ayude para la fácil y correcta
toma de decisiones en la farmacia.
1.7.2. TEÓRICO
El aporte del presente proyecto es utilizar una metodología para brindar servicio, que permita
el seguimiento y control de los movimientos de ventas e inventarios de manera precisa para
la toma de decisiones.
1.8. METODOLOGÍA
En la investigación se trabajará con el enfoque cualitativo para estudiar la realidad en su
contexto natural y para obtener requerimientos del problema mediante la observación directa
de los procesos que se lleva a cabo, entrevistas, reuniones con el personal encargado.
10
investigación descriptiva para llegar a describir las características internas, externas de los
hechos observados.
Para el entorno de desarrollo se utilizará LARAGON para trabajar de una manera sencilla y
rápida y con poca configuración.
11
CAPÍTULO II
MARCO TEÓRICO
El software para muchas personas es solo programas de computadora, sin embargo, nos
comenta que son todos aquellos documentos asociados a la configuración de datos que se
necesitan para hacer que estos programas operen de manera adecuada. Estos productos de
software se desarrollan para algún cliente en particular o para un mercado en general. Para el
diseño y desarrollo de proyectos de software se aplican metodologías, modelos y técnicas
que permiten resolver los problemas. En los años 50 no existían metodologías de desarrollo,
el desarrollo estaba a cargo de los propios programadores. De ahí la importancia de contar
con analistas y diseñadores que permitieran un análisis adecuado de las necesidades que se
deberían de implementar (Sommerville , 2005).
12
El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar
de una a cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de
requerimientos, diseño, codificación, revisión y documentación. Una iteración no debe
agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, pero
la meta es tener un demo (sin errores) al final de cada iteración. Al final de cada iteración el
equipo vuelve a evaluar las prioridades del proyecto (Páez, 2014).
El modelo está formado por un conjunto de fases o actividades en las que no tienen en cuenta
la naturaleza evolutiva del software, las cuales son:
a) Ciclo de vida se le conoce como modelo lineal secuencia o modelo en cascada, plantea
un enfoque sistemático, secuencial para el desarrollo de software, que comienza en un nivel
de sistemas y continúa con el análisis, diseño, codificación, pruebas y mantenimiento. Este
modelo comprende una primera actividad como lo es la ingeniería y modelado de sistemas /
información, en el cual se establece el sistema de nivel superior y se deben establecer los
requisitos de la empresa en la que se encuentra. Los requisitos se recogen del sistema con
una pequeña parte de análisis y diseño.
El prototipo lo evalúa el cliente-usuario y lo utiliza para refinar los requisitos del software a
desarrollar. La interacción ocurre cuando el prototipo satisface las necesidades del cliente, a
la vez que permite que el desarrollador comprenda mejor lo que se necesita hacer.
13
c) Modelo DRA el desarrollo rápido de aplicaciones (DRA) es un modelo de proceso del
desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente
corto, el modelo DRA es una adaptación a alta velocidad del modelo lineal secuencial en el
que se logra el desarrollo rápido utilizando un enfoque de construcción basado en
componentes.
El software al igual que todos los sistemas complejos va evoluciona con el tiempo,
desarrollando versiones cada vez más completas y complejas hasta llegar al objetivo deseado
incluso evolucionar más allá durante la fase de la operación.
a) Modelo Espiral
b) Evolutivo
c) Incremental n
d) Modelo de desarrollo concurrente
Son modelos con alto grado de interactividad y solapamiento entre fases, como ser:
a) De agrupamiento
b) Fuente
c) Basado en componentes
d) Proceso unificado
14
2.3.4. PROCESOS ÁGILES
Los elementos están compuestos por roles y artefactos quienes darán inicio para la
elaboración del SCRUM. Según el libro (SCRUMstudy, 2013).
Scrum es un marco de trabajo de procesos que ha sido usado para gestionar el desarrollo de
productos complejos desde principios de los años 90. Scrum no es un proceso o una técnica
para construir productos; en lugar de eso, es un marco de trabajo dentro del cual se pueden
emplear varias técnicas y procesos. Scrum muestra la eficacia relativa de las prácticas de
gestión de producto y las prácticas de desarrollo, de modo que podamos mejorar. El marco
de trabajo Scrum consiste en los Equipos Scrum, roles, eventos, artefactos y reglas asociadas.
Cada componente dentro del marco de trabajo sirve a un propósito específico y es esencial
para el éxito de Scrum y para su uso. Las reglas de Scrum relacionan los eventos, roles y
artefactos, gobernando las relaciones e interacciones entre ellos (Schwaber y Sutherland,
2013).
15
b) Utiliza reglas para crear un entorno ágil de administración de proyectos
c) No prescribe prácticas específicas de ingeniería
d) Los requerimientos se capturan como ítems de la lista Product Backlog
e) El producto se construye en una serie de Sprints de un mes de duración
f) Gestión regular de las expectativas del cliente
Los elementos están compuestos por roles y artefactos quienes darán inicio para la
elaboración del SCRUM. Según el libro (SCRUMstudy, 2013).
16
2.4.2.2. SCRUM MASTER
Responsable del proceso SCRUM, de cumplir la meta y resolver los problemas. Así como
también, de asegurarse que el proyecto se lleve a cabo de acuerdo con las prácticas, valores
y reglas de SCRUM y que progrese según lo previsto (Palacios, 2008).
Auto-gestionado
Auto-organizado
Multi-funcional
Es un documento dinámico que incorpora constantemente las necesidades del sistema. Por lo
tanto, nunca llega a ser una lista completa y definitiva. Se mantiene durante todo el ciclo de
vida (hasta la retirada del Sistema) y es responsabilidad del Product Owner (Schwaber,
Sutherland, 2013).
17
Figura 2. 1 Producto Backlog de SCRUM
Fuente: (Skarin, 2010)
El sprint backlog es la lista que descompone las funcionalidades del product backlog en las
tareas necesarias para construir un incremento: una parte completa y operativa del producto.
En el sprint backlog se asigna a cada tarea la persona que la va a llevar a cabo, y se indica el
tiempo de trabajo que se estima, aún falta para terminarla.
18
Figura 2. 2 Sprint Backlog de SCRUM
Fuente: (SCRUMstudy, 2010)
19
2.4.4.1. PRE – GAME
Las tareas que se realizan en esta primera etapa son:
a) Planeación: Todos los miembros del equipo incluyendo el cliente se reúnen para
determinar el análisis del problema. En este paso se puede dividir las tareas en:
Análisis de riesgos y controles apropiados para los riesgos, la selección del tipo de
herramienta a trabajar, cálculo y la estimación del costo.
b) Arquitectura: El objetivo de esta etapa es diseñar como los elementos del backlog del
producto serán puestos en ejecución. Se revisa los ítems del backlog, el análisis y el tiempo
aproximado para terminar la tarea.
2.4.4.2. GAME
Una vez realizado el pre – Game se opta por realizar los siguientes puntos:
a) Planeación del Sprint: Antes de comenzar cada sprint, se lleva a cabo reuniones para
refinar y priorizar nuevamente el producto backlog luego pasara a ser un Sprint backlog con
las actividades realizadas, los responsables y la duración de cada actividad.
c) Revisión del Sprint: Al final de cada iteración se lleva a cabo una reunión de revisión en
donde se encuentra la nueva funcionalidad del producto, las metas incluyendo la información
de las funciones, diseño ventaja, inconvenientes y esfuerzo del equipo.
20
2.4.4.3. POST – GAME
La etapa final, denominada según SCRUM, es el cierre o Post – Game: En esta última etapa
se realiza la preparación operacional, incluyendo la documentación final necesaria para la
prestación.
Realizando las Pruebas de Rendimiento o Esfuerzo del Proyecto, también a esta etapa se debe
realizar dependiendo del tipo de producto las interfaces finales para el usuario y el
entrenamiento del Plantel (usuarios) o el marketing para la venta del nuevo producto.
Una Aplicación Web (en lo sucesivo también denominada WebApp) es la forma en que se
denomina a una categoría de software centrada en redes y que agrupa una amplia gama de
aplicaciones diferentes a las conocidas como nativas. Son poco más que un conjunto de
archivos de hipertexto vinculados que presentan información con uso de texto y gráficas
limitadas. Están integradas con bases de datos corporativas y aplicaciones de negocios, desde
cierto punto de vista se considera como un esfuerzo multidisciplinario debido al manejo de
múltiples formatos, siendo susceptible de efectos éticos y legales. (Pressman, 2010).
21
2.5.2. CARACTERÍSTICAS DE APLICACIONES WEB
Pueden ser ejecutadas en múltiples plataformas ya que no hacen uso del sistema
operat1ivo del terminal o equipo, sino del navegador implementado para su
ejecución.
No se instalan en el dispositivo y consiguen una experiencia de operación muy similar
a una aplicación nativa, pero requieren conexión constante a Internet.
La inversión de recursos para su desarrollo se realizará una sola vez para múltiples
plataformas, pero se deberá optimizar en cada una de ellas para obtener el mejor
rendimiento de cada ambiente.
El diseño de interfaz está condicionado por necesidades de claridad y simplicidad
sobre la de impacto.
Su funcionalidad puede variar desde navegación/consulta de ABMs hasta complejos
servicios transaccionales de comercio electrónico.
Al igual que en la Ingeniería de Software, en la Ingeniería Web también se realizan
las denominadas Actividades CGC (de Control y Garantía de la Calidad) como el
establecimiento y supervisión de estándares, revisiones técnicas formales, análisis y
seguimiento/registro de informes, entre otros; sin embargo otros aspectos valorativos
que le son exclusivos están relacionados a criterios de usabilidad, funcionabilidad,
fiabilidad, seguridad, eficiencia y mantenibilidad, en el marco de la escalabilidad
(Olsina,1999)
22
WebML es un lenguaje de modelado gráfico utilizado para apoyar las actividades del diseño
de sitios Web. Provee gráficos, formalismos, especificaciones y diseño de procesos apoyados
por herramientas gráficas. Define varios tipos de diagramas: de estructura, composición y
navegación. (Carmona, 2008).
a) El modelo estructural
b) El modelo de hipertexto
c) El modelo de presentación
Una observación importante es el hecho de que WebML no es el mejor enfoque para sitios
Web estáticos (Ceri, 2000). Para entender sobre los modelos de desarrollo ver la figura 2.3.
23
a) Modelado de Estructural
El modelado de datos representa las diferentes tablas de datos y sus relaciones que son
necesarias para una aplicación Web concreta.
b) Modelado de Hipertexto
24
Modelo de composición: Describe las páginas que componen el hipertexto, y que
constituyen unidades de contenido de una página. La página del sitio Web son los
contenedores de información realmente entregados al lector.
Modelado de navegación: Del sitio se especifica vínculos pasantes. Los enlaces
pueden ser definidos entre las unidades dentro de una misma página, entre las
unidades colocadas en diferentes páginas y entre las páginas.
A pesar que WebML se creó inicialmente para el diseño de aplicaciones Web intensivas en
datos, esta es, sin duda, una de las metodologías que más esfuerzos de adaptación ha realizado
en la necesidad de dar soporte al desarrollo de aplicaciones orientadas a servicios. WebML
ha sido extendido para dar soporte al desarrollo de aplicaciones que integran, tantos servicios
Web, definiendo nuevas primitivas para la representación de estos en el modelo de hipertexto,
como también procesos de negocios, añadiendo para ello una nueva etapa de análisis de los
procesos y extendiendo el modelo estructural y de hipertexto para la captura de procesos.
(Brambilla y Butti, 2006).
25
conceptual. Recientemente se ha definido un perfil UML para WebML, aunque este solo
incluye extensiones para la representación de las primitivas básicas de WebML (Moreno,
2006).
WebML no se define como una aproximación basada en MDA. WebML no distingue entre
modelos independientes o dependientes de plataforma ni tampoco se centra en la definición
de transformaciones entre los modelos que propone. Sin embargo, teniendo en cuenta las
características de los modelos propuestos por WebML se puede decir que estos coinciden
con el nivel independiente de plataforma de MDA (Brambilla y Butti, 2006).
26
ScrollerUnit Permite la navegación entre un -Nombre
(unidad de conjunto ordenado de objetos -Entidad fuente
navegacion) -Selector
-Bloque de factores
-Cláusula de orden
Entryunit (Unidad de ingreso) Formulario para recolectar datos -Nombre
del usuario. -Para cada campo
-Entidad fuente
- Selector
-Atributos incluidos
- Cláusula de orden
Tabla 2. 1 Elementos del modelo de hipertexto WebML
Fuente: (Elaboración propia)
c) Modelo de presentación
Define como lucirá la vista del sitio. WebML incluye un modelo simple de presentación que
permite colocar contenidos dinámicos en la página además de aplicar estilos distintos para
cada uno.
27
Proveer múltiples vistas del mismo contenido.
Separar el contenido de la información de su composición en páginas, y navegación.
Almacenar meta-información.
Modelar usuarios y comunidades.
Posibilitar la especificación de operaciones de manipulación de datos.
2.6.1 INVENTARIO
Inventario se refiere a las existencias de un artículo o determinado recurso que está
almacenado y que espera ser usado por la organización. Un sistema de inventario es el
conjunto de políticas y controles que supervisa los niveles de inventario y determina cuáles
son los niveles que deben mantenerse, cuando hay que reabastecer el inventario y de qué
tamaño deben ser los pedidos (Mongua y Sandoval, 2009).
28
de los pedidos de consumidores y clientes, estos se representan e cualquier organización.
(Hernández, 2010)
2.6.2 VENTAS
29
La definición que se tomara es que las ventas es un cambio de productos y servicios por
dinero. Desde el punto de vista legal, se trata de la transferencia del derecho de posesión de
un bien a cambio de dinero.
El sistema operativo sobre la cual trabajara el software para poder desarrollar el Sistema Web
son los siguientes:
PHP es un lenguaje de programación de uso general de script del lado del servidor
originalmente diseñado para el desarrollo Web de contenido dinámico.
Fue uno de los primeros lenguajes de programación del lado del servidor que se podían
incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que
30
procese los datos. El código es interpretado por un servidor Web con un módulo de
procesador de PHP que genera la página Web resultante.
Es un entorno de desarrollo para PHP que funciona sobre Windows diseñado especialmente
para trabajar con laravel. Similar a otras herramientas como xampp o wampp.
Es un entorno de desarrollo completo incluye PHP, MySQL, Node JS, Python, Java, Go,
Ruby, Apache, Nginx,entre otras tecnologías ,es ideal para crear proyectos con alto
rendimiento, estabilidad, simplicidad, flexibilidad y libertad.
31
CAPÍTULO III
MARCO APLICATIVO
3.1. INTRODUCCIÓN
Este capítulo se describirá el análisis y diseño del sistema guiándonos con la metodología de
trabajo SCRUM para el desarrollo del sistema integrado web de control de compra, venta e
inventarios de medicamentos para la farmacia maya, usando los pasos descritos en el marco
teórico.
Por ser el sistema orientado a la web se tomará en cuenta el modelado web, WebML, esto
nos ayudará en el diseño web con los distintos tipos de diagramas que usa, logrando un
entorno amigable y que sobre todo facilitará el trabajo de los usuarios.
Como se conoce estas dos metodologías son ágiles, motivo por lo cual no existen
inconvenientes a la hora del desarrollo del sistema web.
En este documento se incluirá la descripción del ciclo de vida iterativo e incremental del
proyecto, las herramientas o documentos con los que se gestionan las tareas de adquisición y
suministro: requisitos, monitorización y seguimiento del avance, así como las
responsabilidades y compromisos de los participantes en el proyecto.
32
En la figura 3.1 se puede observar gráficamente el modelo ya adaptado (metodología Scrum
y WebML) que se utilizara para la implementación.
Para la elaboración del backlog del producto, se realizó una entrevista con el cliente donde
se hizo conocer los requerimientos que requiere la farmacia Maya. La lista o pila es
gestionada y creada por el cliente con la ayuda del Scrum Master, quien indicará el costo
estimado para completar un requisito, y será un aporte al valor final del producto.
Las reuniones. La realización de la reunión nos genera el “Spring Backlog” o lista de tareas,
además en ella se definen los requisitos, que en el propuesto del desarrollo pueden
modificarse, incluso agregar algunos requisitos por el cliente.
Dentro de esta fase, al capturar los requerimientos se desarrollan los siguientes artefactos:
33
En la tabla 3.1 se presenta el backlog del producto, que contiene los requerimientos y
características finales del sistema web para la farmacia Maya.
34
3.2.3 DEFINICIÓN DE CRONOGRAMA DE TRABAJO
Un riesgo es una probabilidad de que ocurra algo adverso, existen dos tipos de riesgo.
Riesgo del producto. Afecta a la calidad o rendimiento del software que se está
implementando.
35
No existe una Proyecto No cuenta con Alto Tolerable Pedir con
infraestructura muchas anticipación las
para la herramientas herramientas
implementación para el desarrollo para la
del sistema del sistema implementación
del sistema.
36
El diagrama de Arquitectura tiene el objetivo de representar de forma gráfica lo que se quiere
construir y provee de forma una visión simplificada del sistema, como puede apreciarse en
el diagrama se muestran las sucursales interactuando con el sistema a través de la Intranet, el
mismo está alojado localmente.
3.3 GAME
En esta etapa se desarrolla todos los requerimientos de nuestra pila de productos, para esto
se elaboró las pilas de las iteraciones. Se sabe que las pequeñas entregas de estas iteraciones
se realizan en tiempos cortos, pero para el desarrollo del presente documento se tomó en
cuenta tiempos largos para su desarrollo.
Durante esta etapa se desarrolló tres iteraciones, donde se hace corresponder a la plataforma
y contenido. A continuación, se da a conocer las actividades que se realizan en cada una de
las etapas.
En esta iteración se realiza el análisis, evaluación e implementación sobre los actores que son
parte del sistema web, posterior mente se implementara el requerimiento de la pila del
producto.
1 12/09/2019 12 días
ID TAREA TIPO DIAS DE ESTADO
TRABAJO
R1.1 Realizar la planificación de Planificación 2 terminado
las iteraciones
R1.2 Realizar historias de usuario Planificación 1 Terminado
R1.3 Analizar los requerimientos Planificación 2 Terminado
de backlog del producto
R1.4 Implementar la base de Desarrollo 2 Terminado
datos
R1.5 Implementar el modelo de Desarrollo 2 Terminado
entidad relación de la base
de datos.
37
R1.6 Implementar la página Desarrollo 1 Terminado
iniciar sesión.
R1.7 Construir el modelo Desarrollo 1 Terminado
estructural .
R1.8 Desarrollo del módulo de Desarrollo 3 Terminado
medicamentos ABM del
registro de medicamentos.
En esta etapa se realiza un listado de las historias de usuario, que se detalló en la reunión con
el cliente. En las siguientes tablas se describen las historias de usuario del sistema web con
sus respectivas descripciones.
A continuación, se muestra una descripción sobre el registro de usuarios.
HISTORIA DE USUARIO
Historia de usuario Nro.1: Registro de usuarios
Usuario: administrador Nombre: registro de usuarios
Prioridad: Alta
Descripción El administrador podrá realizar ABM de
los usuarios.
38
Observación Previamente el administrador debe estar
registrado en el sistema e ingresar al
módulo de usuario
HISTORIA DE USUARIO
Historia de usuario Nro.3: Registro de medicamento
Usuario: gerente Nombre: registro de medicamentos
Prioridad: Alta
Descripción El gerente de la farmacia podrá realizar el
registro o ingreso de los medicamentos con
todas los campos como ser nombre, precio,
cantidad.
Observación Previamente el gerente debe estar
registrado en el sistema e ingresar al
módulo de medicamentos.
39
HISTORIA DE USUARIO
Historia de usuario Nro.4: salida o venta de medicamentos
Usuario: Auxiliar de venta Nombre: Salida de medicamentos o venta
Prioridad: Alta
Descripción El auxiliar de venta de la farmacia podrá
realizar el registro de la salida o venta de
medicamentos de acuerdo al stock.
Observación Previamente el auxiliar debe estar
registrado en el sistema e ingresar al
módulo de medicamentos.
HISTORIA DE USUARIO
Historia de usuario Nro.5: informes, reportes de ventas y compra
Usuario: gerente Nombre: informes
Prioridad: Alta
Descripción El gerente de la farmacia puede evaluar los
reportes de ventas y compra de
medicamentos ,estos se podrá exportar en
varios formatos Excel y pdf
Observación Previamente el gerente debe estar
registrado en el sistema e ingresar al
módulo de medicamentos.
A continuación, se muestra una descripción del registro de los medicamentos que serán
realizado por el auxiliar de venta.
HISTORIA DE USUARIO
Historia de usuario Nro.6: Registro de medicamento
Usuario: Auxiliar de venta Nombre: Registro de medicamentos
Prioridad: Alta
El auxiliar de venta de la farmacia podrá
realizar el registro o ingreso de los
medicamentos.
Observación Previamente el auxiliar debe estar
registrado en el sistema e ingresar al
módulo de medicamentos.
40
Descripción: el Sistema registra los medicamentos asignando, proveedor, precios y
descripción. Además permite modificar y eliminar.
En esta tabla vemos la descripción de listar el stock y hacer el ABM de los Medicamentos.
HISTORIA DE USUARIO
Historia de usuario Nro.7: ABM de los medicamentos
Prioridad: Alta
Descripción El sistema tiene la opción listar el stock y
tiene la opción de crear, modificar y
eliminar.
Observación Previamente el administrador debe dar
permiso al usuario para las ABM del
medicamento.
En esta tabla vemos la descripción de autentificación de usuario que lo hace el sistema una
vez que el usuario ya haya sido dado de alta.
HISTORIA DE USUARIO
Historia de usuario Nro.8: Autentificación de usuarios
Prioridad: Media
Descripción Desarrollar la autenticación de usuario de
tal forma que sea seguro el acceso al
sistema web, una vez que el administrador
haya echo la respectiva verificación de la
creación del nuevo usuario para darle de
alta.
En esta tabla vemos la descripción del ABM que tiene el sistema en los registros de los
proveedores.
HISTORIA DE USUARIO
Historia de usuario Nro.9: Administración de proveedores
Prioridad: Alta
41
Descripción El sistema debe tener la opción de
administrar los proveedores.
HISTORIA DE USUARIO
Historia de usuario Nro.10: Registro de ventas
Prioridad: Alta
Descripción El sistema registra datos de ventas, el
sistema calcula los precios de los
medicamentos, luego calcula el total y
finalmente se registra la venta.
En esta tabla vemos la descripción del listado de los registros de ventas realizados en una
determinada fecha.
HISTORIA DE USUARIO
Historia de usuario Nro.11: Reporte de ventas
Prioridad: media
Descripción El sistema debe proveer un reporte donde se
puedan visualizar las ventas realizadas por
cada sucursal en un periodo determinado.
En esta tabla vemos la descripción del ABM de los registros de los clientes.
HISTORIA DE USUARIO
Historia de usuario Nro.12: Administración de clientes.
Prioridad: media
Descripción El sistema debe tener la opción de Crear,
listar, modificar y eliminar registros de
clientes.
42
En esta tabla vemos la descripción del ABM de los registros de las compras de medicamentos
por parte del farmacéutico.
HISTORIA DE USUARIO
Historia de usuario Nro.13: Registro de compras
Prioridad: Alta
Descripción El sistema registra las compras de los
medicamentos. Primero carga una lista de
los medicamentos, luego hace una
verificación de la cantidad la lista en
comparación con la cantidad recibida,
finalmente registra la compra.
En la siguiente tabla vemos la descripción del ABM que tiene el sistema en los registros de
las compras en las sucursales.
HISTORIA DE USUARIO
Historia de usuario Nro.14: Administración de compras en las sucursales
Prioridad: Alta
Descripción El sistema debe tener la opción de crear,
listar, modificar y eliminar registros de
compras en las sucursales.
En esta tabla vemos la descripción del listado de los registros de las compras realizados en
una cada sucursal.
HISTORIA DE USUARIO
Historia de usuario Nro.15: Reporte de compras por sucursales
Prioridad: Alta
Descripción El sistema debe proveer un reporte donde se
puedan visualizar las compras realizadas
por cada sucursal.
Tabla 3. 18 Reporte de ventas por sucursales
Fuente: Elaboración propia
43
En siguiente tabla vemos la descripción de las alertas de vencimiento de los medicamentos.
HISTORIA DE USUARIO
Historia de usuario Nro.16: alertas de stock de medicamentos
Prioridad: Alta
Descripción El sistema debe tener la opción de mostrar
una lista de los medicamentos por expirar.
HISTORIA DE USUARIO
Historia de usuario Nro.17: Administración de roles
Prioridad: Alta
Descripción El sistema debe tener la opción de
administrar los roles de los usuarios,
limitando así el acceso a los recursos del
sistema, cada usuario puede tener uno o
más roles, al ingresar al sistema
HISTORIA DE USUARIO
Historia de usuario Nro.17: Administración de usuarios
Prioridad: Media
Descripción El sistema debe tener la opción de
administrar los usuarios que se registraron
al sistema. Tendrá la opción de listar,
modificar, crear y eliminar usuarios.
44
3.3.1.2. MODELO ENTIDAD RELACIÓN
El siguiente diagrama nos servirá como una herramienta para el modelado de datos que
permitirá representar nuestras entidades más relevantes de un sistema de información, así
como sus interrelaciones y propiedades o atributos.
45
3.3.1.3. MODELO ESTRUCTURAL
Según los requisitos de la farmacia maya, se procede al diseño del diagrama de clases, siendo
el modelo estático del sistema. El siguiente diagrama de modelos de contenidos describe la
estructura del sistema por medio de las clases con sus atributos y las relaciones con otras
clases.
46
3.3.1.4. MODELO DE HIPERTEXTO
47
3.3.1.5. MODELO DE PRESENTACIÓN
En la figura 3.8 se muetra el modelo de presentación de incio de sesion del sistema web de
farmacia maya
48
En la figura 3.9 se muetra el modelo de presentacion de ingreso del sistema web de farmacia
maya.
En la figura 3.10 se muestra el modelo de presentación del registro de usuarios del sistema
web de farmacia maya.
49
3.3.16 DESARROLLO DEL PRIMER SPRINT
A continuación, se muestran las capturas de pantallas más relevantes, que son el resultado de
la implementación de las tareas del primer sprint.
La siguiente figura muestra el inicio sesión del sistema web donde se debe insertar un email
y un password ya que estos dos campos son previamente verificados por un administrador si
se creó la cuenta de usuario correctamente para así darlo de alta y así el usuario pueda ingresar
al sistema sin ningún problema.
La siguiente figura 3.12 muestra el registro, ABM de medicamentos, donde se podrá efectuar
la creación, modificación y eliminación de medicamentos, se tiene en el panel un listado de
los medicamentos que se tienen registrados, se tiene la opción de crea uno nuevo, de
modificar y eliminar.
50
Figura 3. 12 ABM de Medicamentos
Fuente: Elaboración propia
La siguiente figura muestra el registro, ABM de usuarios, donde se podrá efectuar la creación,
modificación y eliminación de usuarios, se tiene en el panel un listado de los usuarios que se
tienen registrados, se tiene la opción de crea uno nuevo, de modificar y eliminar.
51
3.3.2. SEGUNDO SPRINT
2 15/11/2019 14 días
ID TAREA TIPO DIAS DE ESTADO
TRABAJO
R2.1 Realizar la planificación Planificación 2 Terminado
de las iteraciones
R2.2 Analizar los Planificación 2 Terminado
requerimientos de
Backlog del producto
R2.3 Realizar el registro de Desarrollo 3 Terminado
proveedores ABM.
R2.4 Construir el modelo de Desarrollo 1 Terminado
hipertexto de
proveedores.
Con el modelo de hipertexto siguiente se podrá describir las visitas del modelo estructural
que estarán publicadas en el sistema.
52
La siguiente figura 3.14 se muestra el diagrama de composición de proveedores, donde se
tiene la opción de crear un nuevo registro o modificar un registro actual, una vez modificado
o creado, el proceso vuelve a la pantalla de listado de proveedores.
En el siguiente diagrama muestra cómo se filtran las listas de los medicamentos disponibles
por sucursal.
53
3.3.2.2. MODELO DE PRESENTACIÓN
En la figura 3.16 se muestra el modelo de presentacion de la pagina del registro de
proveedores.
54
En la figura 3.18 se muestra el modelo de presentación del registro de permisos del sistema web de
farmacia maya.
La siguiente figura 3.19 se muestra el registro, ABM de proveedores , donde se podrá efectuar
la creación, modificación y eliminación de proveedores, se tiene en el panel un listado de los
proveedores que se tienen registrados, se tiene la opción de crea uno nuevo, de modificar y
eliminar.
55
La siguiente figura muestra el registro, ABM de sucursales , donde se podrá efectuar la
creación, modificación y eliminación de sucursales, se tiene en el panel un listado de los
sucursales que se tienen registrados, se tiene la opción de crea uno nuevo, de modificar y
eliminar.
La siguiente figura muestra el registro de los permisos del sistema web de farmacia maya.
56
3.3.3. TERCER SPRINT
En la tercera iteración se desarrollaron el módulo de compras y ventas de medicamentos.
3 20/10/2019 12 días
ID TAREA TIPO DIAS DE ESTADO
TRABAJO
R3.1 Realizar la planificación Planificación 2 Terminado
de las iteraciones
R3.2 Analizar los Planificación 2 Terminado
requerimientos de
Backlog del producto
R3.3 Desarrollo de control de Desarrollo 3 Terminado
ventas de medicamentos.
R3.4 Registros o reportes de la Desarrollo 1 Terminado
estadísticas de ventas
R3.5 Desarrollo del módulo de Desarrollo 2 Terminado
compras ABM.
57
Figura 3. 22 Diagrama de componentes – Registro de Venta
Fuente: Elaboración propia
58
3.3.3.2. MODELO DE PRESENTACIÓN
En la figura 3.24 se muestra el modelo de presentación del registro de facturas del sistema web de
farmacia maya.
59
La siguiente figura muestra el registro de las compras de medicamentos al proveedor.
60
3.4. POSTGAME
NOMBRE DESCRIPCIÓN
Responsable de la administración de la
Administrador de farmacia Maya , crea usuarios y asigna
farmacia Maya roles a los demás usuarios de la
farmacia, puede eliminar ,cambiar
contraseñas.
Encargado de la gestión y el buen
farmacéutico de funcionamiento del almacén de los
farmacia Maya medicamentos, registra los proveedores,
medicamentos, genera reportes de
compras y ventas, estadísticas de ventas
Esta fase es una de las más importantes, ya que nos permite verificar junto al cliente de la
farmacia Maya si se pudieron cumplir con los requerimientos específicos en las historias de
usuario. También sirve como retroalimentación para ver que historias de usuario fueron
implementadas sin error, o realizar modificaciones necesarias o simplemente descártalas.
Este tipo de pruebas fueron realizadas para cada entrega del software en los distintos sprint
que se tuvo.
61
Las siguientes tablas se muestran todas las pruebas de aceptación requeridas por el cliente en
cada historia de usuario, además de la iteración en la cual fueron solucionadas correctamente.
Adición y edición de Usuario. En esta prueba se busca encontrar todo tipo de errores que se
generen en el proceso de registro de un usuario nuevo en el sistema, ya sea en el llenado del
formulario de registro con datos no válidos o también por la falta de datos obligatorios.
PRUEBA DE ACEPTACIÓN
Número: 1 Usuario: Administrador del sistema
Historia de Usuario: Administración de usuarios
Descripción:
Controlar que el nombre de usuario sea único.
Controlar que no se permita registrar el formulario de al momento de crear usuario
nuevo, si es que todos los campos están llenados obligatoriamente.
Validar los campos numéricos para evitar errores en el sistema.
Mostrar un mensaje de confirmación una vez que se haya el registro correctamente.
Test de Aceptación: Aceptado por el cliente en la primera muestra.
Administración de ventas. En esta prueba se busca encontrar todo errores que se generen
durante al momento de realizar las ventas guardado en la base de datos, ya sea para la validez
de los datos almacenados y la edición, si es posible, de algún dato guardado incorrectamente.
PRUEBA DE ACEPTACIÓN
Número: 2 Usuario: Farmacéutico
Historia de Usuario: Administración de ventas
Descripción:
Controlar que cada registro de venta funcione correctamente mostrando todos los
datos de manera correcta.
Controlar la actualización del stock de cada medicamento vendidos.
Controlar que los campos obligatorios sean debidamente llenados.
Validar los campos numéricos para evitar errores en el sistema.
Mostrar un mensaje de confirmación una vez que se haya el registro correctamente.
62
Test de Aceptación: Aceptado por el cliente en la segunda muestra
Tabla 3. 25 Verificación de administración de ventas
Fuente: Elaboración propia
Administración de compras. En esta prueba se busca encontrar los errores que se generen
durante al momento de realizar las compras. Ya que la compra implica el ingreso de
medicamentos al inventario, se debe tener mucho cuidado con la información que está siendo
ingresada a la base de datos.
PRUEBA DE ACEPTACIÓN
Número: 3 Usuario: Farmacéutico
Historia de Usuario: Administración de compras
Descripción:
Verificar el ingreso correcto de los medicamentos comprados al inventario.
Controlar que los campos sean debidamente llenados, mostrando alertas y señalando
los campos que deben ser ingresados.
Validar los campos numéricos para evitar errores en el sistema.
Mostrar un mensaje de confirmación una vez que se haya el registro correctamente.
Test de Aceptación: Aceptado por el cliente en la tercera muestra
Tabla 3. 26 Verificación de administración de compras
Fuente: Elaboración propia
Administración de Productos. Esta prueba busca encontrar los errores que se generen
durante al momento de realizar la administración de medicamentos, ya que con esos datos
serán utilizados al momento de hacer realizar las ventas y compras.
PRUEBA DE ACEPTACIÓN
Número: 4 Usuario: Farmacéutico
Historia de Usuario: Administración de medicamentos
Descripción:
Verificar que en la venta el precio sea el correcto.
Controlar que los campos obligatorios sean debidamente llenados, mostrando alertas
y señalando los campos que deben ser ingresados
Validar los campos numéricos para evitar errores en el sistema.
Mostrar un mensaje de confirmación una vez que se haya el registro correctamente
Test de Aceptación: Aceptado por el cliente en la tercera muestra
Tabla 3. 27 Verificación de administración de medicamentos
Fuente: Elaboración propia
63
3.5.2 PRUEBA DE STRESS
La prueba de Stress es aquella que fuerza al sistema al máximo punto para poder medir sus
capacidades y las condiciones en las cuales trabaja realizando una calidad definida de
peticiones y de procesos.
Para realizar la prueba de Stress del sistema web se utilizó el software JMeter para analizar
y medir el desempeño. Se llevará a cabo 6 peticiones por usuario, las cuales estaban dadas
en el siguiente orden:
Entre cada una de las peticiones se dejaba un tiempo entre 2 a 3 segundos para saturar al
sistema de manera simultánea y para poder dar un poco de realismo a la prueba.
Los usuarios se conectan al mismo tiempo, cada uno en una sesión diferente y se llevan a
cabo estas seis actividades, para lo cual se registraron los tiempos de respuesta y se tomaron
algunos datos estadísticos que proporciona el JMeter. Para encontrar el número correcto de
usuarios después de varias pruebas incrementadas, es decir se comenzó probando para un
número de usuarios reducidos, y se fue aumentando para medir el desempeño del sistema.
Hasta que se encontró que el caso optimo fue con 55 usuarios y el caso crítico con 65. A
pesar de que la diferencia que existe entre estos dos números es muy pequeña. Para 65
usuarios se empieza a reportar errores mínimos pero que si afectan a algunos de los usuarios
que se encuentran utilizando el sistema.
64
#Muestras: es la actividad de veces que se realizó la actividad (una vez por cada
usuario)
Media: el promedio o media aritmética del tiempo en milisegundos.
Mediana: el tiempo en milisegundos.
Min: tiempo mínimo de todos los requests de este tipo.
Max: Tiempo máximo en todos los requests de este tipo.
Porcentaje de error: en el cual se muestra el porcentaje de los requests fallidos.
Rendimiento: este medido en requests/segundo.
KB/Sec: Medida de velocidad en Kilobytes/sec.
65
Este tiempo es bastante bueno tomando en cuenta que son 65 usuarios conectados al mismo
tiempo.
Para el caso óptimo se utiliza usuarios y como se muestra en la tabla no hay porcentaje de
error y es un mejor rendimiento del sistema. Además, se puede apreciar que el porcentaje de
error en todas las peticiones es de 0.00%, esto indica que no fue desplegada ninguna página
de error, puesto que todas las peticiones fueron respondidas de manera adecuada y correcta,
si se toma la medida de la tabla 3.28, que es de 2790 ms, y se compara con la tabla 3.29, que
es de 2470 ms, se puede apreciar que existe una mínima diferencia de 0.32.
segundo lo cual es un poco menos de tiempo. Por lo que se considera como un tiempo de
respuesta muy pequeño, lo que clasifica al sistema de rápido.
66
CAPÍTULO IV
CALIDAD Y SEGURIDAD
En todo sistema es necesario conocer la calidad del mismo, debido a que este es un factor
muy importante para el buen funcionamiento del mismo, ya que la calidad de diseño
acompaña a los requisitos, especificaciones y diseño del sistema.
Es una Metodología de Evaluación de Calidad de Sitios Web (o, en inglés, Web-site Quality
Evaluation Method, o, metodología Web-site QEM), que propone un enfoque sistemático,
disciplinado y cuantitativo que se adecua a la evaluación, comparación y análisis de calidad
de sistemas de información centrados en la Web, éste mismo está basado en las normas de
calidad de la ISO 9126. En la tarea “Especificando Requerimientos de Calidad para artefactos
Web”, de la ISO 9126, los evaluadores deben especificar las características,
subcaracterísticas y atributos de calidad agrupándolas en un árbol de requerimientos. Estas
características de alto nivel son: usabilidad, funcionalidad, confiabilidad, eficiencia,
portabilidad, y mantenibilidad (Olsina, 1999).
67
c) USABILIDAD: Se define como un conjunto de atributos que otorgan el esfuerzo
necesario para su uso, y en la evaluación individual de dicho uso, mediante un
conjunto de usuarios declarados o implícitos. (ISO9126, 2005).
d) EFICIENCIA: Se define como un conjunto de atributos que otorgan la relación entre
el nivel de rendimiento del software y la cantidad de recursos usados por el usuario,
bajo las condiciones establecidas. (ISO9126, 2005).
e) MANTENIBILIDAD: Se define como un conjunto de atributos que otorgan el
esfuerzo necesario para hacer modificaciones específicas. (ISO9126, 2005).
f) PORTABILIDAD: Se define como un conjunto de atributos que otorgan la habilidad
de software para ser transferido de un entorno a otro. (ISO9126, 2005).
4.2.1.1 USABILIDAD
Consiste de un conjunto de atributos que permiten evaluar el esfuerzo necesario que deberá
invertir el usuario para utilizar el sistema web.
Es una característica de calidad de producto de alto nivel, que se la puede medir mediante
cálculo a partir de métricas directas e indirectas. Representa la capacidad o potencialidad del
producto para ser utilizado, comprendido y operado por los usuarios, además de ser atractivo.
68
facilitando el rápido acceso y recorrido del mismo y sus componentes (tabla 46). Por
tal razón, los atributos y subcaracterísticas se hallan principalmente en la página
principal o en los primeros niveles del sitio.
69
5.2 Libro de invitados 0,75
5.3 Comentarios/ sugerencias 0,33
TOTAL 0,80
Tabla 4. 2 WebSiteQEM: Evaluación de mecanismos de ayuda
Fuente: Elaboración propia
70
CARACTERÍSTICA: MISCELÁNEAS
Nro. Subcaracteristica Resultado
1. Soporte lenguaje extranjero 0,00
2. Atributo que es lo nuevo 1,00
3. Indicador de resolución de pantalla 1,00
TOTAL 0,66
Tabla 4. 4 WebSiteQEM: Evaluaciones misceláneas de usabilidad
Fuente: Elaboración propia
4.2.1.2 FUNCIONALIDAD
71
2, Mecanismos de recuperación 1,00
2,1 Nivel de personalización 1,00
2.2 Nivel de retroalimentación en la 1,00
recuperación
TOTAL 0,83
Tabla 4. 6 WebSiteQEM: Evaluación de búsqueda y recuperación
Fuente: Elaboración propia
72
2. Servicios on-line 1,00
TOTAL 1,00
Tabla 4. 8 WebSiteQEM: Evaluación de dominio orientado al Usuario
Fuente: Elaboración propia
4.2.1.3 CONFIABILIDAD
CARACTERÍSTICA: CONFIABILIDAD
Nro. Subcaracterística Resultado
1. No deficiencia 1,00
1.1 Errores de enlaces 0,00
1.1.1 Enlaces rotos 0,00
1.1.2 Enlaces inválidos 0,00
1.1.3 Enlaces no implementados 0,00
1.2. Errores o deficiencias varias 0,00
73
1.2.1. Deficiencias o cualidades ausentes 0,00
debido a diferentes navegadores
1.2.2. Deficiencias o resultados inesperados 0,00
1.2.3. Nodos destino en construcción 0,00
1.2.4. Nodos web muertos 0,00
EVALUACIÓN TOTAL DE CONFIABILIDAD 1,00
Tabla 4. 10 WebSiteQEM: Evaluación de confiabilidad
Fuente: Elaboración propia
4.2.1.4 EFICIENCIA
Es una característica de calidad de producto de alto nivel – que puede medirse mediante
cálculo a partir de métricas directas e indirectas –, y principalmente representa a la relación
entre el grado de performance del artefacto y la cantidad de recursos (tiempo, espacio, entre
otros) usados bajo ciertas condiciones.
Desempeño: Para este atributo, se mide el tamaño de todas las páginas (estáticas) del
sitio web, considerando todos sus componentes gráficos, tabulares y textuales. El
tamaño de cada página se especifica como una función del tiempo de espera y de la
velocidad mínima establecida para una línea de comunicación dada.
CARACTERÍSTICA: DESEMPEÑO
Nro. Subcaracterística Resultado
1. Páginas de acceso rápido 1,00
TOTAL 1,00
Tabla 4. 11 WebSiteQEM: Evaluación de desempeño
Fuente: Elaboración propia
74
CARACTERÍSTICA: ACCESIBILIDAD
Nro. Subcaracterística Resultado
1. Accesibilidad de la información 1,00
1.1 Soporte a versión solo texto 1,00
1.2 Legibilidad al desactivar la propiedad 1,00
imagen del browser
1.2.1 Imagen con titulo 1,00
1.2.2 Legibilidad global 1,00
2. Accesibilidad de ventanas 1,00
2.1 Número de visitas considerando marcos 1,00
2.2 Versión sin marcos 1,00
TOTAL 1,00
Tabla 4. 12 WebSiteQEM: Evaluación de accesibilidad
Fuente: Elaboración propia
4.3 RESULTADOS
La calidad total de la aplicación web estará determinada por el promedio de las características
de usabilidad, funcionalidad, confiabilidad y fiabilidad como muestra la siguiente tabla:
75
Por lo tanto, el nivel de calidad total del “Sistema Integrado Web de Control de Compra,
Venta e Inventarios de Medicamentos” propuesto, es de un 93%.
Se usó como base de datos MySQL. En cuanto a la forma de resguardo se realizó los
siguientes puntos:
76
Cuando una acción del usuario en el sistema requiere o solicita algunos registros de
la base datos, existe una conexión segura para esta acción.
Este algoritmo fue desarrollado por Ronald Rivest está basado en los algoritmos anteriores
MD y MD4. MD5 comienza rellenando el mensaje una longitud congruente, es decir la
longitud de un mensaje es de 64 bits, el relleno comienza con un 1, seguido de tantos ceros
sean necesarios.
El algoritmo MD5 se encuentra en PH3, PH4 y PHP5 como una función de cifrado tipo hash
que acepta una cadena de texto como entrada, y devuelve el numero de 128 bits. Las ventajas
de este algoritmo es la imposibilidad de reconstruir la cadena original a partir del resultado,
para la implementación de un método seguro para la autentificación y asignación de niveles
de acceso y privilegios.
77
4.5 SEGURIDAD DE LA APLICACIÓN
4.5.1 CONFIDENCIALIDAD
Datos privados de gran importancia como es el caso de la contraseña de los usuarios que se
cifra mediante el uso del algoritmo md5 antes de ser almacenado en la base de datos de modo
tal que, aunque algún intruso pudiera acceder a la información contenida en la base no podría
obtener la contraseña del usuario ya que este algoritmo de encriptación no permite realizar el
proceso inverso de decodificación, es decir es de un solo sentido y por lo tanto de gran
efectividad. Adjuntamos una imagen del lugar donde realizamos el proceso de encriptación
empleando el helper de form validation proporcionado por el marco de trabajo de codeigniter.
Todos los formularios presentados a los diferentes usuarios fueron completamente validados
empleando las facilidades que nos brindó el helper de form validation verificando aspectos
78
relevantes como el password solicitándolo no se muestra ,eso para garantizar que la seguridad
también los campos están validados , no permitiendo que se enviaran formularios
incompletos o incorrectamente diligenciados e informando a los usuarios acerca de los
campos faltantes o incorrectos para su oportuna corrección.
79
CAPÍTULO V
COSTO Y BENEFICIO
5.1 INTRODUCCIÓN
5.1.1 COCOMO II
En todo proyecto es importante tener una planificación o estimación de costos, no solo de los
requerimientos de hadware, costos de tiempo y esfuerzo; COCOMO II, es un método de
estimación de costos y refuerzos de únicamente proyecto de software, que permite por medio
de los módulos planificados en el software.
Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación, cada vez mayor,
a medida que avanza el proceso de desarrollo del software: básico, intermedio y detallado.
Para calcular el costo del proyecto se lo realizara haciendo uso del modelo COCOMO II. El
modelo COCOMO, tiene una jerarquía de modelos como ser básico, intermedio y avanzado,
la cual se aplica a tres diferentes tipos de software.
80
EMPOTRADO: Proyectos bastantes complejos, en los que apenas se tiene
experiencia y en un entorno de gran innovación técnica.
La tabla 5.1 muestra los coeficientes del proyecto de software de acuerdo a los tres modos
expuestos anteriormente.
PROYECTO DE SOFTWARE A B c d
COCOMO II consta con tres modelos de estimación, los mismos se representan en 3 ecuaciones:
𝑷 = 𝑬⁄𝑫 , 𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒔
Dónde:
81
5.2 COSTO DEL SISTEMA
FACTOR DE PONDERACIÓN
N° de Entradas de usuario 15 3 4 6 55
N° de peticiones de usuario 17 3 5 5 80
N° de archivos 12 7 7 8 90
Nº de interfaces externas 3 5 8 7 20
TOTAL 265
Este resultado se debe convertir a KLDC (Kilos de Líneas de Código), para ello se utiliza la
siguiente la tabla 5.3
C 2.5 128
JAVA 6 53
PL/I 4 80
82
ANSI COBOL 74 3 107
ASP 9.00 36
PHP 11.00 29
𝐿𝐷𝐶
𝐿𝐷𝐶 = 𝑃𝐹 ∗ 𝐹𝑎𝑐𝑡𝑜𝑟 = 265 ∗ 29 = 𝟕𝟔𝟖𝟓
𝑃𝐹
𝑳𝑫𝑪 = 𝟕𝟔𝟖𝟓
𝐾𝐿𝐷𝐶 = 𝐿DC/1000
𝐾𝐿𝐷𝐶 = 7685/1000
𝑲𝑳𝑫𝑪 = 7,685
A continuación, haremos el cálculo del esfuerzo necesario para la programación del sistema,
para ello utilizamos la siguiente ecuación:
𝑬 = 𝒂 ∗ (𝑲𝑳𝑫𝑪)𝒃 , 𝒆𝒏 𝒑𝒆𝒓𝒔𝒐𝒏𝒂⁄𝒎𝒆𝒔
Para hallar el esfuerzo “E” definimos antes el tipo del proyecto que en nuestro caso es
orgánico y utilizamos de los datos de la tabla 5.1. Con esto se reemplaza en la fórmula:
Dónde:
83
𝐸 = 2.1 ∗ (7,685)1,01
𝑬 = 𝟏𝟔, 𝟒𝟕𝟎𝟗𝟖 𝑝𝑒𝑟𝑠𝑜𝑛𝑎 𝑚𝑒𝑠
Ahora para hallar el tiempo del proyecto usamos los datos de la tabla 5.1, recordando que el
proyecto es de tipo orgánico y reemplazando en la siguiente formula:
𝑫 = 𝒄(𝑬)𝒅 𝒆𝒏 𝒎𝒆𝒔𝒆𝒔
𝐷 = 2.05 ∗ (16,47098)0.34
𝐷 = 5,314
𝑬
𝑷= , 𝒆𝒏 𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒔
𝑫
El salario promedio de un programador oscila entre los 200 a 250 $us, en nuestro caso
tomaremos un promedio de 225$us. A partir de este monto podemos calcular el costo total
del desarrollo del software.
84
Costo total del desarrollo = 675 * 5
Costo total del desarrollo = 3.375 $us
La farmacia no cuenta con un área de sistemas actualmente al corriente del trabajo diario,
pero si cuenta con una actualización anual para el registro de inventarios por lo cual el costo
de implementación que se tendrá será la configuración de la parte del servidor. El mismo
tendrá un costo de 100Sus.
En la tabla 5.4 se muestra el costo del desarrollo del proyecto haciendo referencia a los gastos.
Material de escritorio 20
Internet 30
Otros 20
85
DETALLE IMPORTE ($us)
TOTAL 273,375
El VAN o valor actual neto es un procedimiento que permite calcular el valor presente de un
determinado número de flujos de caja futuros, originados por una inversión. La metodología
consiste en descontar al momento actual (es decir, actualizar mediante una tasa) todos los
flujos de caja futuros del proyecto. A este valor se le resta la inversión inicial, de tal modo
que el valor obtenido es el valor actual neto del proyecto.
𝑮𝒂𝒏𝒂𝒏𝒄𝒊𝒂𝒔 𝑪𝒐𝒔𝒕𝒐𝒔
𝑽𝑨𝑵 = ∑ 𝒏
−∑
(𝟏 + 𝑲) (𝟏 + 𝒌)𝒏
Dónde:
VAN: Valor Actual Neto
Ganancias: Ingreso de flujo anual
Costos: Salidas de flujo anual
n: Numero de periodo
k: Tasa de descuento o tasa de interés al préstamo
86
Los gastos y ganancias que se estiman en un lapso de 4 años los mostramos en la tabla 5.6,
para este caso en particular utilizamos una tasa de descuento del 12% ya que es la tasa actual
de interés del préstamo.
1 273,375 0 8.0808682 0
La tabla 5.6 muestra si un proyecto es rentable y de acuerdo a ciertos criterios más el valor
del VAN concluiremos si es rentable o no.
87
De aquí concluimos: considerando que el VAN = 215,375 ≈ 216 y siguiendo los criterios de
la tabla 5.7 se afirma que nuestro proyecto es rentable ya que 216 es mayor a 0.
Como el resultado que obtuvimos es de VAN =215,375 podemos afirmar que nuestro
proyecto es rentable.
Costo/Beneficio = 1.52 $.
Cuando en la fórmula del VAN el valor de “k” es igual a “0” pasa a llamarse TIR (Tasa
Interna de Retorno). La TIR es la rentabilidad que nos proporciona al proyecto.
𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎𝑠 − 𝐶𝑜𝑠𝑡𝑜𝑠
𝑇𝐼𝑅 = ∑
(1 − 𝑖)𝑛
Dónde:
TIR: Tasa Interna de Retorno
Ganancias: Flujo de entrada de un periodo
Costos: Flujo de salida de un periodo
i: Tasa de interés al ahorro n: Numero de periodo
La tabla 5.8 muestra una mejor compresión de ecuación TIR y expresando los resultados
encontrados en las misma.
88
AÑO COSTOS GANANCIAS
1 273,375 0 -310,653
1191,426
89
CAPÍTULO VI
CONCLUSIONES Y RECOMENDACIONES
6.1 CONCLUSIONES
Una vez finalizado el proyecto de grado Sistema Integrado Web de Control de Compra, Venta
e Inventarios de Medicamentos para farmacia Maya, se ha logrado alcanzar el objetivo
principal planteado, cumpliendo con las necesidades de la farmacia.
6.2 RECOMENDACIONES
A partir del presente trabajo se propone las siguientes recomendaciones, con el fin de
buscar el mejoramiento del sistema:
90
Realizar un control y seguimiento de los procesos de registro y reportes que brinda el
sistema.
Se recomienda la utilización de herramientas de programación brindadas por PHP,
debido a la interfaz amigable para el desarrollador.
La revisión periódica por cierto periodo de tiempo es recomendables para eficiencia
y un funcionamiento adecuado del sistema.
En cuanto a la farmacia Maya podemos recomendar que en el área de ventas se
implemente un sistema contable.
Se debe tener cuidad respecto a las claves de acceso al sistema a los usuarios, siempre
mantenerlas seguras y protegidas, también cambiarlas de vez en cuando.
91
BIBLIOGRAFÍA
CERI S., (2000). Lenguaje de Modelado Web (WebML): un lenguaje para diseñar sitios
Web,San Francisco Morgan Kauffman Publisher 2000 216p
92
MONGUA J., Sandoval H. 2009 Propuesta de un modelo de inventario para la mejora del
ciclo logístico de una distribuidora de confites ubicada en la ciudad de Barcelona,
estado Anzoátegui, Optar al título de Ingeniero de Sistemas, Puerto la Cruz,
Universidad de Oriente.
PÁEZ, Nicolás et al. (2014). Construcción de software: una mirada ágil. EDUNTREF.
93
PROYECTOS DE GRADO
CARRILLO CRUZ, E. (2017) Sistema web de control de compras, ventas e inventarios caso:
“comercial Ariana”. La Paz, Bolivia: Facultad de Ciencias Puras y Naturales.
ROJAS LAGUNA, D. (2014) “Sistema web de compras, ventas e inventario caso: empresa
eddymar”.La Paz, Bolivia: Facultad de Ciencias Puras y Natural
94
ANEXOS
95
A1. MARCO LÓGICO
96
- Pronosticación el
abastecimiento de
medicamentos.
97
A3. ÁRBOL DE OBJETIVOS
98
DOCUMENTACIÓN