You are on page 1of 174

Universidad Autónoma

Gabriel René Moreno
Facultad: CS. Exactas y Tecnología - Ingeniería Informática

Taller de Grado I
Gestión 1 - 2011
Aplicación Web para Gestionar Envíos de Campañas Publicitarias mediante un enfoque de Social Media CRM.

Docente Grupo Alumnos

: : :

Ing. Rolando Martínez Canedo SA Luis Alberto Baigorria Rodas Ciro Marcelo García Osinaga 200639080 200420232

SANTA CRUZ – BOLIVIA 29/07/2011

1

INDICE DE CONTENIDO
CAPITULO I .............................................................................................................................................. 7 1. PERFIL DE PROYECTO .......................................................................................................................... 8 1.1. INTRODUCCION ............................................................................................................................... 8 1.2. ANTECEDENTES ............................................................................................................................... 9 1.3. DESCRIPCIÓN DEL PROBLEMA ....................................................................................................... 11 1.4. SITUACION PROBLEMÁTICA .......................................................................................................... 11 1.5. SITUACION DESEADA ..................................................................................................................... 11 1.6. OBJETIVOS ..................................................................................................................................... 12 1.6.1. OBJETIVO GENERAL ............................................................................................................. 12 1.6.2. OBJETIVOS ESPECIFICOS .................................................................................................... 12 1.7. METODOLOGIA .............................................................................................................................. 13 1.8. ALCANCE ........................................................................................................................................ 13 CAPITULO II .......................................................................................................................................... 17 TECNOLOGIA USADA EN EL DESARROLLO DE LA APLICACION ............................................ 17 2. FUNDAMENTO TEÓRICO ................................................................................................................... 18 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 3. WEB 2.0 ......................................................................................................................................... 18 SOCIAL MEDIA ............................................................................................................................... 20 MARKETING RELACIONAL .............................................................................................................. 20 GESTIÓN DE RELACIONES CON LOS CLIENTES (CRM). .................................................................... 23 CORREO ELECTRÓNICO .................................................................................................................. 26 E-MAIL MARKETING ....................................................................................................................... 26 OAUTH – OPEN AUTHORIZATION .................................................................................................. 27

HERRAMIENTAS Y TECNOLOGÍAS ...................................................................................................... 28 3.1. PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE ................................................................. 28 3.2. CLIENTE – SERVIDOR. PROTOCOLOS Y NAVEGADORES .................................................................. 29 3.2.1. ESTRUCTURA, PRESENTACIÓN Y CONTENIDO. ............................................................... 30 3.3. HERRAMIENTAS HARDWARE ......................................................................................................... 37 3.4. HERRAMIENTAS DE SOFTWARE ..................................................................................................... 37

CAPITULO III ......................................................................................................................................... 38 MODELO DE DESARROLLO ............................................................................................................... 38 4. FLUJO DE TRABAJO: REQUERMIENTOS ............................................................................... 39 4.1. MODELO DE DOMINIO................................................................................................................... 39 4.2. LISTAS DE ACTORES Y CASOS DE USO............................................................................................. 40 4.2.1. IDENTIFICAR TODOS LOS ACTORES DEL SISTEMA ......................................................... 40 4.2.2. ESTABLECER UN ESCENARIO DE ACTORES ..................................................................... 40 4.2.3. DESCRIBIR CADA ACTOR CON SUS RESPECTIVOS ROLES ............................................. 41 4.2.4. IDENTIFICAR CASOS DE USO Y PRIORIZAR ...................................................................... 42 4.2.5. DETALLE DE CASOS DE USO ............................................................................................... 43 4.3. DIAGRAMA GENERAL DE CASOS DE USO ....................................................................................... 79 5. FLUJO DE TRABAJO: ANALISIS ............................................................................................... 80 5.1. ANALISIS DE LA ARQUITECTURA .................................................................................................... 80 5.1.1. IDENTIFICACION DE PAQUETES ........................................................................................ 80

2

5.1.2. IDENTIFICACION DE CASOS DE USO EN CADA PAQUETE ............................................. 82 5.2. ANALIZAR CASOS DE USO .............................................................................................................. 86 5.2.1. DIAGRAMAS DE COMUNICACION ...................................................................................... 86 6. FLUJO DE TRABAJO: DISEÑO ................................................................................................... 99 6.1. DISEÑO DE ARQUITECTURA ........................................................................................................... 99 6.1.1. VISTAS DE PAQUETES CON USUARIOS .............................................................................. 99 6.1.2. VISTAS Y ANALISIS DE PAQUETES .................................................................................... 100 6.1.3. MODELO DE DESPLIEGUE ................................................................................................ 101 6.1.4. ORGANIZACIÓN POR CAPAS .............................................................................................. 102 6.2. DISEÑAR CASOS DE USO .............................................................................................................. 103 6.2.1. DIAGRAMAS DE SECUENCIA ............................................................................................. 103 6.2.2. DIAGRAMAS PARCIAL DE CLASES .................................................................................... 122 6.2.3. DIAGRAMAS DE NAVEGACION .......................................................................................... 140 6.3. DISEÑO DE LA INTERFAZ HUMANA .............................................................................................. 145 6.4. DIAGRAMA DE CLASES ................................................................................................................. 151 6.4.1. DISEÑO LÓGICO DE LA BASE DE DATOS ....................................................................................... 152 6.4.2. DISEÑO FÍSICO DE LA BASE DE DATOS.......................................................................................... 158 6.5. DISEÑO DE NAVEGACIÓN ............................................................................................................ 163 7. FLUJO DE TRABAJO: IMPLEMENTACION ........................................................................... 165 7.1. HERRAMIENTAS Y PLATAFORMA DE DESARROLLO ...................................................................... 165 7.1.1. LENGUAJE DE PROGRAMACION ...................................................................................... 165 7.1.2. BASE DE DATOS ................................................................................................................... 165 7.2. ARQUITECTURA DE LA IMPLEMENTACION .................................................................................. 165 7.2.1. MODELO DE IMPLEMENTACION ...................................................................................... 165 8. FLUJO DE TRABAJO: PRUEBA ................................................................................................ 167 8.1. PLAN DE PRUEBA ......................................................................................................................... 167 8.2. MODELO DE PRUEBA ................................................................................................................... 167 8.2.1. METODO DE LA CAJA NEGRA ........................................................................................... 168 9. 10. 11. CONCLUSIONES ......................................................................................................................... 172 RECOMENDACIONES ............................................................................................................... 173 BIBLIOGRAFIA ........................................................................................................................... 174

3

INDICE DE FIGURAS
ILUSTRACIÓN 1: GRAFICO MARKETING RELACIONAL ..................................................................................................... 22 ILUSTRACIÓN 2: DEFINICIÓN GRÁFICA DE LA VISIÓN DE UN CRM .................................................................................... 25 ILUSTRACIÓN 3: ARQUITECTURA CLIENTE-SERVIDOR .................................................................................................... 29 ILUSTRACIÓN 4: EJEMPLO DE PAGINA HTML .............................................................................................................. 31 ILUSTRACIÓN 5: ARQUITECTURA CLIENTE - SERVIDOR ................................................................................................... 35 ILUSTRACIÓN 6: UTILIZACIÓN DE UNA RESPUESTA AJAX EN UNA APLICACIÓN WEB ............................................................ 36 ILUSTRACIÓN 7: MODELO DE DOMINIO ..................................................................................................................... 39 ILUSTRACIÓN 8: ESCENARIO DE ACTORES ................................................................................................................... 40 ILUSTRACIÓN 9: GENERALIZACIÓN DE USUARIO ........................................................................................................... 41 ILUSTRACIÓN 10: CASO DE USO GESTIONAR USUARIO.................................................................................................. 43 ILUSTRACIÓN 11: CASO DE USO GESTIONAR PERFILES .................................................................................................. 45 ILUSTRACIÓN 12: CASO DE USO GESTIONAR PRIVILEGIOS.............................................................................................. 47 ILUSTRACIÓN 13: CASO DE USO VER HISTORIAL DE ACCESO .......................................................................................... 49 ILUSTRACIÓN 14: CASO DE USO GESTIONAR ACCESO AL SISTEMA ................................................................................... 50 ILUSTRACIÓN 15: CASO DE USO GESTIONAR PRE-CONTACTO......................................................................................... 52 ILUSTRACIÓN 16: CASO DE USO GESTIONAR CONTACTO ............................................................................................... 54 ILUSTRACIÓN 17: CASO DE USO GESTIONAR EMPRESAS ................................................................................................ 56 ILUSTRACIÓN 18: CASO DE USO GESTIONAR LISTA DE CONTACTOS ................................................................................. 58 ILUSTRACIÓN 19: CASO DE USO GESTIONAR LISTA DE EMPRESAS.................................................................................... 60 ILUSTRACIÓN 20: CASO DE USO IMPORTAR CONTACTO ................................................................................................ 62 ILUSTRACIÓN 21: CASO DE USO EXPORTAR CONTACTOS ............................................................................................... 63 ILUSTRACIÓN 22: CASO DE USO GESTIONAR CAMPAÑA DE PUBLICIDAD ........................................................................... 65 ILUSTRACIÓN 23: CASO DE USO LISTAR CAMPAÑAS DE PUBLICIDAD ................................................................................ 67 ILUSTRACIÓN 24: CASO DE USO GESTIONAR PLANTILLA DE PUBLICIDAD ........................................................................... 68 ILUSTRACIÓN 25: CASO DE USO IMPORTAR PLANTILLA DE PUBLICIDAD ............................................................................ 70 ILUSTRACIÓN 26: CASO DE USO EXPORTAR PLANTILLA DE PUBLICIDAD ............................................................................ 71 ILUSTRACIÓN 27: CASO DE USO GESTIONAR REGLAS DE ENVÍO ...................................................................................... 72 ILUSTRACIÓN 28: CASO DE USO GESTIONAR ENVÍO DE PUBLICIDAD ................................................................................ 73 ILUSTRACIÓN 29: CASO DE USO GESTIONAR CONFIGURACIÓN DE CONEXIÓN TWITTER....................................................... 75 ILUSTRACIÓN 30: CASO DE USO GESTIONAR CONFIGURACIÓN DE CONEXIÓN FACEBOOK ..................................................... 76 ILUSTRACIÓN 31: CASO DE USO GESTIONAR CONFIGURACIÓN DE CONEXIÓN LINKEDIN ....................................................... 77 ILUSTRACIÓN 32: DIAGRAMA GENERAL DE CASOS DE USO ............................................................................................ 79 ILUSTRACIÓN 33: IDENTIFICACIÓN DE PAQUETES ......................................................................................................... 80 ILUSTRACIÓN 34: PAQUETE ADMINISTRACIÓN DE ACCESO Y USUARIO ............................................................................. 82 ILUSTRACIÓN 35: PAQUETE ADMINISTRACIÓN DE CONTACTOS ....................................................................................... 83 ILUSTRACIÓN 36: PAQUETE ADMINISTRACIÓN DE PUBLICIDAD ....................................................................................... 84 ILUSTRACIÓN 37: PAQUETE ADMINISTRACIÓN DE ENVÍOS ............................................................................................. 84 ILUSTRACIÓN 38: PAQUETE ADMINISTRACIÓN DE CONEXIONES CON REDES SOCIALES ......................................................... 85 ILUSTRACIÓN 39: DIAGRAMA DE COMUNICACIÓN GESTIONAR USUARIO .......................................................................... 86 ILUSTRACIÓN 40: DIAGRAMA DE COMUNICACIÓN GESTIONAR PERFILES........................................................................... 87 ILUSTRACIÓN 41: DIAGRAMA DE COMUNICACIÓN GESTIONAR PRIVILEGIOS ...................................................................... 87 ILUSTRACIÓN 42: DIAGRAMA DE COMUNICACIÓN VER HISTORIAL DE ACCESO ................................................................... 88 ILUSTRACIÓN 43: DIAGRAMA DE COMUNICACIÓN GESTIONAR ACCESO AL SISTEMA ........................................................... 88 ILUSTRACIÓN 44: DIAGRAMA DE COMUNICACIÓN GESTIONAR PRE-CONTACTO ................................................................. 89 ILUSTRACIÓN 45: DIAGRAMA DE COMUNICACIÓN GESTIONAR CONTACTO........................................................................ 89 ILUSTRACIÓN 46: DIAGRAMA DE COMUNICACIÓN GESTIONAR EMPRESAS ........................................................................ 90 ILUSTRACIÓN 47: DIAGRAMA DE COMUNICACIÓN GESTIONAR LISTA CONTACTO ............................................................... 90 ILUSTRACIÓN 48: DIAGRAMA DE COMUNICACIÓN GESTIONAR LISTA EMPRESA.................................................................. 91 ILUSTRACIÓN 49: DIAGRAMA DE COMUNICACIÓN IMPORTAR CONTACTO ......................................................................... 91 ILUSTRACIÓN 50: DIAGRAMA DE COMUNICACIÓN EXPORTAR CONTACTO ......................................................................... 92 ILUSTRACIÓN 51: DIAGRAMA DE COMUNICACIÓN GESTIONAR CAMPAÑAS DE PUBLICIDAD .................................................. 92

4

ILUSTRACIÓN 52: DIAGRAMA DE COMUNICACIÓN LISTAR CAMPAÑAS DE PUBLICIDAD ........................................................ 93 ILUSTRACIÓN 53: DIAGRAMA DE COMUNICACIÓN GESTIONAR PLANTILLA DE PUBLICIDAD ................................................... 93 ILUSTRACIÓN 54: DIAGRAMA DE COMUNICACIÓN IMPORTAR PLANTILLA DE PUBLICIDAD..................................................... 94 ILUSTRACIÓN 55: DIAGRAMA DE COMUNICACIÓN EXPORTAR PLANTILLA DE PUBLICIDAD..................................................... 94 ILUSTRACIÓN 56: DIAGRAMA DE COMUNICACIÓN GESTIONAR REGLAS DE ENVÍO............................................................... 95 ILUSTRACIÓN 57: DIAGRAMA DE COMUNICACIÓN GESTIONAR ENVÍO DE PUBLICIDAD......................................................... 96 ILUSTRACIÓN 58: DIAGRAMA DE COMUNICACIÓN GESTIONAR CONEXIÓN TWITTER ........................................................... 97 ILUSTRACIÓN 59: DIAGRAMA DE COMUNICACIÓN GESTIONAR CONEXIÓN FACEBOOK. ........................................................ 97 ILUSTRACIÓN 60: DIAGRAMA DE COMUNICACIÓN GESTIONAR CONEXIÓN LINKEDIN ........................................................... 98 ILUSTRACIÓN 61: VISTA DE PAQUETES CON USUARIOS ................................................................................................. 99 ILUSTRACIÓN 62: VISTAS Y ANÁLISIS DE PAQUETES .................................................................................................... 100 ILUSTRACIÓN 63: MODELO DE DESPLIEGUE .............................................................................................................. 101 ILUSTRACIÓN 64: ORGANIZACIÓN POR CAPAS ........................................................................................................... 102 ILUSTRACIÓN 65: DIAGRAMA DE SECUENCIA GESTIONAR USUARIO ............................................................................... 103 ILUSTRACIÓN 66: DIAGRAMA DE SECUENCIA GESTIONAR PERFILES................................................................................ 104 ILUSTRACIÓN 67: DIAGRAMA DE SECUENCIA GESTIONAR PRIVILEGIOS ........................................................................... 105 ILUSTRACIÓN 68: DIAGRAMA DE SECUENCIA VER HISTORIAL DE ACCESO ........................................................................ 106 ILUSTRACIÓN 69: DIAGRAMA DE SECUENCIA GESTIONAR ACCESO AL SISTEMA ................................................................ 106 ILUSTRACIÓN 70: DIAGRAMA DE SECUENCIA DE GESTIONAR PRE-CONTACTO .................................................................. 107 ILUSTRACIÓN 71: DIAGRAMA DE SECUENCIA DE GESTIONAR CONTACTO ........................................................................ 108 ILUSTRACIÓN 72: DIAGRAMA DE SECUENCIA DE GESTIONAR EMPRESA .......................................................................... 109 ILUSTRACIÓN 73: DIAGRAMA DE SECUENCIA DE GESTIONAR LISTA DE CONTACTOS........................................................... 110 ILUSTRACIÓN 74: DIAGRAMA DE SECUENCIA DE GESTIONAR LISTA DE EMPRESAS ............................................................. 111 ILUSTRACIÓN 75: DIAGRAMA DE SECUENCIA DE IMPORTAR CONTACTOS ........................................................................ 112 ILUSTRACIÓN 76: DIAGRAMA DE SECUENCIA DE EXPORTAR CONTACTOS ........................................................................ 112 ILUSTRACIÓN 77: DIAGRAMA DE SECUENCIA DE GESTIONAR CAMPAÑA DE PUBLICIDAD .................................................... 113 ILUSTRACIÓN 78: DIAGRAMA DE SECUENCIA DE LISTAR CAMPAÑAS DE PUBLICIDAD ......................................................... 114 ILUSTRACIÓN 79: DIAGRAMA DE SECUENCIA DE GESTIONAR PLANTILLA DE PUBLICIDAD .................................................... 115 ILUSTRACIÓN 80: DIAGRAMA DE SECUENCIA DE IMPORTAR PLANTILLA DE PUBLICIDAD ..................................................... 116 ILUSTRACIÓN 81: DIAGRAMA DE SECUENCIA DE EXPORTAR PLANTILLA DE PUBLICIDAD ..................................................... 116 ILUSTRACIÓN 82: DIAGRAMA DE SECUENCIA DE GESTIONAR REGLAS DE ENVÍO ............................................................... 117 ILUSTRACIÓN 83: DIAGRAMA DE SECUENCIA DE GESTIONAR ENVÍO DE PUBLICIDAD ......................................................... 118 ILUSTRACIÓN 84: DIAGRAMA DE SECUENCIA DE GESTIONAR CONFIGURACIÓN DE CONEXIÓN TWITTER. ............................... 119 ILUSTRACIÓN 85: DIAGRAMA DE SECUENCIA DE GESTIONAR CONFIGURACIÓN DE CONEXIÓN FACEBOOK. ............................. 120 ILUSTRACIÓN 86: DIAGRAMA DE SECUENCIA DE GESTIONAR CONFIGURACIÓN DE CONEXIÓN LINKEDIN. ............................... 121 ILUSTRACIÓN 87: DIAGRAMA PARCIAL DE CLASES GESTIONAR USUARIO ........................................................................ 122 ILUSTRACIÓN 88: DIAGRAMA PARCIAL DE CLASES GESTIONAR PERFILES ......................................................................... 122 ILUSTRACIÓN 89: DIAGRAMA PARCIAL DE CLASES GESTIONAR PRIVILEGIOS .................................................................... 123 ILUSTRACIÓN 90: DIAGRAMA PARCIAL DE CLASES DE VER HISTORIAL DE ACCESO ............................................................. 124 ILUSTRACIÓN 91: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR ACCESO AL SISTEMA ..................................................... 125 ILUSTRACIÓN 92: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR PRE-CONTACTO .......................................................... 126 ILUSTRACIÓN 93: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR CONTACTO ................................................................. 127 ILUSTRACIÓN 94: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR EMPRESA ................................................................... 128 ILUSTRACIÓN 95: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR LISTA CONTACTOS ....................................................... 129 ILUSTRACIÓN 96: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR LISTA DE EMPRESAS ..................................................... 130 ILUSTRACIÓN 97: DIAGRAMA PARCIAL DE CLASES DE IMPORTAR CONTACTOS ................................................................. 131 ILUSTRACIÓN 98: DIAGRAMA PARCIAL DE CLASES DE EXPORTAR CONTACTOS ................................................................. 132 ILUSTRACIÓN 99: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR CAMPAÑA DE PUBLICIDAD............................................. 133 ILUSTRACIÓN 100: DIAGRAMA PARCIAL DE CLASES DE LISTAR CAMPAÑAS DE PUBLICIDAD ................................................ 134 ILUSTRACIÓN 101: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR PLANTILLA DE PUBLICIDAD........................................... 134 ILUSTRACIÓN 102: DIAGRAMA PARCIAL DE CLASES DE IMPORTAR PLANTILLA DE PUBLICIDAD ............................................ 135 ILUSTRACIÓN 103: DIAGRAMA PARCIAL DE CLASES DE EXPORTAR PLANTILLA DE PUBLICIDAD ............................................ 135 ILUSTRACIÓN 104: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR REGLAS DE ENVÍO ...................................................... 136

5

ILUSTRACIÓN 105: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR ENVÍO DE PUBLICIDAD ................................................ 137 ILUSTRACIÓN 106: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR CONFIGURACIÓN DE CONEXIÓN TWITTER. ....................... 138 ILUSTRACIÓN 107: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR CONFIGURACIÓN DE CONEXIÓN FACEBOOK. ................... 139 ILUSTRACIÓN 108: DIAGRAMA PARCIAL DE CLASES DE GESTIONAR CONFIGURACIÓN DE CONEXIÓN LINKEDIN. ..................... 140 ILUSTRACIÓN 109: INTERFAZ HUMANA DE LA PÁGINA PRINCIPAL .................................................................................. 145 ILUSTRACIÓN 110: INTERFAZ HUMANA DE GESTIONAR CONTACTOS.............................................................................. 146 ILUSTRACIÓN 111: INTERFAZ HUMANA DE GESTIONAR CAMPAÑA DE PUBLICIDAD ........................................................... 147 ILUSTRACIÓN 112: INTERFAZ HUMANA DE GESTIONAR ENVÍOS .................................................................................... 148 ILUSTRACIÓN 113: INTERFAZ HUMANA DE GESTIONAR PUBLICACIONES RED SOCIAL ........................................................ 149 ILUSTRACIÓN 114: PUBLICACIÓN DE PUBLICIDAD EN LA RED SOCIAL TWITTER ................................................................. 150 ILUSTRACIÓN 115: DIAGRAMA DE CLASES ................................................................................................................ 151 ILUSTRACIÓN 116: UNIDAD SEMÁNTICA DE LA NAVEGACIÓN ....................................................................................... 164 ILUSTRACIÓN 117: MODELO DE IMPLEMENTACIÓN .................................................................................................... 166 ILUSTRACIÓN 118: MODELO DE PRUEBA GESTIONAR CONTACTO ................................................................................. 168 ILUSTRACIÓN 119: MODELO DE PRUEBA GESTIONAR ENVIO........................................................................................ 170

6

CAPITULO I
PERFIL DEL PROYECTO

7

1. PERFIL DE PROYECTO

1.1.

INTRODUCCION

El auge de las comunicaciones virtuales está cambiando la forma de hacer negocios y lo está haciendo de una manera rápida y sencilla. El correo electrónico, las páginas web, Social Media y el mercadeo, han logrado que las empresas y/o particulares tomen la decisión de colocar en práctica diferentes estrategias de marketing para controlar este proceso de integración de la Internet con los negocios y la relación con sus clientes.

El e-mail marketing o boletín electrónico es una de las herramientas más poderosas y efectivas para alcanzar el objetivo de conseguir suscriptores voluntarios que, a través del proceso de fidelización, se conviertan en clientes frecuentes de los servicios y productos que una determinada empresa ofrece.

Muchas son las herramientas existentes en la actualidad que ofrecen diferentes técnicas de mercadeo o Servicio al Cliente. Diferentes empresas hacen uso de herramientas como CRM (La administración basada en la relación con los clientes) con el principal objetivo de estar en constante comunicación con sus clientes y así fidelizarlos. Así mismo, somos conscientes del gran crecimiento de las Redes Sociales y el uso constante que tiene por parte de las personas y la importancia de las empresas de estar presentes en estos medios.

Con nuestro sistema Social CRM usted podrá realizar el seguimiento de su empresa con las Redes Sociales, podrá invitar, conectar e interactuar con sus clientes en las redes sociales, podrá registrar publicaciones en las redes sociales desde nuestro propio Social CRM, además de gestionar envíos de campañas publicitarias a sus contactos siendo estos publicado de manera automática en las redes sociales que usted disponga. 8

Por medio de nuestro diseñador usted podrá generar plantillas publicitarias y a través de nuestro Sistema (Social CRM) usted podrá gestionar y administrar el envío de su plantilla publicitaria a sus contactos y en el tiempo que lo requiera.

Su campaña publicitaria estará integrado en las redes de mayor difusión, por cada envío o publicación de su de su campaña publicitaria a sus contactos se gestionará una publicación automática en las Redes Sociales de mayor difusión.

Nuestro Software Generador de Plantilla incluirá en las plantillas personalizables enlaces de las redes sociales de mayor difusión, con ello, permitir a sus contactos compartirlos entre sus amigos e incrementando así el impacto de su publicidad.

Es por ello, el presente informe de proyecto desarrolla un modelo para la gestión, administración y realización de envíos de campañas publicitarias electrónicas por medio de direcciones de correo y plantillas personalizada, integrando cada envío de publicidad con las redes sociales de mayor difusión.

1.2.

ANTECEDENTES

Desde tiempos pasados las personas, comerciantes, mercaderes posteriormente las microempresas, empresas medianas y grandes empresas han necesitado de algún método para poder dar a conocer a la sociedad sobre sus productos o servicios que prestan. Los métodos usados fueron variando con los tiempos de las maneras más diversas existentes.

Mucho tiempo después de introdujo el concepto de marketing, que según Philip Kothler (considerado por algunos padre del marketing)

9

«Es el proceso social y administrativo por el cual los grupos e individuos satisfacen sus necesidades al crear e intercambiar bienes y servicios».

Sin embargo, hay otras definiciones; como la que afirma que el marketing es el arte o ciencia (cabe aclarar para evitar confusiones que el Marketing pertenece a la ciencia de la Administración, este es una sub-ciencia o área de estudio de esta) de satisfacer las necesidades de los clientes y obtener ganancias al mismo tiempo. En español, marketing suele traducirse como mercadotecnia o mercadeo. Por otra parte, aunque se admite el uso del anglicismo, se recomienda usar con preferencia la voz española mercadotecnia.

Los métodos usados para el marketing fueron variando con el tiempo desde el clásico grito a fuerza de pulmón, panfletos, avisos en los diarios, avisos en las revistas, spots radiales, spots televisivos y todas las variantes. Las empresas dedicadas al mercadeo o empresas de marketing usan técnicas,

herramientas tecnológicas, encuestas, estudios, etc., para poder realizar publicidades que lleguen a cumplir con el resultado esperado para el cliente (contratista del servicio de publicidad). El constante avance de la tecnología hizo que las empresas publicitarias usen se actualicen en las técnicas usadas para la publicidad, pasando por la televisión mediante spots televisivos, por la radio mediante spots radiales, en las calles, mediante gigantografías, en el cine mediante pequeñas publicidades. Ahora las empresas publicitarias necesitan adaptarse nuevamente a la tecnología y a la par reemplazar los típicos folletos informativos y los de publicidad, para ello deben usar una tecnología que permita alcanzar los mismos objetivos que son: - Entregar a la mayor cantidad de personas que circulan por cierto lugar de la ciudad - Entregar en cada folleto la información necesaria y una publicidad convincente. Pero a la par también resolver el hecho de que es demasiado costoso estos tipos de publicidad ya que es necesario el uso de terceras personas para que repartan las publicidades (folleteros).

10

1.3.

DESCRIPCIÓN DEL PROBLEMA

De acuerdo a un análisis preliminar realizado sobre los datos estadísticos y herramientas existentes en la actualidad para la gestión y administración de publicidad, además de entrevistas con empresas hemos identificados los siguientes problemas: • La ausencia de una integración de los actuales sistemas de Administración de la relación con los Clientes (CRM) con las Redes Sociales que permita a la empresa realizar eficientemente los procesos de fidelización de sus clientes. • Dificultades presentadas en las actividades de prospectación con los clientes, es decir la conversación entre clientes y personal de la empresa.

1.4.

SITUACION PROBLEMÁTICA

La falta de integración de los actuales Sistemas de Administración de la Relación con los Clientes (CRM) con los actuales sistemas de Social Media como las Redes Sociales, el cual permita compartir, publicar y actualizar contenidos de manera automática, alcanzando así la eficiencia en los procesos de fidelización y servicio al cliente.

1.5.

SITUACION DESEADA

Mejorar y facilitar el proceso de fidelización, relación y servicio al cliente creando diálogos de conversación de nuevos productos o servicio por medio de la Social Media o Redes Sociales, reduciendo así los costos y tiempo de publicación o difusión de las campañas publicitarias de la empresa, permitiendo al destinatario de la campaña publicitaria compartirlos fácil y rápidamente con sus amigos u otros contactos.

11

1.6.

OBJETIVOS 1.6.1. OBJETIVO GENERAL

Desarrollar una Aplicación Web para Gestionar Envíos de Campañas Publicitarias mediante un enfoque de Social Media CRM.

1.6.2. OBJETIVOS ESPECIFICOS 

Identificar y recolectar los requisitos que nos puedan brindar toda la

información necesaria para el análisis y elaboración del Software. 

Realizar visitas a empresas con el fin de recabar información,

sugerencias, ideas, para el análisis y diseño del Sistema. 

Identificar los requerimientos buscando información sobre el manejo

de sus Campañas Publicitarias y realizar un análisis detallado sobre los requerimientos especificados por la empresa.  envío

Identificar los elementos y factores que intervienen en el proceso de de correo electrónico masivo (Sistemas de Comunicación

Electrónico). 

Diseño y creación del Portal Web haciendo uso del Gestor de base de

datos MySql, PHP 5.3 +, Web Server Apache 1.7+, CSS, HTML. 

Diseñar e implementar una Base de Datos capaz de soportar todos los

requerimientos del sistema de tal forma que se pueda manipular los datos requeridos por el sistema con exactitud. 

Implantación y configuración de un servidor Web y Correo

Electrónico SMTP. 12

Estudio e investigación de las APIS (OAuth) de las Redes Sociales de

mayor difusión para la integración y publicación de contenidos. 

Diseñar interfaces visuales amigables para el usuario, de tal modo

que sea comprensible y fácil de manejar, evitando las posibles complicaciones durante el proceso de gestión de envíos de las campañas publicitarias.  . 1.7. METODOLOGIA

Realizar pruebas y validaciones necesarias en el sistema.

La metodología que se aplicará durante el desarrollo del proyecto es el Proceso Unificado de Desarrollo de Software (Jacobson, 2000), (BOCH, 2002) y como herramienta de modelado utilizaremos el Lenguaje de Unificado de Modelado, (BOCH, 2000).

El Sistema será desarrollado utilizando como lenguaje de programación PHP, Smarty, ADOdb, CSS, AJAX, JQUERY y JAVASCRIPT. Como Gestor de Base de Datos utilizaremos MySQL.

1.8.

ALCANCE

A continuación detallamos el alcance del sistema, los requisitos mínimos a ser implementados en cada módulo de los cuales estará constituido el Sistema.

MODULO I: Administración de Acceso y Usuario

Está parte del sistema permitirá la gestión, administración y control de acceso al sistema de los diferentes usuarios que forman parte del sistema.

13

 Gestionar Usuarios Permitirá crear, actualizar, eliminar nuevos usuarios del sistema.  Gestionar Perfiles Se gestionará los diferentes perfiles del sistema (Administradores)  Gestionar Privilegios Se registra y asigna los privilegios a los perfiles o usuarios del sistema.  Historial de Acceso Permitirá mostrar el historial de acceso de cada usuario.  Gestionar Acceso al Sistema Gestionará el proceso de acceso al sistema. Iniciar Sesión y Cerrar Sesión.

MODULO II: Administración de Contactos

Gestionará a las personas u organizaciones con las que su empresa se comunica con en la intención de generar una oportunidad de negocio. Permitirá el registro, validación, actualización, exportación e importación de la información de los diferentes contactos con los que se relaciona la empresa. Este módulo permitirá la gestión de los contactos de la empresa en particular, es decir, registrará, validará direcciones de correo electrónicos de los clientes de la empresa, permitiendo la validación y actualización de los mismos.  Gestionar Contactos Permitirá gestionar los diferentes contactos de la empresa.  Gestionar Pre-Contacto Permitirá gestionar los diferentes pre-contacto potenciales de la empresa. Un pre-contacto es un firme candidato a convertirse en contacto de la empresa.  Gestionar Lista Contactos Permitirá crear listas de contactos los contactos de la empresa.  Gestionar Lista de Empresas Permitirá crear listas de contactos de empresas para hacer más eficiente el envío de la publicidad. 14

 Exportar e importar Contactos Permitirá realizar la exportación e importación de los contactos de la empresa.

MODULO III: Administración de Publicidad

Este módulo permitirá la gestión y administración de las campañas publicitarias que la empresa realice. Se registrará el nombre, descripción, tipo de campaña publicitaria, contenido o plantilla a utilizar (en caso de ser publicidad mailing), se seleccionará la lista de contactos a los cuales se enviará la publicidad.  Gestionar Campaña de Publicidad Se registra, modifica los datos de la campaña publicitaria.  Listar Campañas Publicitarias Listará todas las campañas publicitarias.  Buscar Campañas Publicitarias Permitirá buscar y listar las campañas publicitarias.

MODULO IV: Administración de Envíos de Publicidad

Este módulo permitirá la gestión de envíos de las campaña publicitaria creadas por la empresa, asignar algunas reglas de envío, establecer la fecha de envío. El envío y la publicación del contenido se realizarán de acuerdo al tipo y canal de comunicación de la campaña publicitaria.  Gestionar Envió de Publicidad Permitirá realizar envíos de las campañas publicitarias, seleccionando el canal de comunicación a publicar.  Gestionar Reglas de Envío Permitirá la gestión de las diferentes reglas de envío de la campaña publicitaria, realizando excepciones por medio de las direcciones de correo. 15

MODULO V: Administración de Conexiones de Social Media

Este módulo permitirá establecer la integración del sistema con las Redes Sociales. La empresa podrá realizar publicaciones, comentarios, búsquedas de perfiles, compartir información y establecer diálogos y conversaciones con sus clientes y seguidores. En este módulo se aprovechará al máximo las diferentes opciones de las Interfaces para programación de Aplicaciones (APIs) proporcionadas por las Redes Sociales (Facebook, Twitter, Linkedin, Google Maps, etc).  Establecer Conexión con Red Social Permitirá establecer las conexiones de la empresa con las redes Sociales (Proceso de Autentificación y Sesión).  Gestionar Publicación de Contenido Permitirá la publicación de contenido en las redes sociales, escribir comentarios, publicaciones y actualizaciones de estado.  Buscar y Listar Perfiles Sociales Establecerá búsquedas de perfiles relacionados con la empresa.

16

CAPITULO II
TECNOLOGIA USADA EN EL DESARROLLO DE LA APLICACION

17

2. FUNDAMENTO TEÓRICO

2.1.

WEB 2.0 El término Web 2.0 (2004–actualidad) está comúnmente asociado con aplicaciones web que facilitan el compartir información, la interoperabilidad, el diseño centrado en el usuario y la colaboración en la World Wide Web. Ejemplos de la Web 2.0 son las comunidades web, los servicios web, las aplicaciones Web, los servicios de red social, los servicios de alojamiento de videos, las wikis, blogs, mashups y folcsonomías.

En general, cuando mencionamos el término Web 2.0 nos referimos a una serie de aplicaciones y páginas de Internet que utilizan la inteligencia colectiva para proporcionar servicios interactivos en red dando al usuario el control de sus datos.

Así, podemos entender por Web 2.0, como propuso Xavier Ribes en 2007, "todas aquellas utilidades y servicios de Internet que se sustentan en una base de datos, la cual puede ser modificada por los usuarios del servicio, ya sea en su contenido (añadiendo, cambiando o borrando información o asociando datos a la información existente), bien en la forma de presentarlos o en contenido y forma simultáneamente".

Servicios asociados Para compartir en la Web 2.0 se utilizan una serie de herramientas, entre las que se pueden destacar:

Blogs: La blogosfera es el conjunto de blogs que hay en internet. Un blog es un espacio web personal en el que su autor (puede haber varios autores autorizados) puede escribir cronológicamente artículos, noticias...(con imágenes y enlaces), pero además es un espacio colaborativo donde los lectores también pueden 18

escribir sus comentarios a cada uno de los artículos (entradas/post) que ha realizado el autor.

Wikis: En hawaiano "wikiwiki " significa: rápido, informal. Una wiki es un espacio web corporativo, organizado mediante una estructura hipertextual de páginas (referenciadas en un menú lateral), donde varias personas autorizadas elaboran contenidos de manera asíncrona. Basta pulsar el botón "editar" para acceder a los contenidos y modificarlos. Suelen mantener un archivo histórico de las versiones anteriores y facilitan la realización de copias de seguridad de los contenidos. Hay diversos servidores de wiki gratuitos:

Entornos para compartir recursos: Todos estos entornos nos permiten almacenar recursos en Internet, compartirlos y visualizarlos cuando nos convenga desde Internet. Constituyen una inmensa fuente de recursos y lugares donde publicar materiales para su difusión mundial.

Documentos:

Podemos

subir

nuestros

documentos

y

compartirlos,

embebiéndolos en un Blog o Wiki, enviándolos por correo.

Videos: Al igual que los Documentos, anteriormente mencionados, se pueden "embeber" un video tomado de algún repositorio que lo permita, tal como YouTube. Además de:      Presentaciones Fotos Plataformas educativas Aulas virtuales (síncronas) Redes Sociales

19

2.2.

SOCIAL MEDIA Medios de Comunicación Social Interactiva, o Medios de Comunicación Interactiva (“Social media” en inglés) cambian la comunicación entre las personas y entre las marcas y las personas. Son plataformas de comunicación donde el contenido es creado por los propios usuarios mediante el uso de las nuevas tecnologías, que permiten un fácil uso y acceso mediante poderosas tecnologías de edición, publicación e intercambio. Los profesores Kaplan y Haenlein definen medios sociales como "un grupo de aplicaciones basadas en Internet que se desarrollan sobre los fundamentos ideológicos y tecnológicos de la Web 2.0, y que permiten la creación y el intercambio de contenidos generados por el usuario". Los medios sociales son ricos en la influencia y la interacción entre pares y con una audiencia pública que es cada vez más "inteligente" y participativa. El medio social es un conjunto de plataformas digitales que amplía el impacto de WOMM (marketing Boca a boca) y también lo hace medible y, por tanto, rentabilizable por medio del Social Media Optimization. Los Community Managers se encargan de crear y cuidar las comunidades entorno a las empresas. Generando contendio de valor, creando conversación, animando a las personas a participar, monitorizando la presencia online de las marcas.

2.3.

MARKETING RELACIONAL

El nuevo paradigma del marketing se ha concretado principalmente en la atención y el cultivo de la relación entre el cliente y la empresa. Como consecuencia de lo anterior, según refiere Abad (2006), surge a principios de los años ochenta, del siglo precedente, el término Marketing Relacional o de Relaciones, de la mano del profesor Leonard Berry en la Universidad de Texas, en el transcurso de una conferencia que pasaría a los anales de la historia.

Este término ha sido analizado por varios estudiosos entre ellos Alet (1994), quien considera que “el cliente es la base de la vida de la empresa y ésta debe 20

adaptarse a sus necesidades hasta el punto de conseguir integrarlo dentro de su misma organización” y más tarde en su segundo libro (1996), precisa que “es el proceso social y directivo de establecer y cultivar relaciones con los clientes, creando vínculos con beneficios para cada una de las partes, incluyendo a vendedores, prescriptores, distribuidores y cada uno de los interlocutores fundamentales para el mantenimiento y explotación de la relación”.

El Marketing de relaciones no se reduce a la captación de clientes sino que busca consolidar y mantener la relación, significando un cambio en el paradigma central del intercambio por uno más amplio, el de las relaciones, es decir “supone dar a las transacciones una orientación a largo plazo, donde se crean vínculos estables de dependencia y confianza entre el vendedor y el comprador” (Redondo, 2000), este propio autor considera que a esto ha contribuido la evolución de los mercados, pues con frecuencia la demanda está saturada, los consumidores son más exigentes, la competencia se ha intensificado y los cambios tecnológicos se suceden en períodos más cortos. En estas condiciones del entorno, (Kalwani y Narayandas, 1995; citados en Redondo, 2000) apuntaron que “…las empresas que optan por las relaciones duraderas con los clientes mejoran su rentabilidad en comparación con las que solo fomentan intercambios”. En su aplicación práctica es determinante no olvidar que “…su objetivo es crear relaciones sólidas y satisfactorias con los clientes, las que han de basarse en adecuar las necesidades del comprador a la oferta de nuestro producto que lógicamente debe tener calidad, precio y servicios para configurar un activo que lo haga mantenerse fiel a nuestra empresa en el tiempo (Muñiz, 2001).

El conocimiento del cliente es esencial cuando se pretende establecer relaciones pero no se debe perder de vista que esto “ … sólo es posible cuando la empresa conoce al cliente en su calidad de individuo y no como un fenómeno estadístico

21

y, en consecuencia, puede dirigir sus comunicaciones y ofertas de productos a él o a ella directamente” (Webster, 1996).

El marketing relacional como argumentaron Morgan Y Hunt (1994; citados en Redondo, 2000) no se limita a las relaciones duraderas con los clientes, se extiende a todos los componentes del mercado, fomentando vínculos y alianzas estables hacia todas direcciones, (Ilustración 1) hacia arriba (proveedores de productos y de servicios), colaterales (competidores, organizaciones no lucrativas y gobierno), hacia abajo (consumidores finales y distribuidores) e internas (departamentos funcionales, empleados y unidades de negocio). No obstante este trabajo centra su atención en las relaciones con los clientes.

Ilustración 1: Grafico Marketing Relacional

Las relaciones con los clientes no se deben valorar como una suma de transacciones, sino como un vínculo que une a empresa-cliente, en el cual es imprescindible obtener información precisa, fidedigna y adecuada, así como mantener una comunicación bidireccional, frecuente, continuada, e interactiva

22

para fortalecer y estrechar la relación, con el objetivo de hacerla perdurar en el tiempo. La posibilidad de materializar estas relaciones está en las actuales soluciones tecnológicas, que permiten convertir la información obtenida en cada contacto con el cliente en conocimiento actualizado y disponible para aquellos que tienen que tomar decisiones, convirtiéndose en la clave del éxito para las empresas del futuro.

2.4.

GESTIÓN DE RELACIONES CON LOS CLIENTES (CRM).

Conocida en la literatura de habla inglesa por (Customer Relationship Management) y representada por las siglas CRM.

Este concepto surge a principios del año 2000 erigiéndose como el término del año, sin embargo, más que una novedad fue una evolución natural del conocido Marketing relacional, la que se debió en gran parte a las nuevas tecnologías de la información y las comunicaciones, sobre todo aquellas dedicadas al almacenamiento y análisis de los datos de los clientes, impulsados sin duda, por la tecnología Internet.

Es considerado básicamente la respuesta de la tecnología a la creciente necesidad de las empresas de fortalecer las relaciones con sus clientes. Las herramientas CRM son las soluciones tecnológicas para conseguir desarrollar la "teoría" del marketing relacional.

Se coincide con Martínez-Vilanova (2004), en que las razones básicas para implantar un CRM son:

23

 Los clientes son cada vez menos leales.  El punto de vista del vendedor no siempre es el mismo del cliente, es decir, el primero piensa en retener al segundo y este piensa quedarse con el que le ofrezca mayor valor por dinero gastado.  El cliente quiere estar bien y oportunamente informado.  El cliente espera ser recompensado por su fidelidad.  El vendedor necesita información de sus clientes para tomar decisiones adecuadas. De acuerdo con Muñiz (2001), “no se debe confundir ni identificar CRM con la tecnología; es sobre todo una estrategia de Marketing destinada a construir proactivamente una preferencia en los consumidores por una determinada empresa, lo cual suele resultar en unos mayores índices de retención de esos consumidores y en un rendimiento económico mayor.

Otros estudios coinciden en considerarla como una estrategia de negocio “….que busca la optimización del beneficio, ingresos y satisfacción del cliente, a través de la organización de la compañía, alrededor de segmentos de clientes, así como fomentar los complementos de satisfacción del cliente y la implantación de procesos centrados en el cliente” (Gartner group, citado en Giner, 2004). La base del éxito de su implantación está en “… el correcto manejo de la información, aplicándola a los diferentes aspectos de la relación tales como el trato al teléfono o el dispensado por los vendedores”

Alonso (2005) introduce en su concepto los términos fidelización y lealtad de clientes, aclarando también que CRM no es un software, aunque no niega la contribución de estos a la eficiencia de la gestión.

24

Ilustración 2: Definición Gráfica de la visión de un CRM Otra visión del tema es la de Navarro (2006) pues la ve como una “filosofía corporativa en la que principalmente se trata de entender al cliente, conocerlo y poder detectar todas sus necesidades”. Por su parte, Carrión (2006), considera que se debe poner al cliente en el centro del modelo de negocio y conseguir que toda la organización focalice sus esfuerzos en la satisfacción integral del cliente, mientras que Zapata (2006), los profesionales españoles del Instituto de Comercio Electrónico y Marketing Directo (ICMED, 2001) y Gasalla (2003) coinciden con lo anterior pero la asumen como una herramienta que permite a las empresas llegar a conocer más a fondo al cliente creando una relación duradera, con el diálogo, como hilo conductor.

Las soluciones CRM son la posibilidad real de mantener relaciones estrechas y duraderas con nuestros clientes. Permiten hacer un mejor uso de los datos obtenidos en cada contacto con ellos, es decir determinar la información relevante para el negocio en cuanto a comportamiento de compra frente a nuestros productos o servicios: frecuencia, volumen, tipo de producto, grado de satisfacción dado entre otras cosas por sus reclamaciones, devoluciones, quejas;

25

en resumen tener un historial que permita construir una relación de mutua confianza, comprometiendo en el proyecto a todos en la organización.

2.5.

CORREO ELECTRÓNICO Correo electrónico (correo-e, conocido también como e-mail), es un servicio de red que permite a los usuarios enviar y recibir mensajes rápidamente (también denominados mensajes electrónicos o cartas electrónicas) mediante sistemas de comunicación electrónicos. Principalmente se usa este nombre para denominar al sistema que provee este servicio en Internet, mediante el protocolo SMTP, aunque por extensión también puede verse aplicado a sistemas análogos que usen otras tecnologías. Por medio de mensajes de correo electrónico se puede enviar, no solamente texto, sino todo tipo de documentos digitales. Su eficiencia, conveniencia y bajo coste están logrando que el correo electrónico desplace al correo ordinario para muchos usos habituales. Una dirección de correo electrónico es un conjunto de palabras que identifican a una persona que puede enviar y recibir correo. Cada dirección es única y pertenece siempre a la misma persona. Un ejemplo es persona@servicio.com, que se lee persona arroba servicio punto com. El signo @ (llamado arroba) siempre está en cada dirección de correo, y la divide en dos partes: el nombre de usuario (a la izquierda de la arroba; en este caso, persona), y el dominio en el que está (lo de la derecha de la arroba; en este caso, servicio.com). La arroba también se puede leer "en", ya que persona@servicio.com identifica al usuario persona que está en el servidor servicio.com (indica una relación de pertenencia).

2.6.

E-MAIL MARKETING

El email marketing es una forma de marketing directo que utiliza el correo electrónico como medio de comunicación comercial o de recaudación de fondos mensajes a una audiencia. En su sentido más amplio, cada correo electrónico

26

enviado a un cliente potencial o actual puede considerarse de email marketing. Sin embargo, el término se utiliza generalmente para referirse a: - El envío de mensajes de correo electrónico con el propósito de mejorar la relación de un comerciante con sus clientes actuales o anteriores, para fomentar la lealtad del cliente y la repetición de negocios, - El envío de mensajes de correo electrónico con el propósito de adquirir nuevos clientes o convencer a los clientes actuales para comprar algo de inmediato, añadir anuncios a los mensajes de correo electrónico enviados por otras empresas a sus clientes, y envío de mensajes de correo electrónico a través de la Internet, como el correo electrónico lo hizo y no existe fuera de la Internet (por ejemplo, el correo electrónico de la red y FIDO). OAUTH – OPEN AUTHORIZATION

2.7.

OAuth (Open Authorization) es un protocolo abierto, propuesto por Blaine Cook y Chris Messina, que permite autorización segura de un API de modo estándar y simple para aplicaciones de escritorio, móviles, y web.

Para desarrolladores de consumidores, OAuth es un método de interactuar con y publicar datos protegidos. Para desarrolladores de proveedores de servicio, OAuth proporciona a los usuarios un acceso a sus datos al mismo tiempo que protege las credenciales de su cuenta. En otras palabras, OAuth permite a un usuario del sitio A compartir su información en el sitio A (proveedor de servicio) con el sitio B (llamado consumidor) sin compartir toda su identidad.

OAuth comenzó en noviembre de 2006, cuando Blaine Cook desarrollaba la implementación de OpenID para twitter. Mientras tanto, Magnolia necesitaba una solución que permitiera a sus miembros con OpenID a autorizar widgets del dashboard para acceder a su servicio. Entonces, Cook, Chris Messina y Larry Halff de Ma.gnolia se reunieron con David Recordon para discutir el uso de OpenID con las APIs de Twitter y Ma.gnolia para delegar la autenticación. 27

Llegaron a la conclusión de que no existía ningún estándar abierto para delegar acceso a las APIs. En abril de 2007 se creó el grupo de discusión de OAuth, para que el pequeño grupo de implementadores escribiera un borrador de propuesta para un protocolo abierto. DeWitt Clinton de Google se enteró del proyecto OAuth y se mostró interesado en apoyar el esfuerzo. El equipo terminó el borrador inicial de la especificación en julio de 2007. Eran Hammer-Lahav se unió y coordinó las diversas contribuciones a OAuth, creando una especificación más formal. El borrador definitivo Oauth Core 1.0 se publicó el 3 de octubre de 2007.

3. HERRAMIENTAS Y TECNOLOGÍAS A continuación describimos la metodología, las herramientas y tecnologías que utilizaremos en el proceso de realización del sistema.

Se usará el proceso y modelo indicados en el Proceso Unificado de Modelado de Software (PUDS), por lo tanto, los modelos presentados serán basados en el Lenguaje Unificado de Modelado (UML).

3.1.

PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE

El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational o simplemente RUP.

28

3.2.

CLIENTE – SERVIDOR. PROTOCOLOS Y NAVEGADORES Si bien Internet ya ha sido utilizada desde los últimos años de los 70‟ de diversas formas como ser: La transmisión de archivos y correo electrónico, se presento un punto de inflexión que libero el potencial de esta infraestructura de red, y fue el surgimiento de un nuevo servicio. Este permitía el envío de archivos escritos en el lenguaje HTML (Hypertext Markup Language), y mediante el uso de una aplicación denominada “navegador” instalada en una maquina local era posible interpretar este archivo de forma grafica.

El navegador Mosaic del año 1993 fue el primer navegador grafico, y contaba con las características de acceder a datos utilizando Internet, el protocolo FTP, u otros servicios de Internet, y la renderizacion de HTML y por supuesto, funcionaba basado en el principio de cliente-servidor, que todavía es la base de Internet.

Si bien el concepto es básico para el alcance del proyecto, es necesario refrescar brevemente algunos detalles de este, ya que servirá de fundamento para temas futuros.

Ilustración 3: Arquitectura Cliente-Servidor

Básicamente, los clientes requieren servicios, y los servidores los brindan. Cuando un cliente quiere un servicio como ser el acceso a una base de datos, envía una petición al servidor correspondiente. Este procesa la petición y devuelve el resultado al cliente. 29

3.2.1. ESTRUCTURA, PRESENTACIÓN Y CONTENIDO.

Los costos en el área de la tecnología del software se han reducido significativamente, y una manifestación de esto es el caso de LAMP: un acrónimo común para referirse al desarrollo de software en base al uso de herramientas Open Source, utilizando a Linux como Sistema operativo, Apache como servidor web, MySQL como base de datos y PHP como lenguaje de programación.

HTML - LENGUAJE DE MARCADO DE HIPERTEXTO

HTML como el lenguaje predominante en el desarrollo de páginas web, proveyendo capacidades para estructuras basadas en texto denotando tablas, parágrafos, listas entre otras opciones, complementando estos textos con formularios, imágenes, links y por tanto, interacción en base a una estructura de elementos llamados “tags” o “markups” (cuya traducción seria “márgenes”). Estos siguen algunas reglas sintácticas simples, y son utilizadas para describir tanto el contenido como la presentación de un documento.

Veamos un ejemplo de una página HTML, aplicada para mostrar unos elementos de un catalogo de DVDs.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional// “http://www.w3.org/TR/html4/loose.dtd"> <html> <head></head> <body> <title>Catalogo de DVD</title> <meta name="author" content="Juan Ortiz"> <h1>Catalogo de DVD</h1> <table width="500"> <tr><td bgcolor="silver">

30

<b><a

href="http://www.imdb.com/title/tt0298228/">Le

Fabuleux

destin d'Amélie Poulain</a></b> (2001) </td></tr> <tr><td>Director: Jean-Pierre Jeunet</td></tr> <tr><td>Actores: Audrey Tautou</td></tr> <tr> <td bgcolor="silver"> <b><a href="http://www.imdb.com/title/tt0120737/">The Lord of the Rings: The Fellowship of the Ring</a></b>(2001) </td></tr> <tr><td>Director: Peter Jackson</td></tr> <tr><td>Actores: Elijah Wood, Ian McKellen</td></tr> </table> </body> </html>

Este código nos daría como resultado lo siguiente, al ser guardado en un archivo de extensión .html y ejecutado en un navegador:

Ilustración 4: Ejemplo de Pagina HTML

Como vemos existe una gran variedad de tags en HTML, y estos son utilizados para indicar que ciertos pedazos de código tienen un significado semántico especial, y estos tags son definidos en el estándar de HTML que se esté utilizando. Si notamos la primera línea del código, ahí se indica que se está utilizando “HTML 4.01 Transitional”, una versión introducida por el W3C en 1999, existiendo diversas especificaciones hoy en día, pero siendo esta una de las más comunes. Esto es llamado el DTD (Document Type Definition), y en 31

la misma línea se indica la URL donde pueden encontrarse los detalles de la especificación incluyendo los tags validos y la forma de utilizarlos.

Observemos brevemente algunos de los tags utilizados, encontramos que el documento HTML está compuesto por una cabecera y un cuerpo,

delimitados por los tags <head></head> y <body></body>, indicando que todo lo contenido entre estos tags pertenecerá a esos bloques y por tanto tendrá las propiedades correspondientes.

Los datos de cabecera no son en general mostrados en el navegador directamente, sino que contienen el titulo del documento, que será mostrado en el titulo del navegador, metadatos (como ser en este caso, el autor del documento), y otros tipos de tags.

En el cuerpo se da la estructura y los contenidos que serán mostrados en el navegador. Podemos ver que se estrutura la pagina con un titulo (entre tags <h1></h1>) y una tabla (entre tags <table></table> con la propiedad de ancho de 500 pixels) que contiene los elementos del catalogo, divididos en columnas (entre tags <tr></tr>) y filas (<td></td>, algunas con un color gris de fondo). A su vez, encontramos textos y links, teniendo los links la estructura <a htref=”URL”>TEXTO</a>.

La mayor parte de los tags del ejemplo anterior son utilizados para denotar la estructura del documento (como ser tablas, filas o links). Encontramos también tags como ser el caso de <b></b>, que indica que una porción de texto deberá ser mostrada en negrita, por tanto definiendo la forma en la cual el contenido es presentado. Otros elementos en algunos tags como ser width de una tabla o bgcolor son llamados propiedades, y definen también como el contenido es mostrado, sin necesariamente hablar de la estructura. Estos son llamados “tags y atributos de presentación”. A su vez, encontramos elementos como ser los textos y las URLs, que tampoco hablan de 32

estructura o de presentación, sino que son contenidos. Es decir, podemos encontrar tres tipos de elementos que podrían ser considerados independientes en su naturaleza.

La separación de la estructura, presentación y contenido se ha convertido en un tema de interés cuando las páginas web comenzaron a ser diseñadas para utilizarse y visualizarse en más y más dispositivos (computadoras, teléfonos móviles, etc.) ya que cada tipo de dispositivo tiene sus propias

capacidades, características y restricciones por lo que necesitaran distintas formas de estructura y presentación para mostrar los contenidos. Y además, el HTML de las páginas es prácticamente generado en todos los casos de manera dinámica por aplicaciones, siendo muy extraño el caso en que se utilicen archivos de texto estáticos, y la separación de estos tipos de elementos daría lugar a la reutilización: en base a una estructura, pueden aplicarse distintas formas de presentación, y a su vez mostrar distintos tipos de contenidos.

CSS - CASCADING STYLE SHEETS

Los estilos CSS (Cascading Style Sheets) permiten la definición de estilos para elementos de documentos estructurados. Esto implica que es posible aplicar CSS36 a archivos XML y HTML. Vemos a continuación un ejemplo de ambos casos.

Veamos un ejemplo para el caso del catalogo: DVDCatalog { display: block; margin: 5px; width: 500px; } 33

Title { display: block; padding: 0.1em; margin-top: 0.1em; } DVDCatalog > Title { font: bold large sans-serif; text-align:center; } DVD > Title { font: large sans-serif; background-color: silver; } DVD { display: block; font: normal medium sans-serif; } Person { display: inline; }

AJAX

El modelo cliente-servidor se caracteriza por su funcionamiento sincrónico, y esto se aplica al modelo de Internet y las páginas web: En general la actividad en el cliente da como resultado peticiones de páginas al servidor, quien procesa estos pedido y da como resultado paginas HTML.

34

El objetivo principal de Ajax es acelerar estas interacciones entre el usuario y una aplicación web al hacerlas asincrónicas redundante de datos. y omitir la transmisión

Ilustración 5: Arquitectura Cliente - Servidor

El proceso general de una llamada Ajax puede ser resumida en los siguientes pasos: 1. Se crea el objeto XMLHttpRequest. La sentencia Javascript puede ser algo como resObject = new XMLHttpRequest(). 2. Para manejar la respuesta, es necesario definir una función de callback. La sentencia sería algo similar a resObject.onreadystatechange = handleResponse, siendo handleResponse el nombre del manejador de callback. Esta función es llamada cuando el estado de resObject cambia. El campo resObject.readystate indica el estado en el que está el objeto XMLHttpRequest. Cuando toma el valor de Loaded, la transmisión finaliza, y depende del manejador de callback reaccionar apropiadamente al cambio de estado. 3. Al llamar a open en el objeto XMLHttpRequest se abre la conexión HTTP al servidor, y open espera tres argumentos: el tipo de solicitud HTTP, la URL objetivo en la aplicación de servidor, y un flag indicando si la transmisión debería ser asincrónica o no. Por ejemplo, una petición asincrónica con el método GET tendría la siguiente forma: resObject.open(„get‟,‟targetURL‟,true).

35

4. Para comenzar la solicitud, el método send del objeto XMLHttpRequest es llamado con un argumento que contiene el mensaje en caso de una solicitud en la que se utiliza un tipo de solicitud POST. Si se elige el método GET, los parámetros del mensaje son codificados en la dirección objetivo y por tanto se envía null como argumento. 5. Una vez que el manejador de callback es llamado y el estado es COMPLETED la información requerida puede ser accedida mediante los campos responseText y respondeXML del objeto XMLHttpRequest. El primero contiene el mensaje en texto plano y el segundo en formato XML. El motor ajax puede ahora utilizar la información para completar sus tareas y presentar los resultados, por ejemplo reemplazando ciertas porciones de la página utilizando DHTML.

Ilustración 6: Utilización de una respuesta AJAX en una Aplicación Web

36

3.3.

HERRAMIENTAS HARDWARE

-

Servidor SMTP - Fedora Linux (SendMail, Dovecot) Servidor Apache Web Server – Fedora Linux Servidor DNS – Fedora Linux

3.4.

HERRAMIENTAS DE SOFTWARE

-

Gestor de Base de Datos MySQL IDE Java NetBeans 6.9.1 CASE Visual Paradign UML 7.0 CASE Enterprise Architect Desarrollo Web con PHP 5.3+ Hojas de Estilo en Cascada CSS Para validación JavaScrits

37

CAPITULO III
MODELO DE DESARROLLO

38

4. FLUJO DE TRABAJO: REQUERMIENTOS 4.1. MODELO DE DOMINIO
Perfil per_cod: int per_nombre: String per_descripcion: String 1..* Modulo mod_cod: int mod_nombre: String mod_descripcion: String mod_urlcorta: String

class Obj etos del dominio inic...

0..*

1 Empresa Priv ilegio Contacto pri_cod: int pri_fecha_ini: String pri_fecha_fin: String 0..* con_cod: int con_nombre: String con_apellidos: String con_direccion: String con_fecha_nac: String con_celular: String con_telefono: String con_email: String con_recibe_email: int con_descripcion: String con_imagen: String con_twitter: String con_facebook: String con_cargo: String 1..* 1 emp_cod: int emp_nombre: String emp_web: String emp_telefono: String emp_direccion: String emp_descripcion emp_nroempleados: int emp_email: String emp_fax: String emp_recibe_email: int emp_twitter: String emp_facebook: String 1..*

1..* Usuario usr_cod: int usr_username: String usr_password: String usr_nombre: String usr_apellidos: String usr_direccion: String usr_email: String usr_telefono: String usr_ci: int 1

PreContacto pre_cod: int pre_nombre: String pre_apellidos: String pre_direccion: String pre_celular: String pre_telefono: String pre_email: String pre_fax: String pre_twitter: String pre_facebook: String pre_cargo: String

0..*

1

OrigenContacto 0..* 1 ori_cod: int ori_descripcion: String 1

Detalle_Email_Contactos Detalle_Email_Empresas 0..* Campania 0..* cam_cod: int cam_titulo: String cam_resumen: String cam_descripcion: String cam_arte: String cam_contenido: LongText cam_hora: String cam_fecha: String cam_publico_objetivo: int Env io 0..* 1 env_cod: int env_descripion: String env_hora: String env_fecha: String env_total_objetivo: int env_abiertos: int 1 Lista_Email_Contactos lmc_cod: int lmc_descripcion: String idm_cod: int ide_cod: int

1

0..* Lista_Email_Empresas

1

1..

1 -

lme_cod: int lme_descripcion: String

1..* 1 1

ConfiguracionSocial conf_cod: int conf_nombre: String conf_username: String conf_password: int conf_email: int conf_out: int

1 CanalComunicacion can_cod: int can_nombre: String can_descripcion: int

Ilustración 7: Modelo de Dominio

39

4.2.

LISTAS DE ACTORES Y CASOS DE USO 4.2.1. IDENTIFICAR TODOS LOS ACTORES DEL SISTEMA  Administrador  Gestor de Publicidad  Asistente  Cliente  SMTP

4.2.2. ESTABLECER UN ESCENARIO DE ACTORES

uc Escenario de Actores

Aplicacioin Web para la Gestion de Campañas Publicitarias bajo un enfoque de Social CRM.

Administrador Gestor de Publicidad Asistente Cliente

SMPT

Ilustración 8: Escenario de Actores

40

 GENERALIZACION DEL ACTOR USUARIO
uc Actores

Usuario

Administrador Gestor de Publicidad

Asistente

Ilustración 9: Generalización de Usuario 4.2.3. DESCRIBIR CADA ACTOR CON SUS RESPECTIVOS ROLES

Administrador: Puede acceder a todas las vistas de la Aplicación, y tiene todos los privilegios, registra a todos los usuarios y perfiles como también asigna los privilegios por perfiles, también puede ver el historial de acceso de la aplicación.

Gestor de Publicidad: Es el encargo de la administración de las campañas publicitarias y también podrá administrar los contactos.

Asistente: Es el encargado de la administración de contactos podrá registrar los pre-contactos, contactos y empresas clientes de nuestra empresa.

Cliente: Es el caso de estudio de la empresa del cual obtenernos sus datos y preferencias a través de sus cuentas para fidelizarlos con la empresa.

SMTP: Es el encargado de los envíos de la publicidad en los tiempos y cantidades determinadas por el gestor de publicidad. 41

4.2.4. IDENTIFICAR CASOS DE USO Y PRIORIZAR Prioridad Importante = 1, Prioridad Critica = 2, Prioridad Accesoria = 3

C.U. C.U.1 C.U.2 C.U.3 C.U.4 C.U.5 C.U.6 C.U.7 C.U.8 C.U.9

Nombre de C.U. Gestionar Usuarios Gestionar Perfiles Gestionar Privilegios Ver Historial de Acceso Gestionar Acceso al Sistema Gestionar Pre-Contacto Gestionar Contacto Gestionar Empresas Gestionar Lista de Contactos

Prioridad Descripción 1 1 2 3 1 2 2 2 3 3 3 3 1 3 2 3 3 1 1 1 Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado Aprobado

C.U.10 Gestionar Lista de Empresas C.U.11 Importar Contacto C.U.12 Exportar Contacto C.U.13 Gestionar Campaña de Publicidad C.U.14 Listar Campañas de Publicidad C.U.15 Gestionar Plantilla de Publicidad C.U.16 Importar Plantilla de Publicidad C.U.17 Exportar Plantilla de Publicidad C.U.18 Gestionar Reglas de Envió C.U.19 Gestionar Envió de Publicidad C.U.20 Gestionar Configuración de Conexión Twitter

C.U.21 Gestionar Configuración de Conexión Facebook 1 C.U.22 Gestionar Configuración de Conexión Linkedin 3

42

4.2.5. DETALLE DE CASOS DE USO  CASO DE USO 1: GESTIONAR USUARIOS

uc Gestionar Usuario

Gestionar Usuario

Administrador (from Actores)

Ilustración 10: Caso de Uso Gestionar Usuario

CASO 1 Propósito

Caso de Uso: GESTIONAR USUARIO Guardar, Modificar, Eliminar, los datos de los usuarios de la empresa.

Actores

Administrador

Actor Iniciador Administrador Pre Condición Post Condición Gestionar Perfiles Gestionar Acceso al Sistema

Curso Básico o Acciones

43

Camino Básico

1. Guardar los datos del Usuario. 1.1 Ingresa los datos solicitados por el formulario. 1.2 Presiona el botón Guardar. 1.3 Inserta los datos del Usuario en la Base de Datos. 1.4 Visualiza en la lista la nueva fila. 2. Modificar los datos del Usuario. 2.1 Selecciona de la lista el Usuario a modificar. 2.2 Presionar el botón Editar. 2.3 Se visualizara los datos del Usuario en el formulario. 2.4 Modifica los datos que quiere cambiar. 2.5 Presiona el botón Actualizar. 2.6 Modifica los datos del Usuario en la Base de Datos. 2.7 Visualiza en la lista los cambios de los datos del Usuario. 3. Eliminar los datos del Usuario. 3.1 Selecciona de la lista el Usuario a eliminar. 3.2 Presiona el botón Eliminar. 3.3 Elimina los datos del Usuario en la Base de Datos. 3.4 Visualiza en la lista los cambios realizados. 1. Existen campos que deben ser llenados “ingresar…”.

Curso Alternativo Alterno o

2. Seleccionar un Usuario de la lista. 3. Los datos del usuario no puede ser eliminado.

44

 CASO DE USO 2: GESTIONAR PERFILES

uc Gestionar Perfiles

Gestionar Perfiles

Administrador (from Actores)

Ilustración 11: Caso de Uso Gestionar Perfiles

CASO 2 Propósito

Caso de Uso: Gestionar Perfiles Guardar, Modificar y Eliminar los distintos Perfiles asociados con la empresa.

Actores Actor Iniciador Pre Condición Post Condición

Administrador Administrador …………….. Gestionar Usuario.

Curso Básico o Acciones

45

Camino Básico

1. Guardar los datos del Perfil. 1.1 Ingresa los datos solicitados por el formulario. 1.2 Presiona el botón Guardar. 1.3 Inserta los datos del Perfil en la Base de Datos. 1.4 Visualiza en la lista la nueva fila. 2. Modificar los datos del Perfil. 2.1 Selecciona de la lista el Perfil a modificar. 2.2 Presionar el botón Editar. 2.3 Se visualizara en los campos los datos del Perfil. 2.4 Modifica los datos que quiere cambiar. 2.5 Presiona el botón Actualizar. 2.6 Modifica los datos del Perfil en la Base de Datos. 2.7 Visualiza en la lista los cambios de los datos del Perfil. 3. Eliminar los datos del Usuario. 3.1 Selecciona de la lista el Perfil a eliminar. 3.2 Presiona el botón a Eliminar. 3.3 Elimina los datos del Perfil en la Base de Datos. 3.4 Visualiza en la lista los cambios en la Base de Datos. 1. Existen campos que deben ser llenados “ingresar…”. 2. Seleccionar un Perfil de la lista. 3. Los datos del Perfil no pueden ser eliminados.

Curso Alternativo o Alterno

46

 CASO DE USO 3: GESTIONAR PRIVILEGIOS

uc Gestionar Priv ilegi...

Gestionar Priv ilegios

Administrador (from Actores)

Ilustración 12: Caso de Uso Gestionar Privilegios

CASO 3 Propósito

Caso de Uso: Gestionar Privilegios Asignar, Modificar y Eliminar Privilegios a los distintos Perfiles de la empresa.

Actores Actor Iniciador Pre Condición Post Condición

Administrador Administrador Gestionar Perfiles, Gestionar Usuarios. Gestionar el Acceso al Sistema.

Curso Básico o Acciones

47

Camino Básico

1. Asignar Privilegios. 1.1 Seleccionar el Perfil para asignarle privilegios. 1.2 Seleccionar los Módulos de la Lista a los que tendrá acceso. 1.3 Presiona el botón Guardar. 1.4 Inserta los privilegios del Perfil en la Base de Datos. 1.5 Visualiza en el formulario los privilegios del Perfil. 2. Modificar los Privilegios del Perfil. 2.1 Selecciona el Perfil a modificar. 2.2 Selecciona los Módulos a modificar ya sea para asignar o quitar Privilegios. 2.3 Presionar el botón Actualizar. 2.4 Modifica los Privilegios del Perfil en la Base de Datos. 2.5 Visualiza en el formulario los cambios de los privilegios del Perfil. 3. Eliminar los Privilegios del Perfil. 3.1 Selecciona el Perfil que se eliminaran los Privilegios. 3.2 Desmarcar los Módulos asignados a ese Perfil. 3.3 Presiona el botón a Actualizar. 3.4 Elimina los Privilegios del Perfil en la Base de Datos. 3.5 Visualiza en el formulario los cambios.

Curso Alternativo Alterno o

---

48

 CASO DE USO 4: VER HISTORIAL DE ACCESO

uc Ver Historial de Acceso

Ver Historial de Acceso

Administrador (from Actores)

Ilustración 13: Caso de Uso Ver Historial de Acceso

CASO 4 Propósito

Caso de Uso: Ver Historial de Acceso Buscar y Visualizar el Historial de acceso a la Aplicación de todos los Usuarios de la Empresa.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico Camino Básico

Administrador Administrador Gestionar Acceso al Sistema. --o Acciones

1. Se obtiene el ID del Usuario seleccionado 2. Se busca en la BD el usuario correspondiente y los datos asociados a la Bitácora. 3. Se muestra un detalle de los Accesos del usuario correspondiente.

Curso Alternativo 4. Existen campos que deben ser rellenados. o Alterno

49

 CASO DE USO 5: GESTIONAR ACCESO AL SISTEMA

uc Gestionar Acceso al Sistema

Gestionar Acceso al Sistema

Usuario (from Actores)

Ilustración 14: Caso de Uso Gestionar Acceso al Sistema

CASO 5 Propósito

Caso de Uso: Gestionar Acceso al Sistema Establecer el proceso de Inicio de Session y Cierre de Session del Sistema.

Actores Actor Iniciador Pre Condición Post Condición

Usuario Usuario

Que el sistema no esté iniciado. Inicializa el Sistema Social CRM

Curso Básico o Acciones

50

Camino Básico 1. El sistema solicita al Usuario del Sistema: Nombre de Usuario y Password.

2. El usuario ingresa los datos solicitados: Usuario y Password. Preciona el botón: Iniciar Session.

3. El sistema verifica los datos ingresados, se verifica el usuario:

3.1 Es usuario registrado: Ingresa al Sistema Social CRM. 3.2 No es usuario registrado: Sistema solicita: Usuario y Password.

Referencia Curso Alternativo Alterno

---

o 3.3 El Sistema muestra el mensaje de Registro de Usuario. 3.4 Sale del Sistema.

51

 CASO DE USO 6: GESTIONAR PRE-CONTACTO

uc Gestionar Pre-Contacto

Gestionar Pre-Contacto

Usuario (from Actores)

Cliente (from Actores)

Ilustración 15: Caso de Uso Gestionar Pre-Contacto

CASO 6 Propósito

Caso de Uso: Gestionar Pre-Contacto Permitirá registrar, modificar, eliminar los diferentes pre-contactos de la Empresa. Son candidatos a ser contactos.

Actores Actor Iniciador Pre Condición Post Condición

Administrador, Asistente, Gestor de Publicidad, Cliente Cliente ………… Listar Pre-Contactos.

Curso Básico o Acciones

52

Camino Básico 1. Insertar los datos del Cliente. 1.1 Ingresa los datos solicitados por el formulario. 1.2 Presiona el botón insertar. 1.3 Inserta los datos del Cliente en la Base de Datos. 1.4 Visualiza en la lista la nueva fila. 2. Modificar los datos del Cliente. 2.1 Selecciona de la lista el Cliente a modificar. 2.2 Presionar el botón editar. 2.3 Se visualizara en los campos los datos del Cliente. 2.4 Modifica los datos que quiere cambiar. 2.5 Presiona el botón Modificar. 2.6 Modifica los datos del Cliente en la Base de Datos. 2.7 Visualiza en la lista los cambios de los datos del Cliente. 3. Eliminar los datos del Cliente. 3.1 Selecciona de la lista los datos del Cliente a eliminar. 3.2 Se visualizara en los campos los datos del Cliente a eliminar. 3.3 Presiona el botón a Borrar. 3.4 Elimina los datos del Cliente en la Base de Datos. 3.5 Visualiza en la lista los cambios en la Base de Datos. 4. Salir del Formulario. 4.1. Cierra el formulario Gestionar Pre-Contacto.

Referencia Curso Alternativo Alterno o

--1. Existen campos que deben ser llenados. 2. Escoja uno de la lista. 3. Los datos del Perfil no pueden ser eliminados.

53

 CASO DE USO 7: GESTIONAR CONTACTO

uc Gestionar Contacto

Gestionar Contacto

Usuario (from Actores)

Cliente (from Actores)

Ilustración 16: Caso de Uso Gestionar Contacto

CASO 7 Propósito

Caso de Uso: Gestionar Contacto Permitirá registra, modifica y eliminar todos los datos del Cliente de la empresa.

Actores Actor Iniciador Pre Condición Post Condición

Administrador, Asistente, Gestor de Publicidad, Cliente. Cliente.

-----Listar Contactos de la Empresa

Curso Básico o Acciones

54

Camino Básico 1. Insertar los datos del Cliente. 1.1 Ingresa los datos solicitados por el formulario. 1.2 Presiona el botón insertar. 1.3 Inserta los datos del Cliente en la Base de Datos. 1.4 Visualiza en la lista la nueva fila. 2. Modificar los datos del Cliente. 2.1 Selecciona de la lista el Cliente a modificar. 2.2 Presionar el botón editar. 2.3 Se visualizara en los campos los datos del Cliente. 2.4 Modifica los datos que quiere cambiar. 2.5 Presiona el botón Modificar. 2.6 Modifica los datos del Cliente en la Base de Datos. 2.7 Visualiza en la lista los cambios de los datos del Cliente. 3. Eliminar los datos del Cliente. 3.1 Selecciona de la lista los datos del Cliente a eliminar. 3.2 Se visualizara en los campos los datos del Cliente a eliminar. 3.3 Presiona el botón a Borrar. 3.4 Elimina los datos del Cliente en la Base de Datos. 3.5 Visualiza en la lista los cambios en la Base de Datos. 4. Salir del Formulario. 4.1. Cierra el formulario Gestionar Contacto.

Referencia Curso Alternativo Alterno o

--1. Existen campos que deben ser llenados. 2. Escoja uno de la lista. 3. Los datos del Perfil no pueden ser eliminados.

55

 CASO DE USO 8: GESTIONAR EMPRESAS

uc Gestionar Empresas

Gestionar Empresas

Usuario (from Actores)

Cliente (from Actores)

Ilustración 17: Caso de Uso Gestionar Empresas

CASO 8 Propósito

Caso de Uso: Gestionar Empresas Registrar, Modificar y Eliminar los datos de las empresas en el Sistema.

Actores Actor Iniciador Pre Condición Post Condición

Administrador, Asistente, Gestor de Publicidad, Cliente. Cliente. ………… Listar Empresas. Se visualizará una lista de las Empresas registrados en el Sistema.

Curso Básico o Acciones

56

Camino Básico

1. Guardar los datos de la Empresa 1.1 Se ingresa los datos solicitados por el formulario. 1.2 Presiona el botón Guardar. 1.3 Guarda los datos de la Empresa en la Base de Datos. 1.4 Visualiza en la lista de Empresas el nuevo registro. 2. Modificar los datos de la Empresa 2.1 Selecciona de la lista la Empresa a modificar. 2.2 Presionar el botón Editar. 2.3 Se visualizara en los campos los datos de la Empresa. 2.4 Ingresa los nuevos datos de la Empresa. 2.5 Presiona el botón Actualizar. 2.6 Modifica los datos de la Empresa en la Base de Datos. 2.7 Visualiza en la lista los cambios de los datos de la Empresa. 3. Eliminar Empresa 3.1 Selecciona de la lista la Empresa a eliminar. 3.2 Se confirma el proceso de Eliminación. 3.3 Presiona el botón a Eliminar. 3.4 Elimina el registro de la Empresa en la Base de Datos. 4. Salir del Formulario. 4.1. Cierra el formulario Gestionar Empresas.

Referencia Curso Alternativo Alterno o

--1. Existen campos que deben ser llenados. 2. Escoja uno de la lista. 3. Los datos de la empresa no pueden ser eliminados.

57

CASO DE USO 9: GESTIONAR LISTA DE CONTACTOS

uc Gestionar Lista de Contactos

Gestionar Lista de Contactos

Usuario (from Actores)

Ilustración 18: Caso de Uso Gestionar Lista de Contactos

CASO 9 Propósito

Caso de Uso: Gestionar Lista de Contactos Permitirá crear, modificar y eliminar Lista de Contactos de la empresa (Segmentar los contactos), para facilitar el proceso de envío de la publicidad mediante Mailling.

Actores Actor Iniciador Pre Condición Curso Básico

Administrador, Asistente, Gestor de Publicidad. Administrador, Asistente, Gestor de Publicidad. Gestionar Contacto o Acciones

58

Camino Básico 1. Nuevo 1.1. Ingresa los datos requeridos por el formulario. 1.2. Selecciona los contactos que formaran parte de la nueva lista. 2. Guardar 2.1. Se valida los datos de la nueva lista a crear. 2.2. Se registra la nueva lista en la Base de datos. 2.3. Se registra el detalle de la lista en la Base de datos. 3. Modificar 3.1. Selecciona la lista a modificar. 3.2. Se actualiza los campos de la lista y la selección de los contactos de la lista. 4. Eliminar 4.1. Seleccionar la lista a eliminar. 4.2. Se confirma el proceso de eliminación de la lista. 4.3. Se elimina la lista de la Base de datos. 4.4. Se elimina el detalle de la lista de la Base de datos. 5. Salir del formulario.

Curso Alternativo o 2.1: Si la nueva lista a crear no tiene los datos solicitados, se Alterno cancela el proceso de Registro de Nueva Lista. 4.2: No se confirma el proceso de eliminación, se vuelve a la página principal del módulo.

CASO DE USO 10: GESTONAR LISTA DE EMPRESAS

59

uc Gestionar Lista de Empresas

Gestionar Lista de Empresas

Usuario (from Actores)

Ilustración 19: Caso de Uso Gestionar Lista de Empresas

CASO 10 Propósito

Caso de Uso: Gestionar Lista de Empresas Permitirá crear, modificar y eliminar Lista de Empresas de la empresa (Segmentar los clientes), para facilitar el proceso de envío de la publicidad mediante Mailling.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico

Administrador, Asistente, Gestor de Publicidad. Administrador, Asistente, Gestor de Publicidad. Gestionar Empresas. Gestión de Envío de Publicidad. o Acciones

60

Camino Básico 1. Nuevo 1.1. Ingresa los datos requeridos por el formulario. 1.2. Selecciona las empresas que formaran parte de la nueva lista. 2. Guardar 2.1. Se valida los datos de la nueva lista a crear. 2.2. Se registra la nueva lista en la Base de datos. 2.3. Se registra el detalle de la lista en la Base de datos. 3. Modificar 3.1. Selecciona la lista a modificar. 3.2. Se actualiza los campos de la lista y la selección de las empresas de la lista. 4. Eliminar 4.1. Seleccionar la lista a eliminar. 4.2. Se confirma el proceso de eliminación de la lista. 4.3. Se elimina la lista de la Base de datos. 4.4. Se elimina el detalle de la lista de la Base de datos. 5. Salir del formulario.

Curso Alternativo 2.1: Si la nueva lista a crear no tiene los datos solicitados, se o Alterno cancela el proceso de Registro de Nueva Lista. 4.2: No se confirma el proceso de eliminación, se vuelve a la página principal del módulo.

61

CASO DE USO 11: IMPORTAR CONTACTO

uc Importar Contactos

Importar Contactos

Usuario (from Actores)

Ilustración 20: Caso de Uso Importar Contacto

CASO 11 Propósito

Caso de Uso: Importar Contactos Permitirá realizar el proceso de importación de nuevos contactos mediante archivos de texto plano, presentando el formato adecuado para el sistema.

Actores Actor Iniciador Pre Condición Post Condición

Administrador, Asistente, Gestor de Publicidad. Administrador, Asistente, Gestor de Publicidad. Gestionar Importacion Listar Contactos.

Curso Básico o Acciones

62

Camino Básico 1. Nueva Importación 1.1. Seleccionar el archivo para importar los contactos. El formato del archivo será tabulado en cada campo de la tabla de la base de datos. 2. Generar Importación 2.1. Se lee el archivo línea a línea. 2.2. Se verifica los datos del archivo 2.3. Se registra en la Base de datos cada contacto presentado en el archivo 3. Se muestra un mensaje con el resultado producido en la importación, detallando los contactos importados. 4. Salir del formulario.

Referencia Curso Alternativo Alterno

--2 – Proceso de lectura del archivo. No es un archivo con el o formato valido para realizar la importación de contactos. 3 – Mensaje Exitoso u Mensaje de Error.

CASO DE USO 12: EXPORTAR CONTACTOS

uc Exportar Contactos

Exportar Contactos

Usuario (from Actores)

Ilustración 21: Caso de Uso Exportar Contactos

63

CASO 12 Propósito

Caso de Uso: Exportar Contactos Permitirá realizar el proceso de exportación de los contactos en archivos de texto plano.

Actores Actor Iniciador Pre Condición Post Condición

Administrador, Asistente, Gestor de Publicidad. Administrador, Asistente, Gestor de Publicidad. Gestionar Importación ……………….

Curso Básico o Acciones Camino Básico 1. Nueva Exportación 1.1. Seleccionar el path del directorio donde se realizará la exportación de los contactos. 2. Generar Exportación 2.1. Se selecciona los contactos establecidos para la exportación. 2.2. Se genera un archivo de texto plano con la información de cada contacto exportado. 3. Se muestra un mensaje con el resultado producido en la exportación de los contactos. 4. Salir del formulario.

Referencia

--3 – Mensaje Exitoso u Mensaje de Error.

Curso Alternativo 2 – No se ha seleccionado a contactos para realizar la exportación. o Alterno

64

CASO DE USO 13: GESTIONAR CAMPAÑA DE PUBLICIDAD

uc Gestionar Campaña de Publicidad

Gestionar Campaña de Publicidad

Gestor de Publicidad (from Actores)

Ilustración 22: Caso de Uso Gestionar Campaña de Publicidad

CASO 13 Propósito

Caso de Uso: Gestionar Campaña de Publicidad Este caso de uso permitirá crear, modificar y eliminar Campañas de publicidad en el sistema.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico

Administrador, Gestor de Publicidad. Gestor de Publicidad. …………….. Listar Campaña De Publicidad, Gestionar Envío de Publicidad o Acciones

65

Camino Básico 1. Guardar los datos de la Campaña. 1.1 Ingresa los datos solicitados por el formulario. 1.2 Presiona el botón Guardar. 1.3 Se inserta un registro con los datos de la Campaña en la Base de Datos. 1.4 Se visualiza en la lista de la página principal la nueva campaña de publicidad creada. 2. Modificar los datos de la Campaña de Publicidad. 2.1 Selecciona de la lista la Campaña a Editar. 2.2 Presionar el botón Editar. 2.3 Se visualizará en los campos los datos de la Campaña seleccionada. 2.4 Se ingresa los nuevos datos de la Campaña. 2.5 Presiona el botón Actualizar 2.6 Se actualiza los datos de la Campaña en la Base de Datos. 2.7 Se visualiza la lista de las Campañas de Publicidad. 3. Eliminar Campaña. 3.1 Selecciona de la lista la Campaña a Eliminar. 3.2 Se confirma el proceso de eliminación de la Campaña. 3.3 Presiona el botón a Eliminar. 3.4 Se Elimina el registro de la Campaña en la Base de Datos. 3.5 Se Visualiza la lista de las Campañas de Publicidad. 4. Cancelar. 4.1. Cierra el formulario de Gestionar Campaña de Publicidad.

Referencia Curso Alternativo o Alterno

--1. Existen campos que deben ser llenados. 2. Seleccione la Campaña para Editar. 3. Los datos de la Campaña no pueden ser eliminados.

66

CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD

uc Listar Campañas de Publicidad

Listar Campañas de Publicidad

Usuario (from Actores)

Ilustración 23: Caso de Uso Listar Campañas de Publicidad

CASO 14 Propósito

Caso de Uso: Listar Campañas de Publicidad Permitirá listar todas las Campañas de publicidad existentes en la base de datos, de acuerdo a los parámetros correspondientes.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico

Administrador, Gestor de Campañas. Gestor de Publicidad. Gestionar Campañas. Gestionar Envío de Publicidad. o Acciones

Camino Básico 1. Listar Campañas de Publicidad. 1.1. Ingresa los parámetros para listar las campañas. 1.2. Se visualiza una tabla enlistando todas las campañas. 2. Salir (X) 3. Cierra la página de Listar Campañas de Publicidad. Referencia --Curso Alternativo 1 – Los parámetros para realizar el listar Campañas de Publicidad o Alterno no son los solicitados por el formulario.

67

 CASO DE USO 15: GESTIONAR PLANTILLA DE PUBLICIDAD

uc Gestionar Plantilla de Publicidad

Gestionar Plantilla de Publicidad

Gestor de Publicidad (from Actores)

Ilustración 24: Caso de Uso Gestionar Plantilla de Publicidad

CASO 15 Propósito

Caso de Uso: Gestionar Plantilla de Publicidad Permitirá gestionar nuevas Plantillas de Publicidad. Cada plantilla de publicidad será un documento HTML previamente estructurado con código HTML.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico

Administrador, Usuario Administrador …………….. …………….. o Acciones del Actor

68

Camino Básico

1. Para Visualizar en la página. 1.1 El usuario inicia sesión con sus datos de usuario. 2.Visualiza el menú principal Selecciona “Modulo: Publicidad-Plantillas”. 3. Mostar la página enlistando las plantillas. 4. Visualiza una lista de de las plantillas que se encuentran disponibles en el sistema. 4.1. Selecciona Nueva Plantilla. 4.2 Carga la página de nueva Plantilla. 4.3 Ingresa los datos solicitados para la nueva plantilla 4.4 Se guarda la nueva plantilla en la Base de Datos. 4.5 Se visualiza la lista de las Plantillas, incluyendo la Nueva Plantilla. 5. Modificar Plantilla. 5.1 Selecciona la plantilla a modificar. 5.2 Ingresa los nuevos datos para la Plantilla. 5.3 Confirma los cambios. 5.4 Guarda los datos de la plantilla. 6. Eliminar Plantilla. 6.1 Selecciona la Plantilla a Eliminar 6.2 Confirma la eliminación de la Plantilla.

Referencia Curso Alternativo o Alterno

---

69

CASO DE USO 16: IMPORTAR PLANTILLA DE PUBLICIDAD

uc Importar Plantilla de Publicidad

Importar Plantiila de Publicidad

Gestor de Publicidad (from Actores)

Ilustración 25: Caso de Uso Importar Plantilla de Publicidad

CASO 16 Propósito

Caso de Uso: Importar Plantilla de Publicidad Importar las plantillas prediseñadas para el envío de la publicidad.

Actores Actor iniciador Pre Condición Post Condición Flujo

Administrador, Usuario Administrador, Gestionar Plantilla Gestionar Plantilla de Publicidad. -------Eventos Actor 1. Selecciona el menú: “Publicidad-Importar Plantilla” 2. Selecciona el Archivo de origen de la Nueva Plantilla. 2.1 Confirma la Selección de la Plantilla. 3. Ingresa los datos solicitados para la Nueva Plantilla 4. Guarda la plantilla importada en la BD.

Curso Alternativo Alterno

70

CASO DE USO 17: EXPORTAR PLANTILLA DE PUBLICIDAD

uc Exportar Plantilla de Publicidad

Exportar Plantilla de Publicidad

Gestor de Publicidad (from Actores)

Ilustración 26: Caso de Uso Exportar Plantilla de Publicidad

CASO 17 Propósito

Caso de Uso: Exportar Plantilla de Publicidad Exportar las plantillas prediseñadas para el envío de la publicidad.

Actores Actor iniciador Pre Condición Post Condición Flujo

Administrador, Usuario Administrador, Gestionar Plantilla Gestionar Plantilla de Publicidad. -------Eventos Actor 1. Selecciona el menú: “Publicidad-Exportar Plantilla” 2. Selecciona el destino para la Plantilla. 2.1 Confirma la Selección de la Plantilla. 3. Ingresa los datos solicitados para la Nueva Plantilla 4. Exporta la plantilla a un directorio especificado por el usuario.

Curso Alternativo Alterno

71

CASO DE USO 18: GESTIONAR REGLAS DE ENVIO

uc Gestionar Reglas de En...

Gestionar Reglas de Env io

Gestor de Publicidad (from Actores)

Ilustración 27: Caso de Uso Gestionar Reglas de Envío

CASO 18 Propósito

Caso de Uso: Gestionar Reglas de Envío Permitirá asignar reglas de envío al momento de Gestionar los envíos de las campanias publicitaria.

Actores Actor Iniciador Pre Condición Post Condición

Gestor de Envió, Usuario Gestor de Envío Gestionar Publicidad Gestionar Envío de Publicidad.

Curso Básico o Acciones Camino Básico

Referencia Curso Alternativo Alterno o

-----

72

CASO DE USO 19: GESTIONAR ENVIO DE PUBLICIDAD
uc Gestionar Env io de Publicid...

Gestionar Env io de Publicidad

Usuario (from Actores)

Ilustración 28: Caso de Uso Gestionar Envío de Publicidad

CASO 19 Propósito

Caso de Uso: Gestionar Envío de Publicidad Permitirá Registrar, Modificar, Eliminar y Realizar los diferentes Envíos de Publicidad.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico

Gestor de Publicidad. Gestor de Publicidad. Gestionar Campañas de Publicidad. …………. o Acciones

73

Camino Básico

1. Nuevo Envíos de Publicidad. 1.1 Ingresa los datos solicitados por el formulario. 1.2 Presiona el botón Guardar. 1.3 Inserta los datos del Envío en la Base de Datos. 1.4 Se visualiza en la página principal del módulo de envío el nuevo envío creado. 2. Modificar Envíos de Publicidad. 2.1 Selecciona de la lista el Envío a modificar. 2.2 Presionar el botón Editar. 2.3 Se visualiza los datos del Envío en el formulario. 2.4 Se introduce los nuevos datos para actualizar el Envíos. 2.5 Presiona el botón Actualizar. 2.6 Actualiza los datos del Envío de Publicidad en la Base de Datos. 2.7 Se visualiza en la página principal del módulo la lista de envíos. 3. Eliminar Envío de Publicidad. 3.1 Selecciona el Envío de Publicidad a Eliminar. 3.2 Presiona el botón a Eliminar. 3.3 Elimina el Envíos de Publicidad de la Base de Datos. 3.4 Se visualiza la lista de Envíos creados. 4. Salir del Formulario. 4.1. Cierra el formulario Gestionar Envíos de Publicidad.

Curso Alternativo --o Alterno

74

CASO DE USO 20: GESTIONAR CONFIGURACION DE CONEXIÓN TWITTER

uc Gestionar Configuracion de Conexion Tw itter

Gestionar Configuracion de Conexion Tw itter

Gestor de Publicidad (from Actores)

Ilustración 29: Caso de Uso Gestionar Configuración de Conexión Twitter

CASO 20 Propósito Actores Actor Iniciador Pre Condición Post Condición

Caso de Uso: Gestionar Configuración de Conexión Twitter Establecer la Configuración de Conexión con la Red Social Twitter. Administrador, Usuario. Administrador Gestionar Configuración de Conexión de Red Social. ………….

Curso Básico o Acciones Camino Básico 1.- Iniciar Sesión en Twitter. 2.- Confirmación de Uso de Nuestra Aplicación. 2.1- Una vez el Usuario Confirmo que Utilizará Nuestra Aplicación para Gestionar sus publicaciones entonces capturamos los siguiente Tokens Key: a): oauth_token, oauth_token_secret 3.- Almacenamos estos identificadores de inicio de sesión en la Base de Datos. 4. Confirmar. Referencia Curso -----

75

Alternativo Alterno

o

2.2- El usuario no Confirma Nuestra Apliación, Volvemos a la página principal de Redes Sociales. 2.3 Los oauth_token, oauth_token_secret no pudieron ser

capturados. Volvemos a la página Principal.

CASO DE USO 21: GESTIONAR CONFIGURACION DE CONEXIÓN FACEBOOK

uc Gestionar Configuracion de Conexion Facebook

Gestionar Configuracion de Conexion Facebook

Gestor de Publicidad (from Actores)

Ilustración 30: Caso de Uso Gestionar Configuración de Conexión Facebook

CASO 21 Propósito

Caso de Uso: Gestionar Configuración de Conexión Facebook Establecer la Configuración de Conexión con la Red Social Facebook.

Actores Actor Iniciador Pre Condición Post Condición

Administrador, Usuario. Administrador Gestionar Configuración de Conexión de Red Social. ………….

Curso Básico o Acciones

76

Camino Básico

1.- Iniciar Sesión en Facebook. 2.- Confirmación de Uso de Nuestra Aplicación. 2.1- Una vez el Usuario Confirmo que Utilizará Nuestra Aplicación para Gestionar sus publicaciones entonces capturamos los siguiente Tokens Key: a): oauth_token, oauth_token_secret 3.- Almacenamos estos identificadores de inicio de sesión en la BD. 4. Confirmar.

Referencia Curso Alternativo Alterno

--2.2- El usuario no Confirma Nuestra Apliación, Volvemos a la o página principal de Redes Sociales. 2.3 Los oauth_token, oauth_token_secret no pudieron ser

capturados. Volvemos a la página Principal.

CASO DE USO 22: GESTIONAR CONFIGURACION DE CONEXIÓN LINKEDIN

uc Gestionar Configuracion de Conexion Linkedin

Gestionar Configuracion de Conexion Linkedin

Gestor de Publicidad (from Actores)

Ilustración 31: Caso de Uso Gestionar Configuración de Conexión Linkedin

77

CASO 23 Propósito

Caso de Uso: Gestionar Configuración de Conexión Linkedin Establecer la Configuración de Conexión con la Red Social Linkedin.

Actores Actor Iniciador Pre Condición Post Condición Curso Básico

Administrador, Usuario. Administrador Gestionar Configuración de Conexión de Red Social. …………. o Acciones 1.- Iniciar Sesión en LinkedIn. 2.- Confirmación de Uso de Nuestra Aplicación. 2.1- Una vez el Usuario Confirmo que Utilizará Nuestra Aplicación para Gestionar sus publicaciones entonces capturamos los siguiente Tokens Key: a): oauth_token, oauth_token_secret 3.- Almacenamos estos identificadores de inicio de sesión en la BD. 4. Confirmar.

Camino Básico

Referencia

---

Curso Alternativo 2.2- El usuario no Confirma Nuestra Apliación, Volvemos a la o Alterno página principal de Redes Sociales. 2.3 Los oauth_token, oauth_token_secret no pudieron ser

capturados. Volvemos a la página Principal.

78

4.3.
uc Diagrama General de Casos De Uso

DIAGRAMA GENERAL DE CASOS DE USO

Gestionar Usuario Gestionar Perfiles (from Modulo Usuario) (from Modulo Usuario) Administrador (from Actores) (from Modulo Usuario) Ver Historial de Acceso Gestionar Acceso al Sistema Gestionar Pre-Contacto Gestionar Priv ilegios

(from Modulo Contactos) (from Modulo Usuario) Cliente (from Actores)

Asistente (from Actores)

(from Modulo Usuario)

Gestionar Contacto

(from Modulo Contactos)

Gestionar Empresas

(from Modulo Contactos) Usuario Gestor de Publicidad (from Actores) (from Modulo Contactos) Gestionar Lista de Empresas (from Actores) Gestionar Lista de Contactos

Gestionar Campaña de Publicidad

(from Modulo Contactos) (from Modulo Publicidad)

Listar Campañas de Publicidad Gestionar Plantilla de Publicidad Gestionar Configuracion de Redes Sociales (from Modulo Redes Sociales) Importar Contactos Exportar Contactos (from Modulo Publicidad) (from Modulo Contactos) Importar Plantiila de Publicidad (from Modulo Contactos)

(from Modulo Publicidad)

(from Modulo Publicidad) Gestionar Env io de Publicidad

SMPT (from Actores)

Gestionar Configuracion de Conexion Twitter (from Modulo Redes Sociales) Gestionar Configuracion de Conexion Facebook (from Modulo Redes Sociales) Gestionar Configuracion de Conexion Linkedin

Exportar Plantilla de Publicidad

(from Modulo de Envio)

(from Modulo Publicidad)

Gestionar Reglas de Env io

(from Modulo Redes Sociales) (from Modulo de Envio)

Ilustración 32: Diagrama General de Casos de Uso

79

5. FLUJO DE TRABAJO: ANALISIS 5.1. ANALISIS DE LA ARQUITECTURA 5.1.1. IDENTIFICACION DE PAQUETES

pkg Diagrama de Paquetes Modulo Usuario Modulo Contactos

Modulo Publicidad

Modulo Env io Modulo Redes Sociales

Ilustración 33: Identificación de Paquetes

Administración de Acceso y Usuario (Módulo de Usuario): Este paquete permite la gestión de los diferentes usuarios que forman parte del Sistema. Registrar, Actualizar, Modificar, Buscar, Eliminar Usuarios del Sistema. Además, permite realizar el control y gestión de Acceso al Sistema.

Administración de Contactos (Módulo de Contactos): Este paquete permite la gestión de los diferentes contactos relacionados con la Empresa. Gestionara Contactos (Particulares), Gestionar Empresas, Gestionar Pre-Contactos.

Administración de Publicidad (Módulo de Publicidad): Este paquete tiene por objetivo la administración y gestión de campañas publicitaria que la empresa realice y la administración y gestión de las plantillas para las campañas publicitarias.

Administración de Envío de Publicidad (Módulo de Envío): Se realiza la gestión y administración de los envíos de las campañas publicitarias.

80

Administración de Conexiones Sociales (Módulos Redes Sociales): Se realizan la configuración de las conexiones con las Redes Sociales. Además, establecer publicaciones, búsquedas de perfiles.

81

5.1.2. IDENTIFICACION DE CASOS DE USO EN CADA PAQUETE

PAQUETE: Administración de Acceso y Usuario

uc Módulo de Usuario

Gestionar Acceso al Sistema

(from Modulo Usuario) Ver Historial de Acceso «trace» (from Modulo Usuario) «trace» Módulo de Usuario

«trace» (from Modelo de casos de uso) «trace» «trace» Gestionar Priv ilegios

Gestionar Perfiles

(from Modulo Usuario)

Gestionar Usuario

(from Modulo Usuario)

(from Modulo Usuario)

Ilustración 34: Paquete Administración de Acceso y Usuario

PAQUETE: Administración de Contactos.

82

uc Módulo de Contactos

Gestionar Contacto Gestionar Pre-Contacto (from Modulo Contactos) (from Modulo Contactos) Gestionar Empresas «trace» «trace» (from Modulo Contactos) «trace» Módulo de Contactos

«trace»

Gestionar Lista de Contactos

(from Modelo de casos de uso) «trace»

(from Modulo Contactos)

«trace» «trace»

Gestionar Lista de Empresas

(from Modulo Contactos)

Importar Contactos Exportar Contactos (from Modulo Contactos) (from Modulo Contactos)

Ilustración 35: Paquete Administración de Contactos

PAQUETE: Administración de Publicidad

83

uc Módulo Publicidad

Gestionar Campaña de Publicidad

(from Modulo Publicidad)

Gestionar Plantilla de Publicidad

«trace» «trace»

(from Modulo Publicidad)

Módulo Publicidad «trace»

Importar Plantiila de Publicidad

(from Modulo Publicidad)

(from Modelo de casos de uso) «trace» «trace»

Listar Campañas de Publicidad

(from Modulo Publicidad) Exportar Plantilla de Publicidad

(from Modulo Publicidad)

Ilustración 36: Paquete Administración de Publicidad

PAQUETE: Administración de Envíos

uc Módulo de Env io

Gestionar Env io de Publicidad

Módulo de Env io

«trace»

(from Modulo de Envio)

«trace» (from Modelo de casos de uso)

Gestionar Reglas de Env io

(from Modulo de Envio)

Ilustración 37: Paquete Administración de Envíos

84

PAQUETE: Administración de Conexiones con Redes Sociales

uc Módulo Redes Social...

Gestionar Configuracion de Conexion Facebook

(from Modulo Redes Sociales) «trace» Módulo Redes Sociales «trace» Gestionar Configuracion de Conexion Linkedin

(from Modelo de casos de uso) «trace»

(from Modulo Redes Sociales)

Gestionar Configuracion de Conexion Tw itter

(from Modulo Redes Sociales)

Ilustración 38: Paquete Administración de Conexiones con Redes Sociales

85

5.2.

ANALIZAR CASOS DE USO 5.2.1. DIAGRAMAS DE COMUNICACION 

CASO DE USO 1: GESTIONAR USUARIO

sd Gestionar Usuarios 1.1: Nuevo() 1.3: ObtenerPerfiles() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 1.2: Nuevo() 2.4: Guardar() 3.4: Modificar() 4.2: Buscar() 5.2: Eliminar()

FrmUsuarios 1: Nuevo() 2: Guardar() 3: Modificar() 3.2: Obtener(nombre) 4: Buscar() 5: Eliminar() 1.4: SeleccionarPerfiles() 2.2: Obtener(nombre)

GUsuario

Usuario

1.5: Seleccionar() 2.3: Obtener() 3.3: Obtener()

GPerfil

Perfil

Administrador (from Actores)

Ilustración 39: Diagrama de Comunicación Gestionar Usuario 

CASO DE USO 2: GESTIONAR PERFILES

86

sd Gestionar Perfiles 1.1: Nuevo() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 1.2: Nuevo() 2.2: Guardar() 3.2: Modificar() 4.2: Buscar() 5.2: Eliminar()

Frmperfiles

GPerfil

Perfil

1: Nuevo() 2: Guardar() 3: Modificar() 4: Buscar() 5: Eliminar() Administrador (from Actores)

Ilustración 40: Diagrama de Comunicación Gestionar Perfiles 

CASO DE USO 3: GESTIONAR PRIVILEGIOS
1.3: Sel ecci onar() 2.3: Obtener()

sd Gestionar Priv ilegios

GPerfi l 1.1: Sel ecci onarPerfi l es() 1.4: Sel ecci onarModul os() 2.1: ObtenerPerfi l (nombre) 2.4: ObtenerModul o(nombre) 2.7: Guardar(datos) 2.8: Guardar() 2.2: Obtener(nombre) 1.2: Sel ecci onarPerfi l es()

Perfi l

Frmpri vi l egi o

GPri vi l egi o

Pri vi l egi o

1: Nuevo()

1.5: Sel ecci onarModul os() 2.5: Obtener(nombre)

2: Gurdar()

1.6: Sel ecci onar() 2.6: Obtener()

GModul o

Modul o

Administrador (from Actores)

Ilustración 41: Diagrama de Comunicación Gestionar Privilegios

87

CASO DE USO 4: VER HISTORIAL DE ACCESO

sd Ver Historial de Acceso 1.1: VerHistorial(codigouser) 1: VerHistorialAcceso() 1.4: MostarHistorial(idusr)

Frmhistorialacceso Administrador (from Actores) 1.2: Obtener(nombre)

GBitacora

1.5: Seleccionar()

Usuario

1.3: Obtener()

GUsuario

Bitacora

Ilustración 42: Diagrama de Comunicación Ver Historial de Acceso 

CASOS DE USO 5: GESTIONAR ACCESO AL SISTEMA

sd Gestionar Acceso al Sistema

1.2: Obtener(codigo) 1.1: iniciar_sesion(datos) GUsuario

1.3: Obtener()

Usuario Frminiciosession GSession 1: Iniciar_Sesion() 1.4: Seleccionar(codigo) 1.5: Seleccionar() Modulo

GModulo Usuario (from Actores) 1.6: Seleccionar() Menu

Ilustración 43: Diagrama de Comunicación Gestionar Acceso al Sistema

88

CASO DE USO 6: GESTIONAR PRE-CONTACTO

sd Gestionar PreContacto 1.5: Seleccionar() 2.3: Obtener() 3.3: Obtener()

Gorigencontacto 1.1: Nuevo() 1.3: Obtenerorigencontactos() 1.6: Obtenerempresas() 1.9: Obtenerestadocontactos() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 3.2: Obtener(nombre) GEmpresa 1.7: Seleccionar() 2.4: Obtener(nombre) 3.4: Obtener(nombre) 1.4: Seleccionar() 2.2: Obtener(nombre)

Origencontacto 1.8: Seleccionar() 2.5: Obtener() 3.5: Obtener() Empresa

4.2: Buscar() Frmprecontactos 1: Nuevo() 2: Guardar() 3: Modificar() 4: Buscar() GEstadocontacto 5: Eliminar() GPrecontacto 1.2: Nuevo() 2.8: Guardar()

5.2: Eliminar() 3.8: Modificar() Precontacto

1.10: Seleccionar() 2.6: Obtener(nombre) 3.6: Obtener(nombre) 1.11: Seleccionar() 2.7: Obtener() 3.7: Obtener()

Estadocontacto

Usuario (from Actores)

Ilustración 44: Diagrama de Comunicación Gestionar Pre-Contacto 

CASO DE USO 7: GESTIONAR CONTACTO

sd Gestionar PreContacto 1.5: Seleccionar() 2.3: Obtener() 3.3: Obtener()

Gorigencontacto 1.1: Nuevo() 1.3: Obtenerorigencontactos() 1.6: Obtenerempresas() 1.9: Obtenerestadocontactos() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 3.2: Obtener(nombre) GEmpresa 1.7: Seleccionar() 2.4: Obtener(nombre) 3.4: Obtener(nombre) 1.4: Seleccionar() 2.2: Obtener(nombre)

Origencontacto 1.8: Seleccionar() 2.5: Obtener() 3.5: Obtener() Empresa

4.2: Buscar() Frmprecontactos 1: Nuevo() 2: Guardar() 3: Modificar() 4: Buscar() GEstadocontacto 5: Eliminar() GPrecontacto 1.2: Nuevo() 2.8: Guardar()

5.2: Eliminar() 3.8: Modificar() Precontacto

1.10: Seleccionar() 2.6: Obtener(nombre) 3.6: Obtener(nombre) 1.11: Seleccionar() 2.7: Obtener() 3.7: Obtener()

Estadocontacto

Usuario (from Actores)

Ilustración 45: Diagrama de Comunicación Gestionar Contacto

89

CASO DE USO 8: GESTIONAR EMPRESAS
1.1: Nuevo() 1.3: Obteneractividades() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo)

sd Gestionar Empresa

1.2: Nuevo() 2.4: Guardar() 3.4: Gurdar() 4.2: Buscar() 5.2: Eliminar()

Frmempresa 1: Nuevo() 2: Guardar() 3: Modificar() 4: Buscar() 5: Eliminar() 1.4: Seleccionar() 2.2: Obtener(nombre) 3.2: Obtener(nombre)

GEmpresa Empresa

1.5: Seleccionar() 2.3: Obtener() 3.3: Obtener()

GActividad Usuario (from Actores)

Actividad

Ilustración 46: Diagrama de Comunicación Gestionar Empresas

CASO DE USO 9: GESTIONAR LISTA CONTACTO
1.1: Nuevo() 1.3: Seleccionarcontactos() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 5.3: Eliminar() 1.2: Nuevo() 2.4: Gurdar() 3.2: Modificar() 4.2: Buscar()

sd Gestionar Lista de Contactos

Frmlistacontactos 1: Nuevo()

GListacontactos 1.4: Seleccionar()

2.5: Guardar() 5.2: Eliminar()

Listaemailcontacto

2: Gurdar() 2.2: Obtener(nombre) 3: Modificar() 4: Buscar() 1.5: Seleccionar() 5: Eliminar() 2.3: Obtener() Detallemailcontactos

GContacto Usuario (from Actores)

Contacto

Ilustración 47: Diagrama de Comunicación Gestionar Lista Contacto

90

CASO DE USO 10: GESTIONAR LISTA EMPRESA
1.1: Nuevo() 1.3: Seleccionarcontactos() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 1.2: Nuevo() 2.4: Gurdar() 3.2: Modificar() 4.2: Buscar() 5.3: Eliminar()

sd Gestionar Lista de Contactos

Frmlistacontactos 1: Nuevo()

GListacontactos 1.4: Seleccionar() 2.5: Guardar() 2.2: Obtener(nombre) 5.2: Eliminar() 1.5: Seleccionar()

Listaemailcontacto

2: Gurdar() 3: Modificar() 4: Buscar() 5: Eliminar() GContacto 2.3: Obtener()

Detallemailcontactos

Contacto

Usuario (from Actores)

Ilustración 48: Diagrama de Comunicación Gestionar Lista Empresa

CASO DE USO 11: IMPORTAR CONTACTO

sd Exportar Contacto 1.1: Exportarcontactos() 2.1: Importarcontactos(filename) 1.2: Seleccionar() 2.3: Guardar()

Frmcontactos 1: Emportar()

GContacto 1.3: GenerarExportacion()

Contacto

2: Importar() 2.2: GenerarImportacion()

Archivo Usuario (from Actores)

Ilustración 49: Diagrama de Comunicación Importar Contacto

91

CASO DE USO 12: EXPORTAR CONTACTO

sd Exportar Contacto 1.1: Exportarcontactos() 2.1: Importarcontactos(filename) 1.2: Seleccionar() 2.3: Guardar()

Frmcontactos 1: Emportar()

GContacto 1.3: GenerarExportacion()

Contacto

2: Importar() 2.2: GenerarImportacion()

Archivo Usuario (from Actores)

Ilustración 50: Diagrama de Comunicación Exportar Contacto

CASO DE USO 13: GESTIONAR CAMPAÑA DE PUBLICIDAD

sd Gestionar Campaña de Publicidad 1.14: Obtener() 2.3: Obtener() 3.3: Obtener()

1.1: Nuevo() 1.3: Obtenertipos() 1.6: Obtenerestadocampanias() 1.9: Obtenerplantillas() 1.12: Obtenercreador() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo)

GUsuario 1.13: Obtener(codigo) 2.2: Obtener(username) 3.2: Obtener(username)

1.5: Seleccionar() 2.5: Obtener() 3.5: Obtener() GTipo 1.4: Seleccionartipos()

Usuario

Tipo

2.4: Obtener(nombre) 3.4: Obtener(nombre)

1.2: Nuevo() Frmcampania 1: Nuevo() 2: Guardar() 1.10: Seleccionarplantillas() 3: Modificar() 2.8: Obtener(codigo) 4: Buscar() 3.8: Obtener(codigo) 5: Eliminar()

3.10: Moficar()

4.2: Buscar() 2.10: Guardar()

5.2: Eliminar() Campania

1.7: Seleccionarestados() GCampania 2.6: Obtener(nombre) 3.6: Obtener(nombre)

1.8: Seleccionar() 2.7: Obtener() 3.7: Obtener()

GEstadocampania Estadocampania 1.11: Seleccionar() 2.9: Obtener() GPlantilla 3.9: Obtener()

Plantilla

Administrador (from Actores)

Ilustración 51: Diagrama de Comunicación Gestionar Campañas de Publicidad

92

CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD

sd Listar Campaña de Publicidad 1.1: Listarcampanias()

1.2: Seleccionar()

Frmcampanias

GCampania

Campania

1: Listar()

Usuario (from Actores)

Ilustración 52: Diagrama de Comunicación Listar Campañas de Publicidad 

CASO DE USO 15: GESTIONAR PLANTILLA DE PUBLICIDAD

sd Gestionar Plantilla de Publicidad 1.1: Nuevo() 2.1: Guardar(datos) 3.1: Modificar(datos) 4.1: Buscar(datos) 5.1: Eliminar(codigo) 1.2: Nuevo() 2.3: Guardar() 3.3: Modificar() 4.2: Buscar()

1: Nuevo() Frmplantillas 2: Guardar() 3: Modificar() 4: Buscar() 5: Eliminar()

GPlantilla 2.2: Importardisenio()

Plantilla

3.2: Obtenerdisenio()

Archivo Usuario (from Actores)

Ilustración 53: Diagrama de Comunicación Gestionar Plantilla de Publicidad

93

CASO DE USO 16: IMPORTAR PLANTILLA DE PUBLICIDAD

sd Importar Plantilla de Publicidad 1.1: Importarplantilla(pathfile) 2.1: Exportarplantilla(pathfile) 1.3: Guardar() 2.2: Obtener(codigo)

Frmplantilla 1: Importar() 2: Exporatar()

GPlantilla

Plantilla 1.2: Generarimportacion(pathfilename) 2.3: Generarexportacion(pathfile)

Archivo

Administrador (from Actores)

Ilustración 54: Diagrama de Comunicación Importar Plantilla de Publicidad

CASO DE USO 17: EXPORTAR PLANTILLA DE PUBLICIDAD

sd Importar Plantilla de Publicidad 1.1: Importarplantilla(pathfile) 2.1: Exportarplantilla(pathfile) 1.3: Guardar() 2.2: Obtener(codigo)

Frmplantilla 1: Importar() 2: Exporatar()

GPlantilla

Plantilla 1.2: Generarimportacion(pathfilename) 2.3: Generarexportacion(pathfile)

Archivo

Administrador (from Actores)

Ilustración 55: Diagrama de Comunicación Exportar Plantilla de Publicidad 94

CASO DE USO 18: GESTIONAR REGLAS DE ENVÍO

sd Gestionar Reglas de Env io 1.1: Nuevo() 2.1: Guardar(datos) 3.1: Eliminar(codigo) 1.2: Nuevo() 2.2: Gudardar() 3.2: Eliminar()

Frmenvios 1: Nuevo() 2: Guardar() 3: Eliminar()

GRegla

Regla

Usuario (from Actores)

Ilustración 56: Diagrama de Comunicación Gestionar Reglas de Envío.

95

CASO DE USO 19: GESTIONAR ENVIO DE PUBLIIDAD

sd Gestionar Env ío de Publicidad 2.3: Obtener() 1.4: Seleccionar() 3.3: Obtener() GEstadoenvio 2.5: Obtener() 1.6: Seleccionar() 3.5: Obtener() 3.2: Obtenercodigo(nombre) GCanalcomunicacion 2.2: Obtenercodigo(nombre) 3.4: Obtenercodigo(nombre) 1.3: Obtenerestadoenvio() 2.4: ObtenerCodigo(nombre) 2.7: Obtener() 1.8: Seleccionar() 1.5: Obtenercanales() GCampania 1.7: Obtenercampanias() 2.6: Obtenercodigo(nombre) 3.6: Obtenercodigo(nombre) 2.12: Guardar() 4.2: Eliminar() 3.8: Obtenercodigo(nombre) 2.8: Obtenercodigo(nombre) 1.9: Obtenerlistacontactos() 1.2: nuevo() 3.12: Modificar() 3.7: Obtener() Campania Canalcomunicacion Estadoenvio

4.1: Eliminar(codigo) 3.1: Modificar(Datos) 2.1: Guardar(Datos) 1.1: Nuevo() 4: Eliminar() Frmenvios 3: Modificar() 2: Guardar() 1: Nuevo() GEnvio

Envio

3.10: Obtenercodigo(nombre) Usuario (from Actores) 2.10: Obtenercodigo(nombre) 1.11: Obtenerlistaempresas() GListacontactos

3.9: Obtener() 2.9: Obtener() 1.10: Seleccionar() Listacontactos

3.11: Obtener() GListaempresas 2.11: Obtener() 1.12: Seleccionar() Listaempresas

Ilustración 57: Diagrama de Comunicación Gestionar Envío de Publicidad

96

CASO DE USO 20: GESTIONAR CONEXIÓN TWITTER

sd Gestionar Configuración de Conexión Tw itter 1.1: AddTwitter(datos) 1.4: Confirmar() 2.1: Eliminar(codigo) 1.5: Guardar() 2.2: Eliminar()

1: Adicionar() 2: Eliminar()

Frmtwitter

GConfiguracion

Configuracion

1.2: GetAutoritationURL(datos)

1.3: GetAutoritationURL(tokens_key)

Usuario (from Actores)

EpyTwitter()

API de Conexión para Twitter. Recibe los Tokens Key de Conexión confirmado por el Usuario Esta API hace uso de: 'EpiCurl.php'; 'EpiOAuth.php';

Ilustración 58: Diagrama de Comunicación Gestionar Conexión Twitter 

CASO DE USO 21: GESTIONAR CONEXIÓN FACEBOOK

sd Gestionar Configuración de Conexión Facebook 1.1: AddFacebook(APP_ID, keysecret) 1.5: Confirmar(facebook_id, access_token) 2.1: EliminarDatosConfiguracion(codigo) 1.6: Guardar(facebook_id, access_token) 2.2: Eliminar()

Frmfacebook 1: Adicionar(APP_ID, keysecret)

GConfiguracion Configuracion

2: Eliminar() 1.2: Get_access_token(APP_ID, keysecret)

1.3: getSignedRequest() 1.4: Obtener_Access_token()

Facebook Usuario (from Actores)

Facebook

Graph API de Facebook. 2.1.2. Datos de retorno a utilizar: (facebook_id, access_tokens).

Por medio de esta clase hacemos referencia a toda la Base de datos de la Red Social Facebook!

Ilustración 59: Diagrama de Comunicación Gestionar Conexión Facebook.

97

CASO DE USO 22: GESTIONAR CONEXIÓN LINKEDIN

sd Gestionar Configuración de Conexión Linkedin 1.1: AddLinkedin(username, password) 1.4: Confirmar(linked_id, access_tokens) 2.1: Eliminar(codigo) 1.5: Guardar(linked_id, access_tokens) 2.2: Eliminar()

FrmLinkedin 1: Adicionar(username,password)

GConfiguracion

Configuracion

1.2: getTokenAccess(access_tokens) 2: Eliminar()

1.3: getTokenAccess(access_tokens)

Linkedin.php Administrador (from Actores)

Ilustración 60: Diagrama de Comunicación Gestionar Conexión Linkedin

98

6. FLUJO DE TRABAJO: DISEÑO 6.1. DISEÑO DE ARQUITECTURA 6.1.1. VISTAS DE PAQUETES CON USUARIOS

pkg Diagrama de Paquetes Social C... Modulo Publicidad

Aplicación Web para la Gestión de Envíos de Campañas Publicitarias bajo el enfoque Social Media CRM

Módulo Contactos

SOCIAL CRM «flow» Usuario (from Actores) Modulo Usuario

Cliente (from Actores)

Módulo Redes Sociales

Módulo Env io SMTP (from Actores)

Ilustración 61: Vista de Paquetes con Usuarios

99

6.1.2. VISTAS Y ANALISIS DE PAQUETES

pkg UDiagrama Nav egacion Publicidad

Env ios

Contactos

Redes Sociales

Usuario

Ilustración 62: Vistas y Análisis de Paquetes

100

6.1.3. MODELO DE DESPLIEGUE

Ilustración 63: Modelo de Despliegue

101

6.1.4. ORGANIZACIÓN POR CAPAS

Ilustración 64: Organización por Capas

102

6.2.

DISEÑAR CASOS DE USO 6.2.1. DIAGRAMAS DE SECUENCIA 

CASO DE USO 1: GESTIONAR USUARIO

sd Gestionar Usuario «form» Frmusuarios Administrador «Gestor» GUsuario «Gestor» GPerfil «Entidad» Perfil «Entidad» Usuario

Nuevo() Nuevo() Obenerperfiles() Seleccionarperfiles() Seleccionar() Nuevo()

CargarCampos()

Guardar() Guardar(datos) Obtener(nombre) Obtener() Guardar()

Actualizar() Modicar() Modificar(datos) Obtener(nombre) Obtener() Modificar()

Actualizar() Buscar() Buscar(datos) Buscar()

CargarCampos()

Eliminar() Eliminar(codigo) Eliminar()

Actualizar()

(from Actores)

Ilustración 65: Diagrama de Secuencia Gestionar Usuario

103

CASO DE USO 2: GESTIONAR PERFILES

sd Gestionar Perfiles «form» Frmperfiles Administrador «gestor» GPerfil «entidad» Perfil

Nuevo() Nuevo() Nuevo() CargarCampos()

Guardar() Guardar(datos) Guardar(datos) Actualizar()

Modificar() Modificar(datos) Modificar(datos)

Actualizar() Eliminar() Eliminar(datos) Eliminar(datos)

Actualizar()

Buscar()

Buscar(datos) Buscar(datos) Actualizar()

(from Actores)

Ilustración 66: Diagrama de Secuencia Gestionar Perfiles

104

CASO DE USO 3: GESTIONAR PRIVILEGIOS

sd Gestionar Priv ilegios «form» frmPrivilegios Administrador «gestor» GPrivilegio «gestor» GPerfil «gestor» GModulo «entidad» Perfil «entidad» Privilegio «entidad» Modulo

Nuevo() SelecionarPerfiles() SelecionarPerfiles() Selecionar()

SelecionarModulos() SelecionarModulos() Selecionar()

Guardar() ObtenerPerfil(nombre) Obtener(nombre) Obtener()

ObtenerModulo(nombre) ObtenerModulo(nombre) Obtener()

Guardar(datos) Guardar()

(from Actores)

Ilustración 67: Diagrama de Secuencia Gestionar Privilegios

105

CASO DE USO 4: VER HISTORIAL DE ACCESO
«Form» Frmhistorialacceso «Gestor» GBitacora «Gestor» GUsuario «Entidad» Usuario «Entidad» Bitacora

sd Ver Historial Acceso

Administrador

Seleccionaruser() VerHistorialAccesso() Seleccionar() Seleccionar()

MostrarHistorial(iduser)

Seleccionar()

CargarDatos()

(from Actores)

Ilustración 68: Diagrama de Secuencia Ver Historial de Acceso

CASO DE USO 5: GESTIONAR ACCESO AL SISTEMA
«Form» Frminiciosession «Gestor» GSession «Gestor» GUsuario «Gestor» GModulo «Entidad» Usuario «Entidad» Modulo «Entidad» Menu

sd Gestionar Acceso al Sistema

Usuario

Iniciar_Session()

iniciar_session(datos) Obtener(datos) Obtener()

Seleccionar(codigo) Seleccionar() Seleccionar()

Cerrar_Session()

cerrar_session(usercodigo)

cerrar_session()

(from Actores)

Ilustración 69: Diagrama de Secuencia Gestionar Acceso al Sistema

106

CASO DE USO 6: GESTIONAR PRE-CONTACTO

sd Gestioinar Pre Contacto «Form» Frmprecontacto Usuario «Gestor» GPrecontacto «Gestor» Gorigencontacto «Gestor» GEmpresa «Gestor» GEstodocontacto «Entidad» Origencontacto «Entidad» Empresa «Entidad» Precontacto «Entidad» Estadocontacto

Nuevo() Nuevo() Nuevo()

Obtenerorigencontacto() Seleccionar() Seleccionar()

Obtenerempresas() Seleccionar() Seleccionar()

Obtenerestadocontacto() Seleccionar() Seleccionar()

Guardar()

Guadar(datos)

Obtener(nombre) Obtener() Obtener(nombre) Obtener() Obtener(nombre) Obtener() Guardar()

Modificar()

Modificar(datos) Obtener(nombre) Obtener() Obtener(nombre) Obtener(nombre) Modificar()

Obtener() Obtener()

Buscar()

Buscar(datos) Buscar()

Eliminar() Eliminar(codigo) Eliminar()

(from Actores)

Ilustración 70: Diagrama de Secuencia de Gestionar Pre-Contacto

107

CASO DE USO 7: GESTIONAR CONTACTO

sd Gestioinar Contacto «Form» Frmcontacto Usuario «Gestor» GContacto «Gestor» Gorigencontacto «Gestor» GEmpresa «Gestor» GEstodocontacto «Entidad» Origencontacto «Entidad» Empresa «Entidad» Contacto «Entidad» Estadocontacto

Nuevo() Nuevo() Nuevo()

Obtenerorigencontacto() Seleccionar() Seleccionar()

Obtenerempresas() Seleccionar() Seleccionar()

Obtenerestadocontacto() Seleccionar() Seleccionar()

Guardar()

Guadar(datos)

Obtener(nombre) Obtener() Obtener(nombre) Obtener() Obtener(nombre) Obtener() Guardar()

Modificar()

Modificar(datos) Obtener(nombre) Obtener() Obtener(nombre) Obtener(nombre) Modificar()

Obtener() Obtener()

Buscar()

Buscar(datos) Buscar()

Eliminar() Eliminar(codigo) Eliminar()

(from Actores)

Ilustración 71: Diagrama de Secuencia de Gestionar Contacto

108

CASO DE USO 8: GESTIONAR EMPRESA

sd Gestionar Empresas «Form» Frmempresa Usuario «Gestor» GEmpresa «Gestor» GActividad «Entidad» Empresa «Entidad» Actividad

Nuevo() Nuevo() Nuevo()

Obteneractividades() Seleccionar() Seleccionar()

Guardar() Guardar(datos) Obtener(nombre) Obtener() Guardar()

Modificar()

Modificar(datos) Obtener(nombre) Obtener() Modificar()

Buscar() Buscar(datos) Buscar()

Eliminar()

Eliminar(codigo) Eliminar()

(from Actores)

Ilustración 72: Diagrama de Secuencia de Gestionar Empresa

109

CASO DE USO 9: GESTIONAR LISTA DE CONTACTOS

sd Gestionar Lista Contacto «Form» Frmlistacontacto Usuario «Gestor» GListacontacto «Gestor» GContacto «Entidad» Listaemailcontacto «Entidad» Detalleemailcontacto «Entidad» Contacto

Nuevo() Nuevo() Nuevo()

Seleccionarcontactos()

Seleccionar() Seleccionar()

Guardar() Guardar(datos) Obtener(nombre) Obtener() Guardar() Guardar()

Modificar() Modificar(datos) Modificar()

Buscar() Buscar(datos) Buscar()

Eliminar()

Eliminar(codigo) Eliminar() Eliminar()

(from Actores)

Ilustración 73: Diagrama de Secuencia de Gestionar Lista de Contactos

110

CASO DE USO 10: GESTIONAR LISTA DE EMPRESAS

sd Gestionar Lista Empresa «Form» Frmlistaempresa Usuario «Gestor» GListaempresa «Gestor» GEmpresa «Entidad» Listaemailempresas «Entidad» Detalleemailempresas «Entidad» Empresa

Nuevo() Nuevo() Nuevo()

Seleccionarcontactos()

Seleccionar() Seleccionar()

Guardar() Guardar(datos) Obtener(nombre) Obtener() Guardar() Guardar()

Modificar() Modificar(datos) Modificar()

Buscar() Buscar(datos) Buscar()

Eliminar()

Eliminar(codigo) Eliminar() Eliminar()

(from Actores)

Ilustración 74: Diagrama de Secuencia de Gestionar Lista de Empresas

111

CASO DE USO 11: IMPORTAR CONTACTOS

sd Importar Contacto «Form» Frmcontactos Usuario «Gestor» GContacto «Entidad» Contacto «Entidad» Archivo

Importar()

Importarcontactos(filename)

GenerarImportacion()

Guardar()

(from Actores)

Ilustración 75: Diagrama de Secuencia de Importar Contactos

CASO DE USO 12: EXPORTAR CONTACTOS

sd Exportar Contacto «Form» Frmcontactos Usuario «Gestor» GContacto «Entidad» Contacto «Entidad» Archivo

Exportar()

Exportarcontactos(filename)

Seleccionar()

GenerarExportacion()

(from Actores)

Ilustración 76: Diagrama de Secuencia de Exportar Contactos

112


sd Gestionar Campaña de Publicidad «Form» Frmcampania

CASO DE USO 13: GESTIONAR CAMPAÑA DE PUBLICIDAD
«Gestor» GUsuario «Gestor» GT ipo «Gestor» GEstadocampania «Gestor» GPlantilla «Entidad» Usuario «Entidad» T ipo «Entidad» Campania «Entidad» Estadocampania «Entidad» Plantilla

«Gestor» GCampania

Nuevo() Nuevo()

Obtenertipos() Seleccionartipos() Seleccionar()

Obtenerestadocampanias() Seleccionarestados() Seleccionar()

Obtenerplantillas() Seleccionarplantillas() Seleccionar()

loop Cargar Datos Lista [i < n] Obtenercreador() Obtener(codigo) Obtener() Obtener(username)

Obtener() CargarDatos()

Guardar(datos) Obtener(nombre) Obtener(nombre) Obtener() Obtener(codigo) Obtener()

Obtener()

Obtener(username) Obtener()

alt Validar Datos Campania [validardatos=true] Guardar()

Listarcampanias() [validardatos=false] Modificar(datos)

Obtener(nombre) Obtener()

Obtener(nombre)

Obtener()

Obtener(codigo)

Obtener()

alt Validar Datos Campania [validardatos=true] [validardatos=false] Listarcampanias() Modificar()

Buscar(datos) Buscar()

Eliminar(datos) Eliminar()

Ilustración 77: Diagrama de Secuencia de Gestionar Campaña de Publicidad

113

CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD

sd Listar Campanias de Publicidad «Form» Frmcampanias Usuario «Gestor» GCampanias «Entidad» Campanias

Listar()

Listarcampanias()

Seleccionar()

(from Actores)

Ilustración 78: Diagrama de Secuencia de Listar Campañas de Publicidad

114

CASO DE USO 15: GESTIONAR PLANTILLA DE PUBLICIDAD

sd Gestionar Plantilla de Publicidad «Form» Frmplantillas Usuario «Gestor» GPlantilla «Entidad» Plantilla «Entidad» Archivo

Nuevo() Nuevo() Nuevo()

Guardar() Guardar(datos) Importardisenio() Guardar()

Modificar() Modificar(datos) Obtenerdisenio() Modificar()

Buscar() Buscar(datos) Buscar()

Eliminar() Eliminar(datos) Eliminar()

(from Actores)

Ilustración 79: Diagrama de Secuencia de Gestionar Plantilla de Publicidad

115

CASO DE USO 16: IMPORTAR PLANTILLA DE PUBLICIDAD

sd Importar Plantilla de Publicidad «Form» Frmplantillas «Gestor» GPlantilla «Entidad» Plantilla «Entidad» Archivo

Importarplantilla(pathfile)

Generarimportacion(pathfilename)

Guardar()

Ilustración 80: Diagrama de Secuencia de Importar Plantilla de Publicidad

CASO DE USO 17: EXPORTAR PLANTILLA DE PUBLICIDAD

sd Exportar Plantilla de Publicidad «Form» Frmplantillas «Gestor» GPlantilla «Entidad» Plantilla «Entidad» Archivo

Exportarplantilla(pathfile)

Obtener(codigo)

Generarexportacion(pathfilename)

Ilustración 81: Diagrama de Secuencia de Exportar Plantilla de Publicidad

116

CASO DE USO 18: GESTIONAR REGLAS DE ENVIO

sd Gestionar Reglas de En... «Form» Frmenvios Usuario «Gestor» GReglas «Entidad» Regla

Nuevo()

Nuevo()

Nuevo()

Guardar()

Guardar(datos)

Guardar()

Eliminar()

Eliminar(codigo)

Eliminar()

(from Actores)

Ilustración 82: Diagrama de Secuencia de Gestionar Reglas de Envío

117

CASO DE USO 19: GESTIONAR ENVÍO DE PUBLICIDAD

sd Gestionar Env io de Publicidad «form» Frmenvios Usuario «Gestor» GEnvio «Gestor» GCampania «Gestor» GEstadoenvio «Gestor» GCanalcomunicacion «Gestor» «Gestor» «Entidad» Envio «Entidad» Campania «Entidad» Estadoenvio «Entidad» Canalcomunicacion «Entidad» Listacontactos «Entidad» Listaempresas

GListacontactos GListaempresas

Nuevo() Nuevo() Nuevo() loop Cargar Datos [i <= n] Obtenerestadoenvio() Seleccionar()

Obtenercanales() Obtenercampanias() Seleccionar()

Selecccionar()

Obtenerlistacontactos()

Seleccionar()

Obtenerlistaempresas() Seleccionar() ActualizarLista()

alt Validar Datos Env io [datosvalidos=true] Guardar() [datosvalidos=false] Guardar(Datos)

ObtenerCodigo(nombre)

Obtener()

Obtenercodigo(nombre) Obtenercodigo(nombre) Obtener()

Obtener()

Obtenercodigo(nombre)

Obtener()

Obtenercodigo(nombre) Obtener()

Guardar()

Listarenvios()

Modificar()

Modificar(Datos)

Obtener() Obtenercodigo(nombre) Obtener() Obtenercodigo(nombre) Obtener()

Obtenercodigo(nombre)

Obtenercodigo(nombre)

Obtener()

Obtenercodigo(nombre)

Obtener()

Modificar()

Eliminar()

Eliminar(codigo)

Eliminar()

(from Actores)

Ilustración 83: Diagrama de Secuencia de Gestionar Envío de Publicidad

118

CASO DE USO 20: GESTIONAR CONFIGURACIÓN DE CONEXIÓN TWITTER

sd Gestionar Conexion Tw itter «Form» Frmsociales Usuario «Gestor» GConfiguracion «Gestor» EpyTwitter «Entidad» Configuracion

Adicionar()

AddTwitter(datos)

GetAutoritationURL(datos)

GetAutoritationURL(tokens_key)

alt Confirmacion Aplicaccion Tw itter [session=iniciado] [confirmar=true] Confirmar() Guardar(datos)

Eliminar()

Eliminar(codigo)

Eliminar()

(from Actores)

Ilustración 84: Diagrama de Secuencia de Gestionar Configuración de Conexión Twitter.

119

CASO DE USO 21: GESTIONAR CONFIGURACIÓN DE CONEXIÓN FACEBOOK

sd Gestionar Conexion Facebbok «Form» Frmfacebook Usuario «Gestor» GConfiguracion «Gestor» Facebook «Entidad» Configuracion «Entidad» Facebook

Adicionar(APP_ID, keysecret) AddFacebook(APP_ID, keysecret)

Get_access_token(APP_ID, keysecret)

getSignedRequest() Obtener_Access_token()

alt Confirmar Aplicacion [session iniciada] Confirmar(facebook_id, access_token)

Guardar(facebook_id, access_token)

Eliminar() EliminarDatosConfiguracion(codigo) Eliminar()

(from Actores)

Ilustración 85: Diagrama de Secuencia de Gestionar Configuración de Conexión Facebook.

120

CASO DE USO 22: GESTIONAR CONFIGURACIÓN DE CONEXIÓN LINKEDIN

sd Gestioniar Conexion Linkedin «Form» Frmsociales Usuario «Gestor» GConfiguracion «Gestor» Linkedin «Entidad» Configuracion

Adicionar(username, password)

AddLinkedin(username, password)

getTokenAccess(access_tokens)

getTokenAccess(access_tokens) alt Confirmar Aplicación Linkedin [session=iniciado] [confirmar=true] Guardar(linked_id, access_tokens) Confirmar(linked_id, access_tokens)

Eliminar() Eliminar(codigo) Eliminar()

(from Actores)

Ilustración 86: Diagrama de Secuencia de Gestionar Configuración de Conexión Linkedin.

121

6.2.2. DIAGRAMAS PARCIAL DE CLASES  CASO DE USO 1: GESTIONAR USUARIO

Ilustración 87: Diagrama Parcial de Clases Gestionar Usuario

CASO DE USO 2: GESTIONAR PERFILES

Ilustración 88: Diagrama Parcial de Clases Gestionar Perfiles 122

CASO DE USO 3: GESTIONAR PRIVILEGIOS

Ilustración 89: Diagrama Parcial de Clases Gestionar Privilegios

123

CASO DE USO 4: VER HISTORIAL DE ACCESO

Ilustración 90: Diagrama Parcial de Clases de Ver Historial de Acceso

124

CASO DE USO 5: GESTIONAR ACCESO AL SISTEMA

Ilustración 91: Diagrama Parcial de Clases de Gestionar Acceso al Sistema

125

CASO DE USO 6: GESTIONAR PRE-CONTACTO

Ilustración 92: Diagrama Parcial de Clases de Gestionar Pre-Contacto

126

CASO DE USO 7: GESTIONAR CONTACTO

Ilustración 93: Diagrama Parcial de Clases de Gestionar Contacto

127

CASO DE USO 8: GESTIONAR EMPRESAS

Ilustración 94: Diagrama Parcial de Clases de Gestionar Empresa

128

CASO DE USO 9: GESTIONAR LISTA DE CONTACTOS

Ilustración 95: Diagrama Parcial de Clases de Gestionar Lista Contactos

129

CASO DE USO 10: GESTIONAR LISTA DE EMPRESAS

Ilustración 96: Diagrama Parcial de Clases de Gestionar Lista de Empresas

130

CASO DE USO 11: IMPORTAR CONTACTOS

Ilustración 97: Diagrama Parcial de Clases de Importar Contactos

131

CASO DE USO 12: EXPORTAR CONTACTOS

Ilustración 98: Diagrama Parcial de Clases de Exportar Contactos

132

CASO DE USO 13: GESTIONAR CAMPAÑA DE PUBLICIDAD

Ilustración 99: Diagrama Parcial de Clases de Gestionar Campaña de Publicidad

CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD

133

Ilustración 100: Diagrama Parcial de Clases de Listar Campañas de Publicidad

CASO DE USO 15: GESTIONAR PLANTILLA DE PUBLICIDAD

Ilustración 101: Diagrama Parcial de Clases de Gestionar Plantilla de Publicidad  CASO DE USO 16: IMPORTAR PLANTILLA DE PUBLICIDAD

134

Ilustración 102: Diagrama Parcial de Clases de Importar Plantilla de Publicidad  CASO DE USO 17: EXPORTAR PLANTILLA DE PUBLICIDAD

Ilustración 103: Diagrama Parcial de Clases de Exportar Plantilla de Publicidad

135

CASO DE USO 18: GESTIONAR REGLAS DE ENVIO

Ilustración 104: Diagrama Parcial de Clases de Gestionar Reglas de Envío

CASO DE USO 19: GESTIONAR ENVIO DE PUBLICIDAD

136

Ilustración 105: Diagrama Parcial de Clases de Gestionar Envío de Publicidad

CASO DE USO 20: GESTIONAR CONFIGURACION DE CONEXIÓN TWITTER 137

Ilustración 106: Diagrama Parcial de Clases de Gestionar Configuración de Conexión Twitter.

CASO DE USO 21: GESTIONAR CONFIGURACION DE CONEXIÓN FACEBOOK

138

Ilustración 107: Diagrama Parcial de Clases de Gestionar Configuración de Conexión Facebook.

CASO DE USO 22: GESTIONAR CONFIGURACION DE CONEXIÓN LINKEDIN

139

Ilustración 108: Diagrama Parcial de Clases de Gestionar Configuración de Conexión Linkedin.

6.2.3. DIAGRAMAS DE NAVEGACION

140

Para la representación de los diferentes diagramas de navegación se utilizado la notación UML WAE. Algunos de los estereotipos para representar los diagramas de navegación WAE son los siguientes:
Estereotipos para las Clases Estereotipo Descripción Representa una página Web que tiene scripts ejecutados por el servidor. Estos scripts interactúan con los recursos que se encuentran al alcance del servidor.

Server Page Representan páginas que son dibujadas por el navegador web y pueden ser una combinación de algún o algunos lenguajes de marcado, scripts del lado del cliente, islas de datos, etc.

Client Page Representa una colección de campos de entrada que forman parte con una página del lado cliente (Client Page). Tiene una correspondencia directa con la etiqueta <FORM> de XHTML.

Form Estereotipos para las Relaciones entre las Clases Link Representa un apuntador desde una “client page” hacia una “client page” o “server page”. Corresponde directamente con una etiqueta <a> (ancla) de HTML Esta relación siempre se da entre una “form” y una “server page”, por supuesto, la “server page” procesa los datos que la “form” le envía (submits) Sirve para identificar cuales “server page” son responsables de de la creación de una “client page”. Una “server page” puede crear varias “client page”, pero una “client page” sólo puede ser creada por una sola “server page”. Esta relación siempre es unidireccional Esta es también una relación unidireccional que indica que una página Web redirige hacia otra. En caso de que la página origen sea una “client page” esta asociación corresponderá con la “META” etiqueta y valor HTTPEQUIV de “Refresh”*.

Submit

Build

Redirect

141

ACCESO AL SISTEMA

142

DIAGRAMA DE NAVEGACION 1

143

DIAGRAMA DE NAVEGACION 2

144

6.3.

DISEÑO DE LA INTERFAZ HUMANA

PAGINA PRINCIPAL

Ilustración 109: Interfaz Humana de la página principal

145

GESTIONAR CONTACTOS

Ilustración 110: Interfaz Humana de Gestionar Contactos 146

GESTIONAR PUBLICIDAD

Ilustración 111: Interfaz Humana de Gestionar Campaña de Publicidad

147

GESTIONAR ENVIOS

Ilustración 112: Interfaz Humana de Gestionar Envíos

148

GESTIONAR PUBLICACIONES RED SOCIAL

Ilustración 113: Interfaz Humana de Gestionar Publicaciones Red Social

149

PUBLICACION DE PUBLICIDAD EN TWITTER

Ilustración 114: Publicación de Publicidad en la Red Social Twitter

150

6.4.

DIAGRAMA DE CLASES
Perfil per_cod: int per_nombre: String per_descripcion: String Modulo mod_cod: int mod_nombre: String 1 mod_descripcion: String mod_urlcorta: String 1..* Menu men_cod: int men_nombre: String men_descripcion: String men_urlcorta: String Activ idad act_cod: int act_descripcion: String 1

class Obj etos del dominio

1..* 1 Bitacora bit_cod: int bit_fecha_inicio: String bit_fecha_fin: String bit_ip 0..* 1 Empresa Priv ilegio pri_cod: int pri_fecha_ini: String pri_fecha_fin: String PreContacto Contacto pre_cod: int pre_nombre: String pre_apellidos: String pre_direccion: String pre_celular: String pre_telefono: String pre_email: String pre_fax: String pre_twitter: String pre_facebook: String pre_cargo: String EstadoContacto 0..* 1 est_cod: int est_descripcion: int 0..* con_cod: int con_nombre: String con_apellidos: String con_direccion: String con_fecha_nac: String con_celular: String con_telefono: String con_email: String con_recibe_email: int con_descripcion: String con_imagen: String con_twitter: String con_facebook: String con_cargo: String 1 emp_cod: int emp_nombre: String emp_web: String emp_telefono: String emp_direccion: String emp_descripcion emp_nroempleados: int emp_email: String emp_fax: String emp_recibe_email: int emp_twitter: String emp_facebook: String

1 Usuario usr_cod: int usr_username: String usr_password: String usr_nombre: String usr_apellidos: String usr_direccion: String usr_email: String usr_telefono: String usr_ci: int 1

0..*

OrigenContacto 0..* 1 ori_cod: int ori_descripcion: String 1

1

EstadoEnv io 0..* EstadoCampania est_cod: int est_descripcion: String 1 1..* 1..* Campania cam_cod: int cam_titulo: String cam_resumen: String cam_descripcion: String cam_arte: String cam_contenido: LongText cam_hora: String cam_fecha: String cam_publico_objetivo: int 0..* 1..* 1 1 ConfiguracionSocial conf_cod: int conf_nombre: String conf_username: String conf_password: int conf_email: int conf_out: int Env io 0..* 1 env_cod: int env_descripion: String env_hora: String env_fecha: String env_total_objetivo: int env_abiertos: int 1 est_cod: int est_descripcion: int 1 0..* Lista_Email_Contactos lmc_cod: int lmc_descripcion: String Lista_Email_Empresas 1.. 1 lme_cod: int lme_descripcion: String Detalle_Email_Contactos Detalle_Email_Empresas idm_cod: int ide_cod: int

1

Tipo tip_cod: int tip_descripcion: String 1

1

1 Plantilla pla_cod: int pla_nombre: String pla_estructura: LongText pla_nombre_archivo: String -

1 CanalComunicacion can_cod: int can_nombre: String can_descripcion: int

Ilustración 115: Diagrama de Clases

151

6.4.1. DISEÑO LÓGICO DE LA BASE DE DATOS

Actividad Nombre act_cod act_descripcion Referencia PK

Bitacora Nombre bit_cod bit_ip bit_fecha_inicio bit_fecha_fin usr_cod Campania Nombre cam_cod cam_titulo cam_resumen cam_descripcion cam_arte cam_contenido cam_hora cam_fecha cam_publico_objetivo usr_cod est_cod tip_cod pla_cod Referencia PK Referencia PK

FK(Usuario)

FK(Usuario) FK(EstadoCampania) FK(Tipo) FK(Plantilla)

CanalComunicacion Nombre can_cod can_nombre can_descripcion Referencia PK

152

Contacto Nombre con_cod con_nombre con_apellido con_direccion con_fecha_nac con_celular con_telefono con_email con_recibe_email con_descripcion con_imagen con_twitter con_facebook con_cargo ori_cod emp_cod Referencia PK

FK(OrigenContacto) FK(EstadoContacto) Detalle_Email_Contactos

Nombre idm_cod con_email con_cod lmc_cod

Referencia PK FK(Contacto) FK(Lista_Email_Contactos) Detalle_Email_Empresas

Nombre ide_cod emp_email emp_cod lme_cod Empresa Nombre emp_cod emp_nombre emp_web

Referencia PK FK(Empresa) FK(Lista_Email_Empresas)

Referencia PK

153

emp_telefono emp_direccion emp_descripcion emp_nroempleados emp_email emp_fax emp_recibe_email emp_twitter emp_facebook act_cod Envio Nombre env_cod env_descripcion env_hora env_fecha env_total_objetivo env_total_abiertos usr_cod cam_cod est_cod can_cod lmc_cod lme_cod

FK(Actividad)

Referencia PK

FK(Usuario) FK(Campaña) FK(EstadoEnvio) FK(CanalComunicacion) FK(Lista_Email_Contacto) FK(Lista_Email_Empresas) EstadoCampania

Nombre est_cod est_descripcion

Referencia PK

EstadoContacto Nombre est_cod est_descripcion EstadoEnvio Nombre est_cod est_descripcion Referencia PK Referencia PK

154

Lista_Email_Contactos Nombre lmc_cod lmc_descripcion Referencia PK

Lista_Email_Empresas Nombre lme_cod lme_descripcion Menu Nombre men_cod men_nombre men_descripcion men_urlcorta mod_cod Modulo Nombre mod_cod mod_nombre mod_descripcion mod_urlcorta OrigenContacto Nombre ori_cod ori_descripcion Perfil Nombre per_cod per_nombre per_descripcion Referencia PK Referencia PK Referencia PK Referencia PK Referencia PK

FK (Modulo)

155

Plantilla Nombre pla_cod pla_nombre pla_estructura pla_nombre_archivo PreContacto Nombre pre_cod pre_nombre pre_apellidos pre_direccion pre_celular pre_telefono pre_email pre_fax pre_twitter pre_facebook pre_cargo est_cod ori_cod emp_cod Privilegio Nombre pri_cod pri_fecha_ini pri_fecha_fin per_cod mod_cod Tipo Nombre tip_cod tip_descripcion Referencia PK Referencia PK Referencia PK Referencia PK

FK(EstadoContacto) FK(OrigenContacto) FK(Empresa)

FK(Perfil) FK (Modulo)

156

Usuario Nombre usr_cod usr_username usr_password usr_nombre usr_apellidos usr_direccion usr_email usr_telefono usr_ci per_cod Archivo Nombre id_archivo categoria_archivo tipo_archivo nombre_archivo archivo_archivo extension_archivo fecha_archivo Categorias Nombre cat_id_cat nivel_cat parent_id_cat name_cat status_cat imagen_activa fecha_cat Referencia PK Referencia PK Fk(Categorias) Referencia PK

FK(Perfil)

157

6.4.2. DISEÑO FÍSICO DE LA BASE DE DATOS

TABLA: ACTIVIDAD

ATRIBUTOS act_cod act_descripcion

TIPOS Entero Caracter

LONGITUD 2.147.483.647 200

NULO No --

LLAVE PK --

DESCRIPCION Identificador Descripción

TABLA: BITACORA

ATRIBUTOS bit_cod bit_ip bit_fecha_inicio bit_fecha_fin usr_cod

TIPOS Entero Caracter Caracter Caracter Entero

LONGITUD 2.147.483.647 30 250 250 2.147.483.647

NULO No ---No

LLAVE PK ---FK

DESCRIPCION Identificador Ip de la maquina Hora de ingreso Hora de salida Cod de Usuario

TABLA: COMPANIA

ATRIBUTOS cam_cod cam_titulo cam_resumen cam_descripcion cam_arte cam_contenido cam_hora cam_fecha cam_publico_objetivo usr_cod est_cod tip_cod pla_cod

TIPOS Entero Caracter Caracter Caracter Caracter Texto Caracter Caracter Entero Entero Entero Entero Entero

LONGITUD 2.147.483.647 250 250 250 250 250 250 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647

NULO No --------No No No No

LLAVE PK --------FK FK FK FK

DESCRIPCION Identificador Titulo Resumen Descripción Tipo de arte Contenido Hora Fecha Publico objetivo Cod de Usuario Cod EstadoCampania Cod de Tipo Cod de Plantilla

TABLA: CANALCOMUNICACION

ATRIBUTOS Can_cod Can_nombre Can_descripcion

TIPOS Entero Caracter Caracter

LONGITUD 2.147.483.647 250 250

NULO No ---

LLAVE PK ---

DESCRIPCION Identificador Nombre Descripción

158

TABLA: CONTACTO
ATRIBUTOS con_cod con_nombre con_apellidos con_direccion con_fecha_nac con_celular con_telefono con_email con_recibe_email con_descripcion con_imagen con_twitter con_facebook con_cargo ori_cod emp_cod TIPOS Entero Caracter Caracter Caracter Caracter Caracter Caracter Caracter Entero Caracter Caracter Caracter Caracter Caracter Entero Entero LONGITUD 2.147.483.647 250 250 250 250 50 50 50 2.147.483.647 250 250 50 50 250 2.147.483.647 2.147.483.647 NULO No -------------No No LLAVE PK -------------FK FK DESCRIPCION Identificador Nombre Apellidos Dirección Fecha de Nacimiento Celular Teléfono Email Email recibidos Descripción Imagen Twitter Facebbok Cargo Cod OrigenContacto Cod Empresa

TABLA: DETALLE_EMAIL_CONTACTOS
ATRIBUTOS idm_cod con_email con_cod lmc_cod TIPOS Entero Caracter Entero Entero LONGITUD 2.147.483.647 50 2.147.483.647 2.147.483.647 NULO No -No No LLAVE PK -FK FK DESCRIPCION Identificador Email Cod. Contacto Cod. Lista_Email_Contactos

TABLA: DETALLE_EMAIL_EMPRESAS

ATRIBUTOS ide_cod emp_email emp_cod lmc_cod

TIPOS Entero Caracter Entero Entero

LONGITUD 2.147.483.647 50 2.147.483.647 2.147.483.647

NULO No -No No

LLAVE PK -FK FK

DESCRIPCION Identificador Email Cod. Empresa Cod. Lista_Email_Empresas

TABLA: EMPRESA

ATRIBUTOS emp_cod emp_nombre emp_web emp_telefono emp_direccion emp_descripcion

TIPOS Entero Caracter Caracter Caracter Caracter Caracter

LONGITUD 2.147.483.647 250 250 50 250 250

NULO No ------

LLAVE PK ------

DESCRIPCION Identificador Nombre Web de la empresa Teléfono Dirección Descripción

159

emp_nroempleados emp_email emp_fax emp_recibe_email emp_twitter emp_facebook act_cod

Entero Caracter Caracter Entero Caracter Caracter Entero

2.147.483.647 50 50 2.147.483.647 50 50 2.147.483.647

------No

------FK

Nro. De empleados Email Fax Email recibidos Twitter Facebbok Cod. Actividad

TABLA: ENVIO
ATRIBUTOS env_cod env_descripcion env_hora env_fecha env_total_objetivo env_total_abiertos usr_cod cam_cod est_cod can_cod lmc_cod lme_cod TIPOS Entero Caracter Caracter Caracter Entero Entero Entero Entero Entero Entero Entero Entero LONGITUD 2.147.483.647 250 250 250 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647 2.147.483.647 NULO No -----No No No No No No LLAVE PK -----FK FK FK FK FK FK DESCRIPCION Identificador Descripción Hora de envío Fecha de envío Objetivo total Total Leídos Cod. Usuario Cod. Campania Cod. EstdoEnvio Cod. CanalComunicacion Cod. Lista_Email_Contactos Cod. Lista_Email_Empresas

TABLA: ESTADOCAMPANIA
ATRIBUTOS est_cod est_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 250 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

TABLA: ESTADOCONTACTO
ATRIBUTOS est_cod est_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 200 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

TABLA: ESTADOENVIO
ATRIBUTOS est_cod est_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 250 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

TABLA: LISTA_EMAIL_CONTACTOS
ATRIBUTOS lmc_cod lmc_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 250 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

160

TABLA: LISTA_EMAIL_EMPRESAS
ATRIBUTOS lme_cod lme_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 250 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

TABLA: MENU
ATRIBUTOS men_cod men_nombre men_descripcion men_urlcorta mod_cod TIPOS Entero Caracter Caracter Caracter Entero LONGITUD 2.147.483.647 250 250 250 2.147.483.647 NULO No ---No LLAVE PK ---FK DESCRIPCION Identificador Nombre Descripción Dirección url Cod. Modulo

TABLA: MODULO
ATRIBUTOS mod_cod mod_nombre mod_descripcion mod_urlcorta TIPOS Entero Caracter Caracter Caracter LONGITUD 2.147.483.647 250 250 250 NULO No ---LLAVE PK ---DESCRIPCION Identificador Nombre Descripción Dirección url

TABLA: ORIGENCONTACTO
ATRIBUTOS ori_cod ori_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 200 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

TABLA: PERFIL
ATRIBUTOS per_cod per_nombre per_descripcion TIPOS Entero Caracter Caracter LONGITUD 2.147.483.647 250 250 NULO No --LLAVE PK --DESCRIPCION Identificador Nombre Descripción

TABLA: PLANTILLA
ATRIBUTOS pla_cod pla_nombre pla_estructura pla_nombre_archivo TIPOS Entero Caracter Texto Caracter LONGITUD 2.147.483.647 250 250 NULO No ---LLAVE PK ---DESCRIPCION Identificador Nombre Estructura Nombre de archivo

161

TABLA: PRECONTACTO
ATRIBUTOS pre_cod pre_nombre pre_apellidos pre_direccion pre_celular pre_telefono pre_email pre_fax pre_twitter pre_facebook pre_cargo est_cod ori_cod emp_cod TIPOS Entero Caracter Caracter Caracter Caracter Caracter Caracter Caracter Caracter Caracter Caracter Entero Entero Entero LONGITUD 2.147.483.647 250 250 250 50 50 50 50 50 50 250 2.147.483.647 2.147.483.647 2.147.483.647 NULO No ----------No No No LLAVE PK ----------FK FK FK DESCRIPCION Identificador Nombre Apellidos Dirección Celular Teléfono Email Fax Twitter Facebbok Cargo Cod. EstadoContacto Cod. OrigenContacto Cod. Empresa

TABLA: PRIVILEGIO
ATRIBUTOS pri_cod pri_fecha_ini pri_fecha_fin per_cod mod_cod TIPOS Entero Caracter Caracter Entero Entero LONGITUD 2.147.483.647 250 250 2.147.483.647 2.147.483.647 NULO No --No No LLAVE PK --FK FK DESCRIPCION Identificador Fecha inicial Fecha final Cod. Perfil Cod. Modulo

TABLA: ARCHIVO
ATRIBUTOS id_archivo categoría_archivo tipo_archivo nombre_archivo archivo_archivo extensión_archivo fecha_archivo TIPOS Entero Entero Caracter Caracter Caracter Caracter Date LONGITUD 2.147.483.647 2.147.483.647 11 255 255 255 NULO No ------LLAVE PK ------DESCRIPCION Identificador Categoria Tipo Nombre Archivo Extension Fecha

TABLA: CATEGORIAS
ATRIBUTOS Cat_id_cat nivel_cat parent_id_cat name_cat status_cat imagen_activa fecha_cat TIPOS Entero Entero Entero Caracter Entero Entero Date LONGITUD 2.147.483.647 2.147.483.647 2.147.483.647 255 2.147.483.647 2.147.483.647 250 NULO No ------LLAVE PK ------DESCRIPCION Identificador Nivel Parent Nombre Estado Imagen Activa Fecha

162

TABLA: TIPO
ATRIBUTOS tip_cod tip_descripcion TIPOS Entero Caracter LONGITUD 2.147.483.647 250 NULO No -LLAVE PK -DESCRIPCION Identificador Descripción

TABLA: USUARIO
ATRIBUTOS usr_cod usr_username usr_password usr_nombre usr_apellidos usr_direccion usr_email usr_telefono usr_ci per_cod TIPOS Entero Caracter Caracter Caracter Caracter Caracter Caracter Caracter Caracter Entero LONGITUD 2.147.483.647 250 250 250 250 250 250 100 100 2.147.483.647 NULO No --------No LLAVE PK --------FK DESCRIPCION Identificador Username Password Nombre Apellidos Dirección Email Teléfono C.I. Cod. Perfil

6.5.

DISEÑO DE NAVEGACIÓN

Una vez diseñada la arquitectura de la aplicación web, identificados los componentes, hemos definidos las rutas de navegación que permitirán al usuario acceder al contenido y a los servicios de la aplicación web. Para llevar a cabo el diseño se debe:  

Identificar la semántica de la navegación (USN) para los diferentes usuarios en el sitio. Definir la sintaxis para lograr la navegación.

Una unidad semántica de navegación se compone de un subconjunto de normas de navegación, una norma representa la mejor forma de navegación para que los usuarios logren sus objetivos o metas.

163

Unidad Semántica de navegación

pkg Diagrama de Nav egacion Paquetes Publicidad

Contactos

Env ios

Redes Sociales Home

Usuario

Home. Módulo de Navegación por Defecto (Index.php)

Configuración

Ilustración 116: Unidad Semántica de la Navegación

164

7. FLUJO DE TRABAJO: IMPLEMENTACION 7.1. HERRAMIENTAS Y PLATAFORMA DE DESARROLLO 7.1.1. LENGUAJE DE PROGRAMACION

El lenguaje elegido para la programación de la Aplicación Web es PHP. Esta elección se debe al conocimiento adquirido en materias anteriores acerca de este lenguaje, por ser multiplataforma, Open Source y no depender de una empresa, además por la posibilidad de interactuar con muchos motores de bases de datos.

7.1.2. BASE DE DATOS

La base de datos elegida es MySQL, debido a que es de Código Abierto (Open Source), ofrece muchas facilidades para su uso, además del manejo de los procedimientos almacenados, disparadores y amplia documentación al respecto. Algunas características son:   Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento. Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.    Facilidad de configuración e instalación. Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet

7.2.

ARQUITECTURA DE LA IMPLEMENTACION 7.2.1. MODELO DE IMPLEMENTACION

165

cmp Modelo de implementación Social CRM

Internet Explorer Mozilla Firefox Google Chrome Opera

«executable» Nav egador Web Módulo Publicidad «file» publicidad.php

Módulo Contactos

«file» contactos.php

«file» index.php Módulo Redes Sociales

Módulo Env io

«file» env ios.php

«file» sociales.php

Se conecta a la Basde de Datos MySQL mediante ADOdb

Conexion

«file» conexion.php «file» usuarios.php

Módulo Usuario

«file» adodb.inc.php

Ilustración 117: Modelo de Implementación

166

8. FLUJO DE TRABAJO: PRUEBA 8.1. PLAN DE PRUEBA La estrategia de prueba que se planifico en la “Aplicación Web para Gestionar Envíos de Campañas Publicitarias”, siguiendo el PUDS es básicamente realizar los principales casos de uso como caso de prueba. Se seguirán los siguientes pasos:     

Prototipo de la interfaz de prueba. Identificar las entradas. Resultados. Condiciones Procedimiento de prueba.

8.2.

MODELO DE PRUEBA En el modelo de prueba se describen algunos casos de prueba y procedimiento de prueba que se aplica a las páginas web del modelo de implementación. A continuación se describen los casos de uso principalmente sobre los que se realizan los casos de prueba.

167

8.2.1. METODO DE LA CAJA NEGRA  CASO DE USO 7: GESTIONAR CONTACTO

Ilustración 118: Modelo de Prueba Gestionar Contacto ENTRADA Nombre Apellidos Dirección Fecha de Nacimiento Celular Teléfono E-mail Dirección Facebook Dirección Twitter Empresa Cargo Origen de contacto Descripción Imagen del contacto 168

RESULTADO Los datos del proceso de la gestión de contactos son almacenados en la Base de Datos en la tabla Contactos. Retorna al formulario principal de contactos. Se visualiza el nuevo contacto en la tabla del formulario contactos.

-

CONDICIONES Los datos del contacto no pueden ser guardados mientras no se llenen por lo menos las entradas de nombre, apellidos, dirección. Para registrar un contacto debe de tener por lo menos una cuenta de correo E-mail. Debe escoger una opción del origen del contacto ósea el medio por donde obtenemos la información del contacto.

-

PROCEDIMIENTO DE PRUEBA Presionamos el botón Nuevo para registrar el nuevo contacto. La aplicación muestra el nuevo código, la lista de empresas y la lista de origen de contactos. El usuario registra los datos del contacto. Si pertenece a una empresa que no está registrada puede volver al menú principal y registrarlo para poder asignarle una empresa al contacto. Si se tiene una imagen del contacto puede ser adicionado a sus datos. Presionamos el botón Guardar. La aplicación verifica que estén llenos los campos mínimos de nombre, apellidos, dirección, email y los registra caso contrario retorna un mensaje. Visualizamos el nuevo contacto en el formulario principal de contactos. Para modificar los datos de un contacto presionamos el botón Editar y modificamos los datos y luego presionamos el botón actualizar. Para eliminar un contacto solo presionamos el botón Eliminar de la fila del contacto y se visualizara la nueva lista de contactos.

-

-

-

-

169

CASO DE USO 19: GESTIONAR ENVIO DE PUBLICIDAD

Ilustración 119: Modelo de Prueba Gestionar Envio

ENTRADA Descripción Canal de Comunicación Lista de Contactos en caso de Mailing Lista de Empresas en caso de Mailing Estado del envío Seleccionar Campaña

170

RESULTADO Los datos del envío de la campaña publicitaria son almacenadas en la Base de Datos en la tabla de Envío Retorna al formulario principal de Envíos. Se visualiza el nuevo envío el tabla del formulario principal de Envíos.

-

CONDICIONES Los descripción del envío debe ser llenada caso contrario no se registrara en la Base de Datos. En caso de Facebook, Twitter, Linkedin no se podrán seleccionar lista de contactos ni lista de empresas. En caso de Mailing se tendrá que seleccionar la lista de contactos y la lista de empresas a quienes se enviaran la campaña. Establecer el estado del envío como ser pendiente, cancelado, enviando. En caso de que la campaña tenga una plantilla se visualizara en la parte de abajo.

-

-

-

PROCEDIMINETO DE PRUEBA Presionamos el botón Nuevo para registrar un nuevo envío. La aplicación mostrara el nuevo código, la lista de los canales de comunicación, los estados del envío y la lista de las campañas. En caso de seleccionar Canal de Comunicación Mailing se habilitaran la lista de contactos y la lista de empresas. El usuario registra los datos del envío. Si no existe la campaña podrá registrarla volviendo al menú principal y Gestionar Campaña. Presionamos el botón Guardar. Visualizamos en el formulario principal de envíos en nuevo envío registrado y puede ser enviado o cancelado el envío. En caso de modificar el envío presionamos el botón editar y modificamos los datos del envío y presionamos actualizar en caso de eliminar solo presionamos Eliminar. 171

-

-

-

-

9. CONCLUSIONES Después de haber cumplido con el desarrollo de la Aplicación Web “Social CRM”, Se establece lo siguiente:

Durante el desarrollo del sistema se utilizo el Proceso Unificado de Desarrollo del Software (PUDS) y el Lenguaje Unificado de Modelado (UML) para la representación grafica de los distintos modelos obtenidos durante el proceso de desarrollo, obteniéndose de esta manera una forma estándar de representar los modelos que compone nuestro sistema.

Las características de los módulos del sistema Social CRM (Contactos, Publicidad, Envío, Social Media) han sido desarrolladas con una visión general, el cual puede ser integrado en cualquier Sistema CRM desarrollado bajo el Lenguaje de Programación PHP. Por medio de las API‟s (OAUTH API) proporcionados por estos sistemas se ha logrado establecer básicamente las conexiones con las Redes Sociales como: Twitter, Facebook, así mismo se realizado pruebas de publicaciones publicitarias mediante un Hosting gratuito 000Webhost, el cual nos permitió la realización, verificación y puesta en marcha de las publicaciones de nuestro sistema en Internet.

En vista de que gran parte de los objetivos trazados inicialmente se ha cumplido satisfactoriamente, se puede concluir que el Sistema Web Social CRM presenta

soluciones a los problemas presentados durante el proceso de fidelización de la relación con los clientes de la empresa y la falta de integración de los actuales sistemas CRM con las Redes Sociales.

172

10. RECOMENDACIONES

La realización del proyecto nos ha permitido adquirir conocimientos adicionales respecto al desarrollo Web como es el caso el uso de las APIs de las Redes Sociales.

Seguramente se encuentren opciones y detalles que son mejorables o que pueden añadirse a la funcionalidad del Sistema, pero esto lo dejamos como posibles aspectos y funcionalidades futuras. Entre ellas podemos mencionar:  

Establecer conexiones futuras con otras Redes Sociales, ya que básicamente se ha logrado establecer conexiones con Twitter y Facebook, principalmente. Establecer conexiones con los grupos de las Redes Sociales al Sistema Social CRM permitiendo así conversaciones en tiempo Real entre la empresa y los clientes.

  

Para el Módulo “Sociales” se puede agregar algunas funcionalidades como enviar mensaje a los contactos y replicar publicaciones. Funcionalidades extras para el Módulo de Envío como ser: publicar en todas las redes sociales y no solo en un canal de comunicación. Cualquier mejora respecto al sistema recomendamos utilizar los modelos originales, el cual le permitirá establecer cambios y mejoras a partir de una documentación consistente.

173

11. BIBLIOGRAFIA LIBROS Jacobson, Ivar, Grady Boochm James Rumbaugh. “EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE”, Estados Unidos: Pearson Education, 2000. BOCH G., RUMBAUGH J., JACOBSON I., Lenguaje Unificado de Modelado”, Addison/Wesley, 2000. PRESMAN R. “Ingenieria del Software un Enfoque Practico”, McGrawHill 2000. AECEM “Libro Blanco de Comercio Electrónico”, ©2009 Madrid 03/25/2011. Licencia Creative Commons – URL: http://www.libroblanco.aecem.org/ Libro Blanco Vol. 4 - Guía Práctica Email Marketing. Licencia IAB Spain – URL: http://www.iabspain.net/descargas/descarga.php?id=66 E-MARKETING: Conceptos de Marketing Aplicados a la Red. AUTOR: MAYORDOMO MENDO, JUAN LUIS CRM, Customer Relationship Management AUTOR: Walter Duer ISBN-10: 9875261254 Fecha Pub. 24/08/2004

PÁGINAS WEB (WWW- 01) ”Que es Marketing Viral”, Wikipedia, Kirby, Justin; Connected Marketing, ed Butterworth-Heineman - 2005, Última Modificacion: 12 jul 2011, a las 21:05.http://es.wikipedia.org/wiki/Marketing_viral (WWW- 02) “Correo Directo – Mailing”, Wikipedia, Osvaldo Giorgetti, Última Modificación: 23/10/2008 13:31, http://es.wikipedia.org/wiki/Mailing (WWW- 03) “CRM Customer Relationship Management”,Wikipedia, 03/30/2011,http://es.wikipedia.org/wiki/Customer_relationship_management (WWW - 04) OAuth (Open Authorization) Wikipedia, Tony Rotondas Última Publicación: 11 de Julio de 2011, a las 15:08 < http://es.wikipedia.org/wiki/OAuth> (WWW - 05) Redes Sociales (The Social Network.) Wikipedia, Andrea Tocabayo Última Publicación: 12 jul 2011, a las 16:32.http://es.wikipedia.org/wiki/Redes_sociales

174