APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE...

89
UNIVERSIDAD DE LAS TUNAS FACULTAD DE CIENCIAS TÉCNICAS DEPARTAMENTO DE INFORMÁTICA APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE VENTA DE DESOFT LAS TUNAS TRABAJO DE DIPLOMA EN OPCIÓN AL TÍTULO DE INGENIERO INFORMÁTICO AUTOR: Dayana Reyes Mora TUTORES: Ing. Lisset del Carmen Avila de la Cruz Ing. Rogenry Rafael Avila Batista Las Tunas, 2013 “Año 55 de la Revolución”

Transcript of APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE...

Page 1: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

UNIVERSIDAD DE LAS TUNAS FACULTAD DE CIENCIAS TÉCNICAS DEPARTAMENTO DE INFORMÁTICA

APLICACIÓN WEB PARA LA GESTIÓN DEL

SUBPROCESO DE VENTA DE

DESOFT LAS TUNAS

TRABAJO DE DIPLOMA EN OPCIÓN AL TÍTULO DE INGENIERO INFORMÁTICO

AUTOR: Dayana Reyes Mora

TUTORES: Ing. Lisset del Carmen Avila de la Cruz

Ing. Rogenry Rafael Avila Batista

Las Tunas, 2013 “Año 55 de la Revolución”

Page 2: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

DEDICATORIA

A la memoria de mi abuelo Serafín, por haber sido un ejemplo de

sacrificio y darme las fuerzas necesarias para continuar.

A mi hermano Sider Adrián, para que aprenda que con esfuerzo, se

logran las metas.

A mis padres, por su amor y apoyo incondicional.

A mi madre, por estar conmigo siempre.

A mis abuelos, por educarme y enseñarme tan buenos valores como la

responsabilidad y honradez.

A mi novio, por permitirme formar parte de su vida y ser lo mejor que me

ha pasado.

A Yeannys, porque aunque lejos, siempre está conmigo.

Page 3: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

AGRADECIMIENTOS

A mis padres, por darme la vida y todo su amor.

A Dios, por permitirme mantener la fe y estar siempre conmigo.

A mis abuelos, por su cariño y toda su dedicación.

A Ro, porque sin su amor, comprensión y ayuda, no hubiese podido

llegar hasta aquí.

A Loyda, por su apoyo, cariño y atenciones.

A toda mi familia, por su preocupación constante.

A mis tutores, por guiarme y contribuir inmensamente en mi desarrollo

profesional.

A Lisett y Rotceh, por haber compartido sus conocimientos y dedicarme

parte de su tiempo.

A todos mis compañeros de trabajo, por su comprensión y preocupación.

A Silvia, Liliana y Adrián, por su ayuda incondicional en la realización

de este trabajo.

A DESOFT, por su contribución en mi desarrollo como profesional.

A mis compañeros de estudio, por su ayuda y darme fuerzas para

continuar.

A todos los profesores que me han guiado y enseñado en este difícil y

largo camino.

Page 4: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

DECLARACIÓN DE AUTORÍA

Page 5: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

OPINIÓN DEL USUARIO DEL TRABAJO DE DIPLOMA

Page 6: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

OPINIÓN DE LOS TUTORES DEL TRABAJO DE DIPLOMA

Page 7: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

RESUMEN La Empresa Nacional de Software (DESOFT), tiene como misión ofrecer soluciones

integrales en tecnologías de la información para la Informatización de la Sociedad

Cubana. En ella posee un papel importante la Subgerencia de Negocios, que se

encarga de gestionar íntegramente el ciclo de vida de los negocios, enfocando el

resultado a la satisfacción de los clientes, para lo cual desarrolla un conjunto de

actividades que responden a dos subprocesos, dentro de los que se destaca el de

Venta.

En este subproceso, el almacenamiento de la información en hojas Excel, ha

provocado la pérdida de datos e imposibilitado una rápida y eficaz atención al cliente.

Este trabajo tiene como objetivo la creación de una aplicación web para la gestión de

la información del Subproceso de Venta, utilizando Java como lenguaje de

programación y Spring como framework del lado del servidor; Ext JS para el diseño

de las interfaces de usuario y PostgreSQL como gestor de base de datos. Para

agilizar el proceso de desarrollo del software fue empleada la metodología AM y

RUP.

La aplicación se integra con el Sistema Económico Financiero Versat Sarasola con el

propósito de obtener los datos existentes con respecto a los clientes, facturas,

servicios y productos, para emplearlos en la realización de sus procesos como son:

la gestión de ofertas, contratos, suplementos y cheques. Permite una mejor

organización y facilita la confección de un archivo único en el que se encuentren

todos los datos referentes a los clientes de la empresa.

Palabras claves: DESOFT, Subproceso de Venta, Versat Sarasola, clientes.

Page 8: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

ABSTRACT The National Software Company (DESOFT), has the mission to provide

comprehensive solutions in information technology for the Cuban Society. The

Business Assistant Manager Office is responsible for managing the full life cycle of

business, focusing on customer satisfaction, developing a set of activities of Sales

and Public Relations processes.

Storing the Sales Process information in Excel sheets, has caused the loss of data

and prevented a quick and efficient customer service. This work aims to create a web

application for managing the information mentioned above using the Java

programming language, the Spring Framework, Ext JS JavaScript Framework and

PostgreSQL database manager. To expedite the software development process the

AM and RUP methodology was used.

The application integrates with Versat Sarasola Financial Economic System in order

to obtain exiting data regarding customer, invoices, products and services, which

were needed for the management of offers, contracts, supplements and checks. The

software allows for better organization and facilitates the preparation of a single

service with all data related to the company's customers.

Keywords: DESOFT, Sales Process, Versat Sarasola, customers.

Page 9: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

ÍNDICE INTRODUCCIÓN ........................................................................................................ 1 CAPÍTULO I: MARCO TEÓRICO CONCEPTUAL ..................................................... 5

1.1 Gestión basada en procesos ........................................................................ 5 1.2 Proceso de Negocios de DESOFT División Las Tunas ................................ 6 1.3 Sistema Contable Financiero Versat Sarasola............................................ 12 1.4 Valoración de aplicaciones similares vinculadas al campo de acción......... 13 1.5 Técnicas, metodologías y software utilizados ............................................. 15 1.6 Integración de aplicaciones informáticas .................................................... 20 1.7 Lenguajes de programación y tecnologías utilizadas.................................. 22 1.8 PostgreSQL ................................................................................................ 24 1.9 Pentaho Reporting ...................................................................................... 24 1.10 Patrones...................................................................................................... 25 1.11 Metodología AM con RUP........................................................................... 28 1.12 UML ............................................................................................................ 28 Conclusiones ....................................................................................................... 29

CAPÍTULO II: ANÁLISIS Y DISEÑO DEL SISTEMA ............................................... 30 2.1 Propuesta del sistema................................................................................. 30 2.2 Modelado del Negocio ................................................................................ 31 2.3 Levantamiento de Requisitos...................................................................... 33 2.4 Diseño......................................................................................................... 45 2.5 Implementación........................................................................................... 54 Conclusiones ....................................................................................................... 59

CAPÍTULO III: IMPLEMENTACIÓN DEL SISTEMA ................................................ 60 3.1 Aspectos relativos a la implementación del sistema ................................... 60 3.2 Diseño de la interfaz ................................................................................... 60 3.3 Forma general y principios en que se basa el sistema de ayuda................ 61 3.4 Forma general y principios de la protección y seguridad ............................ 61 3.5 Forma general del tratamiento de errores................................................... 62 Conclusiones ....................................................................................................... 63

CONCLUSIONES ..................................................................................................... 64 RECOMENDACIONES ............................................................................................. 65 REFERENCIAS BIBLIOGRÁFICAS ......................................................................... 66 BIBLIOGRAFÍA ........................................................................................................ 70 ANEXOS ................................................................................................................... 71

Page 10: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  1

INTRODUCCIÓN

La Empresa Nacional de Software (DESOFT), se subordina al Ministerio de las

Comunicaciones, dirige sus esfuerzos a ofrecer soluciones integrales en Tecnologías

de la Información para la Informatización de la Sociedad Cubana, y se encarga de la

comercialización basada en la consecución del máximo beneficio económico y el

cumplimiento de su Plan de Ventas. [DESOFT, Reglamento orgánico, 2012]

DESOFT tiene dentro de su objeto social la prestación de diferentes servicios como:

despliegue, soporte, desarrollo de aplicaciones, consultorías, asesorías, formación,

además de la venta de productos asociados a las tecnologías de la información para

personas naturales y jurídicas dentro del territorio nacional y para empresas

extranjeras.

La división DESOFT Las Tunas cuenta con un sistema de gestión basado en

procesos constituido por una Gerencia y seis Subgerencias, una de Negocios que

gestiona el ciclo de vida de los proyectos por líneas de negocios, la subgerencia de

Desarrollo orientada a la producción de aplicaciones informáticas basadas

prioritariamente en software libre, la subgerencia de Despliegue y Soporte, enfocada

al despliegue de las soluciones informáticas en el cliente y a la atención de post-

venta, y las subgerencias Económica, de Recursos Humanos y de Servicios

Generales encargadas de las actividades de apoyo.

La Subgerencia de Negocios tiene la misión de gestionar íntegramente el ciclo de

vida de los negocios, enfocando el resultado a la satisfacción de los clientes. Sigue

un conjunto de actividades que responden a dos subprocesos, dentro de los que se

destaca el de Venta, que va desde la prospección o búsqueda de clientes

potenciales hasta el cierre de la venta, con la posterior relación de postventa.

Existen dos vertientes en el trabajo de Negocios, una enfocada a la búsqueda de

prospectos con la presentación de ofertas, trabajo de marketing y publicidad de

donde se obtienen los nuevos negocios y clientes potenciales y otra destinada a

ampliar la gama de los productos y servicios a aquellos que son ya clientes.

Page 11: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  2

El desarrollo del Subproceso de Venta comienza cuando el cliente solicita los

productos o servicios que desea adquirir a la Subgerencia de Negocios, quien

responde a su petición con la entrega de una Oferta Comercial y Ficha de Cliente,

aquí se recoge toda la información necesaria para la firma de contratos. La Oferta

Comercial previamente aceptada por el cliente, se presenta al Comité de Negocios,

donde se aprueba definitivamente el proyecto y se procede a la elaboración del

Contrato Marco y Suplementos para cada uno de los servicios y/o productos

solicitados.

Luego de haber firmado el contrato se procede, en caso de una venta de producto a

la elaboración de la factura por el monto total. El resto de los servicios serán

facturados en cada etapa según corresponda a lo pactado, previa firma de las actas

de aceptación con el servicio recibido.

Las facturas son creadas en el Sistema Contable-Financiero Versat Sarasola, para lo

cual deben insertarse en dicho sistema los datos de los clientes. Una vez

confeccionadas estas se registran en el Registro de Facturas y luego entregadas al

cliente para su firma y ejecución del pago mediante cheque o transferencia bancaria.

Si el pago se realiza por mediación de cheque, se dejará constancia en el Registro

de Cheques.

Tanto el contrato como los suplementos son enumerados consecutivamente y

registrados en el Registro Comercial. Por otra parte existe un Registro de Clientes,

que permite llevar un control de todos los clientes de la empresa y junto a ellos las

formas de comunicación. Todos estos registros (Comercial, Clientes, Facturas,

Cheques) se encuentran en formato digital en hojas Excel y están conformados

según lo expuesto en la Metodología de Ventas aprobada por la Casa Matriz de

DESOFT.

El almacenamiento de todos los datos en hojas Excel dificulta la búsqueda y

obtención de información, así como la realización de cualquier tipo de análisis. Esto

es evidente en el momento de obtener los contratos próximos a vencerse o los

productos contratados a un cliente determinado, para lo cual se debe revisar línea a

línea cada uno de estos registros.

Page 12: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  3

Además, no se cuenta con un archivo único de los datos del cliente lo que conlleva a

la captación repetitiva de los mismos. De manera general la actividad se torna

trabajosa, provocando la pérdida de datos, inadecuada manipulación de la

información, además de impedir una rápida y eficaz atención al cliente.

Partiendo de lo antes expuesto se define como problema científico: ¿Cómo mejorar

la gestión del Subproceso de Venta en el Proceso de Negocios de la División de

DESOFT Las Tunas?

Dicho problema se circunscribe dentro del objeto de estudio: gestión de la

información del Proceso de Negocios de la División de DESOFT Las Tunas. Como

campo de acción se define: la gestión informatizada del Subproceso de Venta de la

División de DESOFT Las Tunas.

Para dar solución al problema planteado se define el siguiente objetivo: desarrollar

una aplicación web como herramienta para la gestión de la información del

Subproceso de Venta de la División de DESOFT Las Tunas.

Teniendo en cuenta lo antes descrito, este trabajo se basa en la siguiente idea a defender: la elaboración de una aplicación web para la manipulación de la

información del Subproceso de Venta contribuirá a mejorar la gestión del Proceso de

Negocios en la División de DESOFT Las Tunas.

Con el propósito de darle cumplimiento al objetivo de la investigación se definen las

siguientes tareas:

Realizar un estudio acerca del Subproceso de Venta de DESOFT Las Tunas.

Estudiar tendencias y tecnologías actuales.

Analizar, diseñar e implementar una aplicación web para la gestión del

Subproceso de Venta de DESOFT Las Tunas.

Page 13: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  4

Métodos de investigación:

Histórico-lógico: se hace un análisis y se caracterizan las aplicaciones

existentes con el objetivo de emplear su experiencia y detectar deficiencias.

Análisis-Síntesis: se utiliza principalmente para el desarrollo del marco

teórico ya que se analiza la bibliografía encontrada acerca del tema en general

y finalmente se sintetiza lo que interesa para este trabajo.

Inducción-deducción: se emplea durante todas las etapas de la

investigación para relevar la relación entre lo particular y lo general, y

viceversa.

Sistémico-estructural: se utiliza en la elaboración del sistema para la gestión

de la información, así como para abordar todos los procesos involucrados en

la temática estudiada.

Revisión documental: se emplea para la recopilación de la información

necesaria respecto al objeto de estudio de la investigación.

Page 14: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  5

CAPÍTULO I: MARCO TEÓRICO CONCEPTUAL

En este capítulo se explican los aspectos más importantes del Proceso de Negocios

de la División de DESOFT Las Tunas, prestándole mayor atención al Subproceso de

Venta. Se analizan problemas presentes en algunas de las aplicaciones existentes

para la gestión de la información de este subproceso y las tecnologías, herramientas

y metodologías a utilizar en el desarrollo del software.

1.1 Gestión basada en procesos

La implantación de la gestión de procesos se ha revelado como una de las

herramientas de mejora del trabajo más efectivas para todos los tipos de

organizaciones. [La gestión por procesos]

Según la ISO 9001:2000, los resultados deseados se alcanzan más eficientemente

cuando los recursos y las actividades relacionadas se gestionan como un proceso.

Un proceso es cualquier actividad, o conjunto de actividades ligadas entre sí, que

utiliza recursos y controles para transformar elementos de entrada en resultados,

tales como: especificaciones, recursos, información, servicios, etc. Todas las

actividades de la organización, desde la planificación de las compras hasta la

atención de una reclamación, pueden y deben considerarse como procesos. [La

gestión por procesos]

Para operar de manera eficaz, las organizaciones tienen que identificar y gestionar

numerosos procesos interrelacionados conociéndose esto como gestión basada en

procesos; la que está dirigida a realizar procesos competitivos capaces de reaccionar

autónomamente a los cambios mediante el control constante de la capacidad de

cada uno, la mejora continua, la flexibilidad estructural y la orientación de las

actividades hacia la plena satisfacción del cliente y de sus necesidades. Es uno de

los mecanismos más efectivos para que la organización alcance altos niveles de

eficiencia. [La gestión por procesos]

La gestión basada en procesos, posibilita la realización en cualquier actividad

productiva, de servicios o comercial, de un análisis para el perfeccionamiento de

Page 15: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  6

estas actividades y el mejoramiento de la competitividad. Además, permite mejorar el

desempeño integral del trabajo, la calidad, la reducción de los costos y otros

elementos o indicadores importantes de la organización.

Los procesos de una organización se pueden agrupar en tres tipos:

1. Procesos claves: son los que tienen contacto directo con el cliente (los

necesarios para la realización del producto/servicio, a partir de los cuales el

cliente percibirá y valorará la calidad: comercialización, planificación del

servicio, prestación del servicio, entrega, facturación, etc.)

2. Procesos estratégicos: son los responsables de analizar las necesidades y

condicionantes de la sociedad, del mercado y de los accionistas, para

asegurar una respuesta. (Dirección, Marketing, Recursos Humanos, Calidad,

etc.)

3. Procesos de soporte: son los procesos responsables de proveer a la

organización de todos los recursos necesarios en cuanto a personas,

maquinaria y materia prima, para poder generar el valor añadido deseado por

los clientes (Contabilidad, Compras, Nóminas, Sistemas de Información, etc.)

Los procesos claves inciden de un modo directo en la prestación del servicio y la

satisfacción del cliente externo, por tanto, están directamente relacionados con la

misión de la organización consumiendo gran parte de los recursos de la misma.

Constituyen la secuencia de valor añadido, desde la comprensión de las necesidades

del usuario hasta la recepción del producto/servicio por el cliente. [La gestión por

procesos]

DESOFT Las Tunas, posee un proceso clave dentro de los que garantizan su gestión

empresarial: el Proceso de Negocios.

1.2 Proceso de Negocios de DESOFT División Las Tunas

Es el encargado de gestionar el plan de ventas de la división sobre la base de

negocios viables. Además, debe lograr el cumplimiento por líneas de negocios,

diversificar la cartera de productos y servicios de la empresa y mantener el ciclo de

cobro en 30 días y sin cuentas envejecidas. [DESOFT, FP-Negocios, 2012]

Page 16: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  7

En el Anexo 1, se representa el flujograma del Proceso de Negocio.

Para el logro de sus objetivos, el proceso desarrolla las actividades que aparecen

descritas en la tabla siguiente:

Tabla 1: Actividades del Proceso de Negocio

No Entradas Actividades Salidas

1 Solicitud de productos y

servicios

Estudio de Factibilidad y

Confección de la Oferta. Oferta Comercial

2 Oferta Comercial

Comité de Negocios.

Asignación de Recursos y

Definición del Jefe de

Proyecto.

Aprobación del proyecto.

Registro de Proyectos

3 Aprobación del Proyecto Contratación Contrato firmado.

Registro de Contratos.

4 Contratos Satisfacción del cliente Actas de conformidad,

encuestas.

5

Contratos, órdenes de

trabajo y/o actas de

aceptación.

Facturación Facturas

6 Facturas Gestión de cobro Cheques

7 Distribución de ingresos a

Datazúcar y Segurmática

Solicitud de licencias a

Datazúcar y Segurmática

Licencias de clientes

Page 17: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  8

8 Acta de entrega del

proyecto

Recepción de toda la

documentación del

Proyecto.

Acta de inicio de

despliegue.

Cronograma.

Cuestionarios.

Informe de Definición de

Objetivos del Proyecto

(DOP).

Acta de aceptación de

reportes.

Informe de avance del

proyecto.

Reporte de capacitación

de usuarios.

Informe de problema.

Solicitud de cambio.

Informe de terminación

del proyecto.

El proceso consta de los siguientes subprocesos:

Relaciones Públicas.

Ventas.

1.2.1 Subproceso de Relaciones Públicas

En él se realizan un conjunto de acciones de comunicación estratégica coordinadas y

sostenidas a lo largo del tiempo, que tienen como principal objetivo fortalecer los

vínculos con los distintos públicos, escuchándolos, informándolos y persuadiéndolos

para lograr consenso, fidelidad y apoyo de los mismos. Dentro de las tareas que se

desarrollan se encuentran:

Envío de e-mail y cartas en fechas conmemorativas a los clientes.

Page 18: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  9

Visitas de cortesía.

Distribución de plegables y multimedias señalizadas con el logo de DESOFT y

los servicios y productos que oferta la empresa.

Distribución de servicios a través de la radio y el canal territorial.

1.2.2 Subproceso de Venta

El Subproceso de Venta contiene cinco etapas:

1. Investigación de mercado.

2. Captación de prospecto.

3. Factibilidad de la venta.

4. Cierre de la venta.

5. Seguimiento de la venta.

Investigación de mercado.

Comprende el análisis y el desarrollo de actividades de mercadeo, con el objetivo de

mejorar el posicionamiento en el mercado y el aumento de las ventas. Para lo cual

debe identificar posibles nichos de mercado, brindar al cliente soluciones integrales,

orientando las acciones a la mejora continua. Además, en este subproceso se deben

desarrollar las siguientes tareas:

Segmentar el mercado.

Estudiar sistemáticamente el mercado y sus tendencias.

Trazar estrategias.

Participación en ferias y eventos.

Organizar labores comerciales (lanzamientos, asaltos comerciales, visitas de

cortesía)

Vigilar sistemáticamente el nivel de satisfacción del cliente.

Captación del prospecto.

Estudios de la cartera para su mejoramiento.

Page 19: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  10

Fijación de precios y políticas de descuento.

Protección legal de marcas, nombres y símbolos.

Elaborar planes, presupuestos, demandas y pronósticos de ventas.

Sistema de atención al cliente para su protección.

Para conocer todos los detalles del cliente, con el objetivo de que el producto o

servicio se ajuste perfectamente a sus necesidades, se emplea la Ficha de prospecto

y el Cuestionario Diagnóstico, representados en los Anexos 2 y 3 respectivamente.

[DESOFT, Metodología de ventas, 2012]

Captación de prospecto

Esta etapa se inicia a partir de la demanda de un posible cliente o de alguna

oportunidad de negocio identificada. Las solicitudes se analizan teniendo en cuenta

el objetivo, alcance, recursos humanos, experiencia y carga de trabajo existente con

el propósito de conocer las necesidades del negocio identificado.

En ella se desarrollan las siguientes actividades:

Recepcionar la solicitud utilizando la Ficha de Prospecto.

Actualizar el Registro Comercial. (Anexo 4)

Coordinar la continuidad del proceso. [DESOFT, Metodología de ventas, 2012]

Estudio de Factibilidad.

Es la fase más importante del negocio, donde se evalúa la factibilidad operativa y

técnica del proyecto, se analiza la complejidad del mismo, se identifican sus riesgos,

la sostenibilidad, alcance y se tramita su aprobación final; para lo cual se ejecutan las

siguientes tareas:

Realizar entrevistas al cliente.

Evaluar de conjunto con el área técnica involucrada una estrategia de

solución.

Analizar requerimientos tecnológicos.

Elaborar estimación del plan de trabajo.

Page 20: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  11

Evaluar la inversión requerida, el tiempo de recuperación y la ganancia

esperada (costo/beneficio).

Evaluar riesgos y proponer acciones para mitigarlos.

Hacer presentación inicial del producto, en caso que proceda.

En caso que no proceda la ejecución del negocio, fundamentar las causas e

informar al cliente en un término no mayor de 72 horas.

Confeccionar la Oferta Comercial. (Anexo 5)

Discusión y validación de la oferta o propuesta de solución con el cliente.

Firma de la oferta.

Presentación al Comité de Negocios para su aprobación.

De ser aprobada la ejecución del negocio se envía respuesta al cliente en un

término no mayor de 72 horas.

Crear expediente de clientes.

Actualizar el Registro Comercial.

De no ser aprobada la ejecución del negocio se notifica al cliente, explicando las

causas mediante un documento identificativo de la empresa, en un término no mayor

de 72 horas. [DESOFT, Metodología de ventas, 2012]

Cierre de la venta

En esta etapa se negocian las condiciones y plazos de cobros; concluyendo esta con

la firma del contrato, el cual se realiza mediante el uso de la Ficha de Cliente (Anexo

6). Se desarrollan las tareas siguientes:

Acordar términos contractuales.

Elaboración de precontrato y/o suplemento según sea el caso.

Pasar al área jurídica para su revisión y registro.

Firma del contrato y/o suplemento.

Entrega del contrato y/o suplemento al área jurídica para su custodia.

Page 21: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  12

Crear archivo digital con los contratos establecidos.

Actualización del Registro Comercial.

Actualización del Expediente de Clientes. [DESOFT, Metodología de ventas,

2012]

Seguimiento de la venta

En esta fase se debe cuidar por el cumplimiento de los términos pactados en el

contrato, registrar y tramitar las quejas de los clientes hasta su solución o acuerdo y

velar por la satisfacción de los mismos, para lo cual realiza encuestas de satisfacción

(Anexo No 7).

Además, se realiza un seguimiento a los proyectos con el objetivo de evaluar si se

cumple lo contratado. [DESOFT, Metodología de ventas, 2012]

Luego de cerrar la venta y después de haber cumplido con lo pactado en los

contratos establecidos con los clientes, se procede a la facturación de los productos

o servicios prestados, utilizando el Sistema Contable Financiero Versat Sarasola.

1.3 Sistema Contable Financiero Versat Sarasola

Es un sistema que representa un ejemplo de sustitución de importaciones en materia

de aplicaciones informáticas. Automatiza las actividades de planificación, control y

análisis económico. Diseñado para su empleo en cualquier tipo de entidad

empresarial o presupuestada.

Permite registrar contablemente todos los hechos económicos que se originan en las

estructuras internas de las entidades, así como exponer el estado financiero y toda la

información económica y contable en este universo. Se estructura en un grupo de

subsistemas en los cuales se procesan y contabilizan los documentos primarios,

donde se anotan los movimientos, los recursos materiales, laborales y financieros

que se utilizan en una entidad. [Teico, 2001]

Los subsistemas son:

Contabilidad General.

Costos y Procesos.

Page 22: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  13

Finanzas, Caja y Banco.

Inventarios.

Activos Fijos.

Facturación.

Nómina de Salarios.

Planificación.

Configuración.

Complementos.

La interrelación entre estos subsistemas económicos, se logra a partir del

mecanismo de contabilización implementado, donde todos tributan comprobantes

para la contabilidad, la cual los valida y los asienta en los libros. Garantizando de

esta forma un mejor control de la contabilidad, mayor veracidad de la información y

rapidez en la obtención y entrega de la misma.

Estas características le han permitido lograr la aceptación en el mercado y

diseminarse por un gran número de entidades nacionales.

1.4 Valoración de aplicaciones similares vinculadas al campo de acción

A continuación se realiza una breve descripción de aplicaciones similares

desarrolladas en el ámbito nacional e internacional, las cuales forman parte de la

base de esta investigación.

Mentor, es una aplicación creada por la División de DESOFT Holguín para una

organización brasileña. Capaz de controlar todas las actividades de una empresa

relacionadas con la atención a clientes, desde el registro de productos vendidos a

cada uno de estos, los contactos mantenidos desde la etapa de marketing hasta la

etapa de soporte.

Permite dentro de sus funcionalidades:

Controlar los clientes de la empresa, incluyendo todos los datos de estos así

como el estado de sus relaciones con los distintos departamentos de la

Page 23: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  14

organización en función del tiempo sin contacto con el cliente, estado

financiero, etc.

Controlar las relaciones “Departamento Marketing – Clientes”, incluyendo

contactos realizados, expectativas de negocios, negocios concretados, etc.

Llevar un registro de las empresas de la competencia, sus productos y

servicios, sus relaciones con los clientes actuales o perspectivos y la

competencia que representan para cada producto y servicio de la

organización.

Automatizar el proceso de renovación de los contratos, la atención y el soporte

a los clientes, brindando al personal de soporte toda la información necesaria

sobre el cliente que lo ha contactado.

Proveer la realización de campañas comerciales entre los clientes registrados

de la empresa a través del personal de soporte técnico. [DESOFT, Manual

Mentor, 2008]

SugarCRM (Customer Relationship Management – Administración de las Relaciones

con Clientes) es un poderoso software para la administración de la relación con los

clientes, proporcionando una visión única de las interacciones con los mismos a

través de sus diferentes líneas de negocio, ofreciendo comprensión íntima de toda la

organización de sus necesidades y los patrones de compra. Ayuda a automatizar las

operaciones comerciales, de atención al cliente o marketing, facilitando el control y

seguimiento. Se centra en anticipar, conocer y satisfacer las necesidades y los

deseos presentes y previsibles de los clientes.

Gestión comercial, es un programa desarrollado en Microsoft Access indicado para

empresas que permite registrar, controlar y resumir las operaciones comerciales de

cualquier negocio, con el fin de interpretar sus resultados para conocer el curso que

siguen sus negocios. De esta manera, los gerentes y responsables de la empresa

podrán llevar un control exhaustivo de la evolución de sus negocios y actuar

estratégicamente en consecuencia. Facilita la creación de documentos habituales en

la gestión, como por ejemplo pedidos y facturas. Permite que la información pueda

Page 24: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  15

abrirse con Word o Excel. [Braña, Programa de Gestión Comercial desarrollado en

MS Access, 2013]

Gestión Portable 2.0, es una aplicación portable que permite manejar toda la

actividad de la empresa desde cualquier ordenador. Desde una memoria USB

posibilita el control de todos los movimientos comerciales y financieros. Incluye una

completa agenda con gestor de tareas a través de la cual puede tratar datos de

clientes con los que, por ejemplo, se haya concertado una cita. Permite hacer

seguimiento de campañas de promoción, incidencias, además del manejo de la

comunicación con clientes y proveedores, pudiendo elaborar cartas personalizadas y

correos electrónicos. [Braña, Aplicación de gestión comercial que podemos copiar en

una memoria USB, 2013]

Las aplicaciones antes mencionadas permiten realizar una amplia gestión de

clientes, pero no cumplen con los requisitos del Subproceso de Ventas ni están en

correspondencia con las metodologías y procedimientos del mismo, pues fueron

desarrolladas para empresas extranjeras cuyos requerimientos no se corresponden

con las características de las empresas cubanas.

Es por ello que la autora de este trabajo decidió realizar una aplicación web que

permita gestionar toda la información necesaria acerca de los clientes para garantizar

un mejor desarrollo del subproceso que esté en correspondencia con sus exigencias.

1.5 Técnicas, metodologías y software utilizados En este epígrafe se relacionan las características principales de las diferentes

herramientas, técnicas y metodologías a utilizar en el desarrollo de la aplicación que

da solución al problema científico planteado, las cuales se manifiestan a

continuación.

1.5.1 Aplicaciones web

Las aplicaciones web son sistemas informáticos alojados en un servidor web, las

cuales son accedidas por los usuarios a través de Internet o Intranet mediante un

navegador. Son muy utilizadas hoy en día debido a las ventajas que las mismas

ofrecen. [Elemental, 2013]

Page 25: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  16

Algunas de las cuales se ven reflejadas a continuación:

No necesitan ser descargadas, instaladas y configuradas.

Están siempre actualizadas con la última versión, sin necesidad de llamar la

atención del usuario o interferir con sus hábitos de trabajo, con la posibilidad

de que va a iniciar nuevas descargas y procedimientos de instalación.

No hay incompatibilidades con los sistemas operativos porque todo se maneja

en el navegador.

No ocupan espacio en el disco duro porque se ejecutan a través de la web.

Consumen pocos recursos de hardware porque las tareas se realizan en otro

ordenador.

Menos Bugs (errores). Con aplicaciones basadas en web, todos los usuarios

utilizan la misma versión, y los errores pueden ser corregidos tan pronto como

son descubiertos.

Múltiples usuarios concurrentes. Pueden ser utilizadas por múltiples usuarios

al mismo tiempo. [Beneficios de las aplicaciones basadas en web y el anuncio

de Microsoft en la era en vivo]

Ejemplos bien conocidos de aplicaciones web son los Webmail, Wiki, Weblog,

tiendas en línea y enciclopedias como Wikipedia. Son creadas usando frameworks

especializados como Struts, CodeIgniter, Dojo, EXT JS, Symphony, Spring, etc.

A continuación se detallan las principales características de los frameworks utilizados

para el desarrollo de la aplicación.

1.5.2 Spring

Es una plataforma que proporciona una infraestructura que actúa de soporte para

desarrollar aplicaciones Java. Se fundamenta en una configuración a base de

JavaBeans (componente utilizado en Java que permite agrupar funcionalidades para

formar parte de una aplicación) bastante simple. Se encarga de unir todos los

componentes en una aplicación, maneja su ciclo de vida y la interacción entre ellos.

[Jonson,Rod. et al, 2012]

Page 26: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  17

Implementa la Inversión de Control (IoC) usando inyección de dependencias en los

objetos definidos en su archivo de configuración proporcionando un nivel muy bajo

de acoplamiento entre estos objetos. La inversión de control consiste en ceder el

control a una entidad externa a la aplicación, llamada “Contenedor”, que se

encargará de gestionar las instancias, así como sus creaciones y destrucciones.

Incluye además:

Soporte avanzado para la Programación Orientada a Aspectos.

Transacciones declarativas, almacenamiento en caché declarativo y validación

declarativa.

Abstracciones de gran alcance para trabajar con especificaciones de Java EE

comunes tales como JDBC (Java Database Connectivity), JPA (Java

Persistence API), JMS (Java Message Service), JTA (Java Transaction API).

Soporte de primera clase para los marcos comunes de código abierto.

Instalaciones para pruebas unitarias, así como para las pruebas de

integración.

Un marco flexible para la creación de sitios web RESTful, aplicaciones

Modelo-Vista-Controlador (MVC) y los puntos finales de servicio. [Jonson,Rod.

et al, 2012]

Spring MVC

Spring MVC es un marco que proporciona una clara separación entre la lógica de

negocios, la lógica de presentación y la lógica de navegación, además se integra con

todas las otras características de la infraestructura Spring.

Incluye particularidades como:

Configuración de gran alcance y directa de las clases de aplicación y marco

como JavaBeans. Esta capacidad de configuración incluye referencias fáciles

a través de contextos, como el de los controladores web a los objetos de

negocio y validadores.

Page 27: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  18

Adaptabilidad y flexibilidad. Define cualquier encabezamiento de método

controlador que se necesite, en el que se pueden usar anotaciones de

parámetros (como @RequestParam, @RequestHeader, @PathVariable, y

más) para un escenario dado.

Código reutilizable, sin necesidad de duplicación.

Modelo flexible de transferencia con una asignación de nombre / valor que

soporta una fácil integración con cualquier tecnología.

Una simple pero potente biblioteca de etiquetas JSP (Java Server Page)

conocida como la biblioteca de etiquetas de Spring que ofrece soporte para

funciones tales como la unión de datos y temas. [Jonson,Rod. et al, 2012]

La ejecución de las aplicaciones en un ambiente web puede traer consigo que los

sistemas y la información sea más vulnerable a los ataques perjudicando la

integridad y disponibilidad de la información, poniendo en riesgo la continuidad del

negocio. Para mitigar estos riesgos y garantizar un nivel de seguridad adecuado

en la aplicación, se emplea Spring Security.

Spring Security

Es una excelente herramienta para la seguridad tanto de aplicaciones web como

aplicaciones Desktop que puede extenderse o adaptarse a políticas de seguridad

establecidas dentro de las organizaciones.

Provee un mecanismo de seguridad declarativo independiente del entorno donde

se despliega la aplicación, brindando una solución completa para los dos

requisitos más importantes de seguridad: Autenticación y Autorización. [Alex]

Autenticación: es el proceso de establecer que un Principal es quien dice

ser. Se conoce como “Principal” a los usuarios o dispositivos que intentan

acceder a la aplicación.

Autorización: se refiere al proceso de decidir si el Principal tiene permitido

ejecutar ciertas acciones dentro de la aplicación. Cabe aclarar que para

llegar al punto en el cual se necesite una autorización, primero debería de

haberse establecido un proceso de autenticación. [Alex]

Page 28: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  19

Con el objetivo de reducir el esfuerzo para implementar la capa de acceso a datos,

se utiliza en el desarrollo de la aplicación Spring Data.

Spring Data

Tiene el propósito de unificar y facilitar el acceso a distintos tipos de tecnologías de

persistencia, tanto a bases de datos relacionales como a las del tipo NoSQL.

Proporciona soporte para JDBC, JPA, JDO o MyIbatis, simplificando la

implementación de la capa de acceso a datos, unificando la configuración y creando

una jerarquía de excepciones común para todas ellas. Además, integra las

tecnologías de acceso a datos tradicionales, simplificando el trabajo a la hora de

crear las implementaciones concretas.

Con cada tipo de tecnología de persistencia los DAOs (Data Access Objects) ofrecen

las funcionalidades típicas de un CRUD (Create-Read-Update-Delete) para objetos

de dominio propios, métodos de búsqueda, ordenación y paginación. Spring Data

proporciona interfaces genéricas para estos aspectos (CrudRepository,

PagingAndSortingRepository) e implementaciones específicas para cada tipo de

tecnología de persistencia. [Suárez, 2012]

1.5.3 Ext Js Es una biblioteca Javascript que permite construir aplicaciones complejas utilizando

componentes predefinidos. Provee una experiencia consistente sobre cualquier

navegador, evitando el tedioso problema de validar que el código escrito funcione

bien en cada uno (Firefox, IE, Safari, etc.). Incluye:

Componentes de interfaz de usuario de alto rendimiento y personalizables.

Modelo de componentes extensibles.

Una API (Aplication Programing Interface) fácil de usar.

Licencias Open Source y comerciales. [Sánchez]

Proporciona:

Page 29: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  20

Un balance entre Cliente – Servidor: la carga de procesamiento se distribuye,

permitiendo que el servidor, al tener menor carga, pueda manejar más clientes

al mismo tiempo.

Comunicación asíncrona: puede comunicarse con el servidor sin necesidad de

estar sujeto a un clic o una acción del usuario, dándole la libertad de cargar

información sin que el cliente se de cuenta.

Eficiencia de la red: el tráfico de red puede disminuir al permitir que la

aplicación elija qué información desea transmitir al servidor y viceversa.

[Sánchez]

1.6 Integración de aplicaciones informáticas

La integración posibilita la creación de actividades de negocio coordinadas, de modo

que se pueda formar un proceso de negocio unificado. Permite derribar las barreras

entre las unidades de la organización y reduce la duplicación de esfuerzos, así como

los costos en desarrollo y mantenimiento de tecnologías. [Azán, Yasser. et al, 2010]

Los tipos más importantes de integración son:

Integración a nivel de datos.

Integración a nivel de aplicaciones.

Integración de procesos de negocio.

Integración de presentación.

Para obtener del Versat los datos necesarios para el funcionamiento de la aplicación,

se emplea la integración a nivel de datos, ya que se centra en compartir los datos

entre las aplicaciones. Desde un punto de vista técnico, la integración a nivel de

datos es un enfoque relativamente sencillo que es bien comprendido por la mayoría

de los desarrolladores. El acceso a bases de datos es relativamente fácil y hay varias

herramientas disponibles que hacen compartir la información de forma sencilla y

rápida. [Azán, Yasser. et al, 2010]

Page 30: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  21

En el desarrollo de la aplicación es implementado un servicio web, con el objetivo de

permitir posteriormente integrar a ella aplicaciones que necesiten la información de

los clientes.

1.6.1 Servicios Web

Los Servicios Web (Web Services en inglés) describen una forma estandarizada de

integrar aplicaciones web. Permiten a distintas aplicaciones, de diferentes orígenes,

comunicarse entre ellas sin necesidad de escribir programas costosos. Comparten la

lógica del negocio, los datos y los procesos a través de la red, por medio de una

interfaz de programas que no interactúan directamente con los usuarios. No están

ligados a ningún sistema operativo o lenguaje de programación. Facilitan a las

organizaciones intercambiar datos sin necesidad de conocer los detalles de sus

respectivos sistemas de información. [Juric]

Servicios web RESTful

Los servicios web RESTful se basan en el concepto de REST (Representational

State Transfer en inglés) y en los métodos HTTP. Definen normalmente los URIs

(Uniform Resource Identifier en inglés) base para los servicios. REST (Transferencia

de Estado Representacional en español) es un estilo arquitectónico que se

fundamenta en estándares web y el protocolo HTTP. En una arquitectura basada en

REST todo es un recurso al cual se accede a través de una interfaz común sobre la

base de los métodos de HTTP. [Vogels]

HTTP son las siglas en inglés de HiperText Transfer Protocol (en español Protocolo

de Transferencia de Hipertexto). Es un protocolo de red (un protocolo se puede

definir como un conjunto de reglas a seguir) para publicar páginas web. Funciona a

través de solicitudes y respuestas entre un cliente (un navegador de Internet) y un

servidor (la computadora donde residen páginas web). HTTP es la base sobre la cual

está fundamentado Internet. [Castro]

Los métodos HTTP que se utilizan en REST son los siguientes:

GET define un acceso de lectura del recurso sin efectos secundarios. El

recurso no se cambia mediante una petición GET.

Page 31: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  22

PUT crea un nuevo recurso.

DELETE quita los recursos. Las operaciones son igualmente poderosas y

pueden repetirse sin dar lugar a resultados diferentes.

POST actualiza un recurso existente o crea uno nuevo.

En RESTful los recursos son reconocidos por identificadores globales (que son

típicamente URIs), permitiendo que tengan representaciones diferentes, por ejemplo

texto, XML, JSON, etc. [Vogels]

1.7 Lenguajes de programación y tecnologías utilizadas

1.7.1 Java

Es un lenguaje de programación de alto nivel orientado a objetos. Permite la creación

de poderosas aplicaciones, sitios web o pequeños programas. Es rápido, seguro,

fiable y completamente portable, por lo que un programa escrito en Java puede

ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos

computacionales siempre y cuando se encuentre instalada la máquina virtual

correspondiente. [Álvarez]

JPA

Java Persistence API (JPA) proporciona un estándar para gestionar datos

relacionales en aplicaciones Java, de manera que se simplifique el desarrollo de la

persistencia de datos. Es una API de persistencia de POJOs (Plain Old Java Object),

es decir, objetos simples que no heredan ni implementan otras clases. [Cuello]

Hibernate

Hibernate, es una herramienta de mapeo objeto/relacional para ambientes Java que

proporciona el mapeo de atributos entre una base de datos relacional tradicional y el

modelo de objetos de una aplicación, mediante archivos declarativos (XML) o

anotaciones que permiten establecer estas relaciones. Está diseñado para ser

flexible en cuanto al esquema de tablas utilizado, para poder adaptarse a su uso

sobre una base de datos ya existente. También tiene la funcionalidad de crear la

base de datos a partir de la información disponible. [King, Gaving. et al]

Page 32: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  23

1.7.2 Javascript

Es un lenguaje de programación interpretado, por lo que no es necesario compilar los

programas para ejecutarlos. Se utiliza principalmente para crear páginas web

dinámicas. Permite la programación orientada a objetos y es soportado por la

mayoría de los navegadores. [Pérez]

JSON

La Notación de Objeto Javascript es un formato ligero de intercambio de datos que

está basado en una de las mejores partes de este lenguaje, la notación literal de los

objetos. Aunque es un subconjunto de Javascript puede ser utilizado para

intercambiar datos entre los programas escritos en cualquier lenguaje de

programación moderno. Al ser un formato de texto resulta fácil de leer y escribir para

los humanos y muy sencillo de generar e interpretar por las computadoras. Se basa

en dos estructuras:

Una colección de pares nombre/valor. En varios lenguajes de programación

esto puede ser un objeto, un registro, un diccionario, una tabla hash, o un

arreglo asociativo.

Una lista ordenada de valores. En la mayoría de los lenguajes esto puede ser

un arreglo, un vector, una lista o una secuencia. [Crockford, 2008]

1.7.3 AJAX

AJAX son las siglas de Asynchronous JavaScript And XML. No es un lenguaje de

programación sino un conjunto de tecnologías (HTML-JavaScript-CSS-DHTML-

PHP/ASP.NET/JSP-XML) que permiten hacer páginas de Internet más interactivas.

La característica fundamental de AJAX es permitir actualizar parte de una página con

información que se encuentra en el servidor sin tener que refrescar completamente la

página. De modo similar logrando enviar información al servidor. Proporciona

además:

Utilizar tecnologías ya existentes.

Es soportada por la mayoría de los navegadores modernos.

Page 33: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  24

Interactividad: el usuario no tiene que esperar hasta que lleguen los datos del

servidor.

Portabilidad (no requiere plugin como Flash y Applet de Java)

Mayor velocidad, debido a que no hay que retornar toda la página

nuevamente.

La página se asemeja a una aplicación de escritorio. [AJAX Ya]

1.8 PostgreSQL

Es un potente sistema de gestión de bases de datos objeto-relacional. Utiliza un

modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la

estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el

sistema continuará funcionando. Implementa ciertas características orientadas a

objetos, incluye la alta concurrencia, una amplia variedad de tipos de datos, es

multiplataforma, muy seguro y robusto. [Martínez]

1.9 Pentaho Reporting Pentaho Reporting es un conjunto de proyectos de Java con licencia Open Source

que permiten la generación de reportes. Inicialmente conocido como JFreeReport fue

adquirido por Pentaho en el año 2006. Sus principales características son:

Puede acceder a varias fuentes de datos tales como JDBC, OLAP, HQL y

POJO.

Permite la generación de los reportes en distintos formatos: PDF, HTML,

Excel, RTF.

Se pueden incluir gráficos de pastel, barras y líneas.

Los reportes pueden parametrizarce.

Se pueden incluir subreportes dentro de un reporte principal.

Permite la creación de reportes de referencias cruzadas.

Posibilita la realización de reportes interactivos. [Gorman, 2009]

Page 34: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  25

1.10 Patrones

1.10.1 Patrón de arquitectura Modelo Vista Controlador

Es un patrón de arquitectura de software que separa los datos de una aplicación, la

interfaz de usuario, y la lógica de control en tres componentes distintos: modelo, vista

y controlador.

El modelo representa la información con la que trabaja la aplicación, es decir,

su lógica de negocio.

La vista transforma el modelo en una página web que permite al usuario

interactuar con ella.

El controlador se encarga de procesar las interacciones del usuario y realiza

los cambios apropiados en el modelo o en la vista. [El patrón MVC]

Tanto la vista como el controlador dependen del modelo, el cual no depende de las

otras clases.

Este patrón proporciona:

Clara separación entre interfaz, lógica de negocio y de presentación, que

además provoca parte de las ventajas siguientes.

Sencillez para crear distintas representaciones de los mismos datos.

Facilidad para la realización de pruebas unitarias de los componentes, así

como de aplicar desarrollo guiado por pruebas.

Reutilización de los componentes.

Simplicidad en el mantenimiento de los sistemas.

Facilidad para desarrollar prototipos rápidos.

Desarrollos más escalables. [El patrón MVC]

1.10.2 Patrones de diseño

Los patrones de diseño son una descripción de clases y objetos comunicándose

entre sí adaptada para resolver un problema de diseño general en un contexto

particular. Identifican clases, instancias, roles, colaboraciones y la distribución de

Page 35: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  26

responsabilidades. Están basados en la recopilación del conocimiento de los

expertos en desarrollo de software. Proponen una forma de reutilizar la experiencia

de los desarrolladores. [Hernández, 2002]

Características de los patrones de diseño:

Son soluciones concretas: proponen soluciones a determinados problemas, no

son teorías genéricas.

Se utilizan en situaciones frecuentes: se basan en la experiencia acumulada

de resolver problemas reiterativos.

Favorecen la reutilización de código: ayudan a construir software basado en la

reutilización.

El uso de un patrón no se refleja en el código: al aplicar un patrón, el código

resultante no tiene por qué delatar el patrón o patrones que lo inspiró.

Son soluciones técnicas: indican resoluciones técnicas basadas en

Programación Orientada a Objetos (POO). En ocasiones tienen más utilidad

con algunos lenguajes de programación y en otras son aplicables a cualquier

lenguaje. [Hernández, 2002]

A continuación se relacionan los principales patrones de diseño utilizados

Patrón de Inversión de Control (Inversión of Control en inglés, IoC).

El patrón IoC invierte el flujo de ejecución de un programa respecto a los métodos de

programación tradicionales, en los que la interacción se expresa de forma imperativa

haciendo llamadas a procedimientos o funciones. Es una implementación del

Principio de Hollywood (no nos llames a nosotros; nosotros te llamaremos a ti), una

metodología de diseño de software. Elimina la responsabilidad de buscar o crear los

objetos dependientes y la traslada a la configuración. Reduce el acoplamiento entre

objetos. Fomenta el diseño basado en interfaces y permite reconfigurar una

aplicación sin modificar el código. [Guillerón]

Page 36: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  27

Patrón Inyección de Dependencias (Dependency Injection en inglés, DI).

Es un patrón de diseño orientado a objetos, en el que se inyectan objetos a una clase

en lugar de ser la propia clase quien cree el objeto. [Jonson, Rod. et al, 2012]

Permite que al objeto se le entregue lo necesario para trabajar, simplifica el código,

admite la reutilización y proporciona la resolución de las dependencias entre los

componentes. Facilita trabajar con interfaces, para ocultar los detalles de la

implementación. Promueve las pruebas de manera aislada o de todos los

componentes juntos. [Bovet]

Patrón CRUD (Create, Read, Update, Delete en inglés).

Implementa las operaciones básicas: crear, leer, actualizar y borrar, que toda base

de datos debe proveer para realizar cualquier acción. Las operaciones significan lo

siguiente:

Crear es hacer persistente un objeto específico en la base de datos. Esta

operación finaliza cuando otro proceso puede leer información del objeto.

Leer es recuperar un objeto específico de la base de datos. Es la misma

operación que cuando realizamos una consulta.

Actualizar es modificar un objeto específico del grupo de objetos de la base de

datos.

Borrar es remover un objeto del grupo de objetos de la base de datos.

Patrón Singleton.

Es uno de los patrones más conocidos y utilizados. Garantiza que una clase sólo

tenga una instancia y proporciona un punto de acceso global a ella. El

funcionamiento de este patrón es muy sencillo y podría reducirse a los siguientes

conceptos:

Ocultar el constructor de la clase, para que los clientes no puedan crear

instancias.

Page 37: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  28

Declarar en la clase una variable miembro privada que contenga la referencia

a la instancia única que queremos gestionar.

Proveer en la clase una función o propiedad que brinde acceso a la única

instancia gestionada por ella. Los clientes acceden a la instancia a través de

esta función o propiedad. [Welicki]

1.11 Metodología AM con RUP

AM es un proceso de software basado en prácticas cuyo alcance es describir cómo

modelar y documentar de manera eficaz y rápida. Fue creada, no tanto como un

método ágil cerrado en sí mismo, sino como complemento de otras metodologías,

sean éstas ágiles o convencionales. Se combina con RUP debido a que permite

hacer más ligeros los procesos que ya usan.

El Proceso Unificado de Rational (RUP) es un marco de trabajo genérico que puede

especializarse para una gran variedad de sistemas software. Está caracterizado por

ser:

Iterativo e incremental: en la que cada fase se desarrolla en iteraciones donde

se involucran actividades de todos los flujos de trabajo, con el propósito de

alcanzar una mayor cercanía a los objetivos finales, añadiendo algo nuevo de

valor en cada iteración.

Centrado en la arquitectura: el trabajo de desarrollo se centra en obtener el

patrón de la arquitectura que dirigirá la construcción del sistema en las

primeras fases garantizando un progreso continúo no solo para la versión en

curso del producto, sino para la vida entera del mismo.

Dirigido por casos de uso: lleva a los desarrolladores a garantizar que el

sistema se ajuste a las necesidades reales del usuario. [Jacobson, 2000]

RUP utiliza UML (Unified Modeling Language en inglés) para describir su sistema.

1.12 UML UML es un lenguaje de modelado visual que se usa para especificar, visualizar,

construir y documentar un sistema de software con tecnología orientada a objeto.

Page 38: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  29

Tiene una sintaxis y semántica bien definidas, permitiendo representar el diseño de

sistemas mediante el uso de una notación común. Consta con reglas que rigen el uso

y combinación de los elementos gráficos que posee para la construcción de

diagramas, utilizando del paradigma orientado a objeto las ventajas y comodidades

que el mismo ofrece. [Larman, 2004]

Conclusiones

En este capítulo se abarcaron de manera profunda algunos conceptos necesarios

para la comprensión de la presente investigación. Además, fueron estudiados

sistemas vinculados al campo de acción en el ámbito nacional e internacional y se

realizó un análisis de las tecnologías, lenguajes y herramientas utilizadas a lo largo

del desarrollo del sistema propuesto.

Page 39: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  30

CAPÍTULO II: ANÁLISIS Y DISEÑO DEL SISTEMA

En este capítulo se muestra el modelado del sistema realizado según la metodología

utilizada. Se realiza una propuesta del sistema y se especifican los requerimientos y

elementos relacionados con el desarrollo del mismo.

2.1 Propuesta del sistema

Para informatizar el Subproceso de Venta de DESOFT, se propone realizar una

aplicación web que cumpla con los requisitos, metodologías y procedimientos

establecidos en el área comercial. La misma debe permitir:

Facilitar a cada usuario el acceso a la información según su rol dentro de la

aplicación.

Registrar todos los datos relacionados con los clientes como nombre, código

reeup, código nit, dirección, teléfono, entre otros.

Importar del Versat mediante consultas a su base de datos, los datos

existentes con respecto a los clientes, facturas, servicios y productos, con el

objetivo de emplearlos en la realización de otros procesos dentro de la

aplicación como son: la creación de ofertas, contratos y suplementos.

Gestionar la información de las ofertas, contratos y suplementos por clientes.

Brindar todos los detalles de los clientes así como información de las ofertas,

contratos, suplementos y facturas realizadas por cada uno de los servicios y

productos contratados.

Registrar la realización de los pagos de servicios y productos vendidos

mediante cheques.

Generar reportes con los servicios y productos por cliente; clientes por

organismos; contratos próximos a vencerse y contratos vencidos.

Brindar mediante informes con el formato establecido: el registro de facturas,

de cheques, de contratos y de suplementos.

Page 40: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  31

La aplicación a desarrollar proporcionará un mejor desarrollo del subproceso,

permitiendo una adecuada manipulación de la información y facilitando la obtención

de un archivo único en el que se encuentren todos los datos referentes a los clientes.

2.2 Modelado del Negocio

2.2.1 Modelo de dominio

Un modelo conceptual o de dominio es una representación de conceptos en un

dominio del problema. Representa cosas del mundo real, no componentes del

software. Permite descomponer el espacio del problema en unidades comprensibles

(conceptos) y contribuye a esclarecer la terminología o nomenclatura del dominio.

[Larman, 2004]

A continuación se realiza una explicación de los procesos fundamentales que se

gestionan dentro del Subproceso de Venta, haciendo énfasis en los conceptos que lo

componen y se representa el modelo de dominio obtenido.

El Subproceso de Venta comienza cuando el cliente, dígase una persona natural o

jurídica (organización o empresa), accede a la Subgerencia de Negocios para

requerir la venta de alguno de los productos que se ofertan o la prestación de un

servicio. Un producto es un conjunto de atributos tangibles e intangibles los cuales

son percibidos por sus compradores para satisfacer sus necesidades o deseos y un

servicio es todo acto o función que una parte puede ofrecer a otra, que es

esencialmente intangible y no da como resultado ninguna propiedad. Su realización

puede o no vincularse a un producto físico.

Entre los productos que puede adquirir el cliente se relacionan los siguientes

sistemas: Versat Sarasola, para la gestión contable financiera; Fastos, para el control

de los recursos humanos; Energux, para el control del combustible y la energía;

Segurmática Antivirus, entre otros. Dentro de los servicios puede solicitar:

consultorías informáticas, instalación de herramientas de seguridad informática,

descontaminación de virus, desarrollo, despliegue y soporte de sistemas

informáticos.

Page 41: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  32

La solicitud conlleva a la elaboración de una oferta realizada por la comercial, en la

cual se propone un precio para los servicios o productos solicitados y además

entrega una ficha de cliente, en la que el mismo debe registrar todos sus datos, con

el objetivo de que una vez aceptada, firmada por su parte y aprobada en el Comité

de Negocios (órgano asesor para el análisis, evaluación y aprobación de los

negocios), se realice el contrato marco, que constituye el instrumento jurídico que

refleja todo acuerdo de voluntades entre el cliente y DESOFT (representada por el

Gerente) dirigido a crear obligaciones entre ambas partes.

Las especificaciones de cada uno de los servicios o productos solicitados, como el

precio o tiempo de servicio, son realizadas en suplementos y en anexos se

relacionan por ejemplo, aclaraciones o cambios en las disposiciones legales

establecidas en el contrato marco, así como también el cronograma de trabajo para

la realización del servicio contratado. Toda la información referente al contrato y

suplementos es recogida en el Registro Comercial, documento que forma parte de la

Metodología de Ventas del subproceso.

Luego de la firma de contratos y suplementos, es entregado al cliente el producto

contratado y designado un especialista encargado de prestarle el servicio requerido,

quedando constancia del cumplimiento de las tareas realizadas en la orden de

trabajo, documento utilizado con este propósito. El especialista emplea además un

acta de aceptación en la cual el cliente debe manifestar su conformidad con el

servicio proporcionado o el producto adquirido, cuyo documento conlleva a la

realización de una factura en el Sistema Contable Financiero Versat Sarasola, que es

emitida para hacer constar una venta de un producto o la prestación de un servicio,

en la que aparece: descripción, cantidades, precios, importe total, fecha de la

operación, nombre del comprador, del vendedor, cargo, firma y cuño por ambas

partes.

Con la firma de la factura, el cliente se compromete a realizar el pago por el importe

facturado, el cual podrá efectuar mediante cheque o transferencia bancaria. Luego la

entregará al departamento de ventas, donde la comercial dejará constancia de la

recepción del documento en el Registro de facturas.

Page 42: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  33

Si el pago es efectuado mediante un cheque entregado al área de negocios, la

comercial dejará constancia de su recepción en el Registro de entrega de cheques

en el que se recogen datos de la persona que lo entregó, su firma y la fecha.

Figura 2.1: Modelo de dominio.

2.3 Levantamiento de Requisitos

El levantamiento de requisitos tiene como objetivo guiar el desarrollo hacia el sistema

correcto. Lo cual se consigue mediante una descripción de los requisitos del sistema,

es decir, condiciones o capacidades que el mismo debe cumplir. Los requisitos se

clasifican en funcionales y no funcionales. [Jacobson, 2000]

2.3.1 Requisitos funcionales por casos de uso del sistema

Los requisitos funcionales son las capacidades o condiciones que el sistema debe

cumplir. Los Casos de Uso del Sistema (CUS) definen conjuntos de funcionalidades

afines que el sistema debe cumplir para satisfacer los requerimientos funcionales ya

definidos. [Jacobson, 2000]

Page 43: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  34

CUS Autenticar usuarios.

RF 1 Autenticar usuarios.

CUS Gestionar usuarios.

RF 2 Crear usuario.

RF 3 Modificar usuario.

RF 4 Buscar usuario

RF 5 Eliminar usuario.

CUS Gestionar datos del cliente.

RF 6 Modificar cliente

RF 7 Buscar cliente

CUS Gestionar ofertas

RF 8 Insertar oferta

RF 9 Modificar oferta

RF 10 Buscar oferta

RF 11 Eliminar oferta

CUS Gestionar contratos.

RF 12 Insertar contratos

RF 13 Modificar contratos

RF 14 Buscar contratos

CUS Gestionar suplementos.

RF 15 Insertar suplementos

RF 16 Modificar suplementos

CUS Gestionar cheques

RF 17 Insertar cheque

Page 44: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  35

RF 18 Modificar cheque

RF 19 Buscar cheque

RF 20 Eliminar cheque

CUS Importar del Versat.

RF 21 Importar todos

RF 22 Importar productos y servicios.

RF 23 Importar facturas

RF 24 Importar clientes

CUS Generar informes.

RF 25 Generar Registro de Facturas

RF 26 Generar Registro de Cheques

RF 27 Generar Registro de Contratos

RF 28 Generar Registro de Suplementos

RF 29 Generar informe con servicios y productos por cliente

RF 30 Generar informe con clientes por organismos

RF 31 Generar informe con contratos próximos a vencerse

RF 32 Generar informe con contratos vencidos

CUS Visualizar gráficos

RF 33 Mostrar gráfico con el comportamiento de las ventas por meses

RF 34 Mostrar gráfico con la composición de las ventas

RF 35 Mostrar contratos vencidos y próximos a vencerse.

RF 36 Mostrar ofertas pendientes

CUS Visualizar trazas

RF 37 Mostrar trazas

Page 45: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  36

2.3.2 Requisitos no funcionales

Los requisitos no funcionales son las propiedades o cualidades que el producto debe

tener. [Jacobson, 2000]

Requerimientos de Software

Se debe disponer de un sistema operativo que soporte Java Runtime Environment 6,

PostgreSQL 9.1, Apache Tomcat 6 y el Versat Sarasola versión 7.2 o superior. Se

podrá visualizar la aplicación siempre que sea ejecutada con alguno de los siguientes

navegadores web: Internet Explorer 6+, Firefox 3.6 +, Chrome 10+.

Requerimientos de Hardware

Se debe disponer de una máquina, con memoria RAM como mínimo de 512MB,

procesador Pentium 4 o superior y un servidor de aplicaciones con un procesador

Pentium 4 o superior y al menos 1 GB de memoria RAM.

Requerimientos de apariencia o interfaz externa

La aplicación debe ofrecer una interfaz amigable y sencilla al usuario, profesional y

fácil de entender.

Requerimientos de Seguridad

La aplicación debe garantizar la confidencialidad de la información que maneje

permitiendo que esté protegida de la divulgación y el acceso no autorizado. La

información que manipule debe ser objeto de cuidadosa protección contra la

corrupción y estados inconsistentes, para lograr de esta forma la integridad. El

acceso a la información, será permitido sólo a los usuarios autorizados.

Requerimiento de Portabilidad

La aplicación deberá funcionar en diferentes plataformas siempre que soporten los

requisitos de software.

Page 46: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  37

Requerimiento de Usabilidad

Cada usuario que se autentique en el sistema tendrá acceso sólo a la información

que le corresponda según su rol y no necesita tener conocimientos avanzados de

informática para utilizarlo.

Requerimiento de Ayuda y Documentación

La aplicación dispondrá de una ayuda que le indicará al usuario cómo interactuar con

sus funcionalidades.

2.3.3 Actores del sistema

Los actores pueden estar representados por usuarios concretos (una persona u otro

sistema externo) que interactúan con el sistema. [Jacobson, 2000]

A continuación se describen los actores de la aplicación:

Usuario: realiza inserciones, modificaciones y eliminaciones de información.

Administrador: usuario con privilegios para realizar cambios en el sistema,

tanto en la información como en la configuración del mismo.

Versat: sistema externo que gestiona información económica contable.

Permite la creación, facturación y contabilización de cheques y transferencias

de clientes. Es utilizado por la aplicación para obtener los datos de los

clientes, facturas y los productos y servicios que se comercializan.

2.3.4 Diagrama de casos de uso del sistema

El diagrama de casos de uso representa gráficamente las relaciones de los actores

con los procesos del sistema. [Jacobson, 2000]

Page 47: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  38

Figura 2.2: Diagrama de Casos de Uso del Sistema

2.3.5 Descripciones textuales de los casos de uso más importantes

Para comprender mejor la funcionalidad asociada a cada caso de uso, es necesario

detallarlos textualmente. A continuación se describen los casos de uso considerados

críticos por su importancia en la aplicación. (Importar del Versat, Gestionar datos del

cliente, Gestionar contratos, Gestionar suplementos).

CUS Importar del Versat

Nombre del CUS Importar del Versat

Actor Usuario

Propósito Permite importar del Versat los Clientes, Facturas,

Productos y Servicios.

Resumen El CUS se inicia cuando el usuario desea obtener los

clientes, facturas, productos y servicios del Versat.

Finaliza cuando se han importado clientes, facturas,

productos y servicios y luego guardados en la base de

Page 48: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  39

datos del sistema para su posterior utilización por otros

procesos de la aplicación.

Referencias RF 21, RF 22, RF 23, RF 24

Pre-condiciones El usuario debe de estar autenticado en el sistema.

Debe de estar funcionando el Versat.

Pos-condiciones -

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El usuario selecciona alguna de las opciones siguientes:

• Importar todo • Importar clientes • Importar facturas. • Importar productos y

servicios.

2. Establece la conexión con el Versat.

3. Ejecuta alguna de las siguientes acciones: • Si el usuario seleccionó la opción

Importar todo, se importan todos los clientes, facturas, productos y servicios y los guarda en la base de datos.

• Si el usuario seleccionó la opción Importar clientes, se importan todos los clientes y los guarda en la base de datos.

• Si el usuario seleccionó la opción Importar facturas, se importan todas las facturas y las guarda en la base de datos.

• Si el usuario seleccionó la opción Importar productos y servicios, se importan todos los productos y servicios y los guarda en la base de datos.

4. Indica al usuario la realización de la importación mediante una barra de progreso.

5. Muestra el mensaje “Importación realizada con éxito”.

Flujo Alterno 2.1 Si no se establece la conexión con el

Versat, muestra un mensaje de error. 4.1 Si la importación no pudo ser realizada,

Page 49: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  40

muestra el mensaje “La importación no pudo ser realizada, intente de nuevo”.

CUS Gestionar datos del cliente.

Nombre del CUS Gestionar datos del cliente

Actor Usuario

Propósito Permite manipular los datos de un cliente.

Resumen El CUS inicia cuando el usuario selecciona la opción

Clientes para buscar o modificar clientes. Finaliza luego

de realizar alguna de las diferentes acciones.

Referencias RF 6, RF 7.

Pre-condiciones El usuario debe autenticarse en el sistema.

Deben haberse importado los clientes del Versat.

Pos-condiciones -

Sección 1: Buscar cliente

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. Da clic en la opción Clientes

del menú.

2. Muestra una interfaz con un campo de

búsqueda y un listado de todos los clientes.

3. Introduce el término de

búsqueda que puede ser:

nombre o abreviatura.

4. Filtra el listado de los clientes según el

criterio de búsqueda especificado.

Flujo Alterno 4.1 Si no existen clientes que coincidan con el

término de búsqueda, muestra un mensaje en el que indica que el cliente no se encuentra registrado.

Sección 2: Modificar cliente 1. Ejecuta la sección S1: Buscar cliente de este caso de uso.

2. Da doble clic en el cliente a

modificar.

3. Muestra una interfaz en la que aparecen

datos del cliente obtenidos del Versat y otros

campos por completar.

Page 50: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  41

4. Añade los datos que faltan del

cliente en la interfaz y da clic en

el botón Guardar.

5. Valida los datos introducidos.

Flujo Alterno

5.1 Si los datos introducidos no son válidos

muestra un mensaje de error.

Caso de uso asociado CUS Importar del Versat (incluido)

CUS Gestionar contratos.

Nombre del CUS Gestionar contratos (incluido del CUS Gestionar

suplementos)

Actor Usuario

Propósito Permite ingresar o actualizar los datos de los contratos en

el sistema.

Resumen El CUS inicia cuando el usuario selecciona la opción

Contratos para insertar, modificar o buscar un contrato.

Finaliza luego de realizar alguna de las diferentes

acciones.

Referencias RF 12, RF 13, RF 14

Pre-condiciones El usuario debe autenticarse en el sistema.

Deben haberse importado los clientes del Versat.

Pos-condiciones -

Sección 1: Insertar contrato

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. Selecciona la opción Nuevo

contrato del menú.

2. Muestra una interfaz en la que solicita los

datos del contrato.

3. Inserta los datos y presiona el

botón Guardar.

4. Valida los datos introducidos.

5. Inserta los datos del nuevo contrato en la

Page 51: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  42

base de datos.

Flujo Alterno

4.1 Si los datos introducidos no son válidos o

están incompletos muestra un mensaje de

error indicando al usuario que debe corregirlos

para continuar.

5.1 Si el contrato ya se encuentra registrado

en la base de datos, muestra un mensaje en

el que indica que ya existe.

Sección 2: Modificar contrato

1. Se ejecuta la sección S3: Buscar contrato del caso de uso.

2. Da doble clic en el contrato a

modificar.

3. Muestra una interfaz con todos los datos

del contrato seleccionado.

4. Modifica los datos del contrato

y da clic en el botón Guardar.

5. Valida los datos introducidos.

6. Actualiza los datos en la base de datos.

Flujo Alterno

5.1 Si los datos introducidos no son válidos

muestra un mensaje de error indicando al

usuario que debe corregirlos para continuar.

Sección S3: Buscar contrato.

1. Da clic en la opción Contratos

del menú.

2. Muestra una interfaz con un campo de

búsqueda y un listado de todos los contratos.

3. Introduce el término de

búsqueda que puede ser: fecha, cliente, número, estado o ubicación.

4. Valida los datos introducidos para realizar

la búsqueda.

5. Filtra el listado de los contratos según el

Page 52: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  43

criterio de búsqueda especificado.

Flujo Alterno

4.1 Si los datos introducidos no son válidos

muestra un mensaje de error.

5.1 Si no existen contratos que coincidan con

el término de búsqueda, muestra un mensaje

en el que indique que el contrato no se

encuentra registrado.

Caso de Uso Asociado CUS Importar del Versat (incluido)

CUS Gestionar suplementos.

Nombre del CUS Gestionar suplementos

Actor Usuario

Propósito Permite ingresar o actualizar suplementos a los contratos

en el sistema.

Resumen El CUS inicia cuando el usuario desea insertar o modificar

un suplemento. Finaliza luego de realizar alguna de las

diferentes acciones.

Referencias RF 15, RF 16

Pre-condiciones El usuario debe autenticarse en el sistema.

Debe haber sido creado el contrato.

Deben haberse importado los clientes, productos y

servicios del Versat.

Pos-condiciones -

Sección 1: Insertar suplemento

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. Se ejecuta la sección S3: Buscar contrato del CUS

Gestionar contratos.

Page 53: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  44

2. Da doble clic en el contrato

buscado.

3. Muestra una interfaz con todos los datos

del contrato y los suplementos asociados.

4. Selecciona la opción Adicionar

dentro de suplementos.

5. Muestra una interfaz en la que solicita los

datos del suplemento.

6. Inserta los datos y presiona el

botón Guardar.

7. Valida los datos introducidos.

8. Inserta los datos del nuevo suplemento en

la base de datos.

Flujo Alterno

7.1 Si los datos introducidos no son válidos o

están incompletos muestra un mensaje de

error indicando al usuario que debe corregirlos

para continuar.

8.1 Si el suplemento ya se encuentra

registrado en la base de datos, muestra un

mensaje en el que indique que ya existe.

Sección 2: Modificar suplemento

1. Se ejecuta la sección S3: Buscar contrato del CUS

Gestionar contratos.

2. Da doble clic en el contrato

buscado.

3. Muestra una interfaz con todos los datos

del contrato y un listado de los suplementos

asociados.

4. Da doble clic en el suplemento

que desea modificar.

5. Muestra una interfaz con todos los datos

del suplemento seleccionado.

6.Modifica los datos del

suplemento y da clic en el botón

Guardar.

7. Valida los datos introducidos.

8. Actualiza los datos en la base de datos.

Flujo Alterno

Page 54: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  45

7.1 Si los datos introducidos no son válidos

muestra un mensaje de error indicando al

usuario que debe corregirlos para continuar.

Casos de Uso Asociados: CUS Gestionar contratos (incluido)

2.4 Diseño

El modelo de diseño es un modelo de objetos que describe la realización física de los

casos de uso. Se centra en cómo los requisitos funcionales y no funcionales tienen

impacto en el sistema a considerar.

2.4.1 Diagramas de clases del diseño

Muestran las clases del sistema y sus interrelaciones. Son utilizados tanto para

mostrar lo que el sistema puede hacer (análisis), como para mostrar cómo puede ser

construido (diseño).

A continuación se representan los diagramas de clases del diseño de los casos de

uso descritos anteriormente.

Figura 2.3: CUS Importar del Versat

Page 55: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  46

Figura 2.4: CUS Gestionar datos del cliente

Figura 2.5: CUS Gestionar contratos

Figura 2.6: CUS Gestionar suplementos

Page 56: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  47

2.4.2 Diagramas de secuencia

Muestran la interacción de los objetos de la aplicación en una secuencia de tiempo y

son modelados para cada caso de uso.

Figura 2.7: CUS Importar (Clientes)

Figura 2.8: CUS Importar (Facturas)

Page 57: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  48

Figura 2.9: CUS Importar (Productos y Servicios)

Figura 2.10: CUS Gestionar datos del cliente (S1: Buscar cliente)

Figura 2.11: CUS Gestionar datos del cliente (S2: Modificar cliente)

Page 58: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  49

Figura 2.12: CUS Gestionar contratos (S1: Insertar contrato)

Figura 2.13: CUS Gestionar contratos(S2:Modificar contrato)

Figura 2.14: CUS Gestionar contratos (S3: Buscar contrato)

Page 59: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  50

Figura 2.15: CUS Gestionar suplementos(S1: Insertar suplemento)

Figura 2.16: CUS Gestionar suplementos (S2: Modificar suplemento)

2.4.3 Diagrama de clases persistentes

Representa las relaciones entre las clases que pueden mantener su estado en el

tiempo y en el espacio.

Page 60: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  51

Figura 2.17: Diagrama de clases persistentes

2.4.5 Modelo de datos Describe la representación lógica y física de los datos persistentes utilizados por la

aplicación. Se utiliza para definir las relaciones entre las clases del diseño y las

estructuras de datos. [Larman, 2004]

Page 61: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  52

Figura 2.18: Modelo de datos

La aplicación tiene diseñada una base de datos en PostgreSQL que permite

almacenar y consultar su información. La misma posee 25 tablas y dentro de las más

importantes para su desempeño se pueden encontrar las que almacenan información

correspondiente a los clientes, contratos y suplementos.

En los registros de la tabla cliente se encuentran entre otros datos: el nombre del

cliente, su dirección, código nit, código reeup, la cuenta bancaria, el teléfono,

organismo al que pertenece y la actividad que realiza.

En la tabla contratos, se puede encontrar información registrada referente al número

de contrato, fecha de firma, vigencia, cliente al que pertenece, estado (por firmar,

firmado, cancelado), el tipo (nacional, territorial, marco) y la ubicación (cliente,

municipio, expediente).La tabla suplementos, por su parte, permite registrar el

Page 62: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  53

número, la fecha, el importe, objeto (servicio o producto al que responde), contrato al

que pertenece y el estado (activo o cancelado).

Otras tablas no menos importantes son las que relacionan información de los

usuarios y sus roles (usuario _ rol) y la que permite almacenar las trazas de todas las

operaciones realizadas en el sistema, garantizando de esta forma una mayor

seguridad y facilitando la auditabilidad de la aplicación.

2.4.6 Modelo de despliegue

Es un modelo de objetos que describe la distribución física del sistema en términos

de cómo se distribuye la funcionalidad entre los nodos de cómputo. Representa una

correspondencia entre la arquitectura del software y la arquitectura del sistema.

[Jacobson, 2000]

Figura 2.19: Modelo de despliegue

Descripción de los nodos del Modelo de despliegue. Nodo Propósito Requisitos de

software Requisitos de hardware

PC Cliente Utilizar la

aplicación web

Navegadores web: Internet Explorer 6+,

Firefox 3.6 +, Chrome

10+. Sistema Operativo: Windows o Linux.

Micro-procesador: Pentium 4 o superior. Memoria RAM: 512

MB.

Servidor de Hospedar la Sistema Operativo: Micro-procesador:

Page 63: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  54

aplicaciones aplicación web y

el servidor de

base de datos.

Windows o Linux.

Java Runtime Environment 6. PostgreSQL 9.1 Apache Tomcat 6

Pentium 4 o superior. Memoria RAM: 1 GB

Servidor de Versat

Aloja la base de

datos del

Versat.

Versat Sarasola versión 7.2 o superior.Sistema Operativo: Windows

Micro-procesador: Pentium 4 o superior. Memoria RAM: 1 GB

2.5 Implementación

Tiene como objetivo implementar las clases y subsistemas definidos anteriormente

en términos de componentes.

2.5.1 Diagrama de la arquitectura del sistema

La arquitectura representa la estructura de los componentes del sistema y sus

relaciones.

Figura 2.20: Arquitectura del sistema

Page 64: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  55

Figura 2.21: Vista

Figura 2.22: Controlador

Page 65: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  56

Figura 2.23: Modelo

2.5.2 Modelo de componentes Representa un conjunto de componentes y sus relaciones. Un componente es la

parte modular de un sistema, desplegable y reemplazable que encapsula

implementación, un conjunto de interfaces y proporciona la realización de los

mismos. Típicamente contiene clases y puede ser implementado por uno o más

artefactos (ficheros ejecutables, binarios, etc.). Son las piezas reutilizables de alto

nivel a partir de las cuales se pueden construir los sistemas. [Jacobson, 2000]

Page 66: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  57

2.5.3 Diagramas de componentes de los casos de uso más importantes

Figura 2.24: CUS Importar

Figura 2.25: CUS Gestionar datos del cliente

Page 67: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  58

Figura 2.26: CUS Gestionar contratos

Figura 2.27: CUS Gestionar suplementos

2.5.4 Diagrama de implementación

Constituye la combinación entre el diagrama de despliegue (distribución física) y el

de componentes (representa al software).

Page 68: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  59

Figura 2.28: Diagrama de implementación

Conclusiones En este capítulo fue explicada conceptualmente la problemática a resolver. Se

realizaron los flujos de trabajo: Modelado del Negocio, Levantamiento de Requisitos,

Diseño e Implementación según la metodología seleccionada, los cuales sentaron las

bases del desarrollo de la aplicación.

Page 69: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  60

CAPÍTULO III: IMPLEMENTACIÓN DEL SISTEMA

En este capítulo se realiza una descripción general de aspectos esenciales de la

aplicación web para la gestión del Subproceso de Venta de DESOFT (GestVent). La

interacción con el usuario, la base de datos empleada, el diseño de las interfaces, los

principios que se tuvieron en cuenta para garantizar la protección y seguridad así

como el tratamiento de errores, son explicados a continuación.

3.1 Aspectos relativos a la implementación del sistema

GestVent es una aplicación web desarrollada en el lenguaje de programación Java,

multiplataforma y que tiene por objetivo facilitar la gestión de toda la información

relacionada con los clientes de la empresa. Además permite gestionar las ofertas,

contratos y suplementos. Tiene como propósito fundamental garantizar la realización

eficiente de sus servicios, para lo cual mantiene una comunicación eficaz con el

usuario identificado mediante los mensajes correspondientes.

Para su ejecución deben cumplirse los requerimientos de hardware definidos en el

capítulo anterior.

3.2 Diseño de la interfaz

El diseño de la interfaz de usuario es la categoría de diseño que crea un medio de

comunicación entre el hombre y la máquina. Tiene como objetivo definir un conjunto

de objetos y acciones de interfaz (y sus representaciones en la pantalla) que

posibiliten al usuario llevar a cabo todas las tareas definidas de forma que cumplan

todos los objetivos de usabilidad definidos por el sistema.[Pressman]

La interfaz de GestVent fue concebida de forma sencilla y asequible para permitir al

usuario la gestión y obtención de información de manera rápida y fácil. Los colores

azul, gris y blanco fueron seleccionados para su composición teniendo en cuenta lo

establecido en el manual de identidad de DESOFT.

Está formada por una barra de menú con diferentes opciones que permiten la

ejecución de varias tareas y con información representada mediante gráficos para

mantener informado al usuario sobre el comportamiento de los procesos gestionados

Page 70: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  61

más importantes. La navegación se realiza mediante tabs para permitir un acceso

rápido a la información disponible y evitar abrir nuevas ventanas.

Figura 3.1 Interfaz principal

3.3 Forma general y principios en que se basa el sistema de ayuda

GestVent posee una ayuda que contempla toda la información referente a la

manipulación de los servicios que brinda, con la que el usuario podrá adquirir los

conocimientos necesarios para su explotación. En ella se describen los pasos para

realizar cada uno de los procesos que gestiona la aplicación, facilitando una mejor

utilización.

3.4 Forma general y principios de la protección y seguridad

Debido a la importancia de la información manejada por la aplicación, se hace

necesario garantizar su protección y seguridad, lo cual es implementado mediante

Spring Security que posibilita una correcta autenticación y autorización.

Page 71: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  62

La autenticación se garantiza mediante el establecimiento de usuarios y contraseñas.

Las contraseñas no son almacenadas en texto plano en la base de datos, son

codificadas utilizando el algoritmo digest SHA. Este algoritmo genera un código de

longitud fija, conocido como hash, el cual garantiza que sea prácticamente imposible

recuperar el código original de la contraseña aunque se tenga acceso a la base de

datos.

Si al realizar la autenticación, se ha dejado algún campo vacío o se ha escrito mal la

contraseña, la aplicación le mostrará un mensaje de error informando lo sucedido.

Figura 3.2: Error en autenticación

La autorización es garantizada mediante el establecimiento de los roles

administrador y usuario en la aplicación, los cuales poseen privilegios diferentes. El

administrador tiene el acceso total a todas las funcionalidades del sistema y es el

único autorizado para crear nuevos usuarios y modificar la configuración de la

aplicación, mientras que el rol usuario sólo es autorizado a insertar, modificar y

eliminar información.

3.5 Forma general del tratamiento de errores

El tratamiento de errores se desarrolla tanto desde el lado del cliente como del

servidor. Por la parte del cliente se validan los datos aprovechando las

Page 72: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  63

funcionalidades y los componentes que brinda el framework ExtJS, exigiéndole el

completamiento de los campos obligatorios, además de no permitir datos incorrectos

a la hora de efectuar acciones de inserción, modificación o eliminación, en función de

esto, se brinda la posibilidad de seleccionar los campos, garantizando introducir la

menor cantidad de datos.

Los errores son mostrados mediante el señalamiento del campo incorrecto, el cual es

resaltado con el borde de color rojo y al lado, al acercar el cursor del mouse, es

colocado el mensaje de error.

Por la parte del servidor se validarán los datos enviados por los usuarios a través de

los formularios, antes de que estos sean almacenados en la base de datos, además

se capturan los mensajes de error generados por la misma, para conformar textos

que sean claros para el usuario, los cuales se ubicarán en una ventana.

Conclusiones

En este capítulo fueron explicados los aspectos que se tuvieron en cuenta en el

diseño de la interfaz para facilitar la interacción del usuario con la aplicación. Se

describió además, el sistema de ayuda que contribuirá en una mejor utilización de la

aplicación, así como la forma de llevar a cabo la protección y seguridad mediante la

autenticación y autorización y los principios que se emplean para el tratamiento de

errores.

Page 73: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  64

CONCLUSIONES

La realización de este trabajo posibilitó el cumplimiento de los objetivos y tareas

trazadas. Para ello se realizó un estudio del Subproceso de Ventas, el cual reveló la

existencia de deficiencias relacionadas con la gestión de la información.

Para darle solución al problema planteado fue realizada una investigación sobre

sistemas existentes tanto en el ámbito nacional como internacional, lo que permitió

conocer sus deficiencias y favoreció la captura de requisitos de la aplicación

propuesta.

Se estudiaron las tendencias y tecnologías actuales que facilitaron el desarrollo de la

solución, destacando el uso de Java como lenguaje de programación y de los

framework Spring y Ext Js.

Fueron documentados los flujos de trabajo: Modelamiento del Negocio,

Requerimientos, Diseño e Implementación, que permitieron obtener el diseño de un

software que cumple con los requisitos definidos por el usuario.

El sistema incluye las funcionalidades necesarias para la gestión de la información

del Subproceso de Ventas y provee un archivo en el que se encuentran todos los

datos referentes a los clientes, del cual podrán nutrirse otros sistemas que lo

requieran.

Page 74: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  65

RECOMENDACIONES

Proponer el uso de la aplicación en todas las divisiones de DESOFT.

Evaluar la posibilidad de comercializar la aplicación a otras empresas del país.

Continuar con el desarrollo de otros servicios web Restful que permitan el

acceso a diferentes recursos.

Page 75: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  66

REFERENCIAS BIBLIOGRÁFICAS

AJAX Ya. [Internet] Disponible en: <http://www.ajaxya.com.ar/> Consultada

15-2-2013.

Álvarez, Miguel Ángel. Descripción y características de este potente y

moderno lenguaje de programación. [Internet] Disponible en:

<http://www.desarrolloweb.com/articulos/497> Consultada: 14-12-2012.

Alex, Ben; Luke, Taylor. Spring Security.

Azán, Yasser; Díaz, Anay; González, Salvador. Una experiencia en

integración de aplicaciones empresariales. 3-4-2010.

Beneficios de las Aplicaciones basadas en web y el anuncio de Microsoft

de la era en vivo [Internet] Disponible en:

<http://es.masternewmedia.org/aplicaciones_web/temas_de_aplicaciones_we

b/Beneficios_De_Las_Aplicaciones_Basadas_En%20_Web_Y_El_Anuncio_D

e_Microsoft_De_La_Era_En_Vivo.htm> Consultada 29-1-2013.

Bovet, José. Introducción a los aspectos básicos de Spring Framework.

[Internet] Disponible en:

<http://josebovet.wordpress.com/2010/09/14/aspectos-basicos-de-spring-

framework-2> Consultada: 28-1-2013.

Braña, Francisco. Aplicación de gestión comercial que podemos copiar

en una memoria USB [Internet]. Disponible en:

<http://gratis.portalprogramas.com/Gestion-Portable.html> Consultada: 5-3-

2013

Braña, Francisco. Programa de Gestión Comercial desarrollado en MS

Access (Almacén, Compras, Ventas....). [Internet]. Disponible en:

<http://gratis.portalprogramas.com/Comercial-Gestion> Consultada: 5-3-2013.

Page 76: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  67

Castro, Luis. ¿Qué es HTTP? [Internet] Disponible en:

<http://aprenderinternet.about.com/od/ConceptosBasico/a/Que-Es-Http.htm>

Consultada: 29-1-2013.

Crockford, Douglas. JavaScript: The Good Parts. O'Reilly. May 2, 2008.

Cuello, Ronald. Java Persistence Api (Jpa). [Internet] Disponible en:

<http://www.slideshare.net/maxmouse/java-persistence-api> Consultada: 14-

12-2012.

DESOFT. FP-Negocios 2012 V2.1 Plantilla R60-11 CGR. Ciudad de La

Habana, 2012.

DESOFT. Manual Mentor. Holguín ,2008.

DESOFT. Metodología de Ventas. 2012.

DESOFT. Reglamento orgánico. Ciudad de La Habana. 17-10-2012.

Elemental. ¿Qué son las aplicaciones web? [Internet]. Disponible en:

<http://www.e-lemental.com.pe/que-es-una-aplicacion-web> Consultada 29-1-

2013.

El patrón MVC. [Internet] Disponible en:

<http://prestashop5estrellas.wordpress.com/2010/03/29/el-patron-mvc-modelo-

vista-controlador> Consultada 11-2-2013.

Gorman, Will. Pentaho Reporting 3.5 for Java Developers. Packt

Publishing.2009

Guillerón, Gastón. Patrón Inversión de Control (IoC). [Internet] Disponible en:

<http://glnconsultora.com/blog> Consultada: 30-1-2013

Hernández Tejeda, David. Guía de patrones de diseño. 2002.

Johnson ,Rod; Hoeller, Juergen; Donald, Keith; Sampaleanu, Colin; Harrop,

Rob; Arendsen, Alef; Risberg, Thomas; Davison, Darren; Kopylenko, Dmitriy;

Pollack, Mark; Templier, Thierry; Vervaet, Edwin; Tung, Portia; Hale, Ben;

Colyer, Adrian; Lewis, John; Leau, Costil; Fisher, Mark; Brannen, Sam;

Laddad, Ramnivas; Poutsma, Arjen; Beams, Chris; Abedrabbo, Tareq;

Page 77: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  68

Clement, Andy; Syer, Dave; Gierke, Oliver; Stoyanchev, Rossen. Spring

Framework.2012

JACOBSON, Ivar; BOOCH, Grady y RUMBAUGH, James. El Proceso

Unificado de Desarrollo de Software. Adison-Wesley. 2000.

Juric, Matjaz B; Loganathan, Ramesh; Sarang; Poornachandra, Jennings,

Frank. SOA Approach to Integration - XML, Web services, ESB, and BPEL in

real-world SOA projects. Packt Publishing, 2007.

Larman, Craig. UML y Patrones: Introducción al análisis y diseño orientado a

objetos. Editorial Félix Varela. 2004.

King, Gavin; Bauer, Christian; Rydahl Andersen, Max; Bernard, Emmanuel;

Ebersole, Steve. Tutorial básico de Hibernate. [Internet] Disponible en:

<http://www.davidmarco.es/tutoriales/hibernate-reference>. Consultada: 28-1-

2013.

La gestión por procesos [Internet] Disponible en:

<http://www.fomento.gob.es/NR/rdonlyres/9541ACDE-55BF-4F01-B8FA-

03269D1ED94D/19421/CaptuloIVPrincipiosdelagestindelaCalidad.pdf>

Consultada 14-11-2012.

Martínez, Rafael. Sobre PostgreSQL. [Internet] Disponible en:

<http://www.postgresql.org.es/sobre_postgresql> Consultada: 29-1-2013.

Pressman, Roger S. Ingeniería del Software. Un enfoque práctico. Quinta

Edición. Capítulo 15, p. 259

Pérez Valdés, Damián. ¿Qué es Javascript? [Internet] Disponible en:

<http://www.maestrosdelweb.com/editorial/%C2%BFque-es-javascript>

Consultada: 14-12-2012.

Sánchez Rosas, Eladio. Ext Js lo bueno, lo malo y lo feo. [Internet]. Disponible

en: <http://blogs.antartec.com/desarrolloweb/2008/10/extjs-lo-bueno-lo-malo-y-

lo-feo> Consultada 28-1-2013.

Page 78: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  69

Suárez Sánchez José M. Introducción a Spring Data: soporte para JPA,

8/10/2012.[Internet] Disponible en:

<http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=springDataJ

PA> Consultada 19-2-2013.

Teico. Manual de Implantación del Versat Sarasola. 2001.

Vogels, Lars. REST with Java (JAX-RS) using Jersey–Tutorial. [Internet]

Disponible en: <http://www.vogella.com/articles/REST/article.html>

Consultada: 29-1-2013.

Welicki, León. El Patrón Singleton. [Internet] Disponible en:

<http://msdn.microsoft.com/es-es/library/bb972272.aspx> Consultada: 30-1-

2013.

Page 79: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  70

BIBLIOGRAFÍA

Larman, Craig. UML y Patrones: Introducción al análisis y diseño orientado a

objetos. Editorial Félix Varela, 2004.

JACOBSON, Ivar; BOOCH, Grady y RUMBAUGH, James. El Proceso

Unificado de Desarrollo de Software. Adison-Wesley, 2000.

Pressman, Roger S. Ingeniería del Software. Un enfoque práctico. Quinta

edición. S.l.: McGraw-Hill Companies, 2002.

Fowler, Martin. UML Distilled Third Edition.A Brief Guide to the Standard

Object Modeling Language.

Smeets, Bram. Building Spring 2 Enterprise Applications. 2007

Minter, Dave. Beginning Spring 2 From Novice to Professional. 2008

Goodman, Danny. JavaScript Bible 4th Edition. 2001

Chappell, David. Java Web Services. First Edition March 2002

Frederick, Shea; Ramsay Colin. Learning Ext JS. 2008

Walls, Craig; Breidenbach, Ryan. Spring in Action Second Edition. 2008

García, Jesús. Ext JS in Action. 2009

Bauer, Christian; King, Gavin. Java Persistence with Hibernate. 2005

Richardson, Leonard; Ruby, Sam. RESTful Web Services. 2007

Hansen, Mark D. SOA Using Java Web Services. 2007

Pollack, Mark; Risberg, Thomas; Gierke, Oliver. Spring Data Commons –

Reference Documentation. 2010

Gierke, Oliver. Spring Data JPA - Reference Documentation. 2012

Conallen, Jim. Modeling Web Application Architectures with UML. 1999

Page 80: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

  71

ANEXOS

Anexo 1 Diagrama de flujo del Proceso de Negocios

Page 81: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Anexo 2 Ficha de prospecto

Page 82: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Anexo 3 Cuestionario diagnóstico

Page 83: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Page 84: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Anexo 4 Registro comercial

No. 1

Entidad 2

Org

an

ism

o

3 Fecha

Solicitud 4

Servicio solicitado

5

Producto 6

Alcance 7

Territorios Involucrados

8

No. C -9

No. A-9

Fecha de entrega de contrato

10

Fecha de cierre de

venta 11

No

. C

on

trato

1

2

No

. S

up

lem

en

to

12

Duración del proyecto

Observaciones 15

Inicio

13 Fin 14

Anotaciones: 1. Número consecutivo de orden. 2. Nombre de la entidad que solicita el servicio. 3. Organismo al que pertenece la entidad cliente. 4. Fecha en que se realiza la solicitud. 5. Tipo de servicio solicitado. 6. Nombre del Producto asociado al servicio (servicios de implementación, soporte, cursos y desarrollo). 7. Alcance: Nacional; Provincial o Territorial (cuando intervienen de 2 a 8 provincias). 8. Nombre de los territorios involucrados. 9. No. del Comité de Negocios y No. del Acuerdo donde fue o no aprobado el proyecto. 10. Fecha en que se entrega el contrato al cliente. 11. Fecha de firma del Contrato y/o Suplemento. 12. No. del Contrato y/o Suplemento del Negocio. 13. Fecha de Inicio del proyecto. 14. Fecha de culminación del proyecto. 15. Expresar cualquier aclaración necesaria.

Page 85: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Anexo 5 Oferta comercial

Page 86: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Anexo 6 Ficha de cliente

Page 87: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

Anexo 7 Encuesta de satisfacción

Page 88: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

GLOSARIO DE TÉRMINOS

Comité de Negocios: es un órgano asesor para el análisis, evaluación y aprobación

de los negocios y proyectos nuevos que se presenten, además de dar seguimiento a

los que se encuentran en ejecución y coordinar sus actividades.

Contratación: materialización de un contrato a través de la cual se conviene,

acuerda, entre las partes intervinientes, la realización de un determinado trabajo o

actividad, a cambio de la cual, el contratado, percibirá una suma de dinero estipulada

en la negociación de las condiciones o cualquier otro tipo de compensación

negociada.

Estudio de factibilidad: análisis amplio de los resultados financieros, económicos y

sociales de una inversión.

Expediente de clientes: archivo donde se guardan todos los documentos

concernientes a la ejecución de un proyecto determinado, según las metodologías y

procedimientos establecidos.

Facturación: acción y efecto de facturar.

Ficha de prospecto: registra todos los contactos que puede obtener una empresa

que, en un futuro, puede convertirse en un cliente (prospecto).

Internet: es una red de equipos de cómputo que se comunican entre sí empleando

un lenguaje común.

Intranet: es una red de ordenadores privada basada en los estándares de Internet.

Oferta comercial: es una propuesta que está constituida por el conjunto de bienes y

servicios que se ofrecen a un cliente determinado, con un precio concreto.

Precontrato: convención por la cual dos o más personas se comprometen a concluir

en tiempo futuro un determinado contrato que no se quiere o no se puede estipular.

Proyecto: conjunto de actividades coordinadas y controladas con fechas de inicio y

fin que involucran recursos y tienen por objetivo crear un producto, servicio o

resultado único.

Page 89: APLICACIÓN WEB PARA LA GESTIÓN DEL SUBPROCESO DE …roa.ult.edu.cu/bitstream/123456789/2663/1/Trabajo... · A mi madre, por estar conmigo siempre. A mis abuelos, por educarme y

 

REEUP (Registro Estatal de Empresas y Unidades Presupuestadas): es el registro

que recoge las empresas, unidades presupuestadas y demás entidades estatales y

de entidades subordinadas a las organizaciones políticas, sociales y de masas.

Subproceso: es parte de un proceso de mayor nivel que tiene su propia meta,

propietario, entradas y salidas.

Suplemento: documento que se firma con posterioridad al contrato y que se emplea

para dejar constancia de cualquier modificación o concreción del contenido del

mismo, prorrogar su vigencia o declarar su extinción por mutuo acuerdo de las

partes.

Nichos de mercado: corresponde a un segmento de mercado constituido por un

reducido número de consumidores con características y necesidades homogéneas y

fácilmente identificables.

Misión: es el propósito general o razón de ser de la empresa u organización que

enuncia a qué clientes sirve, qué necesidades satisface, qué tipos de productos

ofrece y en general, cuáles son los límites de sus actividades.