PG 3736
PG 3736
CARRERA DE INFORMÁTICA
PROYECTO DE GRADO
“SISTEMA WEB DE ADMINISTRACIÓN Y CONTROL DEL
ALMACENAMIENTO DE ARTÍCULOS EN EL ALMACÉN
CENTRAL Y EN SUBALMACENES
CASO: GOBIERNO AUTÓNOMO MUNICIPAL DE EL ALTO”
LA PAZ - BOLIVIA
2020
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE CIENCIAS PURAS Y
NATURALES CARRERA DE INFORMÁTICA
LICENCIA DE USO
i
Dedicatoria
ii
Agradecimientos
A mi familia que siempre me apoyo, mi padre Braulio Espejo una persona trabajadora
quien me enseño que la clave del éxito es el esfuerzo constante y la confianza en Dios,
mi madre Hilaria Quenta que siempre creyó en mí y me enseño que la empatía hacia
las demás personas y seguir siempre mis sueños y mi hermana Jeannine Espejo quien
es mi ejemplo a seguir quien me enseñó a dar todo de mi si quiero lograr algo.
Dar mis agradecimientos también a mi Asesor Ph.D. Yohoni Cuenca Sarzuri, una
persona llena de inteligencia y de sabios consejos, quien dedico su tiempo a la ayuda
del desarrollo de este proyecto de grado desde el inicio hasta el final.
A la unidad de sistemas del Gobierno Autónomo Municipal de El Alto, por ser unas
personas muy amables y darme la oportunidad de desarrollar este proyecto.
A todas las personas que lograron que la universidad sea un lugar muy agradable, a
Andrea Belén por sus consejos, por acompañarme y guiarme en cada año de la
carrera y ayudarme siempre a conseguir llegar más lejos, a Ericka, Gunar, Rous,
Boris, Jorge y todos con los cuales compartí experiencias para recordar.
A los chicos del centro de estudiantes, donde podíamos despejarnos del estrés de la
universidad y pasar un buen momento con su compañía.
iii
ÍNDICE
iv
2.2. METODOLOGÍA DE DESARROLLO ............................................................... 27
v
2.4. TECNOLOGÍA DE SOFTWARE ........................................................................ 40
2.6.5. MANTENIBILIDAD........................................................................................... 45
vi
3.3. PRE – GAME ......................................................................................................... 53
[Link]. PLANIFICACIÓN............................................................................................ 70
[Link]. PRUEBAS.......................................................................................................... 74
[Link]. PLANIFICACIÓN............................................................................................ 75
[Link]. PRUEBAS.......................................................................................................... 84
[Link]. PLANIFICACIÓN............................................................................................ 85
[Link]. PRUEBAS.......................................................................................................... 94
[Link]. PLANIFICACIÓN............................................................................................ 95
vii
[Link]. DESARROLLO .............................................................................................. 105
viii
6. CAPÍTULO VI SEGURIDAD DE SISTEMA ................................................... 152
ix
ÍNDICE DE FIGURAS
x
figura 3.16 Caso de uso de gestión de artículos ...................................................................... 88
figura 3.19 Diagrama de clases de contenido del módulo Gestión de artículos y almacén..... 91
figura 3.20 Diagrama de navegación del módulo de Gestión de artículos y almacenes .......... 92
figura 3.27 Diagrama de clases de contenido del módulo ingresos y pedidos ....................... 101
figura 3.28 Diagrama de navegación del módulo de ingreso y pedidos ................................. 102
figura 3.34 Diagrama de clases de contenido del módulo reportes ........................................ 109
figura 3.38 Ingreso al sistema como administrador – almacén central .................................. 115
xi
figura 3.42 Gestión de proveedores ........................................................................................ 117
xii
ÍNDICE DE TABLAS
Tabla 3.12 Crear y registrar la estructura del Gobierno Autónomo Municipal de El Alto ..... 59
xiii
Tabla 3.22 Generar nota de pedido .......................................................................................... 63
xiv
Tabla 3.48 Sprint 4 ................................................................................................................ 104
xv
RESUMEN
Este proyecto tiene como fin ser un sistema de información y de administración de los
artículos de un almacén central y sub almacenes, tanto en sus movimientos como en reportes.
Este proyecto de grado es titulado “SISTEMA WEB DE ADMINISTRACIÓN Y CONTROL
DEL ALMACENAMIENTO DE ARTÍCULOS EN EL ALMACÉN CENTRAL Y EN
SUBALMACENES, CASO: GOBIERNO AUTÓNOMO MUNICIPAL DE EL ALTO”
desarrollado para los departamentos en los cuales exista un sub almacén y para la unidad de
almacenes como almacén central. Lo que nos da como resultado que se desarrolló un sistema
web para la administración y control del almacenamiento de artículos en el almacén central y
los subalmacenes desconcentrados para que el proceso de movimiento de artículos sea ágil y
su información sea actualizada en el Gobierno Autónomo Municipal de El Alto.
Para el desarrollo del presente proyecto se utilizó la metodología SCRUM la cual nos
proporciona un método ordenado de desarrollo, haciendo de este un desarrollo ágil dividido en
etapas, las cuales se denominan Sprints en base a las historias de usuario, dichas historias de
usuario se recolectan de entrevistas con el personal de la unidad de almacenes que opera como
almacén central. Se utilizó también la metodología de desarrollo UML y para el desarrollo
web se aplica la metodología denominada UWE usando los diversos modelos que nos
presenta, nos ayudó a realizar un modelado más ordenado y preciso.
Para el aspecto de calidad de software se aplicó los factores de calidad basados en el ISO-
9126 y para obtener el costo del sistema de opto por aplicar el modelo de costos de COCOMO
II que es el más utilizado y probado.
Palabras Clave: Subalmacenes, SCRUM, Método P.E.P.S, Metodología UWE. COCOMO II.
xvi
ABSTRACT
The use of Information Technology and Communications ICT helps us to solve various tasks
and optimize processes that would be quite costly if we did manually, for this reason and the
evolution of networks and the Internet is that many companies and institutions choose to
integrate an information system to streamline work, facilitate many tasks and have a record of
their activities more orderly.
For the development of this project we used the SCRUM methodology which provides an
orderly method of development, making this an agile development divided into stages, which
are called Sprints based on user stories, these user stories are collected from interviews with
staff of the warehouse unit that operates as a central warehouse. We also used the UML
development methodology and for the web development we applied the methodology called
UWE using the different models that it presents us, it helped us to make a more ordered and
precise modeling.
For the software quality aspect, we applied the quality factors based on ISO-9126 and to
obtain the cost of the system we opted to apply the COCOMO II cost model which is the most
used and tested.
xvii
1. CAPÍTULO I MARCO REFERENCIAL
1.1. INTRODUCCIÓN
El 6 de marzo de 1985, el Congreso Nacional aprobó la Ley 728, creando la Cuarta Sección
Municipal de la provincia Murillo, con su capital El Alto, fue elevada al rango de ciudad, por
la Ley 1014 de fecha 26 de septiembre de 1988; el mismo que dio lugar a la división de la
ciudad de La Paz y El Alto, previamente este territorio era administrado como parte del
municipio vecino de La Paz(Ley Nº 728, 1985).
Actualmente los subalmacenes no cuentan con una forma automática de organizar sus
materiales, no están organizados ni implementados de manera oficial, por lo cual sus procesos
de pedido e ingresos pasan siempre por el almacén central, que controla sus procesos y la
cantidad de existencias en sus subalmacenes.
Se debe sistematizar este proceso, así cada subalmacén podrá administrar sus propios artículos
y sus movimientos, bajo supervisión del almacén central que bajo reglamento es la entidad
responsable de ellos.
La información del almacén central es única y solo se maneja en el almacén central, sin
embargo, se crearán subalmacenes que tienen el objetico especifico de optimizar la
disponibilidad de bienes de consumo en 21 subalmacenes inicialmente creados por la
Resolución Administrativa Municipal Ejecutiva Nº 071/19, por lo cual es de cumplimiento
obligatorio(Resolucion Administrativa Municipal Ejecutiva N° 071/19, 2019).
18
Según la Justificación Técnica: Con este Proyecto se diseñará un sistema de información
donde se busca facilitar y organizar las actividades y elaboración de kardex, registro de
pedidos, de entradas y salidas, apoyando con nuevas tendencias tecnológicas generando
soluciones efectivas. El sistema de información será una herramienta moderna que se
caracteriza por la facilidad de búsqueda y eso permitirá a la unidad responsable del almacén
tener un control sobre su inventario real y actualizado en el menor tiempo posible.
Para ayudar al buen funcionamiento del alancen central y los subalmacenes se ha decidido
desarrollar un sistema web para la administración y control del almacenamiento de artículos
en el almacén central y los subalmacenes desconcentrados para que el proceso de movimiento
de artículos y su información sea actualizada en el Gobierno Autónomo Municipal de El Alto.
El sistema actual no contempla la posibilidad de generar subalmacenes para facilitar las tareas
del almacén central y así poder descentralizar la información y distribuirla de manera
pertinente teniendo un constante control de parte del almacén central y por parte del
departamento de contabilidad.
19
Se carece de un orden en las etapas de movimiento de material, pedido en borrador, pedido
verificado con el stock disponible y pedido aprobado y entregado, provocando así el riesgo de
pérdida de la información o de material en el almacén y subalmacenes.
20
• Proyecto de Grado “Sistema web de control de compras, ventas e inventarios caso
Comercial Ariana”. Se automatiza y centraliza la información sobre sus compras, ventas e
[Link] desarrollo del proyecto se basó en las fases propuestas por la Metodología
de Desarrollo Ágil XP (Extreme Programming – Programación Extrema) el cual fue muy
útil al momento de diseñar las funciones y la interfaz del usuario. Como herramienta de
desarrollo de aplicaciones web se utilizó el framework Laravel en su versión 5.4
complementado con el gestor de base de datos MySQL. Para el diseño responsivo como
los dispositivos móviles adaptables se utilizó el framework Bootstrap, acompañado de
Javascript, JQuery y PHP(Carrillo, 2017).
• Proyecto de Grado “Sistema web de gestión y control de almacenes e inventarios Caso:
Ministerio de planificación del desarrollo”. El presente proyecto presente proyecto se
realizó para almacenes del Ministerio de Planificación del Desarrollo el cual solicita un
sistema actualizado, que genere reportes, inventarios, solicitudes, ingresos de materiales,
salidas. El proyecto fue realizado con la metodología ágil SCRUM para el análisis y
diseño del sistema, para el modelado de sistemas se utilizó la propuesta de WebUML. El
sistema fue desarrollado en un entorno WEB con el framework Laravel, Backend PHP,
Frontend Javascript y la base de datos está desarrollada en MySQL(Hinojosa, 2018).
• Los subalmacenes no están bajo un control del almacén central, además que los
subalmacenes no tiene un acceso al sistema.
• Los subalmacenes carecen de un sistema que cubra sus necesidades básicas los procesos
de movimiento y control de artículos.
21
• La falta de clasificación de los artículos impide una mejor organización de ellos de
acuerdo a sus características.
• El registro de ingresos y pedidos no se hace de una forma automática, provocando errores
en los registros de los movimientos.
• La información de entradas y salidas de artículos de los subalmacenes no es clara y precisa
teniendo errores en los reportes.
• Diseñar una base de datos que permita un manejo de los subalmacenes y los relacione con
el almacén central para su respectivo control.
• Determinar los requerimientos necesarios para el análisis y diseño del sistema de
subalmacenes y cubrir así las necesidades del Gobierno Autónomo Municipal de El Alto.
• Diseñar un módulode registro de artículos, clasificando estos de manera ordenada según su
clasificador presupuestario.
• Brindar una verificación continua en las cantidades de los artículos para no generar
pérdidas en el stock.
• Guardar la información necesaria para lograr tener un registro de los movimientos de cada
artículo según cada subalmacén, utilizando la mayor cantidad de cifras significativas para
no perder información en redondeos.
1.4. JUSTIFICACIÓN
22
conectaráa los subalmacenes con el almacén central, haciendo el trabajo más fácil y eficiente y
dando un control al almacén central sobre sus subalmacenes.
Se logrará una integración de subalmacenes con las unidades solicitantes, una distribución
más eficiente de artículos y un control más eficiente por parte de unidades de contabilidad.
La implementación del sistema provocara que los tramites sean mucho más rápidos y los
gastos sean reducidos, además se realizara un control en los movimientos, de esta forma se
evitara que se pierdan artículos o que se genere un incremento de los precios
injustificadamente.
El proyecto permite incrementar los beneficios de tiempo sobre el costo que es el tiempo que
se invierte en realizar un pedido o ingreso al almacén central, logrando una descentralización
en los subalmacenes para mejorar los tiempos de respuesta.
23
1.5. ALCANCES Y LÍMITES
1.5.1. ALCANCES
El sistema estará disponible para los usuarios registrados en el sistema según el rol que se les
sea asignado y con acceso a los módulos según las funciones que realiza.
1.5.2. LÍMITES
24
• El sistema no realiza trabajo del personal de contabilidad, como ser ajuste de saldos y
balance de cuentas, entre otros.
25
2. CAPÍTULO IIMARCO TEÓRICO
El 6 de marzo de 1985, el Congreso Nacional aprobó la Ley Nº 728 que crea la Cuarta
Sección Municipal de la provincia Murillo, con su capital El Alto. El 26 de septiembre de
1988 se promulga la Ley Nº 1014 elevando a El Alto a rango de ciudad.
2.1.1. VISIÓN
El Alto con cultura, valores y liderazgo propios, seguro, moderno, con equidad e igualdad de
oportunidades, impulsa el desarrollo sustentable de la ciudad y se articula a la región
(INFORME DE RENDICIÓN PÚBLICA DE CUENTAS INICIAL, 2018).
2.1.2. MISIÓN
2.1.3. ORGANIGRAMA
Dada la importancia de esta unidad y de los futuros sub almacenes que se va administrar se
procede a desarrollar este sistema. Actualmente el sistema que se maneja no cumple con los
requerimientos actuales, en especial en el manejo de sub almacenes y también presenta errores
al generar reportes, esto debido a errores de redondeo de decimales.
26
2.2. METODOLOGÍA DE DESARROLLO
Para el siguiente trabajo se usará una de las metodologías agiles ya que es totalmente
conveniente debido a los requerimientos de la empresa y el poco tiempo que se tiene para
entregar los módulos, también se usará una metodología Web debido a que el entorno de
desarrollo se realizará en un entorno web y este tipo de metodología nos permitirá modelar
aplicaciones web, prestando especial atención en sistematización y personalización.
Hablando de las metodologías agiles, actualmente, las empresas operan en un entorno global
que cambia rápidamente; en ese sentido, deben responder a nuevas oportunidades y mercados,
al cambio de las condiciones económicas así, como al surgimiento de productos y servicios
nuevos y competitivos. Para ello es necesario emplear computadoras y dispositivos
computacionales, por lo que el software es partícipe de casi todas las operaciones
empresariales, de modo que debe desarrollarse de manera ágil para responder con oportunidad
y calidad a todo lo necesario.
Hablando de metodologías Web, el crecimiento desenfrenado que está teniendo la web está
ocasionando un impacto en la sociedad, y el nuevo manejo de información en las diferentes
áreas ha hecho que las personas tiendan a realizar sus actividades por esta vía. La ingeniería y
las metodologías web están relacionadas con el establecimiento y utilización de principios
científicos, de ingeniería y gestión, y con enfoques sistemáticos y disciplinados del éxito y
desarrollo (Rivas, Corona, Gutierrez, & Hernandez, 2015).
Las metodologías para aplicaciones Web contienen fases para el desarrollo de software que
pueden aumentar o disminuir dependiendo del método que utilicen, según Nieves Del Valle la
mayoría de los métodos coinciden en las siguientes etapas:
27
• Diseño Conceptual: en esta sección se abarca temas relaciones a la especificación del
dominio del problema, a través de su definición y las relaciones que contrae.
• Diseño Navegacional: está enfocado en lo que respecta al acceso y forma en la que los
datos son visibles.
• Diseño de la presentación o diseño de interfaz: se centra en la forma en la que la
información va a ser mostrada a los usuarios, cabe mencionar en esta sección intervienen
mayormente el cliente definiendo los requerimientos y lo usuarios defiendo como quieren
interactuar con el sistema.
• Implantación: es la construcción del software a partir de los artefactos generados en las
etapas previas.
Los principios SCRUM son congruentes con el manifiesto ágil y se utilizan para guiar
actividades de desarrollo dentro de un proceso de análisis que incorpora las siguientes
actividades estructurales: requerimientos, análisis, diseño, evolución y entrega. Dentro de cada
actividad estructural, las tareas del trabajo ocurren con un patrón del proceso (que se estudia
en el párrafo siguiente) llamado sprint. El trabajo realizado dentro de un sprint (el número de
éstos que requiere cada actividad estructural variará en función de la complejidad y tamaño
del producto) se adapta al problema en cuestión y se define y con frecuencia se modifica en
tiempo real por parte del equipo Scrum (Pressman, 2010).
Las prácticas empleadas por SCRUM para mantener uncontrol ágil en el proyecto son:
Revisión de las iteraciones,Desarrollo incremental, Desarrollo evolutivo, Auto organización
del equipo y Colaboración(Mariño & Alfonzo, 2014).
28
figura 2.1Roles, artefactos y eventos principales de SCRUM
Fuente: (Mariño & Alfonzo, 2014)
2.2.3. ROLES SCRUM
El Dueño de Producto es el responsable de maximizar el valor del producto y del trabajo del
Equipo de Desarrollo. El cómo se lleva a cabo esto podría variar ampliamente entre distintas
organizaciones. El Dueño de Producto es la única persona responsable de gestionar la Lista
del Producto o como se conoce Product Backlog.(Kniberg, 2010).
29
La gestión de la Lista del Producto incluye:
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.
El scrum master es un líder que está al servicio del equipo. Ayuda a las personas externas a
entender qué interacciones con el equipo pueden ser útiles y cuáles no. El scrum master ayuda
a todos a modificar estas interacciones para maximizar el valor creado por el
equipo(Pressman, 2010).
30
especialistas en áreasconcretas, pero la responsabilidad es el incremento de cada sprint y recae
sobre el equipo dedesarrollo en conjunto(Menzinsky, Scrum Master, 2019).
En el equipo:
• Pila del producto: (product backlog) lista de requisitos de usuario, que a partir de la
visión inicial del producto crece y evoluciona durante el desarrollo.
• Pila del sprint: (sprint backlog) lista de los trabajos que debe realizar el equipo durante el
sprint para generar el incremento previsto.
• Incremento: resultado de cada sprint(Menzinsky, Scrum Manager, 2016).
31
[Link]. PILA DEL PRODUCTO
La pila del producto es la lista ordenada de todo aquello que el propietario de producto cree
que necesita el producto.
Si se emplea formato de lista, la información mínima que se suele incluir para cada historia de
usuario es:
La pila del sprint (sprint Backlog) es la lista de las tareas necesarias para construir las historias
de usuario que se van a realizar en un [Link] confecciona el equipo en la reunión de
planificación del sprint, indicando para cada tarea el esfuerzo previsto para realizarla.
32
La pila del sprint descompone las historias de usuario en unidades de tamaño adecuado
para monitorizar el avance a diario, e identificar riesgos y problemas sin necesidad de
procesos de gestión complejos(Menzinsky, Scrum Manager, 2016).
[Link]. INCREMENTO
Sin embargo, es una excepción frecuente el primer sprint, que se suele denominar “sprint
0”.cuando tiene objetivos del tipo “contrastar la plataforma y el diseño” que resultan
necesarios alcomenzar algunos proyectos, e implican trabajos de diseño o desarrollo de
prototipos paracontrastar las expectativas de la plataforma o tecnología que se va a
emplear(Menzinsky, Scrum Master, 2019).
• Sprint: nombre que recibe cada iteración de desarrollo. Es el núcleo central que genera el
pulso de avance a ritmo de “tiempos prefijados” (time boxing).
• Reunión de Planificación del sprint: reunión de trabajo que marca el inicio de cada
sprint en la que se determina cuál es el objetivo del sprint y las tareas necesarias para
conseguirlo.
• Scrum diario: breve reunión diaria del equipo, en la que cada miembro responde a tres
cuestiones:
o El trabajo realizado el día anterior.
o El que tiene previsto realizar.
o Cosas que puede necesitar, o impedimentos que deben eliminarse para poder realizar el
trabajo.
33
• Revisión del sprint: análisis e inspección del incremento generado, y adaptación de la
pila del producto si resulta necesario (Menzinsky, Scrum Manager, 2016)
Scrum es una metodología Ágil, está basada en iteración y revisiones. El ciclo de vida de
SCRUM está compuesto de tres fases que son el pre Game, Game y el post Game(Palacio,
2008).
• 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:
o Recopilación: Donde se extrae los requerimientos para conformar el producto
backlog, priorizados de acuerdo al cliente y los usuarios que interactúan con el
proyecto.
o 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.
• 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 (Palacio, 2008).
[Link]. GAME
Una vez realizado el pre – Game se opta por realizar los siguientes puntos
• 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.
• Desarrollo de Sprint. El trabajo generalmente se organiza en iteraciones de 2 a 3 semanas.
El sprint es el desarrollo de la nueva funcionalidad del producto. Esta fase provee la
siguiente documentación.
• 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
34
información de las funciones, diseño ventaja, inconvenientes y esfuerzo del
equipo(Palacio, 2008).
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(Palacio,
2008).
Según el sitio oficial de UWE(München, 2016). La Ingeniería Web propone nuevos métodos
para el diseño de aplicaciones que se ejecutan en esta nueva plataforma que es la World Wide
Web. Uno de estos métodos es UWE UML Web Engineering, el cual aprovecha la notación
estándar del UML e incorpora elementos que son propios del desarrollo Web
“Es una propuesta metodológica basada en el Proceso Unificado y UML para el desarrollo de
aplicaciones Web. Cubre todo el ciclo de vida de este tipo de aplicaciones, centrando además
su atención en aplicaciones personalizadas” (Escalona & Koch, 2002, p. 65)
Según José Escalona y Nora Koch (2002), UWE es una metodología que abarca todos los
procesos de la construcción de las aplicaciones Web, sin embargo, se centra más en la
recopilación y validación de requisitos (funcionales y no funcionales) dando como resultado
un modelo de casos de uso y documentación acerca de los usuarios del sistema, casos de uso e
interfaz.
UML-Based Web Engineering (UWE) que está basado en UML y en el proceso unificado que
nos permitirá modelar aplicaciones web, utilizada en la ingeniería web, prestando especial
atención en sistematización y personalización (sistemas adaptativos).
35
2.3.2. REQUISITOS DE UWE
UWE clasifica los requisitos en dos grandes grupos: funcionales y no funcionales. Los
requisitos funcionales tratados por UWE son:
Además, UWE propone como técnicas apropiadas para la captura de los requisitos de un
sistema web las entrevistas, los cuestionarios y los checklists y los casos de uso, los escenarios
y el glosario para la definición de requisitos. Para la validación propone walk-throughs,
auditorías y prototipos (Escalona & Koch, 2002).
Una de las ventajas de que UWE extienda el estándar UML es la flexibilidad de éste para la
definición de un lenguaje de modelado específico para el dominio web y sobretodo la
aceptación universal de dicho estándar en el campo de la ingeniería del software. Otra gran
ventaja es que actualmente existen múltiples de herramientas CASE basadas en UML, con lo
cual es relativamente sencillo su utilización y ampliación para utilizar los objetos de modelado
definidos en UWE. El modelo que propone UWE está compuesto por 5 etapas o sub-modelos:
• Modelo de Casos de Uso: modelo para capturar los requisitos del sistema.
• Modelo de Contenido: es un modelo conceptual para el desarrollo del contenido.
• Modelo de Navegación: es modelo de usuario, en el cual se incluyen modelos estáticos y
modelos dinámicos.
• Modelo de Presentación: en el cual se encuentra la presentación del sistema.
• Modelo Abstracto: incluye el modelo a de interfaz de usuario y el modelo de ciclo de vida
del objeto(Maximilians, 2011).
36
[Link]. MODELO DE CASOS DE USO
En UWE se distinguen casos de uso, para ilustrar si los datos persistentes de la aplicación son
modificados o no. En la Figura 2.4 se muestra el grafico de ejemplo acerca de un caso de uso.
Este modelo especifica cómo se encuentra relacionados los contenidos del Sistema, define
laestructura de los datos que se encuentran alojados del Sistema Web. Este es un diagrama
UMLnormal de clases, por ello debemos pensar en las clases que son necesarias como sus
[Link] la Figura 2.5 se muestra el grafico de ejemplo.
37
[Link]. MODELO NAVEGACIONAL
Este modelo está basado en el modelado de los requerimientos y contenido. Las clases del
modelo de contenido que son consideradas relevantes para la navegación incluyen en el
modelo de navegación, como sus asociaciones, representando los navigationClass y
navigationLinks. En la figura 2.6 se ve los estereotipos usados y en la figura 2.7 se muestra el
grafico de ejemplo.
38
el modelo de presentación por el elemento de la UI correspondiente, como, por ejemplo: un
elemento de “next” es usado para representar el atributo “titulo” del <navigationClass>y un
elemento “image” es usado para representar el atributo “foto”. Generalmente el contenido de
distintos <navigationNodes> es presentado en una página Web, las <presentationPage> en
UWE. En este modelo se representa las clases de navegación y de procesos que pertenecen a
cada página Web. Estos elementos se describen en la figura 2.8
39
proceso, en el caso que el usuario navegue por éste. Está representado por diagramas de
actividad [Link] la figura 2.10 se muestra el grafico de ejemplo.
2.4.1. FRAMEWORK
40
En general, con el término framework, nos estamos refiriendo a una estructura software
compuesta de componentes personalizables e intercambiables para el desarrollo de una
aplicación. En otras palabras, un framework se puede considerar como una aplicación
genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir
una aplicación concreta (Gutiérrez, 2015).
2.4.2. BACKEND
El Backend en el desarrollo web, es la parte que controla toda la lógica que hay detrás de una
aplicación. Sería algo así como el cerebro de nuestra aplicación, que hoy en día están más que
optimizados y depurados por desarrolladores experimentados y toda la comunidad de personas
que estos traen consigo(Martinez, 2018).
2.4.3. LARAVEL
Este framework hace que el odiado lenguaje de programación PHP vuelva a ser entretenido a
la hora de programar. Laravel ofrece soluciones directas y sencillas a complejas
funcionalidades en una aplicación, como podían ser el modelado de datos, realización de
tareas periódicas, adaptación al modelo MVC, entre muchas otras. A todo esto, se le suma una
documentación muy trabajada y una comunidad de desarrolladores cada vez más extensa.
Además, cabe destacar, que con la reciente versión de PHP 7.0, se ha duplicado el rendimiento
de las aplicaciones escritas en este lenguaje de programación(Laravel, 2016).
2.4.4. BOOTSTRAP 4
2.5.1. INVENTARIOS
El control de inventarios busca mantener disponible los productos que se requieren para la
empresa y para los clientes, por lo que implica la coordinación de las áreas de compras,
manufactura distribución.
41
“Los inventarios son acumulaciones de materias primas, provisiones, componentes, trabajo en
proceso y productos terminados que aparecen en numerosos puntos a lo largo del canal de
producción y de logística de una empresa.” (Ronald, 2004).
En el ámbito comercial, es común el famoso método P.E.P.S, este es una especie de sistema
que facilita la salida de toda la mercancía que ha entrado al negocio de manera actualizada,
permitiendo llevar un mejor control en el inventario. Las siglas P.E.P.S. significan “primeras
en entrar, primeras en salir”.
Muchas empresas recurren a este método para poder ir sacando toda la mercancía que tienen
para la venta, y así no acumular mercancía no vendida. Desde las empresas pequeñas hasta las
más grandes, utilizan el P.E.P.S, el cual permite la constante renovación de inventario y ofrece
muchas ventajas en el ámbito económico y contable.
ISO 9126 era un estándar internacional para la evaluación de la calidad del software. Fue
reemplazado en 2005 por el conjunto de normas SQuaRE, ISO 25000:2014, la cual desarrolla
los mismos conceptos.
Las métricas para la evaluación del software se pueden catalogar en métricas de productividad
(enfocadas al rendimiento) de Calidad que son enfocadas al nivel de ajuste a los requisitos
explícitos e implícitos del cliente y Métricas Técnicas que son orientadas a características
como complejidad, y grado de modularidad, más que en el proceso de desarrollo(Ruiz, 2006).
42
También Ruiz (2006) define la siguiente formula que es capaz de dar los puntos función, el
cual nos dará el tamaño del software o un aproximado, y pretende medir la funcionalidad
entregada al usuario independientemente de la tecnología utilizada para la construcción y
explotación del software, y también ser útil en cualquiera de las fases de vida del software,
desde el diseño inicial hasta la implementación y mantenimiento.
A continuación, se detalla cada una de las características que establece el estándar ISO-9126.
Funcionalidad: En este grupo se conjunta una serie de atributos que permiten calificar si un
producto de software maneja en forma adecuada el conjunto de funciones que satisfagan las
necesidades para las cuales fue diseñado.
Eficiencia: Esta característica permite evaluar la relación entre el nivel de funcionamiento del
software y la cantidad de recursos usados.
Mantenibilidad: Se refiere a los atributos que permiten medir el esfuerzo necesario para
realizar modificaciones al software, ya sea por la corrección de errores o por el incremento de
funcionalidad.
2.6.1. FUNCIONALIDAD
Según Abud (2012) las funcionalidades del sistema, se miden a través de su complejidad. La
funcionalidad no puede ser medida directamente, por lo tanto, corresponde la incorporación de
43
un mecanismo discreto (punto función) para obtener un resultado medible y cuantificable en
base a la siguiente fórmula:
2.6.2. CONFIABILIDAD
La confiabilidad del sistema se define como: “La probabilidad de operación libre de fallas de
un programa de computadora en un entorno determinado y durante un tiempo específico”
𝑅(𝑡) = 𝑒 −𝜆𝑡
Donde:
2.6.3. USABILIDAD
44
Tabla 2.1 Preguntas de usabilidad
Nro. Pregunta
1 ¿Es entendible?
¿Las pantallas son agradables a la vista
2
del usuario?
3 ¿Es fácil de aprender?
4 ¿Contiene la información necesaria?
5 ¿Facilita su trabajo?
¿Es fácil navegar por las distintas
6
opciones?
¿El sistema le proporciono las
7
respuestas requeridas?
8 ¿El sistema no presento errores?
Fuente: (Elaboración propia)
2.6.4. EFICIENCIA
La eficiencia es el grado que la aplicación hace óptimo el uso de recursos del sistema,
indicada por los tiempos de uso y recursos utilizados (Pressman, 2010).
2.6.5. MANTENIBILIDAD
𝑀𝑡 − (𝐹𝑎 + 𝐹𝑏 + 𝐹𝑐 )
𝐼𝑀𝑆 = ∗ 100
𝑀𝑡
Donde:
𝐼𝑀𝑆 : Índice de madurez del sistema
𝑀𝑡 : Número de módulos actual
𝐹𝑎 : Número de módulos en la versión actual que se han cambiado
𝐹𝑏 : Número de módulos en la versión actual que se han añadido
𝐹𝑐 : Número de módulos en la versión anterior que se han borrado en la versión
actual
45
2.6.6. PORTABILIDAD
𝐸𝑇
𝐺𝑃 = 1 −
𝐸𝑅
Donde:
𝐺𝑃 : Grado de portabilidad
𝐸𝑇 : Recursos necesarios para llevar el sistema a otro entorno
𝐸𝑅 : Recursos necesarios para crear el sistema en el entorno residente
Si:
𝐺𝑃> 0, la portabilidad es más rentable que el re-desarrollo
𝐺𝑃< 0, el re-desarrollo la portabilidad es más rentable que la portabilidad
𝐺𝑃 = 0, la portabilidad es perfecta
Para evitar confusión el modelo COCOMO original fue re diseñado con el nombre
COCOMO’ 81. Así todas las referencias de COCOMO encontradas en la literatura antes de
1995 se refieren a lo que ahora llamamos COCOMO 81. La mayoría de las referencias
publicadas a partir de 1995 se refieren a COCOMO II.
46
Los objetivos principales que se tuvieron en cuenta para construir el modelo COCOMO II
fueron:
El modelo Diseño Temprano se utiliza en las primeras etapas del desarrollo en las cuales se
evalúan las alternativas de hardware y software de un proyecto. En estas etapas se tiene poca
información, lo que concuerda con el uso de Puntos Función, para estimar tamaño y el uso de
un número reducido de factores de costo.
• Puntos Función y/o Líneas de Código Fuente para estimar tamaño, con modificadores que
contemplan el reúso, con y sin traducción automática, y el "desperdicio".
• Un conjunto de 17 atributos, denominados factores de costo, que permiten considerar
características del proyecto referentes al personal, plataforma de desarrollo, entre otras,
que tienen injerencia en los costos(Gómez, Migani, del C.López, & Otazú, 2007).
47
[Link]. ESTIMACIÓN DE ESFUERZO
NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar expresado en Puntos
Objeto y se calcula de la siguiente manera:
En la estimación del tamaño de software COCOMO II utiliza tres técnicas: Puntos Objeto,
Puntos Función No Ajustados y Líneas de Código Fuente. Además, se emplean otros
parámetros relativos al tamaño que contemplan aspectos tales como: reúso, reingeniería,
conversión, y mantenimiento.
48
Es necesario unificar criterios de medición de tamaño, tanto para poder planificar y controlar
proyectos, como para realizar estudios y análisis entre proyectos en pro de la mejora de
procesos(Park, 1992).
Puntos Función: El modelo COCOMO II usa Puntos Función y/o Líneas de Código Fuente
(SLOC) como basepara medir tamaño en los modelos de estimación de Diseño Temprano y
Post-Arquitectura(Albrecht, 1979).
La fórmula para calcular los puntos función según Albrecht (1979), es la siguiente:
FP = UFP x TCF
Donde:
Para calcular los UFP, se deben identificar los siguientes tipos de ítems:
• Entradas Externas (Inputs): Entrada de datos del usuario o de control que ingresan desde el
exterior del sistema para agregar y/o cambiar datos a un archivo lógico interno.
• Salidas Externas (Outputs): Salida de datos de usuario o de control que deja el límite del
sistema de software.
• Archivo Lógicos Internos (Archivos): Incluye cada archivo lógico, es decir cada grupo
lógico de datos que es generado, usado, o mantenido por el sistema de software.
• Archivos Externos de Interface (Interfaces): Archivos transferidos o compartidos entre
sistemas de software.
• Solicitudes Externas (Queries): Combinación única de entrada-salida, donde una entrada
causa y genera una salida inmediata, como un tipo de solicitud externa.
El valor del SLOC, dependerá del lenguaje de programación que se esté utilizando. En la
Tabla 2.3
49
Tabla 2.3Valores por lenguaje de programación
Factor
Lenguaje Nivel
LCD/PF
C 2.5 128
ANSI BASIC 5 64
JAVA 6 53
ASP 9 36
PHP 11 23
VISUAL C++ 9.5 35
2.8. SEGURIDAD
Se definen unos principios básicos que deben cumplirse cuando nos referimos a la
información:
50
2.8.2. SEGURIDAD INFORMÁTICA
La seguridad informática está concebida para proteger los activos informáticos, mismos que se
presentan a continuación:
51
3. CAPÍTULO III MARCO APLICATIVO
3.1. INTRODUCCIÓN
En este capítulo se efectuará el desarrollo del sistema web de administración y control del
almacenamiento de artículos en el almacén central y en subalmacenes para el Gobierno
Autónomo Municipal de El Alto. Dando curso a la aplicación de la metodología de desarrollo
ágil SCRUM, con la ayuda de la metodología de desarrollo web UWE – UML Based Web
Engineeringpara poder obtener la representación conceptual y física del sistema.
La metodología SCRUM es el marco de trabajo adaptativo a las necesidades del proyecto que
utiliza un proceso ágil, iterativo e incremental que respeta las cinco etapas tradicionales de un
proyecto que facilitan su gestión y control; ellas son: planificación, análisis, diseño,
construcción y prueba, e implementación. Para lograr el éxito en el proyecto se define en cada
etapa los entregables, además de definir el alcance de cada Sprint.
Pre-Gamees la etapa donde se analizó la planificación para el desarrollo del sistema, así como
los usuarios y el nivel con el cual están involucrados en el sistema. Se recolecto las historias
de usuario determinando el tiempo y la relevancia para formar el Product Backlog.
Gamees la etapa donde a partir del Product Backlog se dividió en diferentes Sprint,al igual
que la etapa anterior se planifico el tiempo de los Sprint; esta es la etapa donde se utilizó la
metodología UWE para el modelado y diseño Web, esto en cada Sprint.
Post-Gameesta fue la etapa donde terminó el producto final, concluyendo con el Product
Backlog y alcanzando las interfaces de pantalla.
52
figura 3.1Etapas de SCRUM con UWE
Fuente: (Elaboración propia)
En esta etapa se identifican los requerimientos del sistema según El Gobierno Autónomo
Municipal de El Alto, además de definir los roles y el Product Backlog.
3.3.1. PLANEAMIENTO
La primera actividad es armar una lista exhaustiva de los requerimientos originales del sistema
y los usuarios, los cuales pasarán a ser los ítems de la Pila del Producto (Product Backlog),
luego se procede a ver qué requerimientos son los realmente necesarios, cuáles pueden
posponerse y cuáles eliminarse. Para ello se debe identificar un representante con capacidad
de decisión, para priorizar los requerimientos en base a su importancia y acordar cuáles son
los prioritarios para la fecha de entrega, estas acciones serán realizadas por el Dueño del
Producto (Product Owner), en nuestro caso el dueño del producto es el Gobierno Autónomo
Municipal de El Alto, representado por el Ing. Alejandro Michel Uriarte jefe de la unidad de
sistemas.
53
De esta manera las responsabilidades de la metodología SCRUM están detalladas en la tabla
3.1.
Se debe identificar a los usuarios que interactuaran con el sistema para poder clasificarlos y
diseñar las respectivas restricciones o tareas específicas que tendrá cada uno de ellos dentro
del Gobierno Autónomo Municipal de El Alto, específicamente en la unidad de almacenes y
en los sub almacenes.
Al clasificar los usuarios y sus respectivos roles, en la tabla 3.2, se tiene ya la idea clara de
cómo hacer la gestión de usuarios en el ingreso al sistema según su rol.
54
Funcionarios de distintas unidades que
Solicitantes de la unidades S
trabajan en cualquier en la institución.
En este apartado vamos a continuar recolectando las historias de usuario según los
requerimientos que nos brindan los distintos usuarios que fueron descrito anteriormente, estas
nos ayudaran a describirlas prioridades y las iteraciones.
Para recolectar las historias de usuario de forma eficiente usaremos los siguientes atributos
para definir una historia de usuario.
Iteración y modulo que se le asigna: La iteración en la que se espera que esta historia de
usuario sea implementada, esta iteración dura aproximadamente 4 semanas, dependiendo a la
cantidad de historias de usuario asignadas, por esta razón se procura agrupar las historias
difíciles en menor cantidad y las de mayor facilidad más agrupadas
55
Tabla 3.3Gestión de usuarios
Historia de usuario
Numero:1 Usuario: Administrador
Nombre de la Historia:Gestión de usuarios
Prioridad: Alta Riesgo:Alto
Iteración Asignada: Puntos Estimados: 2
Descripción de la historia:
Los usuarios deben ser registrados y guardados, se deben definir sus roles de usuario para
que solo el administrador pueda ser capaz de crear más usuarios.
Fuente (Elaboración propia)
56
Descripción de la historia:
El usuario debe tener una interfaz de login la cual sea capaz de recibir sus datos y
permitirle el ingreso siempre y cuando sus datos sean correctos, así acceder a las tareas
asignadas por el sistema según su rol.
Fuente (Elaboración propia)
57
Tabla 3.8Crear y registrar la estructura del organigrama
Historia de usuario
Numero: 6 Usuario: Administrador, Encargado almacén central
Nombre de la Historia: Crear y registrar la estructura del organigrama
Prioridad: Alta Riesgo: Bajo
Iteración Asignada: Puntos Estimados: 2
Descripción de la historia:
Se registra las direcciones, secretarias, unidades y áreas a la base de datos de sistema. Se
debe registrar las relación de dependencia que tiene cada una de ellas, ver Anexos Figura
2.1.
Fuente (Elaboración propia)
58
Finanzas públicas.
59
Nombre de la Historia: Gestión de proveedores
Prioridad: Alta Riesgo: Medio
Iteración Asignada: Puntos Estimados: 2
Descripción de la historia:
El administrador como los encargados del sub almacén serán capaces de adicionar,
modificar y eliminar proveedores.
Fuente (Elaboración propia)
60
Tabla 3.16Acceso a la información de stock
Historia de usuario
Numero: 14 Usuario: Administrador, Encargado almacén central,
encargado del sub almacén
Nombre de la Historia: Acceso a la información de stock
Prioridad: Alta Riesgo: Medio
Iteración Asignada: Puntos Estimados: 2
Descripción de la historia:
Los administradores podrán ver el stock de la lista de artículos de todos los sub almacenes
incluyendo el almacén central, en cambio los encargados de subalmacén solo podrán ver
del sub almacén del que son encargados.
Fuente (Elaboración propia)
61
Descripción de la historia:
Los encargados de almacén podrán ingresar una serie de artículos agregando los datos del
proveedor, fecha, numero de comprobante entre otros, de cada artículo se ingresará los
datos como el costo unitario, la cantidad, la fecha de vencimiento si es un artículo
perecedero y una descripción. Cada nota de ingreso genera un lote diferente de los artículos
ingresados.
Fuente (Elaboración propia)
62
Tabla 3.21Pedido de artículos
Historia de usuario
Numero: 19 Usuario: Administrador, Encargado almacén central,
encargado del sub almacén, solicitantes de la unidades
Nombre de la Historia: Pedido de artículos
Prioridad: Alta Riesgo: Alto
Iteración Asignada: Puntos Estimados: 5
Descripción de la historia:
Los encargados de almacenes podrán generar notas de pedido según una nota física enviada
por una unidad de la organización. Registrar la unidad, el funcionario solicitante y los datos
de los artículos que está solicitando la unidad, especialmente el lote del artículo.
Fuente (Elaboración propia)
63
Descripción de la historia:
Los administradores pueden aprobar los pedidos al momento de la entrega física de los
artículos y anular los pedidos siempre que no hayan sido aprobados.
Fuente (Elaboración propia)
64
Tabla 3.26Generar los movimientos de las unidades
Historia de usuario
Numero: 24 Usuario: Administrador, Encargado almacén central,
encargado de subalmacén
Nombre de la Historia: Generar los movimientos de las unidades
Prioridad: Baja Riesgo: Bajo
Iteración Asignada: Puntos Estimados: 2
Descripción de la historia:
Los encargados de almacén generan los reportes del movimiento de las unidades en
relación con su almacén.
Fuente (Elaboración propia)
65
3.3.4. PILA DEL PRODUCTO
Ahora dividimos los requerimientos para iniciar con una organización de las tareas, su
prioridad y todos los detalles que conlleva para poder ajustar correctamente las fechas y tareas
propiamente de la metodología, de esa forma obtenemos la pila de productos o el product
backlog en la tabla 3.29 a continuación.
66
Gestionar la Módulo de Ver la lista de artículos con sus
9 información de Media artículos y 2 datos y ser capaz de crear,
artículos almacén eliminar y modificar estos.
Gestión de Módulo de
Agregar una unidad desde un
10 unidades de Media artículos y 1
formulario.
medida almacén
Listar los proveedores y agregar
Gestión de Módulo de
11 Alta 3 uno nuevo además de modificar y
proveedores usuarios
eliminar los existentes.
Seleccionar con un rango de
Control de
Módulo de fechas y a un proveedor para
12 movimiento del Media 4
reportes generar un reporte de sus entradas
proveedor
al almacén.
Gestión de Lista los funcionarios y agregar
Módulo de
13 funcionarios de Alta 3 uno nuevo además de modificar y
usuarios
las unidades eliminar los existentes.
Acceso a la Módulo de Lista los productos del almacén
14 información de Media artículos y 5 con la cantidad de stock que
stock almacén tienen actualmente en una lista.
Lista los productos con el
Porcentaje de Módulo de
porcentaje de su stock, marca con
15 existencia de Media artículos y 4
otros colores los porcentajes
materiales almacén
menores a 50%, 25% y 10%
Módulo de Accede a un formulario en el cual
Ingreso de
16 Media Ingresos y 6 se introducen datos del proveedor
artículos
Pedidos y los artículos que ingresan.
Módulo de Genera un reporte en pdf y Excel
Generar nota de
17 Media Ingresos y 6 seleccionando uno de los ingresos
Ingreso
Pedidos ya realizados.
Módulo de En la lista de ingresos se puede
Anular nota de
18 Media Ingresos y 3 anular aquellos que no han tenido
Ingreso
Pedidos pedidos de sus artículos.
Módulo de Se abre un formulario para llenar
Pedido de
19 Media Ingresos y 6 lista de artículos que se pide y
artículos
Pedidos que unidad la pide.
67
Módulo de Genera un reporte en pdf y Excel
Generar nota de
20 Media Ingresos y 6 seleccionando uno de los pedidos
pedido
Pedidos ya realizados.
En la lista de pedidos se puede
Aprobar y anular Módulo de aprobar los pedidos que están en
21 las notas de Media Ingresos y 3 borrador, también se puede anular
pedido Pedidos aquellos pedidos que aún no están
aprobados.
Se introduce un rango de fechas y
Reporte de Módulo de un artículo para generar un
22 Media 5
kardex reportes reporte en pdf y Excel para
conocer los movimientos.
Se introduce un rango de fechas y
un clasificador presupuestario
para generar un reporte en pdf y
Reporte mensual Módulo de
23 Media 5 Excel para conocer los
valorado reportes
movimientos de los artículos
comprendidos dentro del
clasificador seleccionado.
Se introduce un rango de fechas y
Generar los
Módulo de una unidad, dirección, área o
24 movimientos de Media 4
reportes secretaria para conocer sus
las unidades
movimientos en pdf y Excel.
Se lista todos los artículos con
stock hasta la fecha sacando la
suma de todos sus lotes y un
Módulo de promedio de sus costos.
Realizar el cierre
25 Baja Ingresos y 6 al cerrar gestión se cierran los
de gestión
Pedidos movimientos de los lotes pasados
y se crea un nuevo lote de inicio
de gestión. Esto se lo realiza por
lo general al acabar el año.
Un nivel de usuario que solo tiene
Enlace a la acceso a reporte de kardex y
Módulo de
26 unidad de Baja 5 reporte mensual valorado, puede
reportes
contabilidad sacar estos reportes de todos los
almacenes.
68
3.3.5. REQUERIMIENTOS DE HARDWARE Y SOFTWARE
Los requerimientos de hardware que permiten que el sistema funcione correctamente son:
• Pc de escritorio o laptop.
• Memoria RAM 2 GB o superior.
• Espacio de disco duro de 10 GB o superior.
• Procesador Dual - Core o superior (32 o 64 bits).
• MagicDRAW 18,4 con su plugin MagicUWE, para el diseño de los modelos de casos de
uso, conceptual, de navegación y de presentación.
• Navicat en conexión a base de datos MySQL, para el diseño de base de datos.
• HeidiSQL para realizar las consultas de la base de datos implentada.
• PHP con el framework Laravel, como lenguaje de programación del lado del servidor y
Bootstrap, como diseño con estilos web y plantilla Admin LTE.
• Apache, como servidor web.
• Google Chrome, como navegador web.
• Windows 7 o superior, como sistema operativo.
3.4. GAME
3.4.1. SPRINT 0
Vamos a empezar con la iteración que denominamos iteración 0 o sprint 0 ya que en esta fase
vamos a realizar una tarea que podíamos hacerla en la etapa de planificación, pero por su
complejidad la realizamos en un sprint, ya se tiene definido el tiempo que tomara
implementarlo, días de trabajo y fecha de inicio, todo explicado en la tabla 3.30.
69
Tabla 3.30Sprint 0
Sprint Módulo Inicio Duración
[Link]. PLANIFICACIÓN
Las actividades realizadas durante esta iteración se las puede observar en la tabla 3.31, que
constituye la pila de sprint correspondiente.
[Link]. DESARROLLO
Siguiendo con las tareas para el elemento número 1 de la pila de sprint se realizó el diseño
conceptual de la base de datos.
70
DIAGRAMA ENTIDAD RELACIÓN DE LA BASE DE DATOS
71
DIAGRAMA RELACIONAL DE LA BASE DE DATOS
72
MODELO DE CONTENIDO DE LA BASE DE DATOS
73
[Link]. PRUEBAS
Se hizo las pruebas unitarias al servidor de base de datos donde se implementó la base de
datos.
74
3.4.2. SPRINT 1
En este sprint se toma en cuenta todo lo relacionado con la información de los usuarios, tanto
los que son encargados en los almacenes y los que no tienen un ingreso, pero si una
interacción, además de guardar información de la organización, ya se tiene definido el tiempo
que tomara implementarlo, días de trabajo y fecha de inicio, todo explicado en la tabla 3.33.
Tabla 3.33Sprint 1
Sprint Módulo Inicio Duración
[Link]. PLANIFICACIÓN
Las actividades realizadas durante esta iteración se las puede observar en la tabla 3.34, que
constituye la pila de sprint correspondiente.
Objetivo: Definir la prioridad de cada uno de los elementos de la pila de sprint para su pronto
desarrollo y poder entregar la versión de usuarios y llenado de primeros datos.
75
• Listar los usuarios existentes
Modificación y siendo posible borrarlos
4 2 días Terminado
borrado de usuarios verificando el nivel de rol del
usuario logeado al sistema.
• Codificar 4 formularios con los
datos para el registro de una
Crear y registrar la
nueva secretaria, dirección,
5 estructura del 4 días Terminado
unidad y área.
organigrama
• Realizar diagrama de casos de
uso.
• Codificar un formulario para
Gestión de registro de proveedores.
6 3 días Terminado
proveedores • Diseñar los modelos respecto a
la metodología UWE.
• Codificar un formulario para
Gestión de
registro de funcionarios.
7 funcionarios de las 3 días Terminado
• Diseñar los modelos respecto a
unidades
la metodología UWE.
Fuente (Elaboración propia)
[Link]. DESARROLLO
MODELO DE REQUERIMIENTOS
Según el modelo UWE se debe analizar los requerimientos existentes en la pila del primer
sprint y eso lo haremos utilizando diagramas de caso de uso, para eso vamos a unir en un solo
diagrama la gestión de usuarios con las altas bajas y modificaciones de los usuarios, para tener
un diagrama de caso de uso más completo, esto se aprecia en la figura 3.6 y figura 3.7.
76
figura 3.6 Caso de uso de administración y acceso de usuarios
Fuente: (Elaboración propia)
77
1 El actor ingresa su email y contraseña al sistema
para su posible ingreso.
2 El sistema verifica los datos, si los datos son
correctos el actor ingresa y ve sus tareas.
3 Si el actor es un administrador tendrá las tareas de
gestión de usuarios además de tener las de un
actor encargado del sub almacén
Flujo alternativo El actor administrador tendrá más opciones de gestión.
Excepciones Paso Acción
2 Si la verificación es falsa no ingresa al sistema.
Cometarios El tiempo de respuesta dependerá del flujo de red.
Fuente (Elaboración propia)
78
Fuente: (Elaboración propia)
MODELO DE DATOS
79
figura 3.8Diagrama entidad relación Sprint 1
Fuente (Elaboración propia)
Diagrama físico
80
MODELO DE CONTENIDO
81
MODELO DE NAVEGACIÓN
En este modelo se especifica la relación interna del sitio web, es decir cómo se relaciona cada
página web con las demás. La Figura 3.11, presenta el modelo de navegación para los
módulos de gestión de usuarios junto con la gestión de la organización.
MODELO DE PRESENTACIÓN
En este modelo se procede a mostrar las vistas que interactúan y muestran contenido a los
diferentes usuarios, se muestra un contenido de los nodos de la interfaz de usuario ordenado y
enlazando nodo a nodo. Se representa como cada nodo es presentado al usuario.
La Figura 3.12, muestra la página de ingreso al sistema.
82
figura 3.12Diagrama de presentación del módulo de Gestión de usuarios
Fuente: (Elaboración propia)
83
La figura 3.14 muestra la gestión de usuarios
[Link]. PRUEBAS
Se hizo las pruebas unitarias a los sub módulos que se diseñaron, los resultados se expresan en
la tabla 3.37.
84
acceso
3.4.3. SPRINT 2
En este sprint se toma en cuenta todo lo relacionado con la información los artículos y los
almacenes, eso incluye las partidas presupuestarias y los registros de existencias actuales de
los almacenes, ya se tiene definido el tiempo que tomara implementarlo, días de trabajo y
fecha de inicio, todo explicado en la tabla 3.38.
Tabla 3.38Sprint 2
Sprint Módulo Inicio Duración
Gestión de artículos y
2 02/12/2019 21 días
almacén
Fuente (Elaboración propia)
[Link]. PLANIFICACIÓN
Las actividades realizadas durante esta iteración se las puede observar en la tabla 3.39, que
constituye la pila de sprint correspondiente.
Objetivo: Definir la prioridad de cada uno de los elementos de la pila de sprint para su pronto
desarrollo y poder entregar la versión de usuarios y llenado de primeros datos.
85
• Crear la partida con los datos
correspondientes para agrupar a
Crear la partida los artículos.
2 3 Terminado
presupuestaria • Diseñar a base de modelos de
UWE.
• Crear diagrama de caso de uso
• Realizar el CRUD de los
Gestionar la artículos.
3 información de • Diseñar a base de modelos de 2 Terminado
artículos UWE.
• Crear diagrama de caso de uso
• Registrar el nombre de las
unidades de medida.
Gestión de unidades
4 • Diseñar a base de modelos de 1 Terminado
de medida
UWE.
• Crear diagrama de caso de uso
• Listar el stock actual de los
Acceso a la artículos en los almacenes.
5 información de • Diseñar a base de modelos de 5 Terminado
stock UWE.
• Crear diagrama de caso de uso
• Mostrar alertas de colores si el
Porcentaje de porcentaje de stock es bajo.
6 existencia de • Diseñar a base de modelos de 4 Terminado
materiales UWE.
• Crear diagrama de caso de uso
Fuente (Elaboración propia)
[Link]. DESARROLLO
MODELO DE REQUERIMIENTOS
Según el modelo UWE se debe analizar los requerimientos existentes en la pila del segundo
sprint y eso lo realizamos utilizando diagramas de caso de uso, para facilitar la interpretación
del diagrama de caso de uso se unirán los sub módulos de artículos y los sub módulos de
almacén. Esto se ve en las figuras 3.15 y 3.16.
86
Caso de uso de gestión de almacenes
87
2 El administrador asigna el almacén creado a un
usuario.
3 Si el actor es encargado del almacén central
puede ver el stock y las alertas de los demás sub
almacenes.
4 El actor encargado del sub almacén podrá ver el
stock de su sub almacén.
Flujo alternativo En lugar de crear y asignar se puede modificar el
encargado de un almacén creado.
Excepciones Paso Acción
2 Si el usuario elegido ya tiene un almacén
asignado no podrá tener otro.
Cometarios El tiempo de respuesta dependerá del flujo de red.
Los almacenes sin stock presentaran una tabla vacía, esto
no es un fallo.
Fuente (Elaboración propia)
88
Tabla 3.41Caso de uso de gestión de artículos
Caso de Uso General
Actores Encargado de almacén central – Administrador
Descripción Gestionar partidas presupuestarias y artículos.
Registrar unidades de medida.
Pre - condición El actor debe ser un administrador.
El actor debe estar dentro del sistema.
Flujo normal Paso Acción
1 Se crea la partida presupuestaria con un código
único.
2 Se crea una artículo con un código único y
dependiendo de una partida presupuestaria..
3 Se asigna una unidad de medida.
Flujo alternativo Se puede modificar y cambiar su estado a inactivo las
partidas presupuestarias y los artículos.
Excepciones Paso Acción
2 No se podrá crear un artículo si no existe
previamente la partida presupuestaria de la que
depende.
3 Si la unidad de medida deseada no existe se
procede a crear una nueva.
Cometarios El tiempo de respuesta dependerá del flujo de red.
Las partidas presupuestarias solo se pueden cambiar de
estado a inactivo y no borrarse, esto para no afectar la
integridad de la base de datos.
Fuente (Elaboración propia)
MODELO DE DATOS
El modelo de datos incluye a las tablas que interactúan para administrar a los almacenes y a
los artículos, esto incluye usuarios y clasificador presupuestario, esto se ve en la figura 3.17 y
figura 3.18.
89
Diagrama entidad relación
Diagrama físico
90
MODELO DE CONTENIDO
MODELO DE NAVEGACIÓN
En este modelo explicamos cómo se interactúa y se mueve entre las páginas del sistema un
usuario. La Figura 3.20, presenta el modelo de navegación para los módulos de gestión de
usuarios junto con la gestión de la organización.
91
figura 3.20Diagrama de navegación del módulo de Gestión de artículos y almacenes
Fuente: (Elaboración propia)
MODELO DE PRESENTACIÓN
En este modelo se procede a mostrar las vistas que interactúan y muestran contenido a los
diferentes usuarios, se muestra un contenido de los nodos de la interfaz de usuario ordenado y
enlazando nodo a nodo. Se representa como cada nodo es presentado al usuario.
La Figura 3.21, muestra la lista de almacenes y crear uno nuevo.
92
figura 3.21 Diagrama de presentación del módulo de Gestión de almacenes
Fuente: (Elaboración propia)
93
[Link]. PRUEBAS
Se hizo las pruebas unitarias a los sub módulos que se diseñaron, los resultados se expresan en
la tabla 3.42.
3.4.4. SPRINT 3
En este sprint se toman en cuenta todos los movimientos de los artículos que existen dentro
del almacén y con otros almacenes, tanto de ingresos, pedidos y traspasos entre almacenes, ya
se tiene definido el tiempo que tomara implementarlo, días de trabajo y fecha de inicio, todo
explicado en la tabla 3.43.
Tabla 3.43Sprint 3
Sprint Módulo Inicio Duración
94
[Link]. PLANIFICACIÓN
Las actividades realizadas durante esta iteración se las puede observar en la tabla 3.44, que
constituye la pila de sprint correspondiente.
Objetivo: Definir la prioridad de cada uno de los elementos de la pila de sprint para su pronto
desarrollo y poder entregar la versión de usuarios y llenado de primeros datos.
95
• Codificar la ventana para
Realizar el cierre de realizar el cierre de gestión.
7 6 días Terminado
gestión • Visualizar antes los artículos y
sus nuevos precios y stock.
Fuente (Elaboración propia)
[Link]. DESARROLLO
MODELO DE REQUERIMIENTOS
Según el modelo UWE se debe analizar los requerimientos existentes en la pila del
tercersprint y eso lo realizamos utilizando diagramas de caso de uso, se dividirá los sub
módulos en los pedidos y los ingresos, figura 3.23 y figura 3.24.
96
Tabla 3.45Caso de uso de notas de ingreso
Caso de Uso General
Actores Encargado de almacén central.
Encargado del sub almacén
Descripción El encargado de almacén o sub almacén podrá acceder a
ingresar más artículos o nuevos artículos para aumentar el
stock en su almacén.
Pre - condición Los actores deben estar registrados en el sistema con un
almacén.
Deben existir artículos y proveedores creados.
Flujo normal Paso Acción
1 El actor de almacén ingresa al formulario de
nueva nota de pedido.
2 El actor selecciona un proveedor.
3 Se listan los artículos que están ingresando
haciendo un detalle de ellos, cada uno de estos
supondrá un nuevo lote.
4 Se guarda y genera la nota de ingreso
Flujo alternativo Se puede anular la nota de ingreso si no hubieron salidas
de artículos.
Excepciones Paso Acción
3 Si el atributo número de comprobante ya existe
no se podrá guardar.
Cometarios El tiempo de respuesta dependerá del flujo de red.
Fuente (Elaboración propia)
97
figura 3.24Caso de uso de notas de pedido
Fuente: (Elaboración propia)
98
2 El actor selecciona la unidad y el registro del
funcionario solicitante.
3 Se listan por lote del más antiguo al más nuevo
los artículos deseados. El actor elegirá los
artículos y sus lotes.
4 Se registra la cantidad pedida y la cantidad
aprobada por artículo.
5 Se guarda y se genera la nota de pedido.
6 Las notas de pedido se aprueban ingresando los
datos del funcionario que recogió los artículos.
Flujo alternativo Se pueden anular las notas de pedido que no hayan sido
aprobadas, sin afectar al stock del almacén.
Excepciones Paso Acción
3 No puede seleccionar el articulo más reciente, de
hacerlo incumple la regla de P.E.P.S.
3 No se podrá elegir dos veces el artículo del
mismo lote.
4 La cantidad pedida debe ser menor o igual a la
cantidad aprobada.
5 Si el atributo número de comprobante ya existe
no se podrá guardar.
Cometarios El tiempo de respuesta dependerá del flujo de red.
Fuente (Elaboración propia)
MODELO DE DATOS
El modelo de datos incluye a las tablas que se usan al hacer una nota de ingreso de artículos y
de pedido de artículos que es muy común que lo hagan las unidades y al ingresar que se
registre un proveedor, esto se ve en la figura 3.25 y figura 3.26.
99
Diagrama entidad relación
Diagrama físico
100
MODELO DE CONTENIDO
101
MODELO DE NAVEGACIÓN
En este modelo explicamos cómo se interactúa y se mueve entre las páginas del sistema un
usuario. La Figura 3.28 presenta el modelo de navegación para los ingreso y pedido del
almacén.
MODELO DE PRESENTACIÓN
En este modelo se procede a mostrar las vistas que interactúan y muestran contenido a los
diferentes usuarios, se muestra un contenido de los nodos de la interfaz de usuario ordenado y
enlazando nodo a nodo. Se representa como cada nodo es presentado al usuario.
La Figura 3.29, muestra la lista de notas de ingresos y crear uno nuevo.
102
figura 3.29Diagrama de presentación del módulo de ingresos
Fuente: (Elaboración propia)
103
[Link]. PRUEBAS
Se hizo las pruebas unitarias a los sub módulos que se diseñaron, los resultados se expresan en
la tabla 3.47.
3.4.5. SPRINT 4
En este sprint se toman en cuenta todos reportes que genera el sistema, en especial los que
sirven de control de stock y de contabilidad, ya se tiene definido el tiempo que tomara
implementarlo, días de trabajo y fecha de inicio, todo explicado en la tabla 3.48.
Tabla 3.48Sprint 4
Sprint Módulo Inicio Duración
[Link]. PLANIFICACIÓN
Las actividades realizadas durante esta iteración se las puede observar en la tabla 3.49, que
constituye la pila de sprint correspondiente.
104
Objetivo: Definir la prioridad de cada uno de los elementos de la pila de sprint para su pronto
desarrollo y poder entregar la versión de usuarios y llenado de primeros datos.
[Link]. DESARROLLO
MODELO DE REQUERIMIENTOS
Según el modelo UWE se debe analizar los requerimientos existentes en la pila del cuarto
sprint y eso lo realizamos utilizando diagramas de caso de uso. Se unirán los reportes
similares.
105
Caso de uso reportes valorados
106
1 El actor de ingresa al formulario de reporte y
selecciona los rangos de fecha.
2 Selecciona alguno de los siguientes: articulo,
clasificador, unidad, proveedor, dependiendo al
tipo de reporte que genere.
3 En caso de ser actor de contabilidad selecciona
adicionalmente el almacén.
4 Genera el reporte en pdf y Excel.
Flujo alternativo Se puede generar el reporte si necesidad de descargar en
pdf o Excel.
Excepciones Paso Acción
1 La fecha inicial debe ser más antigua que la fecha
final.
Cometarios El tiempo de respuesta dependerá del flujo de red.
Fuente (Elaboración propia)
MODELO DE DATOS
El modelo de datos incluye a las tablas que necesitamos y sus relaciones para lograr generar
los reportes de acuerdo a los requerimientos, tomando en cuenta la consistencia de datos, esto
se ve en la figura 3.32 y figura 3.33.
107
figura 3.32Diagrama entidad relación Sprint 4
Fuente (Elaboración propia)
Diagrama físico
MODELO DE CONTENIDO
108
A partir de la identificación de los requerimientos del sistema y posteriormente los casos de
uso que propone la metodología UWE, la solución planteada debe contar con un conjunto de
entidades que ayuden a satisfacer dichas necesidades determinadas. Estas entidades son
representadas a través del modelo de contenido. La Figura 3.34 muestra los movimientos de
ingreso y salida del almacén.
MODELO DE NAVEGACIÓN
En este modelo explicamos cómo se interactúa y se mueve entre las páginas del sistema un
usuario. La Figura 3.35, presenta el modelo de navegación para los reportes.
109
figura 3.35 Diagrama de navegación del módulo de reportes
Fuente: (Elaboración propia)
MODELO DE PRESENTACIÓN
En este modelo se procede a mostrar las vistas que interactúan y muestran contenido a los
diferentes usuarios, se muestra un contenido de los nodos de la interfaz de usuario ordenado y
enlazando nodo a nodo. Se representa como cada nodo es presentado al usuario.
La Figura 3.36, muestra el formulario de reporte genérico, ya que todos usan uno similar.
110
figura 3.36Diagrama de presentación del módulo de reportes
Fuente: (Elaboración propia)
[Link]. PRUEBAS
Se hizo las pruebas unitarias a los sub módulos que se diseñaron, los resultados se expresan en
la tabla 3.37.
111
Ingreso diferenciado para rol de contabilidad capaz de sacar
5 Cumple
reporte de kardex y mensual valorado de todos los almacenes.
Fuente (Elaboración propia)
Luego de haber culminado todas las iteraciones, en esta última etapa de la metodología
Scrum, se realiza la etapa de pruebas y el diseño de interfaces.
Las pruebas de integración se aplicarán con el fin de verificar que todos los módulos
funcionan correctamente en conjunto una vez que se hayan probado de forma individual o
unitaria, estas pruebas ya se realizaron y se verifico el correcto funcionamiento de todas las
ventanas en interacción con el usuario.
112
Las sesiones se cierran automáticamente cuando detecta
9 Cumple
inactividad
Fuente (Elaboración propia)
Las pruebas de acceso de usuario se realizan a fin de verificar los módulos relacionados con
cada rol de usuario que tiene acceso al sistema. Se explica el resultado en la tabla 3.53.
Cada usuario ingresa con existo y puede realizar las tareas descritas en la tabla anterior.
113
3.5.3. DISEÑO DE INTERFACES
Se mostrarán las capturas de las interfaces agrupadas por sprint para cumplir con los
requerimientos planteados.
Autentificación
En esta ventana mostramos el login de ingreso al sistema, este nos pedirá el correo y el
password, como se ve en la figura 3.37, de ser correctos se direcciona a la ventana principal
mostrando opciones según el rol.
Ingreso al sistema
Esta es la ventana que se muestra luego de tener un ingreso exitoso, tenemos habilitadas todas
las acciones como administrador como se ve en la figura 3.38.
114
figura 3.38 Ingreso al sistema como administrador – almacén central
Fuente: (Elaboración propia)
Un paso muy importante es crear más usuarios que serán encargados de los sub almacenes,
esto se aprecia claramente en la figura 3.39, se piden los datos necesarios para poder
administrar al usuario.
115
Gestión de usuarios
En esta ventana se mostrar un listado de los usuarios del sistema, incluso los que están
inactivos, esto se puede apreciar en la figura 3.40.
En esta ventana se puede registrar las áreas, unidades, direcciones y secretarias. Esto se puede
ver en la figura 3.41.
116
Gestión de proveedores
Esta ventana nos proporciona la opción de agregar más proveedores, agregando sus datos
básicos podremos agregarlo, eliminarlo o editarlo, además podremos buscar cualquier
proveedor con su nombre. Esto se aprecia en la figura 3.42.
Gestión de Funcionarios
117
figura 3.43Gestión de Funcionarios
Fuente: (Elaboración propia)
En esta interfaz podemos adicionar un sub almacén, es muy importante que se añada un
encargado que será un usuario existente con ingreso, además se debe incluir a la unidad que
esta pertenece, esto se aprecia en la figura 3.44.
118
figura 3.44Creación de almacén
Fuente: (Elaboración propia)
Gestión de almacenes
Esta ventana nos ayudara a visualizar los sub almacenes activos, también se pueden eliminar o
editar para asignarle otro responsable, esto se puede ver en la figura 3.45.
119
Clasificador presupuestario
Esta interfaz nos permite registrar y gestionar el clasificador presupuestario, que será de gran
ayuda para organizar los artículos, este clasificador se lo registra con los datos necesarios y
con un código único, esto se puede ver en la figura 3.46.
Esta ventana nos da las herramientas necesarias para administrar los artículos, podemos crear
un nuevo artículo seleccionando el clasificador presupuestario correspondiente y además de
poder listar, podemos editarlo y cambiar su estado a inactivo, esto se puede ver en la figura
3.47.
120
figura 3.47Gestión de artículos
Fuente: (Elaboración propia)
Stocks y porcentajes
En la figura 3.48 se aprecia cómo podemos visualizar el stock de los artículos y el porcentaje
de existencias en relación a la cantidad inicial, los porcentajes son de gran ayuda ya que se
pintan de color según la cantidad dando alertas cuando están por debajo del 50%.
121
SPRINT 3 – INGRESOS Y PEDIDOS
Ingresos de artículos
En la figura 3.49 se aprecia los datos requeridos para realizar una nota de ingreso, todos los
datos son de vital importancia para registrar la nota de ingreso, seleccionando el proveedor,
articulo y cantidad.
122
figura 3.50Gestión de ingresos
Fuente: (Elaboración propia)
La nota de ingreso se la puede descargar y mostrar en formato PDF como se ve en la figura
3.51.
123
Pedido de artículos
En la figura 3.52 se puede observar la ventana de realizar un pedido, esta solicita todos los
datos necesarios, como ser la unidad que solicita, el funcionario y la lista de artículos con su
cantidad.
124
El pedido se lo puede generar en formato PDF, queda bien remarcado el estado en el que esta,
es este caso es aprobado, pero si es un pedido anulado nos muestra con una marca de agua
indicando ANULADO, lo mismo pasa si aúnestá en borrador sin aprobar, esto se ve en la
figura 3.54.
Esta ventana se encarga de cerrar la gestión promediando los costos, se muestra el listado de
artículos que existen y su stock con el promedio del precio unitario, figura 3.55.
125
figura 3.55Cierre de gestión
Fuente: (Elaboración propia)
Kardex
Esta ventana nos pedirá los datos del artículo que deseamos consultar y el rango de fechas
para su respectivo reporte, se ve en la figura 3.56.
126
El reporte que se genera puede ser también en pdf que nos da un resumen completo y
ordenado del articulo según requerimientos de la unidad de almacenes, esto se ve en la figura
3.57, con el ejemplo del artículo de Papel Carbónico y sus movimientos.
Este reporte de kardex también puede ser descargado en un formato de hoja de cálculo Excel, esta
facilita la realización de tareas de contabilidad, se ve en la figura 3.58.
127
figura 3.58Reporte de kardex en Excel
Fuente: (Elaboración propia)
Se mostrará el resumen de sus movimientos, como se ve en la figura 3.59.
128
Este reporte también puede ser descargado en formato PDF cumpliendo las normas de estética
solicitadas como se ve en la figura 3.60.
En la figura 3.61 se puede ver el formato de ingreso de datos para obtener un reporte de los
movimientos por unidad, los artículos, la cantidad y fechas en las que realizo pedidos.
129
Reporte por proveedor
En la figura 3.62 se aprecia los campos que se requiere para obtener el reporte de los
movimientos por proveedor, cuando y en qué cantidad trajo artículos al almacén.
El usuario con el rol de contabilidad solamente tiene acceso a las funciones de reportes, como
se puede ver en la figura 3.63.
130
Los reportes los puede sacar por cada uno de los almacenes y no solo así de uno, como se ve
en la figura 3.64.
131
4. CAPÍTULO IV MÉTRICAS DE CALIDAD
4.1. INTRODUCCIÓN
La norma ISO 9126 tiene una serie de características las cuales debemos tomar en cuenta para
obtener una buena estimación de calidad.
132
La facilidad con que el software puede ser llevado de
Portabilidad
un entorno a otro.
4.2.1. FUNCIONALIDAD
Métrica para obtener una valoración mediante el cálculo del punto función en base a la
evaluación de un conjunto de características y capacidades que se listan a continuación, que
debe cumplir el sistema.
• Número de entradas de usuario
• Número de salidas de usuario
• Número de peticiones de usuario
• Número de archivos
• Número de interfaces externas
Donde
133
Es el número de los momentos en que el usuario va a introducir información al Sistema, se
puede observar en la Tabla 4.2, las entradas de usuario que tiene el sistema.
Es la información elaborada por el sistema, pueden ser los reportes y/o cualquier formato de
salida ya sea impreso o en pantalla que son emitidas al usuario, se puede observar en la Tabla
4.3, las salidas que tiene el usuario.
134
6 Reporte mensual valorado
7 Reporte por proveedor
8 Reporte por unidad
9 Reporte de promedio de artículos
Fuente (Elaboración propia)
Es una entrada interactiva que produce la generación de alguna respuesta del software
inmediata, es decir, que se espera que el programa responda al usuario, llámense consultas y
similares, se puede observar en la Tabla 4.4, las peticiones que tiene el usuario con el sistema.
135
17 Listado de lotes por orden de fecha
18 Listado de proveedores
19 Listado de funcionarios
20 Modificación de funcionarios
21 Listado de usuario contabilidad
22 Listado de unidades de medida
23 Modificación de proveedores
24 Eliminación de funcionarios
25 Eliminación de proveedores
26 Listado de artículos por vencer
Fuente (Elaboración propia)
Número de archivos
Es la cantidad de archivos necesarios para que el sistema funcione, es decir un grupo lógico de
datos que puede ser una parte de una gran base de datos o un archivo independiente, se puede
observar en la Tabla 4.5, los archivos.
136
Número de interfaces externas
Son todas las interfaces externas legibles que sirven para la computadora y que permiten la
transmisión de la información, se puede observar en la Tabla 4.6, las interfaces externas.
Factor de ponderación
Una vez que los obtenidos los datos, estos son colocados en la tabla y se elige una
ponderación, que representa el grado de complejidad que se prevé para cada una de las
opciones, ver la Tabla 4.7.
Nro. de archivos 10 * 3 4 5 = 40
137
La cuenta total de los puntos de función obtenidos se debe ajustar en función a las
características ambientales del sistema. Los valores de ajuste de complejidad Fi donde i puede
variar de 1 hasta 14 los valores de ajuste de complejidad basados en las respuestas a las
preguntas formuladas de la siguiente tabla 4.8:
Sin influencia
Significativo
Moderado
Incidental
Esencial
Medio
# Factores de complejidad Total
0 1 2 3 4 5
138
10 ¿Es complejo el procesamiento interno? 4
𝑃𝐹 = 506.25
Luego, comparando los valores de funcionalidad del sistema con el PF máximo que se puede
alcanzar:
𝑃𝐹 𝑚𝑎𝑥𝑖𝑚𝑜 = 546.75
Con máximos valores de ajuste a la complejidad se tiene que la funcionalidad real es:
139
506.25
𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙𝑖𝑑𝑎𝑑 = ( ) ∗ 100
546.75
𝑓𝑢𝑛𝑐𝑖𝑜𝑛𝑎𝑙𝑖𝑑𝑎𝑑 = 92.59 %
4.2.2. CONFIABILIDAD
𝑅(𝑡) = 𝑒 −𝜆𝑡
Donde:
Se realizaron las pruebas de los módulos durante 8 horas en operación, al finalizar se logró
obtener los siguientes datos reflejado en la tabla 4.9:
140
Tabla 4.9Valores de confiabilidad
Nro. Modulo 𝝀 𝒕 𝑹(𝒕)
1 Módulo de ingreso 0.008 8 horas 0.93
2 Módulo de artículos y almacén 0.015 8 horas 0.88
3 Módulo de ingresos 0.003 8 horas 0.97
4 Módulo de pedidos 0.021 8 horas 0.84
5 Módulo de reportes 0.008 8 horas 0.93
Fuente (Elaboración propia)
Vamos a dividir las fallas en las que un componente falla y afecta a todo, fallo en serie y
donde todos los componentes fallan en su conjunto, fallo en paralelo.
Es por eso que la confiabilidad del sistema estaría dada por la fórmula:
𝐶𝑜𝑛𝑓𝑖𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = 𝑅𝑠 ∗ 𝑅𝑝
Donde:
𝑅𝑝 = 𝑅1 = 0.93
𝑅𝑠 = 0.99995968
𝐶𝑜𝑛𝑓𝑖𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = 0.93
𝐶𝑜𝑛𝑓𝑖𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 = 93%
De esto concluimos que el nivel de confiabilidad del sistema es de 93%, esto quiere decir que
existe un 7% de probabilidad que el sistema pueda fallar cuando se exceda un determinado
141
tiempo de uso continuo, esto puede ser ocasionado por fallos en el servidor, mala conexión de
red o mal uso del sistema por parte del usuario.
4.2.3. USABILIDAD
La usabilidad es la capacidad del software de ser entendido, aprendido, y usado de forma fácil
y atractiva. Se realizó un sondeo entre los usuarios que usaron el sistema, en este caso 10
usuarios. La tabla 4.10 muestra los resultados:
De los usuarios entrevistados el 91% le parece fácil de usar el sistema, amigable, intuitivo y
practico.
Esto nos da un agrado de usabilidad del 91.25% entre todos los usuarios y un 8.75% no
comprende el funcionamiento y no satisface sus necesidades.
4.2.4. MANTENIBILIDAD
142
requerimientos funcionales, para poder medir la calidad del mantenimiento del sistema
utilizaremos el índice de madurez del software (IMS), que indica la estabilidad de un producto
de software.
Se lo calcula de la siguiente forma:
𝑀𝑡 − (𝐹𝑎 + 𝐹𝑏 + 𝐹𝑐 )
𝐼𝑀𝑆 = ∗ 100
𝑀𝑡
Donde:
𝐼𝑀𝑆 : Índice de madurez del sistema
𝑀𝑡 : Número de módulos actual
𝐹𝑎 : Número de módulos en la versión actual que se han cambiado
𝐹𝑏 : Número de módulos en la versión actual que se han añadido
𝐹𝑐 : Número de módulos en la versión anterior que se han borrado en la versión
actual
Entonces:
5 − (0 + 0 + 0)
𝐼𝑀𝑆 = ∗ 100
5
5
𝐼𝑀𝑆 = ∗ 100
5
𝐼𝑀𝑆 = 100 %
4.2.5. PORTABILIDAD
La portabilidad es la capacidad con la que un software puede ser llevado de un entorno a otro,
considera la facilidad de instalación, ajuste y adaptación al cambio. Para medir la portabilidad
se hará uso de la siguiente fórmula:
𝐸𝑇
𝐺𝑃 = 1 −
𝐸𝑅
143
Donde:
𝐺𝑃 : Grado de portabilidad
𝐸𝑇 : Recursos necesarios para llevar el sistema a otro entorno
𝐸𝑅 : Recursos necesarios para crear el sistema en el entorno residente
Si:
𝐺𝑃> 0, la portabilidad es más rentable que el re-desarrollo
𝐺𝑃< 0, el re-desarrollo la portabilidad es más rentable que la portabilidad
𝐺𝑃 = 0, la portabilidad es perfecta
Para llevar el sistema web a otro entorno se necesita una memoria extraíble de 4 GB o más
capacidad, para crear el sistema en el entorno residente se necesita inicialmente 1 servidor con
sistema operativo este puede ser cualquiera (Windows, Linux o Mac OS en sus diferentes
versiones), y servidor Apache, el lenguaje de programación PHP, el gestor de base de datos
MySQL, los cuales deben estar instalados en los servidores y un navegador web.
Con esta información requerida por la fórmula, se procede a calcular el grado de portabilidad:
1
𝐺𝑃 = 1 − = 1 − 0.20 = 80%
5
Por lo que se concluye que el sistema web tiene un grado de portabilidad del 80%.
Una vez obtenidos todos los datos de los factores de la calidad de software que tiene
propuesto el estándar de calidad ISO 9126, se procede a calcular la calidad global del sistema
de información, la cual se despliega en la siguiente tabla 4.11.
Funcionalidad 92.59
Confiabilidad 93
Usabilidad 91.25
144
Mantenibilidad 100
Portabilidad 80
Con este resultado se define la calidad total del sistema planteado como 91.37 % amigable,
entendible, necesario, intuitivo y útil para los usuarios.
145
5. CAPÍTULO V EVALUACIÓN DE COSTO Y BENEFICIO
5.1. INTRODUCCIÓN
La técnica de análisis de costo y beneficio, tiene como objetivo fundamental proporcionar una
medida sobre la rentabilidad de un proyecto, haciendo una comparación de los costos
previstos con los beneficios esperados en la realización del mismo. Esta técnica se debe
utilizar al comparar proyectos y así poder tener una buena toma de decisiones
Como se mencionó en el punto 2.5, se hará uso del modelo matemático COCOMO
(COCOMO II) y las fórmulas descritas para tal objetivo.
𝐸 = 𝑎(𝐾𝐿𝐷𝐶)𝑏
𝐷 = 𝑐(𝐸)𝑑
Para obtener:
𝐸
𝑃=
𝐷
Donde:
146
COCOMO II se divide en 3 modos y se establecen los coeficientes de la siguiente forma en la
tabla 5.1:
Como el sistema está desarrollado en PHP se tomará su factor LDC/PF igual a 23, coeficiente
ya determinado en la anterior tabla.
El Punto de función del proyecto calculado en el capítulo IV nos dio igual a 506.25, usando
estos datos se obtiene las líneas de código.
𝐿𝐷𝐶 = 𝑃𝐹 ∗ 𝐹𝑎𝑐𝑡𝑜𝑟𝐿𝐶𝐷/𝑃𝐹
𝐿𝐷𝐶 = 506.25 ∗ 23
147
𝐿𝐷𝐶 = 11643.75
𝐾𝐿𝐷𝐶 = 𝐿𝐶𝐷/1000
𝐾𝐿𝐷𝐶 = 11.64
Se tomará como tipo de proyecto el Semi-acoplado por las características que tiene el sistema
y las diferentes características que posee. De esta manera usando los datos de la tabla 5.1 de
los datos a b c d de Semi acoplado.
𝐸 = 3(11.64)1.12
𝐸 = 46.88
𝐷 = 2.5(46.88)0.35
𝐷 = 9.61
Para obtener:
46.88
𝑃=
9.61
𝑃 = 4.88 ≅ 5
Tomando como base el salario aproximado de un programador junior 300 $, esta cifra se toma
en cuenta para estimar el costo del software:
148
[Link]. COSTO DE ELABORACIÓN DEL PROYECTO
El Gobierno Autónomo Municipal de El Alto cuenta con los equipos necesarios, servidor en
Linux. Por lo tanto, el costo es de 0.
El costo total es la suma de todos los costos, de software proyecto e implementación. Esto de
describe en la tabla 5.4.
149
5.3. CALCULO DE VALOR ACTUAL NETO – VAN
𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎𝑠
𝑉𝐴𝑁 = ∑ − 𝑙0
(1 + 𝑘)𝑛
Dónde:
Los valores de ganancia esperados para el presente proyecto se calculan para 4 años, en este
caso se utilizará una taza de 10% que es un índice de préstamo, para calcular el VAN se tiene
lo siguiente:
𝑖𝑛𝑣𝑒𝑟𝑠𝑖𝑜𝑛 = 6380
𝑘 = 10%
Para hallar los valores de ganancia esperados se aplican las formulas presentadas en la
siguiente tabla 5.5:
150
Tabla 5.5Calculo de VAN
Flujo de caja 𝑮𝒂𝒏𝒂𝒏𝒄𝒊𝒂𝒔
Año (𝟏 + 𝒌)𝒏
Ganancia (𝟏 + 𝒌)𝒏
1 0 1.1 0
Aplicando la formula
𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎𝑠
𝑉𝐴𝑁 = ∑ − 𝑙0
(1 + 𝑘)𝑛
𝑉𝐴𝑁 = 5388.31
Se tiene que el valor obtenido es mayor a cero por lo que la inversión es factible en un
principio y el proyecto es rentable.
𝐶𝑜𝑠𝑡𝑜
𝑏𝑒𝑛𝑒𝑓𝑖𝑐𝑖𝑜
6380
= 1.595
4000
151
6. CAPÍTULO VISEGURIDAD DE SISTEMA
La seguridad del sistema es de vital importancia para el buen funcionamiento y así evitar
vulnerabilidades de seguridad. El Gobierno Autónomo Municipal de El Alto cuenta con una
unidad encargada del mantenimiento de los diferentes sistemas que utilizan.
Los problemas de seguridad para sitios y sistemas de información web deben ser
contempladosdesde su diseño lógico hasta su implementación final, teniendo en cuenta
factores internos yexternos como: vulnerabilidades en los componentes de software,
encriptación de los mensajes,gestión eficiente de los usuarios de las bases de datos,
configuración adecuada de lainfraestructura y telecomunicaciones. A continuación, se detallan
las medidas de seguridad quese contemplaron al momento de la implementación del sistema
de información web.
A nivel físico el sistema se resguarda dentro de un servidor con Linux Ubuntu dentro de la
unidad de sistemas, ya que esta unidad maneja todo lo referente a [Link] otorga el acceso
a un miembro de la unidad de sistemas encargado de la administración de algunas funciones
básicas, posteriormente se asignó un usuario administrador al encargado del almacén central.
La unidad de almacenes y los diferentes sub almacenes podrán acceder al sistema desde sus
computadoras las cuales se encuentran en la misma red dentro de la institución.
El departamento de tecnología para el acceso físico al servidor cuenta con una habitación
exclusiva para el resguardo de servidores y demás elementos importantes.
La seguridad lógica se tomó en cuenta en cada etapa de la implementación del sistema como
ser la autenticación de usuarios, la asignación de grupos y accesos a usuarios quepertenecen al
módulo de autenticación y seguridad del sistema, también se implementóvalidación para los
152
datos de entrada que tiene el sistema, y finalmente toda la seguridad delframework Laravel
basado en PHP.
Los diferentes accesos muestran la información requerida por cada usuario dependiendo a su
rol que son: Administrador – encargado de almacén central, encargado de subalmacén y área
de contabilidad. Cada uno de estos usuarios accede a las operaciones que le son asignadas y
las que requiere.
Uno de los aspectos o desventajas al trabajar con el patrón estructurado en este tipo
desistemas, es la vulnerabilidad en las peticiones GET con esto nos referimos a las peticiones
que se hacen desde la URL del navegador, en el cual se pueden solicitar formularios para
editar la base de datos o los ataques por ventanas en las cuales se pueden alterar las
variablesPOST y además al poseer usuarios con distintos privilegios pueden los mismos
ingresar a lastareas de otros usuarios, para nuestro caso se tomó todos los recaudos necesarios
153
para todas las peticiones GET dentro del sistema restringiendo el accesos tanto a los
formularios como a los controladores que se encargan del contacto netamente con la base de
datos.
Las inyecciones SQL son cadenas de instrucciones SQL que un usuario puede introducir
encualquier campo de entrada de un formulario. El frameworkLaravel está equipado para
evitar este tipo de ataques ya que para hacer consultas este nos pide hacer las consultas por
medio de funciones que pueden ser usadas solamente por los modelos, además que nos
permite manejar Eloquent ORM que es una forma más segura e eficiente de realizar las
consultas a la base de datos. Estas funciones internas del framework proveen protección
contra las inyecciones SQL y están destinadas a realizar solo un tipo de acción.
154
7. CAPÍTULO VIICONCLUSIONES Y RECOMENDACIONES
A la conclusión del presente proyecto se detallan las conclusiones y recomendaciones.
7.1. CONCLUSIONES
El diseño web fue apoyado con la metodología de modelado web UWE. Se concluye, que esta
permitió dar al proyecto el enfoque sistemático,disciplinado y cuantificable en cuanto al
desarrollo y operación. Además de dar herramientas para el diseño del sistema.
El sistema también cuenta con un método de verificación de stock el cual no permite repartir
más artículos de los que existen; además de notificar mediante una lista aquellos artículos que
existen y su actual stock, de esta manera se facilita el ingreso y pedido de artículos entre
distintas unidades hacia el almacén o sub almacén.
155
pueden afectar el resultado en gran manera; por esto se consideró usar valores de tipo flotante
para evitar pérdidas y para mostrar unos reportes más estéticos se hace el redondeo a 2
decimales.
También se implementó ciertos aspectos de seguridad para poder cuidar la integridad del
sistema ante la pérdida de datos o mala manipulación, se implementó uso de sesiones
autodestructivas,así cuando el usuario autentificado no realice ninguna acción en un corto
periodo.
El sistema permite generar todos los reportes solicitados, como el reporte de Kardex y el
reporte mensual valorado que son los más importantes, estos de acuerdo al nivel de acceso que
tenga el usuario, estos reportes no solo en formato PDF sino también en hojas de cálculo
Excel para revisiones en la institución,
7.2. RECOMENDACIONES
Asignar personal capacitado en el uso del sistema, así como la inclusión de políticas de
manejo del mismo, utilizando procesos de digitalización de documentos por tecnología OCR
para los requerimientos de artículos, facilitando el trabajo de transcripción del pedido.
Se recomienda actualizar el sistema con las nuevas tecnologías de desarrollo web basadas en
JavaScript, de acuerdo a la capacidad y disponibilidad del servidor de la institución.
Implementar un sistema web el cual esté vinculado con el sistema web ya implantado en el
área de salud del Gobierno Autónomo Municipal de El Alto, de esta manera conectar la
información y tener una base de datos más grande y controlar mejor los artículos de los
hospitales.
156
BIBLIOGRAFÍA
Abud, M. A. (30 de Enero de 2012). Calidad en la Industria del Software. La Norma ISO-
9126. Obtenido de Calidad en la Industria del Software. La Norma ISO-9126:
[Link]/empresasindigenas/docs/[Link]
Banker, R., Kauffman, R., & Kumar, R. (1994). An Empirical Test of Object-Based Output
Measurement Metrics in a Computer Aided Software Engineering (Case)
[Link] of Management Information.
Carrillo. (2017). Sistema web de control de compras, ventas e inventarios caso Comercial
Ariana. La Paz: Carrera de Informatica, Universidad Mayor de San Andres.
Escalona, M. J., & Koch, N. (2002). Ingeniería de Requisitos en aplicaciones para la web.
Sevilla: Escuela Técnica Superior de Ingeniería Informática de U de Sevilla.
Gómez, A., Migani, S., del C.López, M., & Otazú, A. (29 de 05 de 2007). wordpress.
Obtenido de [Link]
157
Hinojosa, J. (2018). Sistema web de gestión y control de almacenes e inventarios Caso:
Ministerio de planificación del desarrollo. La Paz: Carrera de Informatica ,
Universidad Mayor de San Andres.
Mariño, S., & Alfonzo, P. (diciembre de 2014). Implementación de SCRUM en el diseño del
proyecto del Trabajo Final de Aplicación. Scientia et Technica Año XIX, 19(4), 413-
418.
Maximilians, L. (2011). UWE Metamodel and Profile . Germany: Institute for Informatics.
158
München, L. (10 de 08 de 2016). UWE – UML-based Web Engineering. Obtenido de
Universität: [Link]
Rivas, C. I., Corona, V. P., Gutierrez, J. F., & Hernandez, L. (2015). Metodologías actuales de
desarrollo de software. Revista Tecnología e Innovación, 980-986.
159
ANEXOS
ORGANIGRAMA DE LA INSTITUCIÓN
160
DOCUMENTACIÓN