informe final de taller de grado i - social crm
DESCRIPTION
Informe final de mi proyecto "Aplicación Web para Gestionar envíos de campañas publicitarias desde un enfoque de Social CRM" presentado en la materia de Taller de Grado I en la UAGRM en el SEM: 01 - 2011. Que les sea de utilidad!TRANSCRIPT
1
Universidad Autónoma Gabriel René Moreno
Facultad: CS. Exactas y Tecnología - Ingeniería Informática
Docente : Ing. Rolando Martínez Canedo Grupo : SA Alumnos : Luis Alberto Baigorria Rodas 200639080 Ciro Marcelo García Osinaga 200420232
SANTA CRUZ – BOLIVIA 29/07/2011
Aplicación Web para Gestionar Envíos de Campañas Publicitarias mediante un
enfoque de Social Media CRM.
Taller de Grado I Gestión 1 - 2011
2
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. WEB 2.0 ......................................................................................................................................... 18 2.2. SOCIAL MEDIA ............................................................................................................................... 20 2.3. MARKETING RELACIONAL .............................................................................................................. 20 2.4. GESTIÓN DE RELACIONES CON LOS CLIENTES (CRM). .................................................................... 23 2.5. CORREO ELECTRÓNICO .................................................................................................................. 26 2.6. E-MAIL MARKETING ....................................................................................................................... 26 2.7. OAUTH – OPEN AUTHORIZATION .................................................................................................. 27
3. 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
3
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. CONCLUSIONES ......................................................................................................................... 172
10. RECOMENDACIONES ............................................................................................................... 173
11. BIBLIOGRAFIA ........................................................................................................................... 174
4
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
5
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
6
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
7
CAPITULO I
PERFIL DEL PROYECTO
8
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.
9
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)
10
«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).
11
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.
12
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.
Identificar los elementos y factores que intervienen en el proceso de
envío 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.
13
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.
Realizar pruebas y validaciones necesarias en el sistema.
.
1.7. METODOLOGIA
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.
14
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.
15
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.
16
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.
17
CAPITULO II
TECNOLOGIA USADA EN EL DESARROLLO
DE LA APLICACION
18
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
19
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
20
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
21
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
22
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
23
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:
24
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.
25
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;
26
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 [email protected], 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
[email protected] 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
27
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).
2.7. OAUTH – OPEN AUTHORIZATION
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.
28
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.
29
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.
30
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">
31
<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
32
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
33
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;
}
34
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.
35
El objetivo principal de Ajax es acelerar estas interacciones entre el usuario y
una aplicación web al hacerlas asincrónicas y omitir la transmisión
redundante de datos.
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).
36
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
37
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
38
CAPITULO III
MODELO DE DESARROLLO
39
4. FLUJO DE TRABAJO: REQUERMIENTOS
4.1. MODELO DE DOMINIO
class Objetos del dominio inic...
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
Perfil
- per_cod: int
- per_nombre: String
- per_descripcion: String
Modulo
- mod_cod: int
- mod_nombre: String
- mod_descripcion: String
- mod_urlcorta: String
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
Contacto
- 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
OrigenContacto
- ori_cod: int
- ori_descripcion: String
Empresa
- 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
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
CanalComunicacion
- can_cod: int
- can_nombre: String
- can_descripcion: int
Env io
- env_cod: int
- env_descripion: String
- env_hora: String
- env_fecha: String
- env_total_objetivo: int
- env_abiertos: int
Lista_Email_Contactos
- lmc_cod: int
- lmc_descripcion: String
Lista_Email_Empresas
- lme_cod: int
- lme_descripcion: String
ConfiguracionSocial
- conf_cod: int
- conf_nombre: String
- conf_username: String
- conf_password: int
- conf_email: int
- conf_out: int
Priv ilegio
- pri_cod: int
- pri_fecha_ini: String
- pri_fecha_fin: String
Detalle_Email_Contactos
- idm_cod: intDetalle_Email_Empresas
- ide_cod: int0..*
1
1
0..*
1
1..*
0..* 1..*
0..* 1
1 0..*
0..*
1..*
1 1
1
1..*
1 1
1 1
1.. 1
0..*
1..*
0..* 1
Ilustración 7: Modelo de Dominio
40
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
Asistente Cliente
SMPT
Gestor de Publicidad
Ilustración 8: Escenario de Actores
41
GENERALIZACION DEL ACTOR USUARIO
uc Actores
Administrador
Usuario
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.
42
4.2.4. IDENTIFICAR CASOS DE USO Y PRIORIZAR
Prioridad Importante = 1, Prioridad Critica = 2, Prioridad Accesoria = 3
C.U. Nombre de C.U. Prioridad Descripción
C.U.1 Gestionar Usuarios 1 Aprobado
C.U.2 Gestionar Perfiles 1 Aprobado
C.U.3 Gestionar Privilegios 2 Aprobado
C.U.4 Ver Historial de Acceso 3 Aprobado
C.U.5 Gestionar Acceso al Sistema 1 Aprobado
C.U.6 Gestionar Pre-Contacto 2 Aprobado
C.U.7 Gestionar Contacto 2 Aprobado
C.U.8 Gestionar Empresas 2 Aprobado
C.U.9 Gestionar Lista de Contactos 3 Aprobado
C.U.10 Gestionar Lista de Empresas 3 Aprobado
C.U.11 Importar Contacto 3 Aprobado
C.U.12 Exportar Contacto 3 Aprobado
C.U.13 Gestionar Campaña de Publicidad 1 Aprobado
C.U.14 Listar Campañas de Publicidad 3 Aprobado
C.U.15 Gestionar Plantilla de Publicidad 2 Aprobado
C.U.16 Importar Plantilla de Publicidad 3 Aprobado
C.U.17 Exportar Plantilla de Publicidad 3 Aprobado
C.U.18 Gestionar Reglas de Envió 1 Aprobado
C.U.19 Gestionar Envió de Publicidad 1 Aprobado
C.U.20 Gestionar Configuración de Conexión Twitter 1 Aprobado
C.U.21 Gestionar Configuración de Conexión Facebook 1 Aprobado
C.U.22 Gestionar Configuración de Conexión Linkedin 3 Aprobado
43
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 Caso de Uso: GESTIONAR USUARIO
Propósito Guardar, Modificar, Eliminar, los datos de los usuarios de la
empresa.
Actores Administrador
Actor Iniciador Administrador
Pre Condición Gestionar Perfiles
Post Condición Gestionar Acceso al Sistema
Curso Básico o Acciones
44
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.
Curso
Alternativo o
Alterno
1. Existen campos que deben ser llenados “ingresar…”.
2. Seleccionar un Usuario de la lista.
3. Los datos del usuario no puede ser eliminado.
45
CASO DE USO 2: GESTIONAR PERFILES
uc Gestionar Perfiles
Administrador
(from Actores)
Gestionar Perfiles
Ilustración 11: Caso de Uso Gestionar Perfiles
CASO 2 Caso de Uso: Gestionar Perfiles
Propósito Guardar, Modificar y Eliminar los distintos Perfiles asociados
con la empresa.
Actores Administrador
Actor Iniciador Administrador
Pre Condición ……………..
Post Condición Gestionar Usuario.
Curso Básico o Acciones
46
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.
Curso Alternativo
o Alterno
1. Existen campos que deben ser llenados “ingresar…”.
2. Seleccionar un Perfil de la lista.
3. Los datos del Perfil no pueden ser eliminados.
47
CASO DE USO 3: GESTIONAR PRIVILEGIOS
uc Gestionar Priv ilegi...
Administrador
(from Actores)
Gestionar Priv ilegios
Ilustración 12: Caso de Uso Gestionar Privilegios
CASO 3 Caso de Uso: Gestionar Privilegios
Propósito Asignar, Modificar y Eliminar Privilegios a los distintos Perfiles de
la empresa.
Actores Administrador
Actor Iniciador Administrador
Pre Condición Gestionar Perfiles, Gestionar Usuarios.
Post Condición Gestionar el Acceso al Sistema.
Curso Básico o Acciones
48
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 o
Alterno
---
49
CASO DE USO 4: VER HISTORIAL DE ACCESO
uc Ver Historial de Acceso
Administrador
(from Actores)
Ver Historial de
Acceso
Ilustración 13: Caso de Uso Ver Historial de Acceso
CASO 4 Caso de Uso: Ver Historial de Acceso
Propósito Buscar y Visualizar el Historial de acceso a la Aplicación de todos
los Usuarios de la Empresa.
Actores Administrador
Actor Iniciador Administrador
Pre Condición Gestionar Acceso al Sistema.
Post Condición ---
Curso Básico o
Camino Básico
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
o Alterno
4. Existen campos que deben ser rellenados.
50
CASO DE USO 5: GESTIONAR ACCESO AL SISTEMA
uc Gestionar Acceso al Sistema
Usuario
(from Actores)
Gestionar Acceso al
Sistema
Ilustración 14: Caso de Uso Gestionar Acceso al Sistema
CASO 5 Caso de Uso: Gestionar Acceso al Sistema
Propósito Establecer el proceso de Inicio de Session y Cierre de Session del
Sistema.
Actores Usuario
Actor
Iniciador
Usuario
Pre Condición Que el sistema no esté iniciado.
Post Condición Inicializa el Sistema Social CRM
Curso Básico o Acciones
51
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 o
Alterno
3.3 El Sistema muestra el mensaje de Registro de Usuario.
3.4 Sale del Sistema.
52
CASO DE USO 6: GESTIONAR PRE-CONTACTO
uc Gestionar Pre-Contacto
Usuario
(from Actores)
Gestionar
Pre-Contacto
Cliente
(from Actores)
Ilustración 15: Caso de Uso Gestionar Pre-Contacto
CASO 6 Caso de Uso: Gestionar Pre-Contacto
Propósito Permitirá registrar, modificar, eliminar los diferentes pre-contactos
de la Empresa. Son candidatos a ser contactos.
Actores Administrador, Asistente, Gestor de Publicidad, Cliente
Actor
Iniciador
Cliente
Pre Condición …………
Post Condición Listar Pre-Contactos.
Curso Básico o Acciones
53
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 o
Alterno
1. Existen campos que deben ser llenados.
2. Escoja uno de la lista.
3. Los datos del Perfil no pueden ser eliminados.
54
CASO DE USO 7: GESTIONAR CONTACTO
uc Gestionar Contacto
Usuario
(from Actores)
Gestionar Contacto
Cliente
(from Actores)
Ilustración 16: Caso de Uso Gestionar Contacto
CASO 7 Caso de Uso: Gestionar Contacto
Propósito Permitirá registra, modifica y eliminar todos los datos del Cliente de
la empresa.
Actores Administrador, Asistente, Gestor de Publicidad, Cliente.
Actor
Iniciador
Cliente.
Pre Condición ------
Post Condición Listar Contactos de la Empresa
Curso Básico o Acciones
55
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 o
Alterno
1. Existen campos que deben ser llenados.
2. Escoja uno de la lista.
3. Los datos del Perfil no pueden ser eliminados.
56
CASO DE USO 8: GESTIONAR EMPRESAS
uc Gestionar Empresas
Usuario
(from Actores)
Gestionar Empresas
Cliente
(from Actores)
Ilustración 17: Caso de Uso Gestionar Empresas
CASO 8 Caso de Uso: Gestionar Empresas
Propósito Registrar, Modificar y Eliminar los datos de las empresas en el
Sistema.
Actores Administrador, Asistente, Gestor de Publicidad, Cliente.
Actor Iniciador Cliente.
Pre Condición …………
Post Condición Listar Empresas. Se visualizará una lista de las Empresas registrados
en el Sistema.
Curso Básico o Acciones
57
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 o
Alterno
1. Existen campos que deben ser llenados.
2. Escoja uno de la lista.
3. Los datos de la empresa no pueden ser eliminados.
58
CASO DE USO 9: GESTIONAR LISTA DE CONTACTOS
uc Gestionar Lista de Contactos
Usuario
(from Actores)
Gestionar Lista de
Contactos
Ilustración 18: Caso de Uso Gestionar Lista de Contactos
CASO 9 Caso de Uso: Gestionar Lista de Contactos
Propósito 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 Administrador, Asistente, Gestor de Publicidad.
Actor Iniciador Administrador, Asistente, Gestor de Publicidad.
Pre Condición Gestionar Contacto
Curso Básico o Acciones
59
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
Alterno
2.1: Si la nueva lista a crear no tiene los datos solicitados, se
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
60
uc Gestionar Lista de Empresas
Usuario
(from Actores)
Gestionar Lista de
Empresas
Ilustración 19: Caso de Uso Gestionar Lista de Empresas
CASO 10 Caso de Uso: Gestionar Lista de Empresas
Propósito 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 Administrador, Asistente, Gestor de Publicidad.
Actor Iniciador Administrador, Asistente, Gestor de Publicidad.
Pre Condición Gestionar Empresas.
Post Condición Gestión de Envío de Publicidad.
Curso Básico o Acciones
61
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
o Alterno
2.1: Si la nueva lista a crear no tiene los datos solicitados, se
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.
62
CASO DE USO 11: IMPORTAR CONTACTO
uc Importar Contactos
Usuario
(from Actores)
Importar Contactos
Ilustración 20: Caso de Uso Importar Contacto
CASO 11 Caso de Uso: Importar Contactos
Propósito Permitirá realizar el proceso de importación de nuevos contactos
mediante archivos de texto plano, presentando el formato
adecuado para el sistema.
Actores Administrador, Asistente, Gestor de Publicidad.
Actor Iniciador Administrador, Asistente, Gestor de Publicidad.
Pre Condición Gestionar Importacion
Post Condición Listar Contactos.
Curso Básico o Acciones
63
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 o
Alterno
2 – Proceso de lectura del archivo. No es un archivo con el
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
Usuario
(from Actores)
Exportar Contactos
Ilustración 21: Caso de Uso Exportar Contactos
64
CASO 12 Caso de Uso: Exportar Contactos
Propósito Permitirá realizar el proceso de exportación de los contactos en
archivos de texto plano.
Actores Administrador, Asistente, Gestor de Publicidad.
Actor Iniciador Administrador, Asistente, Gestor de Publicidad.
Pre Condición Gestionar Importación
Post Condición ……………….
Curso Básico o
Camino Básico
Acciones
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 ---
Curso Alternativo
o Alterno
2 – No se ha seleccionado a contactos para realizar la exportación.
3 – Mensaje Exitoso u Mensaje de Error.
65
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 Caso de Uso: Gestionar Campaña de Publicidad
Propósito Este caso de uso permitirá crear, modificar y eliminar Campañas
de publicidad en el sistema.
Actores Administrador, Gestor de Publicidad.
Actor Iniciador Gestor de Publicidad.
Pre Condición ……………..
Post Condición Listar Campaña De Publicidad, Gestionar Envío de Publicidad
Curso Básico o Acciones
66
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.
67
CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD
uc Listar Campañas de Publicidad
Usuario
(from Actores)
Listar Campañas de
Publicidad
Ilustración 23: Caso de Uso Listar Campañas de Publicidad
CASO 14 Caso de Uso: Listar Campañas de Publicidad
Propósito Permitirá listar todas las Campañas de publicidad existentes en la
base de datos, de acuerdo a los parámetros correspondientes.
Actores Administrador, Gestor de Campañas.
Actor Iniciador Gestor de Publicidad.
Pre Condición Gestionar Campañas.
Post Condición Gestionar Envío de Publicidad.
Curso Básico o
Camino Básico
Acciones
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
o Alterno
1 – Los parámetros para realizar el listar Campañas de Publicidad
no son los solicitados por el formulario.
68
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 Caso de Uso: Gestionar Plantilla de Publicidad
Propósito Permitirá gestionar nuevas Plantillas de Publicidad. Cada
plantilla de publicidad será un documento HTML previamente
estructurado con código HTML.
Actores Administrador, Usuario
Actor Iniciador Administrador
Pre Condición ……………..
Post Condición ……………..
Curso Básico o Acciones del Actor
69
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
70
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 Caso de Uso: Importar Plantilla de Publicidad
Propósito Importar las plantillas prediseñadas para el envío de la
publicidad.
Actores Administrador, Usuario
Actor iniciador Administrador, Gestionar Plantilla
Pre Condición Gestionar Plantilla de Publicidad.
Post Condición --------
Flujo 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
71
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 Caso de Uso: Exportar Plantilla de Publicidad
Propósito Exportar las plantillas prediseñadas para el envío de la
publicidad.
Actores Administrador, Usuario
Actor iniciador Administrador, Gestionar Plantilla
Pre Condición Gestionar Plantilla de Publicidad.
Post Condición --------
Flujo 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
72
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 Caso de Uso: Gestionar Reglas de Envío
Propósito Permitirá asignar reglas de envío al momento de Gestionar los
envíos de las campanias publicitaria.
Actores Gestor de Envió, Usuario
Actor Iniciador Gestor de Envío
Pre Condición Gestionar Publicidad
Post Condición Gestionar Envío de Publicidad.
Curso Básico o
Camino Básico
Acciones
Referencia ---
Curso
Alternativo o
Alterno
---
73
CASO DE USO 19: GESTIONAR ENVIO DE PUBLICIDAD
uc Gestionar Env io de Publicid...
Usuario
(from Actores)
Gestionar Env io de
Publicidad
Ilustración 28: Caso de Uso Gestionar Envío de Publicidad
CASO 19 Caso de Uso: Gestionar Envío de Publicidad
Propósito Permitirá Registrar, Modificar, Eliminar y Realizar los diferentes
Envíos de Publicidad.
Actores Gestor de Publicidad.
Actor Iniciador Gestor de Publicidad.
Pre Condición Gestionar Campañas de Publicidad.
Post Condición ………….
Curso Básico o Acciones
74
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
---
75
CASO DE USO 20: GESTIONAR CONFIGURACION DE
CONEXIÓN TWITTER
uc Gestionar Configuracion de Conexion Twitter
Gestionar
Configuracion de
Conexion Twitter
Gestor de Publicidad
(from Actores)
Ilustración 29: Caso de Uso Gestionar Configuración de Conexión Twitter
CASO 20 Caso de Uso: Gestionar Configuración de Conexión Twitter
Propósito Establecer la Configuración de Conexión con la Red Social Twitter.
Actores Administrador, Usuario.
Actor Iniciador Administrador
Pre Condición Gestionar Configuración de Conexión de Red Social.
Post Condición ………….
Curso Básico o
Camino Básico
Acciones
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 ---
76
Alternativo o
Alterno
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 Caso de Uso: Gestionar Configuración de Conexión Facebook
Propósito Establecer la Configuración de Conexión con la Red Social
Facebook.
Actores Administrador, Usuario.
Actor Iniciador Administrador
Pre Condición Gestionar Configuración de Conexión de Red Social.
Post Condición ………….
Curso Básico o Acciones
77
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 o
Alterno
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 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
78
CASO 23 Caso de Uso: Gestionar Configuración de Conexión Linkedin
Propósito Establecer la Configuración de Conexión con la Red Social
Linkedin.
Actores Administrador, Usuario.
Actor Iniciador Administrador
Pre Condición Gestionar Configuración de Conexión de Red Social.
Post Condición ………….
Curso Básico o
Camino Básico
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.
Referencia ---
Curso Alternativo
o Alterno
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.
79
4.3. DIAGRAMA GENERAL DE CASOS DE USO
uc Diagrama General de Casos De Uso
Administrador
(from Actores)
Asistente
(from Actores)
Gestor de Publicidad
(from Actores)
Cliente
(from Actores)
SMPT
(from Actores)
(from Modulo Usuario)
Gestionar Usuario
(from Modulo Usuario)
Gestionar Perfiles
(from Modulo Usuario)
Gestionar Priv ilegios
(from Modulo Usuario)
Gestionar Acceso al
Sistema (from Modulo Usuario)
Ver Historial de
Acceso
(from Modulo Contactos)
Gestionar
Pre-Contacto
Usuario
(from Actores)
(from Modulo Contactos)
Gestionar Contacto
(from Modulo Contactos)
Gestionar Empresas
(from Modulo Contactos)
Gestionar Lista de
Contactos
(from Modulo Contactos)
Gestionar Lista de
Empresas
(from Modulo Contactos)
Importar Contactos
(from Modulo Contactos)
Exportar Contactos
(from Modulo Publicidad)
Gestionar Campaña de
Publicidad
(from Modulo Publicidad)
Listar Campañas de
Publicidad
(from Modulo Publicidad)
Gestionar Plantilla de
Publicidad
(from Modulo Publicidad)
Importar Plantiila de
Publicidad
(from Modulo Publicidad)
Exportar Plantilla de
Publicidad
(from Modulo de Envio)
Gestionar Env io de
Publicidad
(from Modulo de Envio)
Gestionar Reglas de
Env io
(from Modulo Redes Sociales)
Gestionar
Configuracion de
Conexion Facebook
(from Modulo Redes Sociales)
Gestionar
Configuracion de
Conexion Linkedin
(from Modulo Redes Sociales)
Gestionar
Configuracion de
Conexion Twitter
(from Modulo Redes Sociales)
Gestionar
Configuracion de
Redes Sociales
Ilustración 32: Diagrama General de Casos de Uso
80
5. FLUJO DE TRABAJO: ANALISIS
5.1. ANALISIS DE LA ARQUITECTURA
5.1.1. IDENTIFICACION DE PAQUETES
pkg Diagrama de Paquetes
Modulo Usuario Modulo ContactosModulo Publicidad
Modulo Env ioModulo 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.
81
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.
82
5.1.2. IDENTIFICACION DE CASOS DE USO EN CADA PAQUETE
PAQUETE: Administración de Acceso y Usuario
uc Módulo de Usuario
Módulo de Usuario
(from Modelo de casos de uso)
(from Modulo Usuario)
Gestionar Acceso al
Sistema
(from Modulo Usuario)
Gestionar Perfiles
(from Modulo Usuario)
Gestionar Priv ilegios
(from Modulo Usuario)
Gestionar Usuario
(from Modulo Usuario)
Ver Historial de
Acceso
«trace»
«trace»
«trace»
«trace»
«trace»
Ilustración 34: Paquete Administración de Acceso y Usuario
PAQUETE: Administración de Contactos.
83
uc Módulo de Contactos
Módulo de Contactos
(from Modelo de casos de uso)
(from Modulo Contactos)
Gestionar Contacto
(from Modulo Contactos)
Gestionar
Pre-Contacto
(from Modulo Contactos)
Gestionar Empresas
(from Modulo Contactos)
Gestionar Lista de
Contactos
(from Modulo Contactos)
Gestionar Lista de
Empresas
(from Modulo Contactos)
Importar Contactos
(from Modulo Contactos)
Exportar Contactos
«trace»
«trace»
«trace»
«trace»
«trace»
«trace»
«trace»
Ilustración 35: Paquete Administración de Contactos
PAQUETE: Administración de Publicidad
84
uc Módulo Publicidad
Módulo Publicidad
(from Modelo de casos de uso)
(from Modulo Publicidad)
Gestionar Campaña
de Publicidad
(from Modulo Publicidad)
Gestionar Plantilla de
Publicidad
(from Modulo Publicidad)
Importar Plantiila de
Publicidad
(from Modulo Publicidad)
Listar Campañas de
Publicidad
(from Modulo Publicidad)
Exportar Plantilla de
Publicidad
«trace»
«trace»
«trace»
«trace»
«trace»
Ilustración 36: Paquete Administración de Publicidad
PAQUETE: Administración de Envíos
uc Módulo de Env io
Módulo de Env io
(from Modelo de casos de uso)
(from Modulo de Envio)
Gestionar Env io de
Publicidad
(from Modulo de Envio)
Gestionar Reglas de
Env io
«trace»
«trace»
Ilustración 37: Paquete Administración de Envíos
85
PAQUETE: Administración de Conexiones con Redes Sociales
uc Módulo Redes Social...
Módulo Redes Sociales
(from Modelo de casos de uso)
(from Modulo Redes Sociales)
Gestionar Configuracion de
Conexion Facebook
(from Modulo Redes Sociales)
Gestionar Configuracion de
Conexion Linkedin
(from Modulo Redes Sociales)
Gestionar Configuracion de
Conexion Twitter
«trace»
«trace»
«trace»
Ilustración 38: Paquete Administración de Conexiones con Redes Sociales
86
5.2. ANALIZAR CASOS DE USO
5.2.1. DIAGRAMAS DE COMUNICACION
CASO DE USO 1: GESTIONAR USUARIO
sd Gestionar Usuarios
FrmUsuarios GUsuario Usuario
Administrador
(from Actores)
GPerfil Perfi l
1: Nuevo()
1.1: Nuevo()
1.2: Nuevo()1.3: ObtenerPerfiles()
1.4: SeleccionarPerfi les()1.5: Seleccionar()2: Guardar()
2.1: Guardar(datos)
2.2: Obtener(nombre)2.3: Obtener()
2.4: Guardar()
3: Modificar()
3.1: Modificar(datos)
3.2: Obtener(nombre) 3.3: Obtener()
3.4: Modificar()
4: Buscar()
4.1: Buscar(datos)4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo) 5.2: Eliminar()
Ilustración 39: Diagrama de Comunicación Gestionar Usuario
CASO DE USO 2: GESTIONAR PERFILES
87
sd Gestionar Perfiles
Frmperfiles GPerfil Perfil
Administrador
(from Actores)
1: Nuevo()
1.1: Nuevo() 1.2: Nuevo()
2: Guardar()
2.1: Guardar(datos) 2.2: Guardar()
3: Modificar()
3.1: Modificar(datos) 3.2: Modificar()
4: Buscar()
4.1: Buscar(datos) 4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo) 5.2: Eliminar()
Ilustración 40: Diagrama de Comunicación Gestionar Perfiles
CASO DE USO 3: GESTIONAR PRIVILEGIOS
sd Gestionar Priv ilegios
FrmprivilegioPrivilegio
GPerfil Perfi l
GModulo Modulo
GPrivilegio
Administrador
(from Actores)
1: Nuevo()
1.1: SeleccionarPerfi les() 1.2: SeleccionarPerfi les()
1.3: Seleccionar()
1.4: SeleccionarModulos()
1.5: SeleccionarModulos()
1.6: Seleccionar()2: Gurdar()
2.1: ObtenerPerfil(nombre)2.2: Obtener(nombre)
2.3: Obtener()
2.4: ObtenerModulo(nombre)
2.5: Obtener(nombre)
2.6: Obtener()
2.7: Guardar(datos) 2.8: Guardar()
Ilustración 41: Diagrama de Comunicación Gestionar Privilegios
88
CASO DE USO 4: VER HISTORIAL DE ACCESO
sd Ver Historial de Acceso
FrmhistorialaccesoGBitacora
BitacoraUsuario GUsuario
Administrador
(from Actores)
1: VerHistorialAcceso()
1.1: VerHistorial(codigouser)
1.2: Obtener(nombre)
1.3: Obtener()
1.4: MostarHistorial(idusr)
1.5: Seleccionar()
Ilustración 42: Diagrama de Comunicación Ver Historial de Acceso
CASOS DE USO 5: GESTIONAR ACCESO AL SISTEMA
sd Gestionar Acceso al Sistema
Frminiciosession
Usuario
GSession
GUsuario
Usuario
(from Actores)
GModulo
Modulo
Menu
1: Iniciar_Sesion()
1.1: iniciar_sesion(datos)1.2: Obtener(codigo)
1.3: Obtener()
1.4: Seleccionar(codigo) 1.5: Seleccionar()
1.6: Seleccionar()
Ilustración 43: Diagrama de Comunicación Gestionar Acceso al Sistema
89
CASO DE USO 6: GESTIONAR PRE-CONTACTO
sd Gestionar PreContacto
Frmprecontactos GPrecontacto
GEstadocontacto
Gorigencontacto
GEmpresa
Precontacto
Origencontacto
Empresa
Estadocontacto
Usuario
(from Actores)
1: Nuevo()
1.1: Nuevo()
1.2: Nuevo()
1.3: Obtenerorigencontactos()1.4: Seleccionar()
1.5: Seleccionar()
1.6: Obtenerempresas()
1.7: Seleccionar()
1.8: Seleccionar()
1.9: Obtenerestadocontactos()
1.10: Seleccionar()
1.11: Seleccionar()2: Guardar()
2.1: Guardar(datos)
2.2: Obtener(nombre)
2.3: Obtener()
2.4: Obtener(nombre)
2.5: Obtener()
2.6: Obtener(nombre)
2.7: Obtener()
2.8: Guardar()
3: Modificar()
3.1: Modificar(datos)
3.2: Obtener(nombre)
3.3: Obtener()
3.4: Obtener(nombre)
3.5: Obtener()
3.6: Obtener(nombre)
3.7: Obtener()
3.8: Modificar()
4: Buscar()
4.1: Buscar(datos)
4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)5.2: Eliminar()
Ilustración 44: Diagrama de Comunicación Gestionar Pre-Contacto
CASO DE USO 7: GESTIONAR CONTACTO
sd Gestionar PreContacto
Frmprecontactos GPrecontacto
GEstadocontacto
Gorigencontacto
GEmpresa
Precontacto
Origencontacto
Empresa
Estadocontacto
Usuario
(from Actores)
1: Nuevo()
1.1: Nuevo()
1.2: Nuevo()
1.3: Obtenerorigencontactos()1.4: Seleccionar()
1.5: Seleccionar()
1.6: Obtenerempresas()
1.7: Seleccionar()
1.8: Seleccionar()
1.9: Obtenerestadocontactos()
1.10: Seleccionar()
1.11: Seleccionar()2: Guardar()
2.1: Guardar(datos)
2.2: Obtener(nombre)
2.3: Obtener()
2.4: Obtener(nombre)
2.5: Obtener()
2.6: Obtener(nombre)
2.7: Obtener()
2.8: Guardar()
3: Modificar()
3.1: Modificar(datos)
3.2: Obtener(nombre)
3.3: Obtener()
3.4: Obtener(nombre)
3.5: Obtener()
3.6: Obtener(nombre)
3.7: Obtener()
3.8: Modificar()
4: Buscar()
4.1: Buscar(datos)
4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)5.2: Eliminar()
Ilustración 45: Diagrama de Comunicación Gestionar Contacto
90
CASO DE USO 8: GESTIONAR EMPRESAS
sd Gestionar Empresa
GEmpresaFrmempresaEmpresa
GActividad Actividad
Usuario
(from Actores)
1: Nuevo()
1.1: Nuevo()1.2: Nuevo()
1.3: Obteneractividades()
1.4: Seleccionar()
1.5: Seleccionar()
2: Guardar()
2.1: Guardar(datos)
2.2: Obtener(nombre)
2.3: Obtener()
2.4: Guardar()
3: Modificar()
3.1: Modificar(datos)
3.2: Obtener(nombre)
3.3: Obtener()
3.4: Gurdar()
4: Buscar()
4.1: Buscar(datos)
4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)
5.2: Eliminar()
Ilustración 46: Diagrama de Comunicación Gestionar Empresas
CASO DE USO 9: GESTIONAR LISTA CONTACTO
sd Gestionar Lista de Contactos
GListacontactosFrmlistacontactos Listaemailcontacto
Usuario
(from Actores)
GContactoContacto
Detallemailcontactos
1: Nuevo()
1.1: Nuevo()
1.2: Nuevo()1.3: Seleccionarcontactos()
1.4: Seleccionar()
1.5: Seleccionar()
2: Gurdar()
2.1: Guardar(datos)
2.2: Obtener(nombre)
2.3: Obtener()
2.4: Gurdar()
2.5: Guardar()
3: Modificar()
3.1: Modificar(datos) 3.2: Modificar()
4: Buscar()
4.1: Buscar(datos) 4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)
5.2: Eliminar()
5.3: Eliminar()
Ilustración 47: Diagrama de Comunicación Gestionar Lista Contacto
91
CASO DE USO 10: GESTIONAR LISTA EMPRESA
sd Gestionar Lista de Contactos
GListacontactosFrmlistacontactos Listaemailcontacto
Usuario
(from Actores)
GContactoContacto
Detallemailcontactos
1: Nuevo()
1.1: Nuevo()
1.2: Nuevo()1.3: Seleccionarcontactos()
1.4: Seleccionar()
1.5: Seleccionar()
2: Gurdar()
2.1: Guardar(datos)
2.2: Obtener(nombre)
2.3: Obtener()
2.4: Gurdar()
2.5: Guardar()
3: Modificar()
3.1: Modificar(datos)
4: Buscar()
4.1: Buscar(datos)
3.2: Modificar()
4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)
5.2: Eliminar()
5.3: Eliminar()
Ilustración 48: Diagrama de Comunicación Gestionar Lista Empresa
CASO DE USO 11: IMPORTAR CONTACTO
sd Exportar Contacto
Frmcontactos GContacto
Archivo
Contacto
Usuario
(from Actores)
1: Emportar()
1.1: Exportarcontactos()1.2: Seleccionar()
1.3: GenerarExportacion()
2: Importar()
2.1: Importarcontactos(fi lename)
2.2: GenerarImportacion()
2.3: Guardar()
Ilustración 49: Diagrama de Comunicación Importar Contacto
92
CASO DE USO 12: EXPORTAR CONTACTO
sd Exportar Contacto
Frmcontactos GContacto
Archivo
Contacto
Usuario
(from Actores)
1: Emportar()
1.1: Exportarcontactos()1.2: Seleccionar()
1.3: GenerarExportacion()
2: Importar()
2.1: Importarcontactos(fi lename)
2.2: GenerarImportacion()
2.3: Guardar()
Ilustración 50: Diagrama de Comunicación Exportar Contacto
CASO DE USO 13: GESTIONAR CAMPAÑA DE PUBLICIDAD
sd Gestionar Campaña de Publicidad
GCampania
CampaniaFrmcampania
GUsuarioUsuario
GTipo Tipo
GEstadocampaniaEstadocampania
GPlantil la Plantil la
Administrador
(from Actores)
1: Nuevo()
1.1: Nuevo()
1.2: Nuevo()
1.3: Obtenertipos()
1.4: Seleccionartipos()
1.5: Seleccionar()
1.6: Obtenerestadocampanias()
1.7: Seleccionarestados()
1.8: Seleccionar()
1.9: Obtenerplantil las()
1.10: Seleccionarplantil las()
1.11: Seleccionar()
1.12: Obtenercreador()
1.13: Obtener(codigo)
1.14: Obtener()
2: Guardar()
2.1: Guardar(datos)
2.2: Obtener(username)
2.3: Obtener()
2.4: Obtener(nombre)
2.5: Obtener()
2.6: Obtener(nombre)
2.7: Obtener()
2.8: Obtener(codigo)
2.9: Obtener()
2.10: Guardar()
3: Modificar()
3.1: Modificar(datos)
3.2: Obtener(username)
3.3: Obtener()
3.4: Obtener(nombre)
3.5: Obtener()
3.6: Obtener(nombre)
3.7: Obtener()
3.8: Obtener(codigo)
3.9: Obtener()
3.10: Moficar()
4: Buscar()
4.1: Buscar(datos)
4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)5.2: Eliminar()
Ilustración 51: Diagrama de Comunicación Gestionar Campañas de Publicidad
93
CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD
sd Listar Campaña de Publicidad
Frmcampanias GCampania Campania
Usuario
(from Actores)
1: Listar()
1.1: Listarcampanias()1.2: Seleccionar()
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
Frmplantil las GPlantil la Plantil la
Archivo
Usuario
(from Actores)
1: Nuevo()
1.1: Nuevo() 1.2: Nuevo()
2: Guardar()
2.1: Guardar(datos)
2.2: Importardisenio()
2.3: Guardar()
3: Modificar()
3.1: Modificar(datos)
3.2: Obtenerdisenio()
3.3: Modificar()
4: Buscar()
4.1: Buscar(datos) 4.2: Buscar()
5: Eliminar()
5.1: Eliminar(codigo)
Ilustración 53: Diagrama de Comunicación Gestionar Plantilla de Publicidad
94
CASO DE USO 16: IMPORTAR PLANTILLA DE PUBLICIDAD
sd Importar Plantilla de Publicidad
Frmplantil laGPlantil la Plantil la
Archivo
Administrador
(from Actores)
1: Importar()
1.1: Importarplantil la(pathfile)
1.2: Generarimportacion(pathfilename)
1.3: Guardar()
2: Exporatar()
2.1: Exportarplantil la(pathfile) 2.2: Obtener(codigo)
2.3: Generarexportacion(pathfile)
Ilustración 54: Diagrama de Comunicación Importar Plantilla de Publicidad
CASO DE USO 17: EXPORTAR PLANTILLA DE PUBLICIDAD
sd Importar Plantilla de Publicidad
Frmplantil laGPlantil la Plantil la
Archivo
Administrador
(from Actores)
1: Importar()
1.1: Importarplantil la(pathfile)
1.2: Generarimportacion(pathfilename)
1.3: Guardar()
2: Exporatar()
2.1: Exportarplantil la(pathfile) 2.2: Obtener(codigo)
2.3: Generarexportacion(pathfile)
Ilustración 55: Diagrama de Comunicación Exportar Plantilla de Publicidad
95
CASO DE USO 18: GESTIONAR REGLAS DE ENVÍO
sd Gestionar Reglas de Env io
FrmenviosGRegla Regla
Usuario
(from Actores)
1: Nuevo()
1.1: Nuevo()1.2: Nuevo()
2: Guardar()
2.1: Guardar(datos)2.2: Gudardar()
3: Eliminar()
3.1: Eliminar(codigo)3.2: Eliminar()
Ilustración 56: Diagrama de Comunicación Gestionar Reglas de Envío.
96
CASO DE USO 19: GESTIONAR ENVIO DE PUBLIIDAD
sd Gestionar Env ío de Publicidad
FrmenviosGEnvio Envio
Usuario
(from Actores)
GEstadoenvioEstadoenvio
GCanalcomunicacionCanalcomunicacion
GCampania
Campania
GListacontactosListacontactos
GListaempresas Listaempresas
1: Nuevo()
1.1: Nuevo() 1.2: nuevo()
1.3: Obtenerestadoenvio()
1.4: Seleccionar()
1.5: Obtenercanales()
1.6: Seleccionar()
1.7: Obtenercampanias()
1.8: Seleccionar()
1.9: Obtenerlistacontactos()
1.10: Seleccionar()1.11: Obtenerlistaempresas()
1.12: Seleccionar()
2: Guardar()
2.1: Guardar(Datos)
2.2: Obtenercodigo(nombre)
2.3: Obtener()
2.4: ObtenerCodigo(nombre)
2.5: Obtener()
2.6: Obtenercodigo(nombre)
2.7: Obtener()
2.8: Obtenercodigo(nombre)
2.9: Obtener()2.10: Obtenercodigo(nombre)
2.11: Obtener()
2.12: Guardar()
3: Modificar()
3.1: Modificar(Datos)
3.2: Obtenercodigo(nombre)
3.3: Obtener()
3.4: Obtenercodigo(nombre)
3.5: Obtener()
3.6: Obtenercodigo(nombre)
3.7: Obtener()
3.8: Obtenercodigo(nombre)
3.9: Obtener()3.10: Obtenercodigo(nombre)
3.11: Obtener()
3.12: Modificar()4: Eliminar()
4.1: Eliminar(codigo)
4.2: Eliminar()
Ilustración 57: Diagrama de Comunicación Gestionar Envío de Publicidad
97
CASO DE USO 20: GESTIONAR CONEXIÓN TWITTER
sd Gestionar Configuración de Conexión Twitter
Frmtwitter GConfiguracion Configuracion
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';
1: Adicionar()
1.1: AddTwitter(datos)
1.2: GetAutoritationURL(datos)
1.3: GetAutoritationURL(tokens_key)
1.4: Confirmar()
1.5: Guardar()
2: Eliminar()
2.1: Eliminar(codigo)
2.2: Eliminar()
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
Frmfacebook GConfiguracionConfiguracion
Usuario
(from Actores)
Facebook Facebook
Graph API de Facebook. 2.1.2.
Datos de retorno a util izar:
(facebook_id, access_tokens).
Por medio de esta clase hacemos
referencia a
toda la Base de datos de la Red
Social Facebook!
1: Adicionar(APP_ID, keysecret)
1.1: AddFacebook(APP_ID, keysecret)
1.2: Get_access_token(APP_ID, keysecret)
1.3: getSignedRequest()
1.4: Obtener_Access_token()
1.5: Confirmar(facebook_id, access_token) 1.6: Guardar(facebook_id, access_token)
2: Eliminar()
2.1: EliminarDatosConfiguracion(codigo) 2.2: Eliminar()
Ilustración 59: Diagrama de Comunicación Gestionar Conexión Facebook.
98
CASO DE USO 22: GESTIONAR CONEXIÓN LINKEDIN
sd Gestionar Configuración de Conexión Linkedin
FrmLinkedin GConfiguracion Configuracion
Administrador
(from Actores)
Linkedin.php
1: Adicionar(username,password)
1.1: AddLinkedin(username, password)
1.2: getTokenAccess(access_tokens)
1.3: getTokenAccess(access_tokens)
1.4: Confirmar(linked_id, access_tokens)1.5: Guardar(l inked_id, access_tokens)
2: Eliminar()
2.1: Eliminar(codigo) 2.2: Eliminar()
Ilustración 60: Diagrama de Comunicación Gestionar Conexión Linkedin
99
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...
Usuario
(from Actores)
SOCIAL CRM
Modulo Publicidad
Módulo Contactos
Módulo Env io
Módulo Redes Sociales
Aplicación Web para la Gestión
de Envíos de Campañas
Publicitarias bajo el enfoque
Social Media CRM
Modulo Usuario
Cliente
(from Actores)
SMTP
(from Actores)
«flow»
Ilustración 61: Vista de Paquetes con Usuarios
100
6.1.2. VISTAS Y ANALISIS DE PAQUETES
pkg UDiagrama Nav egacion
Contactos
Redes Sociales
Publicidad
Env ios
Usuario
Ilustración 62: Vistas y Análisis de Paquetes
101
6.1.3. MODELO DE DESPLIEGUE
Ilustración 63: Modelo de Despliegue
102
6.1.4. ORGANIZACIÓN POR CAPAS
Ilustración 64: Organización por Capas
103
6.2. DISEÑAR CASOS DE USO
6.2.1. DIAGRAMAS DE SECUENCIA
CASO DE USO 1: GESTIONAR USUARIO
sd Gestionar Usuario
«form»
Frmusuarios
«Gestor»
GUsuario
«Entidad»
Usuario
Administrador
(from Actores)
«Gestor»
GPerfil
«Entidad»
Perfil
Nuevo()
Nuevo()Nuevo()
Obenerperfi les()
Seleccionarperfi les()
Seleccionar()
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()
Ilustración 65: Diagrama de Secuencia Gestionar Usuario
104
CASO DE USO 2: GESTIONAR PERFILES
sd Gestionar Perfiles
Administrador
(from Actores)
«form»
Frmperfiles
«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()
Ilustración 66: Diagrama de Secuencia Gestionar Perfiles
105
CASO DE USO 3: GESTIONAR PRIVILEGIOS
sd Gestionar Priv ilegios
Administrador
(from Actores)
«form»
frmPrivilegios
«gestor»
GPrivilegio
«gestor»
GPerfi l
«gestor»
GModulo
«entidad»
Perfi l
«entidad»
Privilegio
«entidad»
Modulo
Nuevo()
SelecionarPerfi les()SelecionarPerfi les()
Selecionar()
SelecionarModulos()
SelecionarModulos()
Selecionar()
Guardar()
ObtenerPerfi l(nombre)
Obtener(nombre)
Obtener()
ObtenerModulo(nombre)
ObtenerModulo(nombre)
Obtener()
Guardar(datos)
Guardar()
Ilustración 67: Diagrama de Secuencia Gestionar Privilegios
106
CASO DE USO 4: VER HISTORIAL DE ACCESO
sd Ver Historial Acceso
Administrador
(from Actores)
«Form»
Frmhistorialacceso
«Gestor»
GBitacora
«Gestor»
GUsuario
«Entidad»
Bitacora
«Entidad»
Usuario
VerHistorialAccesso()
Seleccionaruser()
Seleccionar()
Seleccionar()
MostrarHistorial(iduser)
Seleccionar()
CargarDatos()
Ilustración 68: Diagrama de Secuencia Ver Historial de Acceso
CASO DE USO 5: GESTIONAR ACCESO AL SISTEMA
sd Gestionar Acceso al Sistema
Usuario
(from Actores)
«Form»
Frminiciosession
«Gestor»
GSession
«Gestor»
GUsuario
«Gestor»
GModulo
«Entidad»
Usuario
«Entidad»
Modulo
«Entidad»
Menu
Iniciar_Session()
iniciar_session(datos)Obtener(datos)
Obtener()
Seleccionar(codigo)
Seleccionar()
Seleccionar()
Cerrar_Session()
cerrar_session(usercodigo)
cerrar_session()
Ilustración 69: Diagrama de Secuencia Gestionar Acceso al Sistema
107
CASO DE USO 6: GESTIONAR PRE-CONTACTO
sd Gestioinar Pre Contacto
Usuario
(from Actores)
«Form»
Frmprecontacto
«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()
Obtener(nombre)Obtener()
Modificar()
Buscar()Buscar(datos)
Buscar()
Eliminar()Eliminar(codigo)
Eliminar()
Ilustración 70: Diagrama de Secuencia de Gestionar Pre-Contacto
108
CASO DE USO 7: GESTIONAR CONTACTO
sd Gestioinar Contacto
Usuario
(from Actores)
«Form»
Frmcontacto
«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()
Obtener(nombre)Obtener()
Modificar()
Buscar()Buscar(datos)
Buscar()
Eliminar()Eliminar(codigo)
Eliminar()
Ilustración 71: Diagrama de Secuencia de Gestionar Contacto
109
CASO DE USO 8: GESTIONAR EMPRESA
sd Gestionar Empresas
Usuario
(from Actores)
«Form»
Frmempresa
«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()
Ilustración 72: Diagrama de Secuencia de Gestionar Empresa
110
CASO DE USO 9: GESTIONAR LISTA DE CONTACTOS
sd Gestionar Lista Contacto
Usuario
(from Actores)
«Form»
Frmlistacontacto
«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()
Ilustración 73: Diagrama de Secuencia de Gestionar Lista de Contactos
111
CASO DE USO 10: GESTIONAR LISTA DE EMPRESAS
sd Gestionar Lista Empresa
Usuario
(from Actores)
«Form»
Frmlistaempresa
«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()
Ilustración 74: Diagrama de Secuencia de Gestionar Lista de Empresas
112
CASO DE USO 11: IMPORTAR CONTACTOS
sd Importar Contacto
Usuario
(from Actores)
«Form»
Frmcontactos
«Gestor»
GContacto
«Entidad»
Contacto
«Entidad»
Archivo
Importar()
Importarcontactos(fi lename)
GenerarImportacion()
Guardar()
Ilustración 75: Diagrama de Secuencia de Importar Contactos
CASO DE USO 12: EXPORTAR CONTACTOS
sd Exportar Contacto
Usuario
(from Actores)
«Form»
Frmcontactos
«Gestor»
GContacto
«Entidad»
Contacto
«Entidad»
Archivo
Exportar()
Exportarcontactos(fi lename)
Seleccionar()
GenerarExportacion()
Ilustración 76: Diagrama de Secuencia de Exportar Contactos
113
CASO DE USO 13: GESTIONAR CAMPAÑA DE PUBLICIDAD
sd Gestionar Campaña de Publicidad
«Form»
Frmcampania
«Gestor»
GCampania
«Gestor»
GUsuario
«Gestor»
GTipo
«Gestor»
GEstadocampania
«Gestor»
GPlantil la
«Entidad»
Usuario
«Entidad»
Tipo
«Entidad»
Campania
«Entidad»
Plantil la
«Entidad»
Estadocampania
loop Cargar Datos Lista
[i < n]
alt Validar Datos Campania
[validardatos=true]
[validardatos=false]
alt Validar Datos Campania
[validardatos=true]
[validardatos=false]
Nuevo()
Nuevo()
Obtenertipos()
Seleccionartipos()Seleccionar()
Obtenerestadocampanias()
Seleccionarestados()
Seleccionar()
Obtenerplantil las()
Seleccionarplantil las()Seleccionar()
Obtenercreador()
Obtener(codigo)
Obtener()
Obtener(username)
Obtener()CargarDatos()
Guardar(datos)
Obtener(nombre)Obtener()
Obtener(nombre)Obtener()
Obtener(codigo)
Obtener()
Obtener(username)
Obtener()
Guardar()
Listarcampanias()
Modificar(datos)
Obtener(nombre)
Obtener()
Obtener(nombre)
Obtener()
Obtener(codigo)
Obtener()
Modificar()
Listarcampanias()
Buscar(datos)
Buscar()
Eliminar(datos)
Eliminar()
Ilustración 77: Diagrama de Secuencia de Gestionar Campaña de Publicidad
114
CASO DE USO 14: LISTAR CAMPAÑAS DE PUBLICIDAD
sd Listar Campanias de Publicidad
Usuario
(from Actores)
«Form»
Frmcampanias
«Gestor»
GCampanias
«Entidad»
Campanias
Listar()
Listarcampanias()
Seleccionar()
Ilustración 78: Diagrama de Secuencia de Listar Campañas de Publicidad
115
CASO DE USO 15: GESTIONAR PLANTILLA DE PUBLICIDAD
sd Gestionar Plantilla de Publicidad
Usuario
(from Actores)
«Form»
Frmplantil las
«Gestor»
GPlantil la
«Entidad»
Plantil la
«Entidad»
Archivo
Nuevo()Nuevo()
Nuevo()
Guardar()Guardar(datos)
Importardisenio()
Guardar()
Modificar()Modificar(datos)
Obtenerdisenio()
Modificar()
Buscar()Buscar(datos)
Buscar()
Eliminar()Eliminar(datos)
Eliminar()
Ilustración 79: Diagrama de Secuencia de Gestionar Plantilla de Publicidad
116
CASO DE USO 16: IMPORTAR PLANTILLA DE PUBLICIDAD
sd Importar Plantilla de Publicidad
«Form»
Frmplantil las
«Gestor»
GPlantil la
«Entidad»
Plantil la
«Entidad»
Archivo
Importarplantil la(pathfi le)
Generarimportacion(pathfi lename)
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»
Frmplantil las
«Gestor»
GPlantil la
«Entidad»
Plantil la
«Entidad»
Archivo
Exportarplantil la(pathfi le)
Obtener(codigo)
Generarexportacion(pathfi lename)
Ilustración 81: Diagrama de Secuencia de Exportar Plantilla de Publicidad
117
CASO DE USO 18: GESTIONAR REGLAS DE ENVIO
sd Gestionar Reglas de En...
Usuario
(from Actores)
«Form»
Frmenvios
«Gestor»
GReglas
«Entidad»
Regla
Nuevo()
Nuevo()
Nuevo()
Guardar()
Guardar(datos)
Guardar()
Eliminar()
Eliminar(codigo)
Eliminar()
Ilustración 82: Diagrama de Secuencia de Gestionar Reglas de Envío
118
CASO DE USO 19: GESTIONAR ENVÍO DE PUBLICIDAD
sd Gestionar Env io de Publicidad
Usuario
(from Actores)
«form»
Frmenvios
«Gestor»
GEnvio
«Entidad»
Envio
«Gestor»
GEstadoenvio
«Gestor»
GCanalcomunicacion
«Gestor»
GCampania
«Gestor»
GListacontactos
«Gestor»
GListaempresas
«Entidad»
Estadoenvio
«Entidad»
Canalcomunicacion
«Entidad»
Campania
«Entidad»
Listaempresas
«Entidad»
Listacontactos
loop Cargar Datos
[i <= n]
alt Validar Datos Env io
[datosvalidos=true]
[datosvalidos=false]
Nuevo()
Nuevo()
Nuevo()
Obtenerestadoenvio() Seleccionar()
Obtenercanales()Selecccionar()
Obtenercampanias()
Seleccionar()
Obtenerlistacontactos()Seleccionar()
Obtenerlistaempresas()
Seleccionar()
ActualizarLista()
Guardar()
Guardar(Datos)
ObtenerCodigo(nombre)Obtener()
Obtenercodigo(nombre)Obtener()
Obtenercodigo(nombre)
Obtener()
Obtenercodigo(nombre) Obtener()
Obtenercodigo(nombre)
Obtener()
Guardar()
Listarenvios()
Modificar()
Modificar(Datos)
Obtenercodigo(nombre)Obtener()
Obtenercodigo(nombre)Obtener()
Obtenercodigo(nombre)Obtener()
Obtenercodigo(nombre) Obtener()
Obtenercodigo(nombre) Obtener()
Modificar()
Eliminar()
Eliminar(codigo)
Eliminar()
Ilustración 83: Diagrama de Secuencia de Gestionar Envío de Publicidad
119
CASO DE USO 20: GESTIONAR CONFIGURACIÓN DE
CONEXIÓN TWITTER
sd Gestionar Conexion Twitter
Usuario
(from Actores)
«Form»
Frmsociales
«Gestor»
GConfiguracion
«Entidad»
Configuracion
«Gestor»
EpyTwitter
alt Confirmacion Aplicaccion Twitter
[session=iniciado]
[confirmar=true]
Adicionar()
AddTwitter(datos)
GetAutoritationURL(datos)
GetAutoritationURL(tokens_key)
Confirmar()
Guardar(datos)
Eliminar()
Eliminar(codigo)
Eliminar()
Ilustración 84: Diagrama de Secuencia de Gestionar Configuración de
Conexión Twitter.
120
CASO DE USO 21: GESTIONAR CONFIGURACIÓN DE
CONEXIÓN FACEBOOK
sd Gestionar Conexion Facebbok
Usuario
(from Actores)
«Form»
Frmfacebook
«Gestor»
GConfiguracion
«Gestor»
«Entidad»
Configuracion
«Entidad»
alt Confirmar Aplicacion
[session iniciada]
Adicionar(APP_ID, keysecret)
AddFacebook(APP_ID, keysecret)
Get_access_token(APP_ID, keysecret)
getSignedRequest()
Obtener_Access_token()
Confirmar(facebook_id, access_token)
Guardar(facebook_id, access_token)
Eliminar()
EliminarDatosConfiguracion(codigo)
Eliminar()
Ilustración 85: Diagrama de Secuencia de Gestionar Configuración de
Conexión Facebook.
121
CASO DE USO 22: GESTIONAR CONFIGURACIÓN DE
CONEXIÓN LINKEDIN
sd Gestioniar Conexion Linkedin
Usuario
(from Actores)
«Form»
Frmsociales
«Gestor»
GConfiguracion
«Gestor»
«Entidad»
Configuracion
alt Confirmar Aplicación Linkedin
[session=iniciado]
[confirmar=true]
Adicionar(username, password)
AddLinkedin(username, password)
getTokenAccess(access_tokens)
getTokenAccess(access_tokens)
Confirmar(linked_id, access_tokens)
Guardar(linked_id, access_tokens)
Eliminar()
Eliminar(codigo)Eliminar()
Ilustración 86: Diagrama de Secuencia de Gestionar Configuración de
Conexión Linkedin.
122
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
123
CASO DE USO 3: GESTIONAR PRIVILEGIOS
Ilustración 89: Diagrama Parcial de Clases Gestionar Privilegios
124
CASO DE USO 4: VER HISTORIAL DE ACCESO
Ilustración 90: Diagrama Parcial de Clases de Ver Historial de Acceso
125
CASO DE USO 5: GESTIONAR ACCESO AL SISTEMA
Ilustración 91: Diagrama Parcial de Clases de Gestionar Acceso al Sistema
126
CASO DE USO 6: GESTIONAR PRE-CONTACTO
Ilustración 92: Diagrama Parcial de Clases de Gestionar Pre-Contacto
127
CASO DE USO 7: GESTIONAR CONTACTO
Ilustración 93: Diagrama Parcial de Clases de Gestionar Contacto
128
CASO DE USO 8: GESTIONAR EMPRESAS
Ilustración 94: Diagrama Parcial de Clases de Gestionar Empresa
129
CASO DE USO 9: GESTIONAR LISTA DE CONTACTOS
Ilustración 95: Diagrama Parcial de Clases de Gestionar Lista Contactos
130
CASO DE USO 10: GESTIONAR LISTA DE EMPRESAS
Ilustración 96: Diagrama Parcial de Clases de Gestionar Lista de Empresas
131
CASO DE USO 11: IMPORTAR CONTACTOS
Ilustración 97: Diagrama Parcial de Clases de Importar Contactos
132
CASO DE USO 12: EXPORTAR CONTACTOS
Ilustración 98: Diagrama Parcial de Clases de Exportar Contactos
133
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
134
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
135
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
136
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
137
Ilustración 105: Diagrama Parcial de Clases de Gestionar Envío de Publicidad
CASO DE USO 20: GESTIONAR CONFIGURACION DE
CONEXIÓN TWITTER
138
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
139
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
140
Ilustración 108: Diagrama Parcial de Clases de Gestionar Configuración de Conexión
Linkedin.
6.2.3. DIAGRAMAS DE NAVEGACION
141
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
Server Page
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.
Client 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.
Form
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.
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
Submit 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)
Build
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
Redirect
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 HTTP-
EQUIV de “Refresh”*.
142
ACCESO AL SISTEMA
143
DIAGRAMA DE NAVEGACION 1
144
DIAGRAMA DE NAVEGACION 2
145
6.3. DISEÑO DE LA INTERFAZ HUMANA
PAGINA PRINCIPAL
Ilustración 109: Interfaz Humana de la página principal
146
GESTIONAR CONTACTOS
Ilustración 110: Interfaz Humana de Gestionar Contactos
147
GESTIONAR PUBLICIDAD
Ilustración 111: Interfaz Humana de Gestionar Campaña de Publicidad
148
GESTIONAR ENVIOS
Ilustración 112: Interfaz Humana de Gestionar Envíos
149
GESTIONAR PUBLICACIONES RED SOCIAL
Ilustración 113: Interfaz Humana de Gestionar Publicaciones Red Social
150
PUBLICACION DE PUBLICIDAD EN TWITTER
Ilustración 114: Publicación de Publicidad en la Red Social Twitter
151
6.4. DIAGRAMA DE CLASES
class Objetos del dominio
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
Perfil
- per_cod: int
- per_nombre: String
- per_descripcion: String
Modulo
- mod_cod: int
- mod_nombre: String
- mod_descripcion: String
- mod_urlcorta: String
Menu
- men_cod: int
- men_nombre: String
- men_descripcion: String
- men_urlcorta: String
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
Contacto
- 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
OrigenContacto
- ori_cod: int
- ori_descripcion: String
EstadoContacto
- est_cod: int
- est_descripcion: int
Empresa
- 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
Activ idad
- act_cod: int
- act_descripcion: String
Bitacora
- bit_cod: int
- bit_fecha_inicio: String
- bit_fecha_fin: String
- bit_ip
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
Tipo
- tip_cod: int
- tip_descripcion: String
EstadoCampania
- est_cod: int
- est_descripcion: String
Plantilla
- pla_cod: int
- pla_nombre: String
- pla_estructura: LongText
- pla_nombre_archivo: String
CanalComunicacion
- can_cod: int
- can_nombre: String
- can_descripcion: int
Env io
- env_cod: int
- env_descripion: String
- env_hora: String
- env_fecha: String
- env_total_objetivo: int
- env_abiertos: int
EstadoEnv io
- est_cod: int
- est_descripcion: int
Lista_Email_Contactos
- lmc_cod: int
- lmc_descripcion: String
Lista_Email_Empresas
- lme_cod: int
- lme_descripcion: String
ConfiguracionSocial
- conf_cod: int
- conf_nombre: String
- conf_username: String
- conf_password: int
- conf_email: int
- conf_out: int
Priv ilegio
- pri_cod: int
- pri_fecha_ini: String
- pri_fecha_fin: String
Detalle_Email_Contactos
- idm_cod: intDetalle_Email_Empresas
- ide_cod: int
1 1
1
0..*
1
1
1 1..*
0..* 1
0..* 1
0..* 1
1
0..*
0..*
1
0..*
1
1 1..*
1 1..*
1
1..*
1 1
0..*
1
1 1
1.. 1
1..*
1
1 0..*
Ilustración 115: Diagrama de Clases
152
6.4.1. DISEÑO LÓGICO DE LA BASE DE DATOS
Actividad
Nombre Referencia
act_cod PK
act_descripcion
Bitacora
Nombre Referencia
bit_cod PK
bit_ip bit_fecha_inicio bit_fecha_fin usr_cod FK(Usuario)
Campania
Nombre Referencia
cam_cod PK
cam_titulo cam_resumen cam_descripcion cam_arte cam_contenido cam_hora cam_fecha cam_publico_objetivo usr_cod FK(Usuario)
est_cod FK(EstadoCampania)
tip_cod FK(Tipo)
pla_cod FK(Plantilla)
CanalComunicacion
Nombre Referencia
can_cod PK
can_nombre
can_descripcion
153
Contacto
Nombre Referencia
con_cod PK
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 FK(OrigenContacto)
emp_cod FK(EstadoContacto)
Detalle_Email_Contactos
Nombre Referencia
idm_cod PK
con_email
con_cod FK(Contacto)
lmc_cod FK(Lista_Email_Contactos)
Detalle_Email_Empresas
Nombre Referencia
ide_cod PK
emp_email
emp_cod FK(Empresa)
lme_cod FK(Lista_Email_Empresas)
Empresa
Nombre Referencia
emp_cod PK
emp_nombre
emp_web
154
emp_telefono emp_direccion emp_descripcion emp_nroempleados emp_email emp_fax emp_recibe_email emp_twitter emp_facebook act_cod FK(Actividad)
Envio
Nombre Referencia
env_cod PK
env_descripcion
env_hora env_fecha env_total_objetivo env_total_abiertos usr_cod FK(Usuario)
cam_cod FK(Campaña)
est_cod FK(EstadoEnvio)
can_cod FK(CanalComunicacion)
lmc_cod FK(Lista_Email_Contacto)
lme_cod FK(Lista_Email_Empresas)
EstadoCampania
Nombre Referencia
est_cod PK
est_descripcion
EstadoContacto
Nombre Referencia
est_cod PK
est_descripcion
EstadoEnvio
Nombre Referencia
est_cod PK
est_descripcion
155
Lista_Email_Contactos
Nombre Referencia
lmc_cod PK
lmc_descripcion
Lista_Email_Empresas
Nombre Referencia
lme_cod PK
lme_descripcion
Menu
Nombre Referencia
men_cod PK
men_nombre
men_descripcion
men_urlcorta
mod_cod FK (Modulo)
Modulo
Nombre Referencia
mod_cod PK
mod_nombre
mod_descripcion
mod_urlcorta
OrigenContacto
Nombre Referencia
ori_cod PK
ori_descripcion
Perfil
Nombre Referencia
per_cod PK
per_nombre
per_descripcion
156
Plantilla
Nombre Referencia
pla_cod PK
pla_nombre
pla_estructura
pla_nombre_archivo
PreContacto
Nombre Referencia
pre_cod PK
pre_nombre
pre_apellidos pre_direccion pre_celular pre_telefono pre_email pre_fax pre_twitter pre_facebook pre_cargo est_cod FK(EstadoContacto)
ori_cod FK(OrigenContacto)
emp_cod FK(Empresa)
Privilegio
Nombre Referencia
pri_cod PK
pri_fecha_ini
pri_fecha_fin
per_cod FK(Perfil)
mod_cod FK (Modulo)
Tipo
Nombre Referencia
tip_cod PK
tip_descripcion
157
Usuario
Nombre Referencia
usr_cod PK
usr_username
usr_password usr_nombre usr_apellidos usr_direccion usr_email usr_telefono usr_ci per_cod FK(Perfil)
Archivo
Nombre Referencia
id_archivo PK
categoria_archivo Fk(Categorias)
tipo_archivo nombre_archivo archivo_archivo extension_archivo fecha_archivo
Categorias
Nombre Referencia
cat_id_cat PK
nivel_cat
parent_id_cat name_cat status_cat imagen_activa fecha_cat
158
6.4.2. DISEÑO FÍSICO DE LA BASE DE DATOS
TABLA: ACTIVIDAD
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
act_cod Entero 2.147.483.647 No PK Identificador
act_descripcion Caracter 200 -- -- Descripción
TABLA: BITACORA
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
bit_cod Entero 2.147.483.647 No PK Identificador
bit_ip Caracter 30 -- -- Ip de la maquina
bit_fecha_inicio Caracter 250 -- -- Hora de ingreso
bit_fecha_fin Caracter 250 -- -- Hora de salida
usr_cod Entero 2.147.483.647 No FK Cod de Usuario
TABLA: COMPANIA
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
cam_cod Entero 2.147.483.647 No PK Identificador
cam_titulo Caracter 250 -- -- Titulo
cam_resumen Caracter 250 -- -- Resumen
cam_descripcion Caracter 250 -- -- Descripción
cam_arte Caracter 250 -- -- Tipo de arte
cam_contenido Texto -- -- Contenido
cam_hora Caracter 250 -- -- Hora
cam_fecha Caracter 250 -- -- Fecha
cam_publico_objetivo Entero 2.147.483.647 -- -- Publico objetivo
usr_cod Entero 2.147.483.647 No FK Cod de Usuario
est_cod Entero 2.147.483.647 No FK Cod EstadoCampania
tip_cod Entero 2.147.483.647 No FK Cod de Tipo
pla_cod Entero 2.147.483.647 No FK Cod de Plantilla
TABLA: CANALCOMUNICACION
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
Can_cod Entero 2.147.483.647 No PK Identificador
Can_nombre Caracter 250 -- -- Nombre
Can_descripcion Caracter 250 -- -- Descripción
159
TABLA: CONTACTO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
con_cod Entero 2.147.483.647 No PK Identificador
con_nombre Caracter 250 -- -- Nombre
con_apellidos Caracter 250 -- -- Apellidos
con_direccion Caracter 250 -- -- Dirección
con_fecha_nac Caracter 250 -- -- Fecha de Nacimiento
con_celular Caracter 50 -- -- Celular
con_telefono Caracter 50 -- -- Teléfono
con_email Caracter 50 -- -- Email
con_recibe_email Entero 2.147.483.647 -- -- Email recibidos
con_descripcion Caracter 250 -- -- Descripción
con_imagen Caracter 250 -- -- Imagen
con_twitter Caracter 50 -- -- Twitter
con_facebook Caracter 50 -- -- Facebbok
con_cargo Caracter 250 -- -- Cargo
ori_cod Entero 2.147.483.647 No FK Cod OrigenContacto
emp_cod Entero 2.147.483.647 No FK Cod Empresa
TABLA: DETALLE_EMAIL_CONTACTOS
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
idm_cod Entero 2.147.483.647 No PK Identificador
con_email Caracter 50 -- -- Email
con_cod Entero 2.147.483.647 No FK Cod. Contacto
lmc_cod Entero 2.147.483.647 No FK Cod. Lista_Email_Contactos
TABLA: DETALLE_EMAIL_EMPRESAS
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
ide_cod Entero 2.147.483.647 No PK Identificador
emp_email Caracter 50 -- -- Email
emp_cod Entero 2.147.483.647 No FK Cod. Empresa
lmc_cod Entero 2.147.483.647 No FK Cod. Lista_Email_Empresas
TABLA: EMPRESA
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
emp_cod Entero 2.147.483.647 No PK Identificador
emp_nombre Caracter 250 -- -- Nombre
emp_web Caracter 250 -- -- Web de la empresa
emp_telefono Caracter 50 -- -- Teléfono
emp_direccion Caracter 250 -- -- Dirección
emp_descripcion Caracter 250 -- -- Descripción
160
emp_nroempleados Entero 2.147.483.647 -- -- Nro. De empleados
emp_email Caracter 50 -- -- Email
emp_fax Caracter 50 -- -- Fax
emp_recibe_email Entero 2.147.483.647 -- -- Email recibidos
emp_twitter Caracter 50 -- -- Twitter
emp_facebook Caracter 50 -- -- Facebbok
act_cod Entero 2.147.483.647 No FK Cod. Actividad
TABLA: ENVIO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
env_cod Entero 2.147.483.647 No PK Identificador
env_descripcion Caracter 250 -- -- Descripción
env_hora Caracter 250 -- -- Hora de envío
env_fecha Caracter 250 -- -- Fecha de envío
env_total_objetivo Entero 2.147.483.647 -- -- Objetivo total
env_total_abiertos Entero 2.147.483.647 -- -- Total Leídos
usr_cod Entero 2.147.483.647 No FK Cod. Usuario
cam_cod Entero 2.147.483.647 No FK Cod. Campania
est_cod Entero 2.147.483.647 No FK Cod. EstdoEnvio
can_cod Entero 2.147.483.647 No FK Cod. CanalComunicacion
lmc_cod Entero 2.147.483.647 No FK Cod. Lista_Email_Contactos
lme_cod Entero 2.147.483.647 No FK Cod. Lista_Email_Empresas
TABLA: ESTADOCAMPANIA
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
est_cod Entero 2.147.483.647 No PK Identificador
est_descripcion Caracter 250 -- -- Descripción
TABLA: ESTADOCONTACTO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
est_cod Entero 2.147.483.647 No PK Identificador
est_descripcion Caracter 200 -- -- Descripción
TABLA: ESTADOENVIO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
est_cod Entero 2.147.483.647 No PK Identificador
est_descripcion Caracter 250 -- -- Descripción
TABLA: LISTA_EMAIL_CONTACTOS
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
lmc_cod Entero 2.147.483.647 No PK Identificador
lmc_descripcion Caracter 250 -- -- Descripción
161
TABLA: LISTA_EMAIL_EMPRESAS
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
lme_cod Entero 2.147.483.647 No PK Identificador
lme_descripcion Caracter 250 -- -- Descripción
TABLA: MENU
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
men_cod Entero 2.147.483.647 No PK Identificador
men_nombre Caracter 250 -- -- Nombre
men_descripcion Caracter 250 -- -- Descripción
men_urlcorta Caracter 250 -- -- Dirección url
mod_cod Entero 2.147.483.647 No FK Cod. Modulo
TABLA: MODULO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
mod_cod Entero 2.147.483.647 No PK Identificador
mod_nombre Caracter 250 -- -- Nombre
mod_descripcion Caracter 250 -- -- Descripción
mod_urlcorta Caracter 250 -- -- Dirección url
TABLA: ORIGENCONTACTO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
ori_cod Entero 2.147.483.647 No PK Identificador
ori_descripcion Caracter 200 -- -- Descripción
TABLA: PERFIL
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
per_cod Entero 2.147.483.647 No PK Identificador
per_nombre Caracter 250 -- -- Nombre
per_descripcion Caracter 250 -- -- Descripción
TABLA: PLANTILLA
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
pla_cod Entero 2.147.483.647 No PK Identificador
pla_nombre Caracter 250 -- -- Nombre
pla_estructura Texto -- -- Estructura
pla_nombre_archivo Caracter 250 -- -- Nombre de archivo
162
TABLA: PRECONTACTO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
pre_cod Entero 2.147.483.647 No PK Identificador
pre_nombre Caracter 250 -- -- Nombre
pre_apellidos Caracter 250 -- -- Apellidos
pre_direccion Caracter 250 -- -- Dirección
pre_celular Caracter 50 -- -- Celular
pre_telefono Caracter 50 -- -- Teléfono
pre_email Caracter 50 -- -- Email
pre_fax Caracter 50 -- -- Fax
pre_twitter Caracter 50 -- -- Twitter
pre_facebook Caracter 50 -- -- Facebbok
pre_cargo Caracter 250 -- -- Cargo
est_cod Entero 2.147.483.647 No FK Cod. EstadoContacto
ori_cod Entero 2.147.483.647 No FK Cod. OrigenContacto
emp_cod Entero 2.147.483.647 No FK Cod. Empresa
TABLA: PRIVILEGIO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
pri_cod Entero 2.147.483.647 No PK Identificador
pri_fecha_ini Caracter 250 -- -- Fecha inicial
pri_fecha_fin Caracter 250 -- -- Fecha final
per_cod Entero 2.147.483.647 No FK Cod. Perfil
mod_cod Entero 2.147.483.647 No FK Cod. Modulo
TABLA: ARCHIVO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
id_archivo Entero 2.147.483.647 No PK Identificador
categoría_archivo Entero 2.147.483.647 -- -- Categoria
tipo_archivo Caracter 11 -- -- Tipo
nombre_archivo Caracter 255 -- -- Nombre
archivo_archivo Caracter 255 -- -- Archivo
extensión_archivo Caracter 255 -- -- Extension
fecha_archivo Date -- -- Fecha
TABLA: CATEGORIAS
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
Cat_id_cat Entero 2.147.483.647 No PK Identificador
nivel_cat Entero 2.147.483.647 -- -- Nivel
parent_id_cat Entero 2.147.483.647 -- -- Parent
name_cat Caracter 255 -- -- Nombre
status_cat Entero 2.147.483.647 -- -- Estado
imagen_activa Entero 2.147.483.647 -- -- Imagen Activa
fecha_cat Date 250 -- -- Fecha
163
TABLA: TIPO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
tip_cod Entero 2.147.483.647 No PK Identificador
tip_descripcion Caracter 250 -- -- Descripción
TABLA: USUARIO
ATRIBUTOS TIPOS LONGITUD NULO LLAVE DESCRIPCION
usr_cod Entero 2.147.483.647 No PK Identificador
usr_username Caracter 250 -- -- Username
usr_password Caracter 250 -- -- Password
usr_nombre Caracter 250 -- -- Nombre
usr_apellidos Caracter 250 -- -- Apellidos
usr_direccion Caracter 250 -- -- Dirección
usr_email Caracter 250 -- -- Email
usr_telefono Caracter 100 -- -- Teléfono
usr_ci Caracter 100 -- -- C.I.
per_cod Entero 2.147.483.647 No FK 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.
164
Unidad Semántica de navegación
pkg Diagrama de Nav egacion Paquetes
Home
ContactosPublicidad
Env ios
Redes Sociales
Usuario
ConfiguraciónHome. Módulo de
Navegación por Defecto
(Index.php)
Ilustración 116: Unidad Semántica de la Navegación
165
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
166
cmp Modelo de implementación Social CRM
«executable»
Nav egador Web
«file»
index.php
Módulo Usuario
Módulo Redes Sociales
Módulo Contactos
Módulo Env io
Módulo Publicidad
Se conecta a la Basde de
Datos MySQL mediante
ADOdb
«file»
adodb.inc.php
Conexion
«file»
conexion.php
Internet Explorer
Mozilla Firefox
Google Chrome
Opera
«file»
contactos.php
«file»
publicidad.php
«file»
env ios.php«file»
sociales.php
«file»
usuarios.php
Ilustración 117: Modelo de Implementación
167
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.
168
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
- Dirección Facebook
- Dirección Twitter
- Empresa
- Cargo
- Origen de contacto
- Descripción
- Imagen del contacto
169
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.
170
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
171
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.
172
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.
173
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.
174
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