0% encontró este documento útil (0 votos)
54 vistas43 páginas

Proyecto

Este documento describe el desarrollo de una aplicación web para controlar el inventario de materiales eléctricos en la empresa VR Ingeniería y Mercadeo S.A.S. El sistema permitirá registrar la información de proveedores, entradas y salidas de materiales, e inventario disponible. El objetivo es automatizar los procesos actualmente manuales para mejorar la gestión del inventario. Se utilizarán tecnologías como arquitectura cliente-servidor y el patrón MVC para el desarrollo de la aplicación.

Cargado por

alejandro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
54 vistas43 páginas

Proyecto

Este documento describe el desarrollo de una aplicación web para controlar el inventario de materiales eléctricos en la empresa VR Ingeniería y Mercadeo S.A.S. El sistema permitirá registrar la información de proveedores, entradas y salidas de materiales, e inventario disponible. El objetivo es automatizar los procesos actualmente manuales para mejorar la gestión del inventario. Se utilizarán tecnologías como arquitectura cliente-servidor y el patrón MVC para el desarrollo de la aplicación.

Cargado por

alejandro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 43

APLICACIÓN WEB PARA CONTROL DE INVENTARIOS DE MATERIALES

ELÉCTRICOS

NESTOR ALEJANDRO ESPAÑOL VARGAS

MARYLIN MARCELA LEGARDA ECHEVERRIA

YULIAN ALBEIRO RODRIGUEZ VEGA

ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL

ESTABLECIMIENTO PUBLICO DE EDUCACIÓN SUPERIOR

TECNOLOGÍA EN DESARROLLO DE SOFTWARE

VII SEMESTRE

BOGOTÁ

2019
2

APLICACIÓN WEB PARA CONTROL DE INVENTARIOS DE MATERIALES

ELÉCTRICOS

NESTOR ALEJANDRO ESPAÑOL VARGAS

MARYLIN MARCELA LEGARDA ECHEVERRIA

YULIAN ALBEIRO RODRIGUEZ VEGA

ING. LUIS ALBERTO GARCÍA GONZALEZ

ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL

ESTABLECIMIENTO PUBLICO DE EDUCACIÓN SUPERIOR

TECNOLOGÍA EN DESARROLLO DE SOFTWARE

VII SEMESTRE

BOGOTÁ

2019
3

TABLA DE CONTENIDO

INTRODUCCIÓN 5

PLANTEAMIENTO DEL PROBLEMA 7

PREGUNTA PROBLEMA 8

JUSTIFICACIÓN 9

OBJETIVO GENERAL 10

OBJETIVOS ESPECÍFICOS 10

ALCANCE 11

LIMITACIONES 12

MARCO REFERENCIAL 13

MARCO TEÓRICO 13

APLICACIÓN DISTRIBUIDA 14

ARQUITECTURA CLIENTE-SERVIDOR 14

PATRÓN DE DISEÑO MODELO – VISTA – CONTROLADOR 16

APLICACIÓN WEB 19

MARCO TECNOLÓGICO 20

TECNOLOGÍAS UTILIZADAS 21

HERRAMIENTAS UTILIZADAS 29

RESULTADOS ESPERADOS 32

CRONOGRAMA GENERAL DEL PROYECTO 33

PRESUPUESTO 34

BIBLIOGRAFÍA 35

BÁSICA 35

CITADA 36

VIRTUAL 36

HISTORIAL 38
4

TABLA DE IMÁGENES

Figura 1. Arquitectura básica cliente-servidor 15

Figura 2. Ciclo de control del patrón MVC 18


5

INTRODUCCIÓN

En la actualidad gracias a los grandes avances tecnológicos, las empresas han podido mejorar

y actualizar su funcionamiento a través de la automatización de algunos procesos de negocios,

mediante sistemas informáticos. Esto conlleva una mejora en una serie de factores dentro de las

empresas; ya sea en su aspecto funcional y operativo, como en la agilidad y rapidez en la

realización de tareas.

La empresa VR Ingeniería y Mercadeo S.A.S., dentro del área de remanufactura, posee las

dependencias de bodega junto a su respectiva oficina, la cual está encargada de la gestión de

materiales de trabajo, compras de insumos, como también de la entrega de estos diariamente a

los trabajadores de la planta. Todo este proceso se realiza y registra de manera manual en papel

por el jefe de almacén. Es por esto que la empresa se ve en la necesidad de modernizarse e

implementar un sistema informático para automatizar este proceso.

El siguiente documento describe el análisis, modelado, desarrollo e implementación de un

sistema que permite automatizar los procesos de control básico en los inventarios de la empresa,

dando solución a los problemas presentados en cada uno de los procesos como son:

⮚ La entrega de material eléctrico de proveedores.

⮚ La información de entradas y salidas del material eléctrico.

⮚ La información del material eléctrico que se encuentra en stock.


6

El desarrollo de esta aplicación web permitirá facilitar el ingreso de la información en tiempo

real, optimizar la búsqueda del material eléctrico.

En la primera parte de este documento se describe la problemática, alcance, objetivos,

desarrollo de metodologías, dando a conocer información de la empresa a la que se pretende

ofrecer la solución.
7

PLANTEAMIENTO DEL PROBLEMA

VR Ingeniería y Mercadeo S.A.S., funciona desde hace 30 años y hasta la fecha manejan

casi toda la información de forma manual. Hay que tener en cuenta que la empresa está en

constante crecimiento demostrando mejores resultados económicos, por ende, va a ser mayor la

dificultad que tendrá al manejar casi toda su información manualmente; se ha adaptado a los

cambios que han surgido de acuerdo a su necesidad, además ha adquirido prestigio y respeto ante

sus proveedores.

Trabaja en la creación de proyectos eléctricos y parte metalmecánica. La falta de registrar y

controlar la información de las remisiones de una manera más sencilla y precisa es alta, existen

falencias al momento del empleado solicitar el material, debido que no tiene conocimiento del

tipo de material que maneja la empresa, otro inconveniente encontrado fue la falta de

conocimiento del material que se encuentra en stock.

La necesidad que tiene la empresa, es procesar y manipular la información de todas las

remisiones y los datos de los proveedores de una manera eficiente. Al tener la información más

organizada se puede llegar a realizar un control de inventario.

Teniendo en cuenta todo lo anterior y en la ausencia de datos confiables con los cuales iniciar

el proceso de automatización del manejo de inventarios de la empresa, se evidencia que se debe

realizar un levantamiento de información sobre el tipo de material eléctrico que utilizan,

proveedores frecuentes y los diferentes tipos de inventario aplicables con el fin de elegir el

esquema conveniente para el modelo de negocio.


8

PREGUNTA PROBLEMA

¿Cómo mejorar el sistema de información para el control de inventario de material eléctrico

en la empresa VR Ingeniería y Mercadeo S.A.S?


9

JUSTIFICACIÓN

Sistematizar la información de VR Ingeniería y Mercadeo S.A.S., debido que manejan la

información de forma manual. Desde un punto tecnológico, es imperiosa la necesidad de

automatizar y optimizar todos los procesos en los cuales la información este vulnerable, por esta

razón se debe atraer a la empresa, para fomentar las herramientas del aplicativo web así el acceso

a su información será más óptimo, preciso y seguro.

El aplicativo web será una herramienta útil y fiable a la hora de llevar el almacenamiento de

los datos del proveedor y el almacenamiento del material eléctrico que se suministra a la empresa

para así poder tener actualizado el material que se encuentra en stock.


10

OBJETIVO GENERAL

Desarrollar una aplicación web para el control de inventarios del material eléctrico en la

empresa VR Ingeniería y mercadeo S.A.S., para el 30 de noviembre del 2019

OBJETIVOS ESPECÍFICOS

⮚ Definir los requerimientos del sistema según las necesidades existentes en la empresa, y

las empresas proveedoras del material eléctrico.

⮚ Analizar el modelo de diseño, para establecer el diagrama entidad relación del

almacenamiento de la información del inventario, y la arquitectura de clases con la que se

implementará el aplicativo.

⮚ Realizar el diseño técnico de los procesos que desarrollan los casos de usos recogidos en

el análisis funcional realizado con anterioridad, necesarios para la implementación de la

aplicación web.
11

ALCANCE

El aplicativo a desarrollar llevará el registro controlado de la información general de cada

producto existente, con el fin de obtener todos los datos necesarios de cada producto de una

manera organizada, confiable y correcta. Este sistema se realizará para el uso exclusivo de VR.

Ingeniería y Mercadeo S.A.S.

El alcance de un sistema de inventario considera qué necesidades satisface el aplicativo de

inventario. Estos incluyen valorar el inventario, medir el cambio en el y planificar los niveles de

inventario futuro. El valor del inventario al final de cada período proporciona una base para la

presentación de informes financieros en el balance. Medir el cambio en el inventario permite a la

empresa determinar el costo del inventario vendido durante el período. El nivel de inventario y los

cambios permiten a la empresa planear las necesidades futuras de inventario.

El sistema será implementado acorde a los requerimientos solicitados por la empresa. Se pretende

además que el sistema en mención sea escalable desde el punto de vista del desarrollador, es decir,

que pueda incorporar nuevas funcionalidades que a futuro sean requeridas.


12

LIMITACIONES

A pesar de que el aplicativo llevará un registro actualizado de las altas y bajas del material

eléctrico no realizará las siguientes funciones:

⮚ No guardará información ajena.

⮚ No podrá ser implementado en otras empresas.

Las limitaciones del aplicativo de inventario perpetuo incluyen un falso sentido de

confiabilidad y dependencia del ingreso de datos humano. Puesto que un sistema perpetuo se

actualiza cada vez que una transacción ingresa al sistema, los empleados dependen de los datos

contenidos en el aplicativo de inventario. Sin embargo, este carece de información sobre el

empleado o robo externo, o unidades dañadas/desechadas. La empresa sigue siendo consciente

del robo o desperdicios, conocido como la reducción, hasta que se realice un recuento físico, que

ocurre sólo una vez al año. La otra limitación de un sistema perpetuo considera que este depende

del ingreso de datos humanos. A medida que cada transacción ocurre, un empleado ingresa los

datos a la plataforma. El error humano hace a veces esta información inexacta.


13

MARCO REFERENCIAL

MARCO TEÓRICO

Antes de comenzar a desarrollar cualquier tipo de software, un paso importante es definir la

metodología y estándares que se utilizarán durante todo el proceso de creación del mismo, así

como realizar un correcto diseño de su arquitectura a nivel de sistema y a nivel de software. Con

esto se busca básicamente garantizar la facilidad del mantenimiento de la aplicación y su

escalabilidad a lo largo del tiempo.

Para tal fin, se han creado una serie de modelos de arquitectura de sistema, así como patrones

de diseño que en la práctica han probado ser soluciones eficientes a problemas comunes en el

desarrollo de software. El uso o adopción de estos modelos y patrones de diseño ya probados, si

bien no es obligatorio, es considerado una buena práctica a la hora de diseñar e implementar una

aplicación.

Desde sus inicios, PMiS se ha venido desarrollando utilizando un modelo basado en capas y

una arquitectura cliente servidor, por lo tanto, el módulo de inventario y rastreo de puntos de

venta se desarrolló siguiendo las mismas pautas. El presente capítulo tiene como finalidad

exponer el modelo y arquitectura utilizada durante el desarrollo del módulo, así como también

otros conceptos importantes relacionados con el diseño e implementación del mismo.


14

APLICACIÓN DISTRIBUIDA

Una aplicación distribuida es un programa informático con distintos componentes que se

ejecutan en entornos separados, a diferencia de una aplicación centralizada en la cual todo el

programa se ejecuta en un mismo entorno (un mismo computador). Normalmente las

aplicaciones distribuidas se ejecutan en diferentes plataformas conectadas a través de una red.

Dependiendo del número de entornos en el cual se ejecuta la aplicación, se encontrarían

aplicaciones distribuidas de dos niveles, de tres niveles y multinivel.

ARQUITECTURA CLIENTE-SERVIDOR

Es un modelo de aplicación distribuida en el cual las tareas se reparten entre los proveedores

de recursos o servicios (servidores) y los demandantes de dichos recursos (clientes). Básicamente

se trata de una arquitectura en la cual un programa cliente realiza peticiones a otro programa, el

servidor, que le da respuesta.

En esta arquitectura, los requerimientos realizados por los clientes resultan en trabajo

realizado por el servidor o servidores. Un cliente es todo proceso que le permite al usuario

formular requerimientos y enviarlos a un servidor. Generalmente éste se encarga de interactuar

con el usuario, administrar la interfaz, realizar la validación de los datos introducidos por el

mismo, generar las peticiones, recibir y formatear los datos recibidos del servidor y por último

mostrarlos al usuario. Un servidor es un proceso encargado de recibir y atender peticiones de

algún recurso administrado por el mismo. Estas peticiones pueden ser recibidas desde múltiples

clientes. Su principal función es procesar los requerimientos de estos clientes, esto incluye

recibir las peticiones y datos enviados desde los mismos, realizar validaciones, ejecutar la lógica
15

de la aplicación y enviar los resultados al cliente. Un servidor puede a su vez actuar como el

cliente de otro servidor, por ejemplo, un servidor de bases de datos, o varios servidores pueden

actuar en conjunto para satisfacer los requerimientos de los clientes. Todo esto es transparente

para el usuario final del sistema.

La figura 1 constituye un ejemplo gráfico y sencillo de la arquitectura cliente-servidor.

Figura 1. Arquitectura básica cliente-servidor

Las principales ventajas de esta arquitectura son:

● Centralización del control: el servidor es el único proceso que ejecuta la lógica de la

aplicación, accede directamente a los datos y administra los recursos.

● Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado.

Cualquier elemento puede ser mejorado en cualquier momento o se pueden añadir

nuevos nodos a la red con facilidad.

● Facilidad de mantenimiento: dado que las funciones y responsabilidades del sistema

están distribuidas entre varios ordenadores independientes, se puede remplazar,


16

reparar, actualizar e incluso mudar un servidor sin que los clientes se vean afectados

por ese cambio o con un impacto mínimo en los mismos.

Las desventajas de esta arquitectura son:

● Congestión del tráfico: si existen numerosos clientes enviando peticiones simultáneas

al mismo servidor, esto puede causar problemas resultando un degradamiento de la

eficiencia del sistema y en casos extremos el colapso del mismo.

● Si el servidor colapsa (deja de funcionar), las peticiones de los clientes no pueden ser

atendidas.

● Los clientes y en especial el servidor, pueden necesitar de software y hardware

específico, lo cual se puede traducir en un aumento de los costos.

Dado que el módulo de inventario y rastreo de puntos de venta básicamente consiste en el

registro de entrada y salida de estos equipos de distintas ubicaciones, la arquitectura cliente-

servidor resulta ideal para su implementación.

PATRÓN DE DISEÑO MODELO – VISTA – CONTROLADOR

Antes de iniciar la construcción de cualquier aplicación, es de suma importancia realizar,

entre otras cosas, un diseño cuidadoso de la arquitectura del software de la misma. Un mal

diseño puede sin duda, afectar considerablemente el tiempo de desarrollo de una aplicación, la

facilidad para dar mantenimiento y hacer cambios futuros a la misma, y la posibilidad de

incorporar nuevas funcionalidades a la aplicación a lo largo del tiempo. Si bien existen diversas

formar de abordar y dar solución a un problema, es considerada una buena práctica en el


17

desarrollo de software hacer uso de soluciones genéricas ya probadas y cuya eficiencia haya sido

demostrada. Esto con la finalidad de minimizar el riesgo de fracaso del proyecto.

Un patrón de diseño es una solución reutilizable a un problema de diseño y cuya efectividad

ha sido comprobada. En este sentido, el patrón de diseño modelo-vista-controlador es un patrón

de arquitectura de software que separa los datos de la aplicación, la interfaz de usuario y la lógica

del negocio en tres componentes distintos:

● El modelo: está compuesto por los datos de la aplicación y la lógica para manipular

los mismos. El modelo en sí mismo se puede dividir en distintas capas de acuerdo al

nivel de modularidad que se busque. La división más sencilla resulta en dos capas, la

capa de persistencia de datos y la capa de lógica del negocio.

● La vista: Es la representación del modelo ante el usuario. Proporciona los medios para

que el usuario interactúe con la aplicación, invoque cambios al modelo y consulte el

estado del mismo.

● El controlador: Es quien determina el comportamiento de la aplicación de acuerdo a

las peticiones que realiza el usuario haciendo uso de la vista o a otros eventos que se

produzcan en el sistema. Se encarga de invocar a la lógica del negocio y de seleccionar

las vistas adecuadas para presentar el estado del modelo al usuario.

Bajo el patrón de diseño MVC el flujo de control de la aplicación sería el siguiente:

1. El usuario interactúa con el sistema a través de la vista, generándose una petición.


18

2. El controlador recibe esta petición en forma de evento y se encarga de invocar a la

lógica del negocio adecuada, delegando de esta forma la tarea al modelo.

3. El modelo se encarga de ejecutar la acción requerida por el controlador, posiblemente

modificando su estado.

4. El modelo notifica al controlador el resultado de su operación.

5. El controlador, en base al resultado obtenido, selecciona la vista apropiada y le delega

a ésta la tarea de mostrar el nuevo estado del modelo al usuario.

6. La vista muestra los datos al usuario.

7. Finalmente, la vista espera por otra acción que inicie el ciclo nuevamente.

La figura 2 muestra de manera gráfica el ciclo anterior.

Figura 2. Ciclo de control del patrón MVC

Como se puede notar en el flujo de control antes descrito, en el patrón de diseño MVC el

controlador actúa como un mediador entre la vista y el modelo, logrando de esta forma una clara
19

separación entre ambos componentes. Esta separación es una de las ventajas de este patrón sobre

otros puesto que permite:

● Disminuir el tiempo de desarrollo de la aplicación puesto que un grupo de

programadores puede trabajar en la vista mientras que otro grupo trabaja en el modelo

de manera simultánea.

● Un mismo modelo puede tener asociadas múltiples vistas, de esta forma se pueden

crear distintas interfaces de usuario para distintos dispositivos sin necesidad de re-

implementar el modelo.

● Simplifica el mantenimiento de la aplicación puesto que permite a los programadores

centrarse en un componente a la vez.

● Con el paso del tiempo es normal que la interfaz de una aplicación cambie para

adaptarse a las nuevas necesidades de los usuarios, con el patrón MVC este cambio

puede realizarse sin comprometer los datos ni la lógica de la aplicación.

Entre las desventajas de usar este patrón tenemos:

● La separación de la aplicación en distintos componentes agrega complejidad a la


misma.
● Aumentan considerablemente la cantidad de archivos a desarrollar y
eventualmente a mantener.
20

PMiS adoptó el patrón MVC como su patrón de diseño de arquitectura desde el inicio, por

este motivo fue requerimiento de la empresa que el módulo de inventario y rastreo de puntos de

venta se desarrollara siguiendo el mismo patrón.

APLICACIÓN WEB

Dentro del campo de la ingeniería de software se denomina aplicación web a una aplicación

de la cual los usuarios hacen uso accediendo a un servidor web a través de internet o de una

intranet mediante un navegador. Estas aplicaciones son populares debido a lo práctico del

navegador como cliente, a la independencia del sistema operativo y a la facilidad para actualizar

y mantener dichas aplicaciones sin la necesidad de distribuir e instalar el software en miles de

usuarios potenciales.

Anteriormente se mencionó que, dada la naturaleza del módulo de inventario y rastreo de

puntos de venta, la arquitectura cliente-servidor resultaba ideal para su implementación. Por otro

lado, siendo la función principal del módulo el registro de la entrada y salida de los equipos de

distintas ubicaciones, las cuales irán aumentando conforme la empresa crece y se expande,

resultó conveniente adoptar el esquema de aplicación web para su desarrollo.

MARCO TECNOLÓGICO

Una vez establecidos los fundamentos básicos de la aplicación, como la arquitectura del

sistema y su arquitectura de software y habiendo definido el tipo de aplicación a desarrollar (web

o escritorio), el siguiente paso es seleccionar las tecnologías y herramientas adecuadas que


21

faciliten el desarrollo, garanticen su calidad y minimicen el tiempo de trabajo, de manera de

satisfacer los requerimientos del cliente, en los lapsos de tiempo establecidos.

El presente capítulo tiene como objetivo introducir las tecnologías y herramientas utilizadas

en el desarrollo del módulo de inventario y rastreo de puntos de venta.


22

TECNOLOGÍAS UTILIZADAS

JAVA

Java es un lenguaje de programación de alto nivel, orientado a objetos y de máquina virtual,

desarrollado a principios de los años 90 por Sun Microsystems. El lenguaje como tal, toma gran

parte de su sintaxis de C y C++, pero posee un modelo de objetos considerablemente más simple

y además elimina por completo las herramientas de bajo nivel que suelen inducir a muchos

errores.

Es un lenguaje ampliamente usado para el desarrollo de sistemas y aplicaciones web por su

sencillez, robustez y la portabilidad que brinda a las aplicaciones. Además, Java se distribuye

con un conjunto enorme de clases que facilitan y aceleran el desarrollo de las aplicaciones.

Sumado a esto, existe un gran número de librerías y tecnologías basadas en Java de libre

distribución que ofrecen funcionalidades específicas y de uso común en el desarrollo de software

que liberan al programador de tener que repetir trabajo, así como también gran variedad de

herramientas libres que facilitan el desarrollo, la depuración y el despliegue de aplicaciones

escritas en este lenguaje.

Por todo esto Java es una excelente opción a considerar al momento de elegir el lenguaje a

utilizar en el desarrollo de una aplicación.

En el caso del módulo de inventario y rastreo de puntos de ventas, el uso de este lenguaje fue

requerimiento explícito de la empresa, puesto que el sistema para el cual se desarrolló dicho

módulo está escrito enteramente en Java.


23
24

APACHE STRUTS

Apache Struts es una herramienta de soporte para el desarrollo de aplicaciones web bajo el

patrón MVC bajo la plataforma Java EE (Java Edición Empresarial). Es un framework

extensible, flexible y de carácter libre que ayuda a acelerar el proceso de desarrollo de una

aplicación web y que utilizado con rigurosidad permite sacar provecho a todas las ventajas del

patrón de diseño modelo-vista-controlador.

Struts es una aplicación framework (marco de trabajo de aplicación) lo cual significa que, en

sí, es el esqueleto de una aplicación. Dentro del patrón de diseño MVC, Struts provee a los

desarrolladores solo del controlador de la aplicación, así como de las interfaces y los medios para

comunicar el controlador a la vista y al modelo. En cuanto a la vista y el modelo, Struts es una

herramienta totalmente flexible, permitiéndole al programador elegir la tecnología de

presentación de su preferencia y diseñar y construir el modelo a su conveniencia. Además de esto

Struts es un framework extensible y dispone de gran variedad de plugins que facilitan y aceleran

el desarrollo de las aplicaciones web.

JBOSS HIBERNATE

Hibernate es una herramienta de mapeo objeto-relacional para la plataforma Java que facilita

el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de

una aplicación. Busca solucionar el problema entre los dos modelos de datos coexistentes en una

aplicación: el usado en la lógica de la aplicación (orientación a objetos) y el usado en la base de


25

datos (modelo relacional). Para lograr esto se basa en un conjunto de archivos XML en los cuales

el programador describe su modelo de datos, las relaciones que existen y las formas que tienen.

Con esta información Hibernate le permite luego al programador manipular los datos de la

base de datos como si se tratara de objetos, con todas las características de la programación

orientada a objetos. De esta forma Hibernate provee al desarrollador de la interfaz entre la capa

lógica y la capa de persistencia, liberándolo de la construcción manual de la misma y acelerando

así el proceso desarrollo de la aplicación.

APACHE TOMCAT

Apache tomcat es servidor web con soporte para servlets (programas que se ejecutan en un

servidor) que implementa las especificaciones de los servlets y de Java Server Pages (JSP) de

Sun Microsystems. Está escrito en Java por lo cual está disponible para cualquier plataforma

para la cual exista una máquina virtual de Java.

Es una tecnología de código abierto y libre distribución que al apegarse a las especificaciones

de las tecnologías JSP y Java Servlet, resulta una excelente elección al desarrollar sistemas web

escritos en Java.

Actualmente la versión más reciente del servidor es la 7.

POSTGRES SQL
26

PostgresSQL Es un sistema de gestión de base de datos relacional de código abierto,

ampliamente conocido por su robustez. Utiliza un modelo cliente-servidor y usa multiprocesos

en vez de multihilos para garantizar la estabilidad del sistema. Su desarrollo comenzó hace más

de 16 años y desde entonces ha probado funcionar muy bien con grandes cantidades de datos y

una alta concurrencia de usuarios. Por esta razón es considerado uno de los manejadores de base

de datos de código abierto más potentes y robustos del mercado.

Se utilizó como el manejador de base de datos del módulo de inventario y rastreo de puntos de

venta a petición de la empresa, puesto que es el mismo manejador usado por el resto del sistema.

JSP, CSS, HTML

La tecnología de capa de presentación usada fue JSP (Java Server Pages). JSP es una

tecnología Java del lado del servidor que permite generar contenido dinámico para web, en

forma de documentos HTML, XML o de otro tipo. Permite la utilización de código Java

mediante scripts, así como también la definición y utilización de etiquetas jsp que encapsulan

funcionalidad y agregan un nivel más de abstracción a las páginas, dando como resultado un

código más elegante, limpio, legible y mantenible. Además, existen una gran cantidad de

librerías de etiquetas jsp disponibles que implementan una gran variedad de funcionalidades y

permiten así acelerar el proceso de desarrollo. Como ejemplo se puede citar la Strut Tag Library

(Librería de etiquetas de Struts) que es un conjunto de etiquetas distribuidas junto con Struts y

que facilitan enormemente la tarea de desarrollar vistas en jsp haciendo uso de dicho framework.
27

HTML es el lenguaje de marcas predominante para la elaboración de páginas web. Permite

definir tanto la estructura de la página como su contenido mediante un conjunto de etiquetas y

sus atributos. En el caso del módulo de inventario y rastreo de equipos, este fue el formato

generado por las páginas jsp.

Por último, para dar estilo a las páginas se hizo uso de hojas de estilo CSS (Cascading Style

Sheets). CSS es un lenguaje usado para definir la presentación de un documento estructurado

escrito en HTML o XML. La idea que se encuentra detrás de las hojas de estilo es la de separar

la estructura de un documento de su presentación, de esta forma se pueden hacer modificaciones

a cada uno de los componentes por separado sin afectar el componente restante.

Todas las vistas del módulo fueron generadas haciendo un uso combinado adecuado de estas

tres tecnologías, separando claramente la estructura de los documentos de sus reglas de estilo

para garantizar de esta forma la facilidad de mantenimiento.

JAVASCRIPT

Es un lenguaje de programación interpretado y orientado a objetos que permite agregar

dinamismo a las páginas web. Es interpretado por el navegador y aunque existe una forma de

JavaScript del lado del servidor, su uso más común es del cliente, principalmente para mejorar

las interfaces de usuario y realizar validaciones de datos antes de que estos sean enviados al

servidor para su procesamiento. Este fue el uso que se le dio en el desarrollo del módulo de

inventario y rastreo de puntos de venta.


28

AJAX

AJAX es el acrónimo de Asynchronous JavaScript + XML, que se puede traducir como

JavaScript asíncrono + XML. Más que una tecnología en sí misma, AJAX es una combinación

de varias tecnologías independientes que se unen para crear aplicaciones de internet enriquecidas

o RIAs (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente mientras que se

mantiene una comunicación asíncrona con el servidor en segundo plano, de esta forma es posible

realizar cambios sobre las paginas sin necesidad de recargarlas, mejorando así la experiencia del

usuario a través de un aumento de la interactividad de la aplicación y su velocidad de respuesta.

Con AJAX se rompe el modelo tradicional de aplicación web en el cual las acciones del usuario

desencadenan en recargas de la página en el explorador, entregando al usuario final una

experiencia similar a la de interactuar con una aplicación de escritorio, pero en un entorno web.

Para el desarrollo del módulo de inventario y rastreo de puntos de venta se hizo uso

exhaustivo de AJAX con la finalidad de mejorar la experiencia del usuario. Sin embargo, el uso

de esta tecnología se hizo a través de la librería jQuery, la cual simplifica enormemente el uso de

esta tecnología y de la cual se habla a continuación.

JQUERY

jQuery Es una biblioteca de JavaScript diseñada con dos objetivos fundamentales: facilitar la

manipulación de los documentos HTML y simplificar el uso de AJAX. jQuery es software libre
29

y de código abierto. Es ampliamente usada en el desarrollo web debido a su sencillez y a que

ofrece una gran cantidad de funcionalidades basadas en JavaScript que resultan en un aumento

de la productividad y en una reducción de los tiempos de desarrollo. Con jQuery se pueden crear

de forma fácil contenidos web dinámicos y atractivos con tan solo unas pocas líneas de código.

El segundo punto fuerte de jQuery es la simplificación del uso de AJAX en las aplicaciones

web. La librería provee un conjunto rico de funciones altamente configurables que facilitan de

manera considerable el trabajo con esta tecnología.

Por último, jQuery cuenta con un conjunto enorme de plugins que son de libre distribución y

que implementan una gran variedad de funcionalidades de uso común en las aplicaciones web.

DATATABLES

DataTables es un plugin para jQuery utilizado para agregar funcionalidades de paginación,

búsqueda y ordenamiento, entre otras cosas, a tablas de datos estáticos en documentos HTML.

Es una herramienta flexible y altamente configurable que facilita el desarrollo y ayuda a mejorar

la experiencia del usuario.

JASPERREPORTS

JasperReports es una herramienta de creación de informes escrita en Java, que tiene la

habilidad de entregar contenido enriquecido directamente al monitor, la impresora o ficheros con

distintos formatos como PDF, XML, CSV, Excel, OpenOffice y Word entre otros. Es una
30

herramienta libre, distribuida en forma de biblioteca que puede ser embebida (incrustada) en

cualquier aplicación Java, bien sea de escritorio o web. En JasperReports la estructura del

informe se define en un documento XML y su contenido puede provenir de distintas fuentes de

información como, por ejemplo, el resultado de una consulta realizada a una base de datos o una

colección de objetos software.

Como parte del conjunto de funcionalidades que debía proveer el módulo de inventario y

rastreo de equipos, se encontraba la generación de una serie de reportes que reflejaran el

resultado de ciertas operaciones del negocio. La decisión relacionada al cómo generar estos

reportes fueron dejadas a discreción del programador. Se optó por usar JasperReport para estos

fines debido a la popularidad que tiene la herramienta y a recomendaciones de otros

programadores dentro de la empresa que habían tenido experiencias previas con la misma.

CVS

CVS o Concurrent Versions System que es español se traduciría como Sistema de Versiones

Concurrentes, es una aplicación informática que implementa un sistema de control de versiones.

CVS se encarga de mantener un registro de todo el trabajo y los cambios en los ficheros que

conforman un proyecto y permite la colaboración entre distintos desarrolladores. Utiliza una

arquitectura cliente-servidor en la cual los archivos del proyecto y su historial se almacenan en el

servidor (esto se conoce como repositorio) y los clientes se conectan a éste para sacar una copia

completa de la versión más actual, trabajar sobre la misma y eventualmente incorporar sus
31

cambios en el servidor, generando así una nueva versión del proyecto. CVS es una herramienta

de código abierto y de libre distribución.


32

HERRAMIENTAS UTILIZADAS

MYECLIPSE

MyEclipse es un entorno de desarrollo integrado o IDE por sus siglas en inglés (Integrated

Development Environment) de distribución comercial, basado en la plataforma Eclipse. Es una

herramienta de desarrollo de software que permite escribir, compilar, depurar y ejecutar

programas desde una misma interfaz, ofreciendo una variedad de servicios que facilitan

considerablemente la tarea de construcción de software.

Al igual que la mayoría de los entornos de desarrollo modernos, MyEclipse ofrece facilidades

para la inclusión de librerías en el proyecto, auto-completación de código, sugerencias durante la

codificación, y despliegue automático de la aplicación al servidor de desarrollo, sin embargo

sobresale entre otros entornos, como Eclipse (en el cual está basado), debido a que se distribuye

con una gran variedad de plugins ya instalados y listos para su uso que facilitan aún más la tarea

de programación. Un ejemplo de estos plugins es el plugin de desarrollo con Hibernate, el cual

fue ampliamente usado en el desarrollo del proyecto. MyEclipse soporta el desarrollo de todos

los tipos de aplicación Java.

Este entorno de desarrollo ha sido usado por el departamento de sistemas de la empresa desde

sus inicios, por lo cual, si bien no fue un requerimiento hacer uso del mismo para desarrollar el

módulo de inventario, se tomó la decisión de usarlo con la finalidad de aprovechar la experiencia

de los miembros del departamento en el trabajo con el mismo.


33
34

IREPORT

Como se mencionó anteriormente en el capítulo, para atender a un requerimiento de

generación de informes en el módulo de inventario, se decidió trabajar con la herramienta de

generación de reportes JasperReports. Con esta herramienta, el diseño y la estructura de los

reportes se definen en un archivo XML que, aunque es de fácil lectura, no permite obtener una

retroalimentación visual del diseño en el cual se trabaja. Por este motivo se utilizó para el diseño

de los reportes la herramienta iReport.

iReport es una herramienta de diseño de reportes basados en JasperReports, que hace uso de

una interfaz gráfica en la cual el diseñador es capaz de observar como luce el reporte al mismo

tiempo que trabaja en el diseño del mismo. Es una herramienta WYSIWYG (What You See Is

What You Get), que le permite al diseñador del reporte centrarse en el diseño gráfico del mismo

alejándose del XML subyacente. De esta forma se obtienen resultados más satisfactorios y en

menor tiempo.

Es una herramienta intuitiva y fácil de usar, basada en los principios de manipulación directa.

Además, facilita la integración de JasperReports con otras tecnologías de uso específico como

por ejemplo librerías para la generación de imágenes, gráficos y códigos de barra.

PGADMIN
35

pgAdmin es una herramienta de desarrollo y administración de bases de datos gestionadas con

el manejador PostgreSQL. Es de código abierto y libre distribución. Permite, haciendo uso una

interfaz gráfica amigable, desde realizar consultas sencillas hasta construir bases de datos

complejas.

Se utilizó durante el desarrollo del módulo básicamente para hacer consultas al estado de la

base de datos sin tener que recurrir al intérprete de comandos.

FIREBUG

Firebug es una herramienta de desarrollo web que permite analizar, editar, monitorizar y

depurar el código fuente, CSS, HTML y JavaScript de una página web de manera instantánea.

Originalmente se distribuía de forma gratuita como una extensión de Firefox, aunque ya existe

una versión ligera para el navegador de Google, Chrome. Es una herramienta muy útil, sobre

todo cuando se trabaja con JavaScript.


36

RESULTADOS ESPERADOS

Los beneficios que se obtendrán al diseñar e implementar un software para el registro y

control de Inventarios para la empresa:

⮚ Disminuir el error humano.

⮚ Mejorar la utilización del espacio en el almacén.

⮚ Mejorar el control del inventario.

⮚ Controlar el stock, con mínimos y máximos.

⮚ Controlar las entradas y salidas del Material

⮚ Llevar registro de los costos

⮚ Control de usuarios.
37

CRONOGRAMA GENERAL DEL PROYECTO

TRABAJO DURACIÓN
Nº ACTIVIDADES COMIENZO FIN
HORAS DÍAS
1 Visita de diagnóstico 16 2 lunes, 30 de julio miércoles, 1 de agosto

al almacén de 2018 de 2018


1.1 Elaboración de 40 5 miércoles, 1 de miércoles, 8 de agosto

instrumentos para la agosto de 2018 de 2018

recolección de datos
1.2 Recolección de datos 20 3 jueves, 9 de agosto lunes, 13 de agosto de

de 2018 2018
1.3 Análisis e 80 10 martes, 14 de martes, 28 de agosto de

interpretación de los agosto de 2018 2018

datos
2 Elaboración de la 480 60 miércoles, 29 de viernes, 23 de

propuesta agosto de 2018 noviembre de 2018


2.1 Socialización de la 40 5 lunes, 26 de viernes, 30 de

propuesta noviembre de 2018 noviembre de 2018


2.2 Instalación y 24 3 lunes, 3 de miércoles, 5 de

ejecución de la diciembre de 2018 diciembre de 2018

propuesta
700 88
38

PRESUPUESTO

El presupuesto estimado para la elaboración de SICIME se evidencia a continuación

o Descripción del hardware


Material Valor
Dos PCs $3.200.000
Una $500.000

Impresora
Subtotal $3.700.000
o Descripción del software
Material Valor
PostgreSQL $0
Netbeans $0
Microsoft Windows $720.000
Subtotal $720.000

o Descripción de recursos humanos


Descripción Valor
Coordinador $3.400.000
Analista $1.400.000
Arquitecto de $6.000.000

Software
Desarrollador $3.200.000
Analista de Datos $1.500.000
Suministro Oficina $130.000
Subtotal $15.630.000

o Descripción servicio Hosting y dominio


Recurso Valor
Dominio por año $150.000
Hosting, $220.000

PostgreSQL
Subtotal $370.000

o Descripción Total
Recurso Valor
Hardware $3.700.000
Software $720.000
Recursos Humanos $15.630.000
Servicio Hosting y Dominio $370.000
39

Total $20.420.000
40

BIBLIOGRAFÍA

BÁSICA

− MARTÍNEZ, Agnessy: Sistema de Inventarios, Editorial software, España, 2003.

− RODRÍGUEZ, Luis: Bases de datos, Editorial Gestores de BBDD, España, 2000.

− CONTRERAS, María: Sistema automatizado para el control del inventario de la

zapatería CALZA SIEMPRE S.R.L, Editorial Barquisimeto, Venezuela, 2009.

− GUTIERREZ, Abraham: Curso de Técnicas de Investigación, Cuarta Edición, Editorial

Andina, Ecuador, 1997.

− HERNANDEZ, Roberto: Metodología de la Investigación, Editorial McGraw-Hill

Colombia, 1996.

− CHAPPELL, David, Aplique .Net, Edición Español 3105-03 Información Libre: Pearson

Education, México, 2003

− SOMMERVILLE, Ian; Ingeniería de software, Séptima Edición Pearson Educations

S.A. MADRID 2005

− BEEKMAN, George; Computación & Informática hoy, Addison – Wesley

Iberoamericana, California – Estados Unidos, 1994.

− Bender, Richard, (1996): Proposed software evaluation and test KPA. Bender and

Associated Inc. Position

− Johnson-Laird, P.N. (1998): El ordenador y la mente: introducción a la ciencia

cognitiva. Paidós.

− Juran J. M. (1995): Análisis y Planeación de la calidad. Mc Graw Hill

− Piattini M. (1996): Análisis y Diseño Detallado de Aplicaciones Informáticas de

Gestión. Rama. Madrid.


41

− Pressman R.(1993): Ingeniería de Software. Un enfoque práctico. Mc Graw Hill.

CITADA

− RODRIGUEZ, Miguel (2002), Sistema de Inventarios, Editorial Macro, primera edición,

Pag 4,5.

− BOCK, Robert (2003), Objetivo de los inventarios, Editorial Work Study, tercera edición,

Pag 3.

− HERNÁNDEZ, Marvin (2000), Sistema informático, Editorial Trillas, primera edición,

Pag 6.

− BUENO, David (2004). Tecnología de Sistemas de Control Madrid: editorial OBELISCO

Pág. 190.

VIRTUAL

− http://www.ilustrados.com/publicaciones/EpZVVZppVlxAiNyJPQ.php, 05-12- 2011

− http://www.gestiopolis.com/administracion-estrategia/administracion-deinventarios.htm

− http://www.monografias.com/trabajos62/gestion-automatizada-invetariospymes/gestion-

automatizada-invetarios-pymes2.shtml.

− http://www.gestiopolis.com/recursos/documentos/fulldocs/ger1/teodesisjuan.ht m.

− http://www.definicionabc.com/tecnologia/aplicacion.php.

− http://es.scribd.com/doc/916042/Visual-Studio-2010.

− http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2010-and-net-3- 5-

released.aspx. • http://msdn.microsoft.com/library/z1zx9t92.

− http://msdn.microsoft.com/es-es/library/aa970268.aspx.

− http://www.microsoft.com/spain/sql/productinfo/overview/what-is-sql.

− http://www.ecured.cu/index.php/Rational_Rose_Enterprise_Edition.
42

− http://visualbasic-net.blogspot.com/2011/01/que-es-visual-studio-net.html.

− http://es.wikipedia-org/wiki/Modelo_Vista_Controlador

− http://struts.apache.org/

− https://repository.ean.edu.co/bitstream/handle/10882/1585/SuarezChristian2012.pdf?seq
43

HISTORIAL

− Primer link de la bibliografía fue consultado el 3/05/2018

− Segundo link de la bibliografía fue consultado el 8/06/2018

− Tercer link de la bibliografía fue consultado el 22/06/2018

− Cuarto link de la bibliografía fue consultado el 22/06/2018

− Quinto link de la bibliografía fue consultado el 22/06/2018

− Sexto link de la bibliografía fue consultado el 22/06/2018

− Séptimo link de la bibliografía fue consultado el 11/08/2018

− Octavo link de la bibliografía fue consultado el 11/08/2018

− Noveno link de la bibliografía fue consultado el 01/09/2018

− Decimo link de la bibliografía fue consultado el 01/09/2018

− Onceavo link de la bibliografía fue consultado el 01/09/2018

También podría gustarte