UNIVERSIDAD SIMÓN BOLÍVAR



Documentos relacionados
Análisis y diseño del sistema CAPÍTULO 3

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

UNIVERSIDAD SIMÓN BOLÍVAR

Elementos requeridos para crearlos (ejemplo: el compilador)

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Workflows? Sí, cuántos quiere?

Capítulo 2. Marco Teórico

Capítulo II. Arquitectura del Software

Capitulo 5. Implementación del sistema MDM


Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Instituto Tecnológico de Costa Rica

Metodología básica de gestión de proyectos. Octubre de 2003

App para realizar consultas al Sistema de Información Estadística de Castilla y León

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Base de datos en Excel

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA


Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Está creado como un organizador y gestor de tareas personalizables para generar equipos de alto desempeño en diferentes rubros de empresas.

Curso de HTML5 y CSS3

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

1. Resumen Objetivos Introducción. 3

Anexo 4 Documento de Arquitectura

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

APOLO GESTION INTEGRAL.

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Capitulo III. Diseño del Sistema.

6 Anexos: 6.1 Definición de Rup:

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Ingeniería de Software. Pruebas

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO SCRUM SPRINT #1. Ingenieria de Software I MAESTRO: BERNARDO PRADO DIAZ INTEGRANTES. Jorge Valdano.

CRM. Qué es CRM. Información para la Gestión

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

UNIVERSIDAD DE SALAMANCA

Para lograr una verdadera administración eficaz de toda la información relevante de una compañía, y que de esta manera nada de lo que suceda en el

Herramienta de Gestión Integral de E-Business

Curso Excel Básico - Intermedio

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Figura 4.6: Prototipo de la pantalla de inicio.

ing Solution La forma más efectiva de llegar a sus clientes.

Sistema PYMES Ventas e Inventarios H&S

Capítulo I. Marco Teórico

CASOS DE ÉXITO DIST-PLEX MODUART. PARTNER Team Solutions SAS Es una compañía con más de 10 años de experiencia en la implementación de soluciones de

Gestión de Oportunidades

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

EL MARKETING RELACIONAL Y NUEVAS TENDENCIAS DE MARKETING

Sistema de Mensajería Empresarial para generación Masiva de DTE

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

BOLETÍN DE NOVEDADES Barcelona, enero de 2007

Capitulo VI. Conclusiones.

Introducción a la extensión de scripting en gvsig 2.0

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Nos encargamos del tuyo, tú disfruta

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Sistema de marketing de proximidad

CONCLUISIONES Y RECOMENDACIONES

Introducción CAPÍTULO 1

Actividad 4. Justificación de la oportunidad y análisis de necesidades. Concreción de la propuesta

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

Figure 7-1: Phase A: Architecture Vision

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

Manual del Usuario. Sistema de Help Desk

Diseño de una estrategia tecnológica de Customer Relationship Management (CRM) para la empresa BPM de México. CAPITULO 6

Guía de uso del Cloud Datacenter de acens

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

Estrategia de negocio basada en clientes: Software CRM

Sistema de Administración de Documentos (SIAD)

comunidades de práctica

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Comisión Nacional de Bancos y Seguros

Diseño e Implementación

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE

CRM es una estrategia de negocios centrada en el cliente no es un software


REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

CAPÍTULO 3 Servidor de Modelo de Usuario

Unidad 1. Fundamentos en Gestión de Riesgos

Ingeniería Web. Pablo Sevilla Jarquín

LLEVE SU NEGOCIO al SIGUIENTE NIVEL. digitalice todos sus documentos y procesos.

BASE DE DATOS RELACIONALES

Sesión No. 7. Contextualización: Nombre de la sesión: Intelisis Business Intelligence PAQUETERÍA CONTABLE

- MANUAL TÉCNICO - Implantación de software de Marketing Online

Capítulo III. Análisis y diseño.

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Curso de PHP con MySQL Gratis

Transcripción:

UNIVERSIDAD SIMÓN BOLÍVAR Ingeniería de Computación GESTIÓN DE MANEJOS DE CLIENTE Por Jesús Quintana, Ricardo Tocco Proyecto de Grado Presentado ante la Ilustre Universidad Simón Bolívar como Requerimiento Parcial para Optar el Título de Ingeniero en Computación Sartenejas, Diciembre de 2010

UNIVERSIDAD SIMÓN BOLÍVAR DECANATO DE ESTUDIOS PROFESIONALES COORDINACIÓN DE INGENIERÍA DE COMPUTACIÓN ACTA FINAL DEL PROYECTO DE GRADO GESTIÓN DE MANEJOS DE CLIENTE Presentado Por: JESÚS QUINTANA, RICARDO TOCCO Este proyecto de Grado ha sido aprobado por el siguiente jurado examinador: Prof. Ascánder Suárez (Tutor Académico) Prof. Maruja Ortega Prof. Edna Ruckhaus SARTENEJAS, 09 de diciembre de 2010

GESTIÓN DE MANEJOS DE CLIENTE Por Jesús Quintana, Ricardo Tocco RESUMEN Resumen El manejo de clientes siempre a presentado un problema para las medianas y grandes empresas debido a que la cantidad de personas que se encuentran relacionadas con la mismas, va creciendo de forma exponencial. Lo cual nos da la idea de la creacion de un sistema de información que pueda manejar a los clientes de una forma facil y sencilla sin necesidad de tener gran cantidad de papeles o espacio ocupando. Ademas, de poder acceder desde cualquier parte del mundo a la informacion en cualquier momento. En los ultimos, años, se ha observado la creación de este tipo de aplicaciones, tales como salesforce, sugarcrm, etc, pero nos traen dificultades a la hora de usarlos. Tales como altos costos para la aplicacion, poco adaptable al contorno que se relaciona. y es tan expandible como los creadores lo deseen, mas no te permiten expandirlo a tu gusto, para así poder tener una aplicación que cubra totalmente las necesidades de los usuarios. La idea general de este proyecto es poder lograr un aplicación facilmente adptable, expandible y codigo libre, para que las personas puedan Gestionar a sus clientes de una forma eficiente sin ninguna de las desventajas antes mencionadas. iv

Índice general Índice general v Índice de Figuras vii Introducción viii Capítulo 1. Marco Teórico 1 1.1. Modelo Vista Controlador............................. 1 1.2. Modelo........................................ 2 1.2.1. Mapeo Objeto-Relacional......................... 2 1.2.2. Hibernate.................................. 3 1.2.3. PostgreSql.................................. 5 1.3. Vista......................................... 6 1.3.1. Java Server Pages.............................. 6 1.3.2. JavaScript.................................. 7 1.3.3. JQuery.................................... 8 1.3.4. JQuery UI.................................. 9 1.4. Controlador..................................... 9 1.4.1. Struts..................................... 10 1.5. CRM......................................... 11 Capítulo 2. Marco Metodológico 13 2.1. RUP.......................................... 13 2.1.1. Concepción, Inicio o Estudio de oportunidad.............. 14 2.1.2. Elaboración................................. 14 2.1.3. Construcción................................ 14 2.1.4. Transición.................................. 15 v

Capítulo 3. Concepción, Inicio o Estudio de oportunidad 16 3.1. Investigación Web.................................. 16 3.1.1. SugarCRM.................................. 17 3.1.2. SalesForce.................................. 17 3.1.3. Resultados Investigación Web....................... 19 3.2. Investigación Teorica................................ 19 3.3. Requerimientos................................... 20 3.3.1. Modulo de Cliente y Contacto...................... 20 3.3.2. Modulo de Oportunidades........................ 21 3.3.3. Modulo de Proyectos............................ 21 3.3.4. Modulo de Atividades........................... 21 3.3.5. Modulo de Catálogo de Productos y Servicios............. 21 3.3.6. Modulo de Presupuesto y Facturación.................. 21 3.3.7. Modulo de Soporte Tecnico........................ 22 3.3.8. Modulo de Documentos.......................... 22 Capítulo 4. Elaboración 23 4.1. Definición de Requerimientos y Casos de Uso.................. 23 4.2. Definición de Arquitectura de Software..................... 24 4.3. Diseño del Prototipo Funcional.......................... 25 Capítulo 5. Conclusiones y recomendaciones 26 Bibliografía 27 vi

Índice de figuras 1.1. Figura Funcionamiento Diseño MVC [1]..................... 2 1.2. Funcionamiento Basico ORM [2]......................... 3 1.3. Funcionamiento Básico JSP [3]........................... 7 1.4. Funcionamiento Basico de Struts [1]....................... 11 2.1. Etapas de Rup.................................... 13 3.1. Interfaz SugarCRM................................. 18 3.2. Interfaz de SalesForce................................ 18 vii

Introducción Un problema que se presenta algunas veces en las empresas medianas o grandes es la falta de formalización de los procedimientos y la falta de interés de los empleados por entender la importancia que tienen estos procesos en la filosofãa de trabajo de la empresa y de sus clientes. De aqué que el manejo de clientes en las medianas o grandes empresas siempre ha constituido una problemática importante para estas. debido a que el volumen de personas que se encuentran relacionadas con la empresa, va creciendo de forma exponencial y con ello el conjunto de estrategias de negocio, marketing, comunicación e infraestructuras tecnológicas, dise nadas con el objetivo de construir una relación duradera con los clientes La principal ventaja que trae aparejada la implementación de la Gestión de las Relaciones con los Clientes en una empresa es el aumento de la información que esta posee de sus actuales y potenciales clientes, lo que permite direccionar la oferta hacia sus deseos y necesidades, aumentando así el grado de satisfacción y optimizando su ciclo de vida Lo cual nos da la idea de la creación de un sistema de información que permita a la Empresa centrar su atención en el cliente para interactuar mã s efectivamente con él de una forma fácil y sencilla sin necesidad de tener gran cantidad de papeles o espacio ocupado y poder acceder desde cualquier parte del mundo a la información y en cualquier momento., identificar su importancia, retenerlo en la empresa y evitar que se vaya con la competencia. En los últimos, años, se ha observado la creación de este tipo de aplicaciones, lideradas por grandes empresas que ofrecen este tipo de producto tales como SalesForce, SugaRCM, entre otras, pero nos traen dificultades a la hora de usarlos, tales como: altos costos para la adquisición de la aplicación, poco adaptables a las necesidades individuales de cada empresa, Y no permitiendo la expansión de la aplicación a las exigencias del usuario. La idea general de este Proyecto es diseñar e implementar una aplicación web fácilmente adaptable, expandible y de código libre, para que las personas puedan gestionar a viii

sus clientes de una forma eficiente sin ninguna de las Desventajas antes mencionadas. Antecedentes A continuación se presentan una serie proyectos que trabajan lo que queremos realizar. SalesForce BLAAA SugarCRM BLAAAA Justificación Podriamos justificar el proyectos en tres distintos aspectos: Aspectos Teoricos El crm es una estrategia de negocia, orientada a los clientes y sus necesidades. Una ves realizada la investigación nos dara una mejor perspectiva de que es un crm, y en que se puede mejorar usando una interfaz web como intermediario, Aspectos Practicos Una ves desarrollado esta aplicación, podria ser usada por cualquier tipo de compañia que necesite manejar una cartera de clientes de forma eficiente. Permitiendo que los dueños de la empresa y sus clientes, se beneficien de la misma. Aspectos Metodologicos Esta investigación, puede tambien ser usada como referencia para el desarrollo de otros sistemas de información del mismo estilo, tales como ERP (Sistema Planificacion de Recursos), TPS (Sistema de Procesamiento de Transacciones), MIS (Sistema de Informacón Gerencial), entre otros. Planteamiento del Problema Si en las organizaciónes no se controla de forma controlada y eficiente, el manejo con los clientes, se pueden enfrentar a un grave problema en el futuro a la hora de que le cartera de clientes vaya en aumento, puesto que se hace ineficiente, ix

tediosa y complicada. Lo que nos genero la inquietud de cual es la mejor forma para poder manejarlos. Objetivos Generales El objetivo general de esto proyecto radica en la creacion de una aplicación web, que pueda Gestionar el manejo de los Clientes. De una manera facil para los usuarios del sistema. Objetivos Especificos Manejar la carte de Clientes de una Compańia. Manejar cuentas, conjunto de clientes, de una compańia. Poder crear oportunidades de negocio a los clientes. Poder manejar proyectos relacionados con los clientes. Tener un sistema de tareas para poder llevar un control de las actividades. Manejar Varios Catalogos de Servicios y/o Productos. Controlar Presupuesto y Facturación. Manejar Soporte tecnico a los Clientes. Manejo de Documentos Relacionados a los Proyectos. x

Capítulo 1 Marco Teórico En los lineamientos teóricos de este estudio se presentan y definen los concepto mã s significativos que se usan en el desarrollo de una aplicación web, dirigidas a la gestión de manejo de clientes. Como fundamentos teóricos se han descrito estudios previos realizados internacionalmente. Asimismo se aborda el tema del CRM (âcustumer Relationship Managementâ. Gestión de Relación con Clientes), como una estrategia de negocio centrada en el cliente como el centro de su compañ ia. 1.1. Modelo Vista Controlador Modelo Vista Controlador, o como es conocido MVC es un patron de disño principalmente aportado por el lenguaje SmallTalk a la Ingeniría del Softwate. Basicamente separa los datos de una aplicaión, la interfaz de usuario, y la logica de control en 3 componentes distintos. [1][4] Modelo Vista Controlador El controlador es el encargado de redirigir o asignar una aplicación a cada petición; el controlador debe poseer de algún modo, un mapa de correspondencias entre peticiones y respuestas que se les asignan. El modelo seria la lógica de negocio a fin de cuentas. Una vez realizadas las operaciones necesarias el flujo vuelve al controlador y este devuelve los resultados a una vista asignada. El siguiente gáfico nos muestra la interacción entre el Modelo la Vista y el Controlador. 1

CAPÍTULO 1. MARCO TEÓRICO 2 Figura 1.1: Figura Funcionamiento Diseño MVC [1] 1.2. Modelo Es la representacion de la estructura de datos, con las que la aplicacion lgra funcionar correctamente. Se encarga de asegurar la integridad de los datos y derivar nuevos datos.[4] Según [5], el modelo de datos se puede dividir en dos: El modelo principal, los cuales consiste en los objetos los cuales representan y soportan la esencia del problema. Son aquellas clases que hoy en dia la Ingeniaría de Software se enfoca de primero. El modelo de la aplicacion, son aquellos objetos que se relacionan directamente con las vistas para sacar datos o notificaciones. Para el desarrollo de esta aplicacion se utilizaron las tecnologias de Mapeo de Objeto- Relacional, Hibernate y PostgreSql. 1.2.1. Mapeo Objeto-Relacional EL manejo de Objeto-Relacional, es una Estrategia que se requiere para convertir los elementos de una tabla relacional, en un objeto de un lenguaje de programación. Por lo general se usan metadatos para poder realizar el mapeo.[6]

CAPÍTULO 1. MARCO TEÓRICO 3 Esta estrategia tiende ser menos provechosa a la hora de desarrollar el mapeo por que se requiere generar una mayor cantidad de código, pero una vez que se a logrado desarrollar el mismo de una forma eficiente, se puede alcanzar un ahorro en los costo de mantenimiento, debido a que el código es mas limpio, las consultas mas apropiadas y mas agrupadas. Además, se puede abstraer de una base de dato en específico por lo que las exportaciones a otra base de dato tienden a ser más rápido. [6] Figura 1.2: Funcionamiento Basico ORM [2] La Persistencia se logra principalmente con el principio de reversibilidad, es decir se transforma la base de datos a objetos y viceversa.[6] Otra ventaja de esta técnica, es que libra al programador de un sql desordenado y además no obliga al usuario a tener amplios conocimientos sobre sql, si no tener los conocimiento de manejo de objetos y acceder de esa forma a los datos almacenados en la base de dato.[6] 1.2.2. Hibernate Hibernate es un entorno de trabajo orientado al Mapeo de Objeto-Relación, se basa en los principios open source, y esta desarrollado en java, lo cual evita el uso del API JDBC. [7][8]

CAPÍTULO 1. MARCO TEÓRICO 4 Hibernate se encarga del mapeo entre las clases java y las tablas de la base de datos, es decir, desde los tipos de datos de java a los tipos de datos de SQL (structured query language). De igual forma provee facilidades para la recuperación y actualización de datos, control de transacciones, repositorios de conexiones a base de datos, consultas programáticas y declarativas, y un control de relaciones de entidades declarativas.[7][8] Hibernate usa el Hibernate Query Language, el cual es un lenguaje diseñado como una extensión del lenguaje SQL (structured query language), orientado a la programación de objetos, dando un fácil traslado entre ambos.[7][8] Entre los beneficios que ofrece Hibernate se puede mencionar: 1. Productividad : Hibernate logra reducir el tiempo de desarrollo de sistema, debido a que logra manejar de una forma sencilla la persistencia de clases de java, sin necesidad de tener alguna relación con la estrategia de desarrollo de la aplicación. 2. Mantenibilidad : Al utilizar Hibernate se reduce la líneas de código que no son netamente necesarias para la lógica del negocio, lo que hace que contribuya significativamente a la claridad y legibilidad del sistema. Y lo más importante, es que un sistema con menos código es fã cilmente refactorizable. Además no es la única razón por la que es mã s sustentable. Cuando se usa un ORM (Object -Relational mapping ), siempre existe una tensión entre la representación relacional y la del modelo de datos. Por que siempre que uno se modifica se tiene que comprometer a arreglar el estado del otro. El ORM (Object-Relational mapping ), ofrece varias ventajas entre los dos modelos, dando un uso elegante en la orientación a objeto en la parte de java y aislando cada modelo a los cambios menores de los demás. 3. Rendimiento: Es verdad que el código generado a mano de un ORM (Object- Relational mapping ), va a ser mucho más rã pido que el código generado automã ticamente, pero la mejora en el rendimiento radica que en el tiempo que uno le dedica al código generado automático tiende a ser mucho menos que cuando uno lo realiza a mano por lo que uno puede enfocarse en arreglar los cuellos de botella

CAPÍTULO 1. MARCO TEÓRICO 5 que tenga la aplicación. Además, al confiar en una librería como Hibernate donde es posible que las personas que desarrollaron el ORM (Object-Relational mapping ), tuvieron más tiempo para investigar las optimizaciones de rendimiento, que el que podría tener un programador normal. 4. Independencia de la Base de Dato: Al ser un ORM (Object-Relational mapping ), que trabaja bajo su propio dialecto HQL (Hibernate Query Language) y además soporta diferente tipo de base de datos ofrece un cierto nivel de portabilidad, debido a que para ser una aplicación completamente portable se tendría que sacrificar ciertas fortalezas de algunas bases de datos. Por otra parte, la independencia de base de datos puede servir para desarrollar escenarios de una base de datos ligera de forma local, pero implementarlo al final sobre una diferente base de datos. 1.2.3. PostgreSql PostgreSql es uno de los mas avanzados Serviodores de Base de datos open source, proviene de Ingres, el cual fue desarrollado en la Universidad de California en Berkley (1977-1985). En 1986 el equipo liderado por Michael Stonebraker continuo con la elaboracion del code de Ingres, y se le llamo Posgres.[9][10] PostgreSql proporcina una gran cantidad de caracteristicas que solo se pueden encontrar en las base de datos comerciales, tales como:[10] Un manejador de base de datos objeto-relacional Altamente extensible, acepta operaciones para definir usuarios, funciones, acceso a metodos y tipos de datos. Integridad de Referencia Un api Flexible Soporte para lenguajes procedurales

CAPÍTULO 1. MARCO TEÓRICO 6 Usa la tecnologãa MVCC (Multi-Version Concurrency Control por sus siglas en inglés), lo cual evita bloqueos innecesarios. Cliente/Servidor, usa la arquitectura proceso-por-usuario cliente/servidor, que es similar al metodo usado en apache 1.3.x para el manejo de procesos. Write Ahead Logging (WAL), registra los datos antes de ser escritos en la base de datos 1.3. Vista La vista es la encargada de representar el modelo en un formato amigable para el usuario, cada vista es capaz de mostrar una o mas representaciones de los modelos en la pantalla. En un termino orientado a objetos, es un conjunto de clases las cuales nos generan unas ventanas sobre el modelo, Ejemplo: El GUI/Widget (por sus iglas en ingles Graphical User Interface) vista. El CLI (por sus siglas en ingles Command Line Interface) vista. El API (por sus sigals en ingles Applications Program Interface) En este proyecto, al ser web utilizamos JSP, como generador de vista dinamico de java. Y la librerias de JAvascript, jquery y jquery UI para el desarrollo de la interfaz 1.3.1. Java Server Pages Java Server Pages o como se conoce mas comúnmente mediante las siglas JSP, es una tecnología desarrollada por java para poder incluir contenido para web, en forma de documentos HTML, XML o de otro tipo.es decir, la vista puede cambiar dependiendo los parámetros enviado por el usuario al JSP. [3] Gracias a esta nueva implementación las aplicaciones web actuales, pueden personalizar los contenidos dependiendo a las personas que se les esta dirigido. La estructura

CAPÍTULO 1. MARCO TEÓRICO 7 de JSP, es muy similar a la de HTML (HyperText Markup Language-Lenguaje de Marcado de Hipertexto), a diferencia que contiene elementos especiales JSP que permiten la inserción de código por parte del servidor.[3] Estos elementos especiales son los que el servidor detecta el recibir el archivo, y ejecuta los parámetros generando código HTML (HyperText Markup Language-Lenguaje de Marcado de Hipertexto), dinámicamente el cual es insertado en el código completo generando una nueva vista que es enviada al navegador[3] Figura 1.3: Funcionamiento Básico JSP [3] JSP contiene un úmero de elementos básicos que se pueden utilizar en casi cualquier aplicación web. Pero ademã s permite a los desarrolladores la sintaxis del JSP para implementar elementos específicos para la aplicación en la que se trabaja entre los cuales podemos destacar accesos a base de datos y Enterprise JavaBeans.[3] 1.3.2. JavaScript JavaScript es un lenguaje de dassorrollo de aplicaciones web, dirijido a la creacion de paginas web dinamicas y interactivas para el usuario, fue diseñado para ser un lenguaje de elaboraci on de script que pudieran incrustarse directamentene en los archivos HTML, lo que no lo convierte en un programa aparte. Esta dirijido principalmente para mejorar la interfaz de la aplicación. [11] JavaScript aunque no es un lenguaje orientado a eventes, puede reconocerlos o crearlos permitiendo asi tener un sistema iterativo. El cual puede lograr hacer verificaciones

CAPÍTULO 1. MARCO TEÓRICO 8 directamente desde la misma vista sin necesidad de comunicarse con el servidor. [11] No es un lenguaje compilado, si no interpretado por el navegador lo que facilita el aprendizaje, debido a que se pueden ver ejemplos de como utilizan la librerias en sus paginas. [11] 1.3.3. JQuery jquery es una liberira de javascript, para facilitar la generación de codigo, permitiendo un uso mas amplico del mismo lenguaje, se disño principalmente como una extensión de prototypejs. Incluye funcionalidades tales como el manejo de eventos, la creacion de animaciones, comunicacion via ajax, etc. logrando agilizar el desarrollo de aplicaciones web.[12] TAmbien nos permite desarrollar un codigo mas limpio y ordenado, separando el comportamiento del contenido, lo que se llama javascript no obstrusivo, dando la idea que se estan incluyendo funcionalidades directamente en al Arbol Dom.[12] Las ventajas de utilizar jquery son:[12] Mejora la iteracción de JavaScript con HTML, debido a la generacion del Arbol DOM de una forma mas eficiente y facil de acceder. Es plugable, es decir cualquier persona puede realizar plugins que extiendan las funcionalidades permitiendo asi tener una gran cantidad de plugins disponibles, ademas de la opción de generar sus propios plugins. Posee una extensión de la libreria que posee gran cantidad de widgets que permiten darle una mejor interfaz al usuario con menos trabajo: jquery UI Es Cross browser, lo que nos permite asegurar que cualquier codigo realizado en este libreria podra funcionar con los siguientes browser: I.E. 6.0+, FF2+, Safari 2.0+, Opera 9.0+, Chrome Esta libreria fue diseãda para cambiar la tipica forma de programar en Javascript,

CAPÍTULO 1. MARCO TEÓRICO 9 basandose en la filosofía utilizada por prototypejs, actualmente es uno de los framework javascript mas utilizados: Por desarrolladores como: Life Ray Portal, Drupal, WordPress,... E la librerãa corporativa de Google, Dell, Nokia, Microsoft (estã incluida en Visual Studio),... 1.3.4. JQuery UI JQuery UI es una extension de la libreria JQuery que logra proporcionar un conjunto de iterativos y potentes Widget, permitiendo facilitar la interfaz de los usuarios, colocando menor cantidad de codigo, actualmente es la libreria oficial de JQuery para el manejo de la interfaz. [13] La implementación de los widgets resulta ser excepcionalmente facil de implementar debido a que se encuentra en lo mas alto de JQuery permitiendo la manipulación de los diferentes componentes del mismo estilo confortable y facil de usar como JQuery, y ademas puedes disfrutar de todas las funcionalidades de jquery. [13] Esta libreria incluye un framework para CSS, que facilita el desarrollo de la interfaz web, creando una interfaz mas elegante y portatil, para cualquier tipo de aplicaión. Este framework posee un generador dinamico llama ThemeRoller permitiendo cambiar los colores de las Classes CSS de una forma practicamente instantanea, creando una interfaz nuevo cada vez que se desea. [13] 1.4. Controlador El controlador es el enlace entre el usuario y el sistema, usualmente recibe la información del usuario, la procesa, interactua con el model para procesar los datos, y devuelve el resultado a las diferentes vistas. [4][5]

CAPÍTULO 1. MARCO TEÓRICO 10 1.4.1. Struts Struts es una framework web J2EE, que implementa el patrón de diseño MVC (Modelo Vista Controlador), esta diseñado para los desarrolladores de java y usa las tecnologias de Servlets y JSP, fue creado por Craig MCClanahan y forma para del proyecto Apache Struts, del Apache Software. [14] El corazon de Struts es el Servlet Controlador (objeto Action Servlel), el cual es el encargado de recibir todos los datos proveniente de el navegador, y se encarga de analizar la solicitud, llamando a el Action correspondiente que seria un objeto Acción. Esto se realiza gracias a un archvo de configuración llamado struts-config.xml, quien posee todas las acciones y los servicios asociados a este.[14][1] El Action se encargara de manejar la parte logica del sistema instanciano las variables para concretar su tarea. Una vez que es finalizada el Action,el Servlet controlador caputra la salida y es redireccionada a la vista(s) apropiada (JSPs). Dichos mapeos tambien se encuentran en struts-config.xml.[14][1] Por otra parte, strut tambien ofrece la creacion de formularios atravez del objeto Action Forms. Los cuales son JavaBeans usados para manipular los datos que tienen que ingresar los usuarios de la pagina, pudiendo asi llenar automaticamente los objetos Actions Forms instantaneamente con los datos de la peticion del usuario. [14] Aunque Struts fue diseñado siguiendo los patrones MVC, no ofrece una capa para el Modelo de datos, solo provee componentes para la vista y el controlador, por lo que generalmente se implementa con JavaBeans y EJB, o como es el caso librerias como Hibernate. [14] Otra ventaja que ofrece Struts, es la capacidad de la Internacionalizacion atravez del archivo AplicationResource.properties el cual contiene todas los mensajes relacionados a la vista, en la cuales se pueden acceder usando el Bean Messages. Por lo tanto, para cambiar el idioma solo se necesita generar el archivo AplicationResource xx.properties, donde xx es el iso del idioma que se desea cambiar, y modificar el struts-config.xml para agregar el idioma principal.[1]

CAPÍTULO 1. MARCO TEÓRICO 11 Figura 1.4: Funcionamiento Basico de Struts [1] 1.5. CRM Las siglas CRM provienen del inglés Custumer Relationship Management Gestión de Relación con Clientes. Con estas palabras no se refiere a un software de administración de una empresa, sino más bien a una estrategia de negocio centrado en el cliente. Según Bindi Bhullar, analista senior de Gartner Group, Es una estrategia de negocio que sitúa al cliente como el corazón de su compañía. Imagina cómo sería tu empresa si tu cliente pudiera rediseñarla para adaptarla a sus necesidades. Esta es la compañía que necesitas ser. Janice Anderson, vicepresidenta de CRM Solutions de Lucent Technologies dice que Obtendrás más de la billetera de tus clientes, cuando te tomes el tiempo de estar al pendiente de ellos Un CRM como estrategia, implica no sólo disponer del software adecuado que permita gestionar las relaciones con los clientes, sino que además, supone un cambio en los procesos de la empresa y la participación de todos los empleados de la misma para que esta estrategia tenga éxito. Principalmente, esta estrategia se basa en recopilar toda la información relevante sobre

CAPÍTULO 1. MARCO TEÓRICO 12 el cliente necesaria para que la empresa pueda hacer un estudio y así poder adelantar una oferta y mejorar notablemente la atención; esta estrategia debería estudiar cada cliente por separado. El CRM, como lo define Barton Goldenberg, consiste en 10 componentes: Funcionalidad de las ventas y su administración: El telemarketing. El manejo del tiempo. El servicio y soporte al cliente. El marketing. El manejo de la información para ejecutivos. La integración del ERP( Enterprise Resource Planning ). La excelente sincronización de los datos. El e-commerce. El servicio en el campo de ventas.

2.1. RUP Capítulo 2 Marco Metodológico Se desarrollo usando la metodologia RUP, se trata de una metodología iterativa e incremental, donde cada iteración va avanzando en paralelo sobre distintos aspectos del proyecto, cobrando unos mas importancia que otros a medida que se avanza, nos basamos en las 4 fases de desarrollo concepción, elaboracion, contruccion y transición. REFERENCIA TESIS APLICACION RUP REVISAR Figura 2.1: Etapas de Rup Las sigals RUP en ingles significa Rational Unified Process (Proceso unificado de Rational) es un producto del proceso de ingeniera de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organizacion del desarrollo. Su meta e asegurar la producción del software de alta calidad que resuelve con las necesidades de los usuarios dentro de un presupuesto y tiempo establecidos.

CAPÍTULO 2. MARCO METODOLÓGICO 14 2.1.1. Concepción, Inicio o Estudio de oportunidad Define el ámbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto 2.1.2. Elaboración Para esta fase se deben cumplir los siguientes objetivos: Estudiar en profundidad tanto la funcionalidad como el dominio del problema. Definir una arquitectura sólida. Planificar el proyecto considerando recursos disponibles. Analizar el dominio del problema. Desarrollar un plan de proyecto. Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto. 2.1.3. Construcción El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permite cambio en la estructura) Gran oarte del trabajo es programación y pruebas Se documenta tanto el sistema construido como el manejo del mismo Esta fase proporciona un producto construido junto con la documentacion

CAPÍTULO 2. MARCO METODOLÓGICO 15 2.1.4. Transición Se libera el producto y se entrega el usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la información anterior Estas tareas se realizan tambien en iteraciones

Capítulo 3 Concepción, Inicio o Estudio de oportunidad En el ambiente competitivo de nuestras sociedades actuales, el producto y las innovaciones del servicio están redefiniendo niveles aceptados del desempeño. Integrando y automatizando muchas de las prácticas de negocio asociadas con los aspectos operativos o productivos de una empresa, de aquí que una empresa comprometida en la producción de bienes o servicios, debe poseer un buen sistema de gestión que le permita manejar las necesidades de sus clientes como uno de los elementos cruciales para el éxito del negocio. En este sentido, esta generalización es aplicable a cualquier negocio en particular. De aquí que partimos con una orientación general para diseñar un sistema que se adapte a cualquier negocio que necesite manejar una cartera de clientes. (Por lo cual no se hizo necesario realizar un modelado de negocio). El mismo se realizo en dos etapas a saber, la primera: realizar una investigación en páginas Web dirigidas a obtener información de otras aplicaciones que desarrollaran sistemas similares al que deseábamos implementar; y la segunda una investigación teorica, sobre el tema relacionado sobre la aplicación CRM (âcustumer Relationship Managementâ. Gestión de Relación con Clientes), a fin de poder desarrollar una imagen teórica que sirviera de referencia para nuestro proyecto. 3.1. Investigación Web Los resultados obtenidos de esta investigación permitieron recabar información sobre los requerimientos de funcionamiento de un sistema orientado a establecer estrategias de negocio centrado en el cliente, como lo es el CRM (âcustumer Relationship Managementâ. Gestión de Relación con Clientes), y en la cual se detectaron dos aplicaciones muy

CAPÍTULO 3. CONCEPCIÓN, INICIO O ESTUDIO DE OPORTUNIDAD 17 populares, entre los usuarios, como,, SugarCRM, el cual es un sistema para la administración de la relación con los clientes (CRM) basado en LAMP (Linux-Apache-MySQL-PHP), desarrollado por la empresa SugarCRM. y SalesForce, como la compañía que ofrece aplicaciones comerciales a través de Internet para empresas de todos los tamaños.. Ambos tienen muchas características similares, tales como que uno y otro son privativos, ellos venden el servicio del CRM mas no te permiten el código. Además al ser servicio web, se pudo aprovechar y observar la distribución de la interfaz que ellos manejan para facilitar el accesos y manipulación de los módulos, dã ndonos además una idea básica de como alcanzaríamos realizar nuestra interfaz. 3.1.1. SugarCRM SugarCRM es un CRM que actualmente esta siendo utilizado por grandes empresas y multinacionales, contiene como módulos principales Cuenta, Contactos, Oportunidades, Actividades, Reportes, Documentos, Casos, Campañas y Base de Conocimiento básicamente estos módulos conforman la aplicación completa y dan la posibilidad al usuario de poder tener un control del CRM, para manejar sus contactos con sus clientes La interfaz usada por SugarCRM, es simple con un menú principal en la parte de arriba que tiene el acceso a todos los módulos, además de una barra anclada al browser para dar la facilidad de links directos a los módulos del sistema 3.1.2. SalesForce SalesForce es una de las compañías de CRM más reconocidas a nivel mundial, manejamos este Sistema para entender como trabaja exactamente un CRM, observando que la división era modular, muy similar a la de SugarCRM, se destacaban como módulos principales, candidatos, cuentas, contactos, informe, documentos, productos y casos, además de un panel que muestra el uso de todos los empleados. La interfaz utilizada era sencilla similar al de SugarCRM por el menú principal en la parte de arriba pero se diferenciaba en un menú de acceso rápido a ciertos elementos del lado izquierdo, creando así un ambiente amable para el uso de la misma.

CAPÍTULO 3. CONCEPCIÓN, INICIO O ESTUDIO DE OPORTUNIDAD 18 Figura 3.1: Interfaz SugarCRM Figura 3.2: Interfaz de SalesForce