AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4...

88
1 AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER 2011 TITULACIÓN: Ingeniería Técnica en Informática de Gestión AUTOR: Sebastián Cabrera. DIRECTOR: Pere Millán. DATA: 06 / 2011. Departament d’Enginyeria Informàtica i Matemàtiques

Transcript of AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4...

Page 1: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

1

AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL

REMEMBER 2011

TITULACIÓN: Ingeniería Técnica en Informática de Gestión

AUTOR: Sebastián Cabrera.

DIRECTOR: Pere Millán.

DATA: 06 / 2011.

Departament d’Enginyeria Informàtica i Matemàtiques

Page 2: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

2

Page 3: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

3

Índice

1. Introducción……………….…………………………..……... 4 2. Objetivo del proyecto……………………………………… 5 3. Especificación del proyecto………………………………… 6

3.1. Usuario del sistema...………………………………… 6 3.2. Elección del canal de comunicación………………… 6 3.3. Aplicabilidad………………………………………….... 6 3.4. Mecánica del negocio………………………………… 7 3.5. Interoperabilidad……………………………………..... 7 3.6. Funcionalidad………………………………………...... 7

4. Diseño………………………............................................... 8 4.1. Arquitectura……......…............................................. 8 4.2. Diagrama de casos de uso…………………………… 10 4.3. Descripción casos de uso……………….…………… 12 4.4. Diagrama de clases (Nhibernate)…………………… 32 4.5. Prototipo de pantalla………………………………… 34

5. Desarrollo...…................................................................... 69 5.1. Estructura de base de datos………………………… 69 5.2. Clases entidades POCO (Plain Old CLR Object)… 72 5.3. Clases entidad de Negocio……..………...………… 73 5.4. Clases entidad de vista controlador………………… 74 5.5. Estructura datos externos…………………………… 75

5.5.1. Definición de xml...…………………………… 75 5.5.2. Esquema de validación……………………… 78

5.6. sCabrera.Framework 1.0…………………………… 80 5.7. Logiccode GSM SMS ActiveX Dll…………………… 81 5.8. Código fuente……………..………..………………… 82

6. Evaluación…….……………………………………………… 85 7. Conclusión…………………………………………………… 86 8. Recursos utilizados………………………………………… 87

Page 4: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

4

Introducción

Cuando estaba analizando qué proyecto debía realizar como final de carrera, pensé en proveer una solución informatizada a la sociedad, a mediano plazo, para ayudar a mejorar la situación socio-económica en la que se encontraba. Basándome en este pensamiento marqué varias pautas que debería contemplar mi idea: que estuviera orientado a pymes, que generara un alto valor agregado, que fuese simple su implementación y económicamente accesible. Es así como nace la solución “Automatización de Mensajería Móvil”, que contempla en mayor o menor medida todos los postulados anteriormente enunciados.

Page 5: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

5

Objetivo del proyecto

Crear una solución informatizada, para proveer de información relevante entre pares1; utilizando la tecnología móvil, a través del canal denominado SMS o Sistema de Mensajería Corto.

1 Se entiende por pares a la comunicación entre un receptor y un emisor siendo cualquiera de ellos toda

persona física o jurídica. Ej.: empresas, clientes, particulares, etc.

Page 6: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

6

Especificación del proyecto

Para poder realizar una correcta explicación del proyecto lo he divido en las siguientes partes:

Usuarios del sistema.

Elección del canal de comunicación.

Aplicabilidad.

Interpolaridad.

Estructura.

Usuarios del sistema

Los usuarios del sistema son todas aquellas empresas donde el flujo de información a transmitir no sea de una gran complejidad, es decir, que la información sea en formato texto plano y que no supere los ciento sesenta caracteres (que es el estándar del canal) y dicho flujo de transmisión y/o recepción sea del orden de los diez a doce solicitudes por minuto por cada canal activo.

Elección del canal de comunicación

El canal elegido es el SMS o Sistema de Mensajería Corto; se optó por dicha tecnología por estar ampliamente difundida no sólo en los jóvenes sino también en adulto y ancianos; para su utilización, se requiere de cualquier celular existente en el mercado, pudiéndolo adquirir a muy bajo precio, y su costo operativo dentro de las tecnologías móviles, es la más económica en la actualidad.

Aplicabilidad Comunicación bidireccional

El usuario final envía un SMS y recibe otro de respuesta. Ej.: Solicitud de saldo (Financiero), tiempo de entrega de un producto (Producción), notas que se sacó en matemática (Educativa), dirección a buscar mis fotos (Servicio), cuándo tengo que colocarme la vacuna (Salud), etc.

Envíos masivos

Se le envía un SMS a más de un usuario final o grupo, para dar información de interés. Ej.: Cuotas pendientes de pago (Financiero), Presentación de una oferta (Producción), Fechas de matriculación (Educativa), Presentación de un nuevo servicio (Servicio), Control con su médico de cabecera (Salud).

Envíos de alertas

Se le envía un SMS a un usuario final o grupo, de forma periódica. Ej.: 5 de cada mes debitar el gasto de su tarjeta de crédito de su cuenta (financiero), el 31

Page 7: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

7

de agosto de cada año hacer control de la maquinaria (Producción), cada lunes entrega de prácticas de la semana anterior (Educativo).

Mecánica del negocio

Hay que tener en cuenta que por cada solicitud de información, ésta tiene un

costo económico (el envío de un SMS) que deberá asumir la empresa proveedora

de la información. Es por tal motivo que el proyecto contemplará el control de las

solicitudes, a través del establecimiento de un límite de consumo por usuario final,

pero queda fuera del sistema la gestión financiera y facturación de dichos

servicios.

Interoperabilidad

Si bien el sistema puede actuar de forma autónoma, también debemos ser conscientes que para aprovechar al máximo las herramientas que provee, deberá poder comunicarse con otros sistemas, que se encargarán de suministrarle información relevante actualizada. Para ello el sistema contempla la actualización automatizada de los datos intervinientes en el envío (Teléfonos, Servicios, Propiedades, etc.), a través de archivos XML.

Funcionalidad

La funcionalidad básica del sistema consiste en que el usuario podrá en primer

lugar conectar un teléfono móvil a un ordenador, donde se utilizará como

dispositivo de envío y recepción de SMS, pudiendo implementarse cualquiera de

los tres servicios: Comunicación bidireccional, Envíos masivos y Envíos de alertas

(para más información dirigirse al apartado de Aplicabilidad). Una vez realizada

dicha conexión, se procederá a realizar la administración de múltiples usuarios

(denominados Contactos), y personalizar en forma individualizada las diferentes

características que brinda un servicio, como activación o desactivación de

servicios, Cantidad de solicitud de servicios, etc. También se ha de administrar las

plantillas que se utilizarán para el envío de información y los diccionarios (o

lenguaje) que el sistema utilizará para comunicarse con el contacto, pudiendo de

esta manera recibir una solicitud y responderla. Una vez realizados los pasos

anteriores, el sistema se encuentra en condiciones de:

Enviar SMS a un contacto, grupo de contactos, o múltiples contactos.

Recibir solicitudes de Contactos, procesar y responder a dicha solicitud.

Avisar periódicamente de información relevante para el contacto.

Page 8: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

8

Diseño

Arquitectura de Capas

El proyecto se encuentra desarrollado con la arquitectura denominada

“Arquitectura de Tres Capas”. La razón de utilizar dicha arquitectura se basa

principalmente en la ventaja de poder desacoplar e independizar los tres módulos

principales en una arquitectura de desarrollo de software: Capa de Aplicación,

Capa de Negocio y Capa de Datos.

Figura 1. Arquitectura de Tres Capas.

Capa de aplicación: Esta capa es la que ve el usuario2, es donde el usuario

interactuará con el sistema, recibiendo y transmitiendo información con un mínimo

de proceso. Esta capa sólo se comunica con la capa de negocio.

Capa de negocio: En esta capa es donde se reciben las peticiones del usuario y

se envían las respuestas tras el procesamiento de dichas solicitudes. Se

denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde

se establecen todas las reglas que deben cumplirse. Esta capa se comunica tanto

con la Capa de aplicación como con la capa de datos para solicitar información

almacenada en el gestor de base de datos.

Capa de datos: Es donde residen los datos y es la encargada de acceder a los

mismos.

Cada capa presentada anteriormente se encuentra compuesta por diferentes

componentes, como podemos ver en la Figura 2. En la capa más baja se

encuentra el gestor de bases de datos a utilizar, que es el SQL Server 2005; en la

capa subsiguiente se encuentra el Framework NHibernate que es un ORM el

cual transforma las solicitudes hechas en objeto a relacional y viceversa, logrando

de esta manera la independencia del gestor de bases de datos utilizado. A

continuación, en un nivel superior, encontramos la capa de Microsoft Framework

.Net 3.5 que es el lenguaje de programación que se utilizará para el desarrollo de

la solución; sobre esta capa se apoyará el sCabrera Framework 1.0 que es un

módulo desarrollado por mí, pero que no interviene en el análisis del proyecto final

de carrera, y Logiccode GSM SMS ActiveX Dll, que es un componente de

tercero cuya finalidad es la de comunicar dispositivos móviles basados en

2 Se entiende por usuario cualquier persona física, sistema computacional o dispositivos móviles.

Page 9: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

9

tecnología GSM con el ordenador. Por último, sobre todas las capas se

encontrará el desarrollo propio de la aplicación, que se encuentra compuesta por

dos módulos: por un lado el módulo cliente, que es el encargado de la gestión de

la información del sistema y por otro lado el módulo servidor, que es el encargado

de la gestión del envío, recepción y procesamiento de las distintas solicitudes de

servicios de mensajería.

Figura 2. Arquitectura de Tres Capas - Componentes.

Page 10: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

10

Diagrama de casos de uso

Gestión Contacto

Encargado de sistema

Eliminar Contactos

Consultar Tipo Documento

Actualizar Servicio

Consultar Tipso Servicios

Gestionar Telefonos del contacto

Consultar Tipos de Telefonos

Agregar o Eliminar Grupos

USA

EXT

USA

USA

USA

EXT

Gestionar de Propiedades del contactoUSA

Gestionar propiedadesEXT

Gestionar de Alertas del contacto

Gestionar AlertasEXT

USA

Gestión Canal

Encargado de sistema

Crear Canal ExpressConsultar Grupos

Comprobar Conectividad

USA

EXT

Gestión Canal

USA

Consultar BaudRate

Consultar DataBits

Consultar Parity

Consultar FlowControl

USA

USA

USA

USA

Consultar CharEncoding

Consultar ValidityType

Consultar InboxMemoryUSA

USA

USA

EXT

Page 11: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

11

Gestión de Plantilla

Encargado de sistema

Gestión de Plantilla Consultar PropiedadesUSA

Gestión de Diccionario

Encargado de sistema

Gestión de Diccionario

Consultar Propiedades

Ver Vista Previa de Plantilla

Consultar Plantilla

USA

EXT

USA

Gestión de Envío

Encargado de sistema

Envío de SMS

Consultar Grupo

Consultar Contacto

Consultar Propiedades

Consultar Plantilla

USA

USA

USA

USA

Consultar Tipo MóvilEXT

Consultar CanalEXT

Page 12: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

12

Descripción de casos de uso

Crear Contacto Descripción

Permite crear un contacto en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción. Tener cargado como mínimo un tipo de teléfono.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción "nuevo" para crear un nuevo contacto.

2 El sistema muestra un asistente de múltiples pasos, para ir introduciendo los datos en el sistema.

3 El sistema muestra el paso 1 del asistente con la zona para la introducción de los datos de identificación del contacto.

4 El usuario selecciona el Tipo de documento, introduce su número de documento, nombre, apellido y pasa al siguiente paso.

5 El sistema Comprueba la validez de los datos del paso 1.

6 El sistema muestra el paso 2 del asistente con la zona para la introducción de los datos de los servicios.

7 El usuario activa los servicios necesarios, actualiza los datos de cantidad, actualiza los costos de cada servicio y pasa al siguiente paso.

8 El sistema Comprueba la validez de los datos del paso 2.

9 El sistema muestra el paso 3 del asistente con la zona para la introducción de los datos de los teléfonos.

10 El usuario introduce uno o más teléfonos. El usuario selecciona el tipo de teléfono, introduce el número de teléfono y pasa al siguiente paso.

11 El sistema Comprueba la validez de los datos del paso 3.

12 El sistema muestra el paso 4 del asistente con la zona para la selección de los grupos.

13 El usuario selecciona cero, uno o más de los grupos existentes y pasa al siguiente paso.

14 El sistema Comprueba la validez de los datos del paso 4.

15 El sistema muestra el paso 5 del asistente con la zona para la introducción de los datos de las propiedades.

16 El usuario introduce cero, una o más propiedades. El usuario selecciona la propiedad e introduce el valor de la propiedad. El usuario pasa al siguiente paso.

17 El sistema Comprueba la validez de los datos del paso 5.

Page 13: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

13

18 El sistema muestra el paso 6 del asistente con la zona para la introducción de los datos de las alertas.

19 El usuario introduce cero, una o más alertas. El usuario selecciona la alerta e introduce la activación de la misma. El usuario pasa al siguiente paso.

20 El sistema Comprueba la validez de los datos del paso 6.

21 El sistema muestra el paso 7 del asistente donde presenta un resumen de los datos introducidos por el usuario en los pasos anteriores.

22 El usuario confirma los datos introducidos.

23 El sistema Comprueba la validez de los datos de todos los pasos y los almacena.

Postcondición

El contacto ha sido almacenado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar contacto.

Flujo alternativo

Paso Acción

4 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

5 El sistema comprueba la validez de los datos del paso 1. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

7 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

8 El sistema comprueba la validez de los datos del paso 2. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

10 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

11 El sistema comprueba la validez de los datos de paso 3. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

13 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

14 El sistema comprueba la validez de los datos del paso 4. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

16 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

17 El sistema comprueba la validez de los datos del paso 5. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

20 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

21 El sistema comprueba la validez de los datos del paso 6. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

22 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo contacto.

23 El sistema comprueba la validez de los datos de todos los pasos. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

Page 14: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

14

Modificar Contacto Descripción

Permite modificar un contacto en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción modificar un contacto del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del contacto a modificar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y confirma la búsqueda.

4 El sistema procesa la búsqueda de todos los contactos que cumplan con el valor introducido por el usuario en las columnas seleccionadas y los muestra en la pantalla.

5 El usuario selecciona uno de los contactos existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del contacto y habilita los controles para su edición.

7 El usuario selecciona una de las categorías que se encuentra a la izquierda de la pantalla.

8 El sistema muestra los controles de la categoría seleccionada.

9 El usuario actualiza el o los datos necesarios.

10 El sistema comprueba la validez de los datos introducidos.

11 El usuario confirma los datos introducidos.

12 El sistema comprueba la validez de los datos de todas las categorías y los almacena.

Postcondición

El contacto ha sido actualizado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar contacto.

Flujo alternativo

Paso Acción

3 El usuario podrá confirmar la búsqueda, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todos los contactos y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los contactos y muestra una pantalla informativa indicando que no se ha encontrado ningún contacto que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

10 El sistema comprueba la validez de los datos. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

Page 15: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

15

11 El usuario cancela la modificación del contacto.

12 El sistema no almacena los cambios realizados e inicializa la pantalla a estado inicial en la espera de una nueva acción.

Eliminar Contacto Descripción

Permite eliminar un contacto en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción eliminar un contacto del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del contacto a eliminar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todos los contactos que cumplan con el valor introducido por el usuario en las columnas seleccionadas y lo muestra en la pantalla.

5 El usuario selecciona uno de los contactos existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del contacto e inicia los controles en un modo de sólo lectura.

7 El usuario selecciona una de las categorías que se encuentra a la izquierda de la pantalla.

8 El sistema muestra los controles de la categoría seleccionada.

9 El usuario confirma la acción.

10 El sistema elimina el contacto del almacén.

Postcondición

El contacto ha sido eliminado del sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar contacto.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor específico a buscar.

4.a El sistema procesa la búsqueda de todos los contactos y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los contactos y muestra una pantalla informativa indicando que no se ha encontrado ningún contacto que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

9 El usuario cancela la eliminación del contacto.

Page 16: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

16

10 El sistema no elimina el contacto e inicializa la pantalla a estado inicial en la espera de una nueva acción.

Mostrar Contacto Descripción

Permite mostrar un contacto del sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción mostrar un contacto del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del contacto a mostrar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todos los contactos que cumplan con el valor introducido por el usuario en la columna seleccionadas y lo muestra en la pantalla.

5 El usuario selecciona uno de los contactos existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del contacto e inicia los controles en un modo de sólo lectura.

7 El usuario selecciona una de las categorías que se encuentra a la izquierda de la pantalla.

8 El sistema muestra los controles de la categoría seleccionada.

9 El usuario confirma la acción.

10 El sistema inicializa la pantalla a estado inicial, en la espera de una nueva acción.

Postcondición

El sistema muestra la zona para crear, modificar, eliminar y mostrar contacto.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor específico a buscar.

4.a El sistema procesa la búsqueda de todos los contactos y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los contactos y muestra una pantalla informativa indicando que no se ha encontrado ningún contacto que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

9 El usuario cancela la acción de ver un contacto.

Page 17: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

17

Crear Canal Descripción

Permite crear un canal en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción "nuevo" para crear un nuevo canal.

2 El sistema muestra un asistente de múltiples pasos, para ir introduciendo los datos en el sistema.

3 El sistema muestra el paso 1 del asistente con la zona para la selección del modo de creación.

4 El usuario selecciona crear un perfil en modo avanzado y pasa al siguiente paso.

5 El sistema comprueba la validez de los datos del paso 1.

6 El sistema muestra el paso 2 del asistente con la zona para la identificación del canal.

7 El usuario introduce el nombre, activa el canal, selecciona un grupo y pasa al siguiente paso.

8 El sistema comprueba la validez de los datos del paso 2.

9 El sistema muestra el paso 3 del asistente con la zona para la introducción del puerto del canal.

10 El usuario introduce el puerto COM, velocidad máxima, bits de datos, paridad, bits de stop, control de flujo y pasa al siguiente paso.

11 El sistema Comprueba la validez de los datos del paso 3.

12 El sistema muestra el paso 4 del asistente con la zona para la introducción del envío del mensaje.

13

El usuario introduce los datos del tipo de mensaje (marca mensaje de alerta, reporte de entrega, concatenar mensaje largo), selecciona tipo de codificación, introduce período de vigencia, selecciona unidad de tiempo y pasa al siguiente paso.

14 El sistema comprueba la validez de los datos del paso 4.

15 El sistema muestra el paso 5 del asistente con la zona para la introducción de los datos de recepción.

16 El usuario marca o desmarca concatenar múltiples mensajes en un único mensaje largo, selecciona el recipiente de donde se leen los mensajes y usuario pasa al siguiente paso.

17 El sistema comprueba la validez de los datos del paso 5.

18 El sistema muestra el paso 6 del asistente con la zona para la introducción de los datos avanzados.

Page 18: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

18

19 El usuario introduce el PIN, SMSC, Timeout, SMS interval, SMS retry y pasa al siguiente paso.

20 El sistema comprueba la validez de los datos del paso 6.

21 El sistema muestra el paso 7 del asistente donde presenta un resumen de los datos introducidos por el usuario en los pasos anteriores.

22 El usuario confirma los datos introducidos.

23 El sistema comprueba la validez de los datos de todos los pasos y los almacena.

Postcondición

El canal ha sido almacenado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar canal.

Flujo alternativo

Paso Acción

4 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

5 El sistema comprueba la validez de los datos del paso 1. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

7 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

8 El sistema comprueba la validez de los datos del paso 2. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

10 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

11 El sistema comprueba la validez de los datos de paso 3, Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

13 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

14 El sistema comprueba la validez de los datos del paso 4. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

16 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

17 El sistema comprueba la validez de los datos del paso 5. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

20 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

21 El sistema comprueba la validez de los datos del paso 6. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

22 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

23 El sistema comprueba la validez de los datos de todos los pasos. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

Crear Canal Express Descripción

Permite crear un canal en el sistema.

Page 19: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

19

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción "nuevo" para crear un nuevo canal.

2 El sistema muestra un asistente de múltiples pasos, para ir introduciendo los datos en el sistema.

3 El sistema muestra el paso 1 del asistente con la zona para la selección del modo de creación.

4 El usuario selecciona crear un perfil en modo express y pasa al siguiente paso.

5 El sistema comprueba la validez de los datos del paso 1.

6 El sistema muestra el paso 2 del asistente con la zona para la identificación del canal.

7 El usuario introduce el nombre, activa el canal, selecciona un grupo y pasa al siguiente paso.

8 El sistema comprueba la validez de los datos del paso 2.

9 El sistema muestra el paso 3 del asistente con la zona para la introducción del puerto del canal.

10 El usuario introduce el puerto COM, comprueba conectividad y pasa al siguiente paso.

11 El sistema comprueba la validez de los datos del paso 3.

12 El sistema muestra el paso 4 del asistente con la zona para la introducción del envío del mensaje.

13

El usuario introduce los datos del tipo de mensaje (marca mensaje de alerta, reporte de entrega, concatenar mensaje largo), selecciona tipo de codificación, introduce período de vigencia, selecciona unidad de tiempo y pasa al siguiente paso.

14 El sistema comprueba la validez de los datos del paso 4.

15 El sistema muestra el paso 5 del asistente donde presenta un resumen de los datos introducidos por el usuario en los pasos anteriores.

16 El usuario confirma los datos introducidos.

17 El sistema comprueba la validez de los datos de todos los pasos y los almacena.

Postcondición

El canal ha sido almacenado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar canal.

Flujo alternativo

Paso Acción

4 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

Page 20: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

20

5 El sistema comprueba la validez de los datos del paso 1. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

7 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

8 El sistema comprueba la validez de los datos del paso 2. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

10 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

11 El sistema comprueba la validez de los datos del paso 3. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

13 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

14 El sistema comprueba la validez de los datos del paso 4. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

16 El usuario podrá volver al paso anterior o cancelar la acción de crear un nuevo canal.

17 El sistema comprueba la validez de los datos de todos los pasos. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija

Modificar Canal Descripción

Permite modificar un canal en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción modificar un canal del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del canal a modificar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y confirma la búsqueda.

4 El sistema procesa la búsqueda de todos los canales que cumplan con el valor introducido por el usuario en las columnas seleccionadas y los muestra en la pantalla.

5 El usuario selecciona uno de los canales existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del canal y habilita los controles para su edición.

7 El usuario selecciona una de las categorías que se encuentran a la izquierda de la pantalla.

8 El sistema muestra los controles de la categoría seleccionada.

9 El usuario actualiza el o los datos necesarios.

10 El sistema comprueba la validez de los datos introducidos.

Page 21: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

21

11 El usuario confirma los datos introducidos.

12 El sistema comprueba la validez de los datos de todas las categorías y los almacena.

Postcondición

El canal ha sido actualizado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar canal.

Flujo alternativo

Paso Acción

3 El usuario podrá confirmar la búsqueda, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todos los canales y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los canales y muestra una pantalla informativa indicando que no se ha encontrado ningún canal que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

10 El sistema comprueba la validez de los datos. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

11 El usuario cancela la modificación del canal.

12 El sistema no almacena los cambios realizados e inicializa la pantalla a un estado inicial, en la espera de una nueva acción.

Eliminar Canal Descripción

Permite eliminar un canal en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción eliminar un canal del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del canal a eliminar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todos los canales que cumplan con el valor introducido por el usuario en las columnas seleccionadas y los muestra en la pantalla.

5 El usuario selecciona uno de los canales existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del canal e inicia los controles en un modo de sólo lectura.

Page 22: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

22

7 El usuario selecciona una de las categorías que se encuentran a la izquierda de la pantalla.

8 El sistema muestra los controles de la categoría seleccionada.

9 El usuario confirma la acción.

10 El sistema elimina el canal del almacén.

Postcondición

El canal ha sido eliminado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar canal.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todos los canales y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los canales y muestra una pantalla informativa indicando que no se ha encontrado ningún canal que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

9 El usuario cancela la eliminación del canal.

10 El sistema no elimina el canal e inicializa la pantalla a un estado inicial, en la espera de una nueva acción.

Mostrar Canal Descripción

Permite mostrar un canal del sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción mostrar un canal del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del canal a mostrar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todos los canales que cumplan con el valor introducido por el usuario en la columna seleccionada y los muestra en la pantalla.

5 El usuario selecciona uno de los canales existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del canal e inicia los controles en un modo de sólo lectura.

Page 23: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

23

7 El usuario selecciona una de las categorías que se encuentran a la izquierda de la pantalla.

8 El sistema muestra los controles de la categoría seleccionada.

9 El usuario confirma la acción.

10 El sistema inicializa la pantalla, a estado inicial, en la espera de una nueva acción.

Postcondición

El sistema muestra la zona para crear, modificar, eliminar y mostrar canal.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todos los canales y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los canales y muestra una pantalla informativa indicando que no se ha encontrado ningún canal que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

9 El usuario cancela la acción de ver un canal.

Crear Plantilla Descripción

Permite crear una plantilla en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción. Tener cargado como mínimo una propiedad.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción "nuevo" para crear una nueva plantilla.

2 El sistema habilita en la pantalla los controles para introducir los datos de una nueva plantilla en el sistema.

3 El usuario introduce los datos de nombre, el mensaje y opcionalmente podrá introducir cero, una o más propiedades al mensaje.

4

El sistema comprueba la validez de los datos introducidos en el mensaje, formatea el mensaje entre los distintos alfabetos soportados y notifica al usuario el alfabeto seleccionado, cantidad de caracteres que soporta el alfabeto y la cantidad de caracteres consumidos en el mensaje.

5 El usuario confirma los datos introducidos.

6 El sistema Comprueba la validez de los datos y los almacena.

Postcondición

La plantilla ha sido almacenado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar plantilla.

Page 24: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

24

Flujo alternativo

Paso Acción

3 El usuario podrá cancelar la acción de crear una nueva plantilla.

4 El sistema comprueba la validez de los datos. Si los datos no son correctos, se avisa al usuario de ello permitiéndole que los corrija.

5 El usuario podrá cancelar la acción de crear una nueva plantilla.

6 El sistema comprueba la validez de todos los datos. Si los datos no son correctos, se avisa al usuario de ello, permitiéndole que los corrija.

Modificar Plantilla Descripción

Permite modificar una plantilla en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción modificar una plantilla del sistema.

2 El sistema muestra una pantalla que permite la búsqueda de la plantilla a modificar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y confirma la búsqueda.

4 El sistema procesa la búsqueda de todas las plantillas que cumplan con el valor introducido por el usuario en las columnas seleccionadas y lo muestra en la pantalla.

5 El usuario selecciona una de las plantillas existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición de la plantilla y habilita los controles para su edición.

7 El usuario actualiza el o los datos necesarios.

8 El sistema comprueba la validez de los datos introducidos.

9 El usuario confirma los datos introducidos.

10 El sistema Comprueba la validez de los datos y los almacena.

Postcondición

La plantilla ha sido actualizada en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar plantilla.

Flujo alternativo

Paso Acción

3 El usuario podrá confirmar la búsqueda, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todas las plantillas y las muestra en la pantalla.

Page 25: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

25

4.b El sistema procesa la búsqueda de todas las plantillas y muestra una pantalla informativa indicando que no se ha encontrado ninguna plantilla que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

7 El usuario podrá cancelar la acción de modificar la plantilla.

8 El sistema comprueba la validez de todos los datos. Si los datos no son correctos, se avisa al usuario de ello, permitiéndole que los corrija.

9 El usuario podrá cancelar la acción de modificar la plantilla.

10 El sistema no almacena los cambios realizados e inicializa la pantalla a un estado inicial, en la espera de una nueva acción.

Eliminar Plantilla Descripción

Permite eliminar una plantilla en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción eliminar una plantilla del sistema.

2 El sistema muestra una pantalla que permite la búsqueda de la plantilla a eliminar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todas las plantillas que cumplan con el valor introducido por el usuario en las columnas seleccionadas y las muestra en la pantalla.

5 El usuario selecciona una de las plantillas existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición de la plantilla e inicia los controles en un modo de sólo lectura.

7 El usuario confirma la acción.

8 El sistema elimina la plantilla del almacén.

Postcondición

La plantilla ha sido eliminado del sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar plantilla.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todas las plantillas y las muestra en la pantalla.

Page 26: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

26

4.b El sistema procesa la búsqueda de todas las plantillas y muestra una pantalla informativa indicando que no se ha encontrado ninguna plantilla que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

7 El usuario cancela la eliminación de la plantilla.

8 El sistema no elimina la plantilla e inicializa la pantalla a un estado inicial, en la espera de una nueva acción.

Mostrar Plantilla Descripción

Permite mostrar una plantilla del sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción mostrar una plantilla del sistema.

2 El sistema muestra una pantalla que permite la búsqueda de la plantilla a mostrar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todas las plantillas que cumplan con el valor introducido por el usuario en la columna seleccionada y lo muestra en la pantalla.

5 El usuario selecciona una de las plantillas existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición de la plantilla e inicia los controles en un modo de sólo lectura.

7 El usuario confirma la acción.

8 El sistema inicializa la pantalla, a estado inicial, en la espera de una nueva acción.

Postcondición

El sistema muestra la zona para crear, modificar, eliminar y mostrar plantilla.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todas las plantillas y las muestra en la pantalla.

4.b El sistema procesa la búsqueda de todas las plantillas y muestra una pantalla informativa indicando que no se ha encontrado ninguna plantilla que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

Page 27: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

27

7 El usuario cancela la acción de ver la plantilla.

Crear Diccionario Descripción

Permite crear un diccionario en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción. Tener cargado como mínimo una plantilla. Tener cargada como mínimo una propiedad.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción "nuevo" para crear un nuevo diccionario.

2 El sistema habilita en la pantalla los controles para introducir los datos de un nuevo diccionario en el sistema.

3 El usuario introduce los datos de palabra clave, selecciona una plantilla y opcionalmente podrá introducir cero, una o más propiedades al diccionario. El usuario podrá activar la vista previa de la plantilla.

4 El sistema comprueba la validez de los datos introducidos, genera automáticamente la estructura del diccionario y notifica al usuario la estructura generada.

5 El usuario confirma los datos introducidos.

6 El sistema Comprueba la validez de los datos y los almacena.

Postcondición

El diccionario ha sido almacenado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar diccionario.

Flujo alternativo

Paso Acción

3 El usuario podrá cancelar la acción de crear un nuevo diccionario.

4 El sistema comprueba la validez de los datos. Si los datos no son correctos, se avisa al usuario de ello, permitiéndole que los corrija.

5 El usuario podrá cancelar la acción de crear un nuevo diccionario.

6 El sistema comprueba la validez de todos los datos. Si los datos no son correctos, se avisa al usuario de ello, permitiéndole que los corrija.

Modificar Diccionario Descripción

Permite modificar un diccionario en el sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

Page 28: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

28

1 El usuario selecciona la acción modificar un diccionario del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del diccionario a modificar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y confirma la búsqueda.

4 El sistema procesa la búsqueda de todos los diccionarios que cumplan con el valor introducido por el usuario en las columnas seleccionadas y los muestra en la pantalla.

5 El usuario selecciona uno de los diccionarios existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del diccionario y habilita los controles para su edición.

7 El usuario actualiza el o los datos necesarios.

8 El sistema comprueba la validez de los datos introducidos.

9 El usuario confirma los datos introducidos.

10 El sistema Comprueba la validez de los datos y los almacena.

Postcondición

El diccionario ha sido actualizado en el sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar diccionario.

Flujo alternativo

Paso Acción

3 El usuario podrá confirmar la búsqueda, sin introducir un valor especifico a buscar.

4.a El sistema procesa la búsqueda de todos los diccionarios y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los diccionarios y muestra una pantalla informativa indicando que no se ha encontrado ningún diccionario que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

7 El usuario podrá cancelar la acción de modificar el diccionario.

8 El sistema comprueba la validez de todos los datos. Si los datos no son correctos, se avisa al usuario de ello, permitiéndole que los corrija.

9 El usuario podrá cancelar la acción de modificar el diccionario.

10 El sistema no almacena los cambios realizados e inicializa la pantalla a un estado inicial, en la espera de una nueva acción.

Eliminar Diccionario Descripción

Permite eliminar un diccionario del sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Page 29: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

29

Paso Acción

1 El usuario selecciona la acción eliminar un diccionario del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del diccionario a eliminar.

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todos los diccionarios que cumplan con el valor introducido por el usuario en las columnas seleccionadas y los muestra en la pantalla.

5 El usuario selecciona uno de los diccionarios existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición de la plantilla e inicia los controles en un modo de sólo lectura.

7 El usuario confirma la acción.

8 El sistema elimina el diccionario del almacén.

Postcondición

El diccionario ha sido eliminado del sistema. El sistema muestra la zona para crear, modificar, eliminar y mostrar diccionario.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor específico a buscar.

4.a El sistema procesa la búsqueda de todos los diccionarios y los muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los diccionarios y muestra una pantalla informativa indicando que no se ha encontrado ninguna plantilla que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

7 El usuario cancela la eliminación del diccionario.

8 El sistema no elimina el diccionario e inicializa la pantalla a un estado inicial, en la espera de una nueva acción.

Mostrar Diccionario Descripción

Permite mostrar un diccionario del sistema.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción.

Secuencia Normal

Paso Acción

1 El usuario selecciona la acción mostrar un diccionario del sistema.

2 El sistema muestra una pantalla que permite la búsqueda del diccionario a mostrar.

Page 30: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

30

3 El usuario introduce el valor de búsqueda y selecciona la columna por donde se aplicará la comparación y pulsa en el botón buscar.

4 El sistema procesa la búsqueda de todos los diccionarios que cumplan con el valor introducido por el usuario en la columna seleccionada y lo muestra en la pantalla.

5 El usuario selecciona uno de los diccionarios existentes en la pantalla.

6 El sistema cierra la pantalla de búsqueda y carga todos los valores en la pantalla de edición del diccionario e inicia los controles en un modo de sólo lectura.

7 El usuario confirma la acción.

8 El sistema inicializa la pantalla, a estado inicial, en la espera de una nueva acción.

Postcondición

El sistema muestra la zona para crear, modificar, eliminar y mostrar diccionario.

Flujo alternativo

Paso Acción

3 El usuario podrá hacer clic en el botón buscar, sin introducir un valor específico a buscar.

4.a El sistema procesa la búsqueda de todos los diccionarios y lo muestra en la pantalla.

4.b El sistema procesa la búsqueda de todos los diccionarios y muestra una pantalla informativa indicando que no se ha encontrado ningún diccionario que cumpla con el criterio de la búsqueda.

5 El usuario cierra la pantalla de búsqueda, sin solicitar la búsqueda.

7 El usuario cancela la acción de ver el diccionario.

Gestión de Envío Descripción

Permite el envío masivo de mensajes basados en plantilla a un contacto, conjunto de contactos o grupo.

Precondición

El usuario debe haberse logueado en el sistema. Tener los permisos necesarios para realizar la acción. Tener cargado como mínimo un contacto. Tener cargado como mínimo una plantilla. Tener cargado como mínimo un canal.

Secuencia Normal

Paso Acción

1 El sistema habilita en la pantalla los controles para introducir los datos necesarios para el envío de mensajes.

2 El usuario selecciona el grupo de contactos a enviar.

2.a El usuario activa la selección de contacto e introduce el código de identificación del contacto.

Page 31: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

31

2.b El usuario selecciona la propiedad a comparar, selecciona el formato de comparación e introduce el dato a comparar.

3 El sistema desactiva la selección de contactos por contacto y por propiedades.

4.a El usuario selecciona la plantilla a utilizar.

4.b El usuario selecciona la plantilla a utilizar, selecciona el tipo de móvil y el canal por donde se enviarán los mensajes.

5 El sistema muestra automáticamente la estructura del mensaje generado.

6 El usuario confirma la acción de selección.

7 El sistema procesa los datos seleccionados y busca los contactos que cumplan con la condición de selección elegida, formatea el mensaje por contacto con la plantilla seleccionada, el canal por defecto, el teléfono predeterminado del contacto y notifica al usuario todos los contactos encontrados con su correspondiente estado para el envío.

8 El usuario podrá activar o desactivar el envío del mensaje, del listado encontrado y que se encuentren en estado correcto o de advertencia.

9 El sistema actualiza la información en la pantalla.

10 El usuario confirma el envío de los mensajes.

11 El sistema valida los datos ingresados, los procesa, los almacena y notifica al usuario el estado del proceso de envío.

Postcondición

El envío ha sido procesado y almacenado en el sistema. El sistema muestra la zona para enviar mensaje.

Excepciones

Paso Acción

2.a En caso de no existir, el sistema activará automáticamente el asistente de búsqueda de contacto.

6 El usuario cancela la acción de envío.

8 El usuario cancela la acción de envío.

10 El usuario cancela la acción de envío.

Page 32: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

32

Diagrama de Clases (NHibernate)

Page 33: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

33

Diagrama de Herencia

Page 34: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

34

Prototipos de Pantalla

Pantalla principal

Gestión de Contacto

El formulario detallado a continuación se utiliza para trabajar con toda la

información referente a un contacto, que representa aquella persona que

consumirá los diferentes servicios que brinda el sistema.

A través de este formulario se podrá Agregar, Modificar, Eliminar, Consultar e

Imprimir los datos referentes a un Contacto.

Agregar un Canal: Hacer clic en el botón (nuevo) o (Ctrl+N), y se abre un

asistente que te guía a través de los diferentes pasos.

Como podemos ver en el paso Nº 1, el usuario introduce los datos de

identificación: tipo de documento, número de documento, nombre y apellidos.

Page 35: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

35

En el paso Nº 2, el usuario selecciona el servicio deseado marcando la casilla de

activo presente en la grilla. El usuario también podrá introducir la cantidad que

podrá utilizar el contacto, como así también su costo unitario.

Page 36: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

36

En el paso Nº 3, el usuario podrá agregar uno o más teléfonos móviles.

El usuario pulsa el botón (nuevo) para agregar un teléfono e introduce los

datos correspondientes: tipo de teléfono, número de teléfono y predeterminado

(solo podrá existir un único teléfono predeterminado). Para su modificación o

eliminación el usuario selecciona uno de los teléfonos existentes en la grilla y

pulsa el botón (Abrir) para editar y pulsa el botón (Borrar), para su

eliminación.

Para confirmar la acción, el usuario pulsa el botón (Aceptar) y para cancelar, el

usuario pulsa el botón (Cancelar).

Page 37: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

37

En el paso Nº 4, el usuario podrá seleccionar uno o más grupos marcando o

desmarcando la casilla de grupo en cuestión.

En el paso Nº 5, el usuario podrá agregar una o más propiedades.

El usuario pulsa el botón (nuevo) para agregar una propiedad e introduce los

datos correspondientes: tipo de propiedad y el valor de la propiedad. Para su

modificación o eliminación, el usuario selecciona una de las propiedades

existentes en la grilla y pulsa el botón (Abrir) para editar y pulsa el botón

(Borrar), para su eliminación.

Para confirmar la acción, el usuario pulsa el botón (Aceptar) y para cancelar, el

usuario pulsa el botón (Cancelar).

Page 38: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

38

En el paso Nº 6, el usuario podrá agregar una o más alertas.

El usuario pulsa el botón (nuevo) para agregar una alerta e introduce los datos

correspondientes: tipo de alerta y si está activa. Para su modificación o

eliminación el usuario selecciona una de las alertas existentes en la grilla y pulsa

el botón (Abrir) para editar y pulsa el botón (Borrar), para su eliminación.

Para confirmar la acción, el usuario pulsa el botón (Aceptar) y para cancelar, el

usuario pulsa el botón (Cancelar).

Page 39: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

39

En el Paso Nº 7. El usuario podrá ver un resumen de los datos que se han

cargado al contacto en los distintos pasos anteriores.

Page 40: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

40

Modificar canal: Debe hacer clic en el botón (Abrir) o (Ctrl+A), y se abre el asistente de búsqueda, como podemos ver en la siguiente pantalla:

Debe introducir en el cuadro de texto (Valor) el contenido a buscar y en el cuadro

de selección (Columna), deberá seleccionar la columna por donde se aplicará la

comparación, pulsar en el botón buscar para ejecutar la búsqueda. Si el cuadro de

texto (Valor) se encuentra vacío y se pulsa en el botón "buscar" el sistema

buscará todos los contactos existentes. Para seleccionar un contacto, hacer doble

clic en el botón izquierdo del mouse o pulsar el botón Intro o Enter.

En la siguiente pantalla se observa un cuadro situado en la izquierda que

representa toda la información que el usuario podrá modificar referente al canal. El mismo funciona como un árbol con sus ramas, es decir, si nos posicionamos

por ejemplo, en la solapa "General", observe que a la izquierda se encuentra el signo "-"; haciendo clic sobre el mismo, se contraen todas las ramas referentes a los datos y si volvemos a hacer clic en el signo “+”, se despliega el contenido. Para acceder a contenido, sólo debe pulsar en la solapa que necesite y a la derecha visualizará toda la información para su edición.

Page 41: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

41

Page 42: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

42

Page 43: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

43

Page 44: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

44

Eliminar contacto: Debe hacer clic en el botón (Borrar) o (Ctrl+Shift+B), y a continuación se visualizará el asistente de búsqueda. Una vez seleccionado el contacto, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de modificación, pero no se tiene permitida la edición.

Para eliminar hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la acción

de eliminar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Buscar contacto: Debe hacer clic en el botón (Buscar) o (Ctrl+B) y a continuación se visualizará la pantalla de búsqueda. Una vez seleccionado el contacto, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de modificación, pero no se tiene permitida la edición.

Para finalizar hacer clic en el botón (Aceptar) o (Ctrl+G) o en el botón (Cancelar) o (Ctrl+R).

Imprimir canal: Debe hacer clic en el botón (Imprimir) o (Ctrl+P), y a continuación se visualizará la pantalla con la pre visualización del contenido a imprimir. En la siguiente imagen se muestra la pantalla anteriormente mencionada:

Page 45: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

45

Para imprimir hacer clic en el botón (Print Report) y para anular la acción de imprimir

hacer clic en el botón (Close).

Gestión de Canal

El formulario detallado a continuación se utiliza para trabajar con toda la

información referente al Canal de comunicación por donde se enviará y recibirá el

mensaje.

A través de este formulario se podrá Agregar, Modificar, Eliminar, Consultar e

Imprimir los datos referentes a un Canal de comunicación.

Agregar un Canal: Hacer clic en el botón (nuevo) o (Ctrl+N), y se abre un

asistente que te guía a través de los diferentes pasos.

Como podemos ver en el paso Nº 1, podemos seleccionar una de las dos

opciones que tiene el sistema para la creación: el modo Express y el modo

Page 46: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

46

Avanzado. El modo express es una opción donde la mayoría de opciones del

canal se cargan de forma predefinida. En cambio, el modo avanzado permite

configurar todos los parámetros.

En el paso Nº 2, el usuario introduce el nombre con el cual podrá acceder a él, a

través de todo el sistema. En la casilla Activo se indica si queremos que se

encuentre activo en el sistema para su utilización; si le asignamos un grupo de

usuario, dicho canal será utilizado sólo para dicho grupo.

Page 47: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

47

En el Paso Nº 3. Sólo Modo Express. El usuario debe ingresar el número de

puerto COM donde se encuentra conectado el dispositivo móvil. Al hacer clic en

Probar conectividad, el sistema le informará si ha encontrado o no el dispositivo.

En el Paso Nº 4. Sólo Modo Express. El usuario debe ingresar datos opcionales

para definir el tipo de envío.

Mensajería de alerta: Si está activo, el mensaje aparece como una alerta.

Page 48: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

48

Reporte de entrega: Si está activo, el mensaje enviado retorna un mensaje de

respuesta (depende del operador de telefonía móvil).

Concatenar mensaje largo: Si está activo, el mensaje enviado se ve como un

único mensaje, aunque se envía en varios.

Concatena múltiples mensajes en un único mensaje largo: Si está activo, el

mensaje recibidos, que fue divido en varios mensaje para su transmición, los

vuelve a unir para verlo como un único mensaje.

En el Paso Nº 5. Sólo Modo Avanzado. El usuario debe ingresar el número de

puerto donde se encuentra conectado el dispositivo móvil, así como valores de

parametrización del dispositivo móvil como: Velocidad máxima, Bits de datos,

Paridad, Bits de Stop, Control de flujo.

Page 49: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

49

En el Paso Nº 6. Sólo Modo Avanzado. El usuario debe seleccionar la

configuración del mensaje de envío, así como también el tipo de alfabeto y la

vigencia en días.

Page 50: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

50

En el Paso Nº 7. Sólo Modo Avanzado. El usuario debe seleccionar la

configuración del mensaje de recepción.

En el Paso Nº 8. Sólo Modo Avanzado. El usuario podrá introducir los datos

refentes a PIN, SMSC, Timeout, SMS interval y SMS retry.

Page 51: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

51

En el Paso Nº 9. El usuario podrá ver un resumen de la configuración que ha

realizado en los distintos pasos anteriores.

Modificar canal: Debe hacer clic en el botón (Abrir) o (Ctrl+A), y se abre el asistente de búsqueda como podemos ver en la siguiente pantalla:

Page 52: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

52

Debe introducir en el cuadro de texto (Valor) el contenido a buscar y en el cuadro

de selección (Columna), deberá seleccionar la columna por donde se aplicará la

comparación, y finalmente pulsar en el botón buscar para ejecutar la búsqueda. Si

en el cuadro de texto (Valor) se encuentra vacío y se pulsa en el botón buscar, el

sistema buscará todos los canales existentes. Para seleccionar un canal, hacer

doble clic en el botón izquierdo del mouse o pulsar el botón Intro o Enter.

En la siguiente pantalla se observa un cuadro situado en la izquierda que

representa toda la información que el usuario podrá modificar referente al canal. El mismo funciona como un árbol con sus ramas, es decir, si nos posicionamos

por ejemplo, en la solapa "General", observe que a la izquierda se encuentra el signo "-"; haciendo clic sobre el mismo, se contraen todas las ramas referentes a los datos y si volvemos a hacer clic en el signo “+”, se despliega el contenido. Para acceder a contenido, sólo debe pulsar en la solapa que necesite y a la derecha visualizará toda la información para su edición.

Page 53: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

53

Nota: En caso de seleccionar el Canal que viene en el sistema denominado

DEFECTO, los datos Nombre y Activo serán de sólo lectura por lo que no se

podrán modificar.

Page 54: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

54

Page 55: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

55

Para modificar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la acción de

modificar,

hacer clic en el botón (Cancelar) o (Ctrl+R).

Eliminar canal: Debe hacer clic en el botón (Borrar) o (Ctrl+Shift+B), y a continuación se visualizará el asistente de búsqueda. Una vez seleccionado el canal, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de modificación, pero no se tiene permitida la edición.

Para eliminar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la

acción de eliminar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Buscar canal: Debe hacer clic en el botón (Buscar) o (Ctrl+B) y a continuación se visualizará la pantalla de búsqueda. Una vez seleccionado el canal, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de modificación, pero no se tiene permitida la edición.

Para finalizar, hacer clic en el botón (Aceptar) o (Ctrl+G) o en el botón (Cancelar) o (Ctrl+R).

Imprimir canal: Debe hacer clic en el botón (Imprimir) o (Ctrl+P), y a continuación se visualizará la pantalla con la pre visualización del contenido a imprimir. En la siguiente imagen se muestra la pantalla anteriormente mecionada:

Page 56: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

56

Para imprimir, hacer clic en el botón (Print Report) y para anular la acción de

imprimir, hacer clic en el botón (Close).

Gestión de Plantilla

El formulario detallado a continuación se utiliza para trabajar con toda la

información referente a una plantilla, que representa el esquema que se usará

para los envíos de mensajes automatizados por propiedades.

A través de este formulario se podrá Agregar, Modificar, Eliminar, Consultar e

Imprimir los datos referentes a una plantilla.

Page 57: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

57

Agregar una plantilla: Hacer clic en el botón (nuevo) o (Ctrl+N). El usuario

introduce el nombre de la plantilla en el cuadro de texto Nombre, y en el cuadro

de texto Mensaje el usuario introduce la plantilla de mensaje, pudiendo incorporar

propiedades que se encuentran en la grilla derecha de la pantalla Propiedades,

haciendo doble clic en la propiedad a introducir.

En la parte inferior el sistema presenta dinámicamente el alfabeto y cantidad de

caracteres permitido, como así también la cantidad de caracteres consumidos en

la plantilla.

Page 58: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

58

Si la plantilla de mensaje introducido supera la cantidad máxima permitida por el

alfabeto presente, el sistema le notificará, cambiando el color de la casilla de

cantidad de caracteres consumido.

Para agregar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la

acción de agregar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Modificar plantilla: Debe hacer clic en el botón (Abrir) o (Ctrl+A), y se abre el asistente de búsqueda como podemos ver en la siguiente pantalla:

Page 59: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

59

Debe introducir en el cuadro de texto (Valor) el contenido a buscar y en el cuadro

de selección (Columna), deberá seleccionar la columna por donde se aplicará la

comparación, a continuación pulsar en el botón buscar para ejecutar la búsqueda.

Si el cuadro de texto (Valor) se encuentra vacío y se pulsa en el botón buscar, el

sistema buscará todas las plantillas existentes. Para seleccionar una plantilla,

hacer doble clic en el botón izquierdo del mouse o pulsar el botón Intro o Enter.

Una vez seleccionada la plantilla, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de agregar plantilla.

Para modificar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la

acción de modificar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Eliminar plantilla: Debe hacer clic en el botón (Borrar) o (Ctrl+Shift+B), y a continuación se visualizará el asistente de búsqueda. Una vez seleccionada la plantilla, se podrá navegar por las diferentes partes del formulario, como se ha explicado en el apartado de agregar plantilla.

Para eliminar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la

acción de eliminar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Page 60: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

60

Buscar plantilla: Debe hacer clic en el botón (Buscar) o (Ctrl+B) y a continuación se visualizará la pantalla de búsqueda. Una vez seleccionada la plantilla, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de agregar plantilla, pero no se tiene permitida la edición.

Para finalizar, hacer clic en el botón (Aceptar) o (Ctrl+G) o en el botón (Cancelar) o (Ctrl+R).

Imprimir plantilla: Debe hacer clic en el botón (Imprimir) o (Ctrl+P), y a continuación se visualizará la pantalla con la pre visualización del contenido a imprimir. En la siguiente imagen se muestra la pantalla anteriormente mencionada:

Para imprimir, hacer clic en el botón (Print Report) y para anular la acción de

imprimir, hacer clic en el botón (Close).

Page 61: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

61

Gestión de Diccionario

El formulario detallado a continuación se utiliza para trabajar con toda la

información referente al diccionario, que representa la estructura o lenguaje de

comunicación que el sistema entenderá para procesar y enviar información

relevante al contacto.

A través de este formulario se podrá Agregar, Modificar, Eliminar, Consultar e

Imprimir los datos referentes a una plantilla.

Agregar un diccionario: Hacer clic en el botón (nuevo) o (Ctrl+N). El usuario

introduce la palabra clave P. Clave, selecciona la plantilla en la caja de selección

Plantilla y puede agregar una o más propiedades a través de la grilla

Propiedades, situada en el extremo derecho de la pantalla. El usuario, al pulsar

el botón Ver vista previa de la plantilla, podrá ver la plantilla en un formulario o

contenedor externo. El en cuadro de texto estructura el sistema dinámicamente

presenta el formato final del mensaje que deberá envíar el usuario para obtener

una respuesta del sistema.

Para agregar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la acción de

agregar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Page 62: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

62

Modificar diccionario: Debe hacer clic en el botón (Abrir) o (Ctrl+A), y se abre el asistente de búsqueda, como podemos ver en la siguiente pantalla:

Debe introducir en el cuadro de texto (Valor) el contenido a buscar y en el cuadro

de selección (Columna), deberá seleccionar la columna por donde se aplicará la

comparación, a continuación pulsar en el botón buscar para ejecutar la búsqueda.

Si el cuadro de texto (Valor) se encuentra vacío y se pulsa en el botón buscar, el

sistema buscará todos los diccionarios existentes. Para seleccionar un

diccionario, hacer doble clic en el botón izquierdo del mouse o pulsar el botón

Intro o Enter.

Una vez seleccionado el diccionario, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de agregar diccionario.

Para modificar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular la

acción de modificar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Eliminar diccionario: Debe hacer clic en el botón (Borrar) o (Ctrl+Shift+B), y a continuación se visualizará el asistente de búsqueda. Una vez seleccionado el diccionario, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de agregar diccionario, pero no se tiene permitida la

Page 63: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

63

edición. Para eliminar, hacer clic en el botón (Aceptar) o (Ctrl+G) y para anular

la acción de eliminar, hacer clic en el botón (Cancelar) o (Ctrl+R).

Buscar diccionario: Debe hacer clic en el botón (Buscar) o (Ctrl+B) y a continuación se visualizará la pantalla de búsqueda. Una vez seleccionado el diccionario, se podrá navegar por las diferentes partes del formulario como se ha explicado en el apartado de agregar diccionario, pero no se tiene permitido la

edición. Para finalizar, hacer clic en el botón (Aceptar) o (Ctrl+G) o en el botón

(Cancelar) o (Ctrl+R).

Imprimir diccionario: Debe hacer clic en el botón (Imprimir) o (Ctrl+P), y a continuación se visualizará la pantalla con la pre visualización del contenido a imprimir. En la siguiente imagen se muestra la pantalla anteriormente mencionada:

Page 64: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

64

Para imprimir, hacer clic en el botón (Print Report) y para anular la acción de

imprimir, hacer clic en el botón (Close).

Envío de SMS

El formulario detallado a continuación se utiliza para trabajar con toda la

información referente al envío de mensajes de texto.

A través de este formulario se podrá enviar masivamente mensajes basados en

una plantilla a un contacto, conjunto de contactos o grupo.

En el panel Contacto el usuario podrá seleccionar el conjunto de contactos, a

quienes se les enviará el mensaje, pudiendo seleccionar por grupo, Contacto o

característica de propiedad.

Selección por Grupo, el usuario selecciona uno de los grupos existentes en la

caja de selección Grupo.

Selección por Contacto, el usuario activa la casilla de selección de usuario e

introduce el código de identificación del contacto. En caso de no existir, el sistema

activará automáticamente el asistente de búsqueda de contacto. El usuario podrá

forzar la activación del asistente presionando la tecla F4.

Selección por Propiedades, el usuario selecciona la propiedad a comparar en

la caja de selección Propiedad, marca una de las cuatro formas de comparación

(Exacto, Contenga, Comienza con y Termina con) e introduce en el cuadro de

texto Valor el dato a comparar.

En el panel Mensaje el usuario podrá seleccionar la plantilla a utilizar a través

del cuadro de selección Plantilla y el sistema automáticamente le mostrará la

estructura del mensaje generado por la plantilla en el cuadro de texto Mensaje.

En el panel Canal, el usuario podrá expandirlo o contraerlo haciendo clic con el

botón izquierdo del mouse sobre el mismo. Si el canal se encuentra contraído, el

sistema automáticamente configura el envío de mensaje por el canal por defecto y

por los teléfonos por defecto; en caso contrario, el usuario introducirá el tipo de

móvil a enviar el mensaje, en el cuadro de selección Tipo de Móvil e introducirá

el canal por donde viajarán los mensajes, en el cuadro de selección Canal.

Para procesar los contactos a quien se enviará el mensaje, hacer clic en el botón

(Aceptar) o (Ctrl+G) o en el botón (Cancelar) o (Ctrl+R).

Page 65: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

65

En la grilla Detalle, situada a la derecha de la pantalla, se mostrarán todos los contactos

que cumplen con el criterio. El sistema le notificará del estado en que se encuentra el

envío por cada contacto, pudiendo ser:

Correcto: el mensaje se encuentra perfectamente estructurado y el sistema lo

procesará y enviará a destino.

Advertencia: el mensaje no se encuentra bien estructurado y el sistema lo

procesará y enviará a destino.

Error: el mensaje no se encuentra bien estructurado y el sistema no lo procesará,

ni lo enviará a destino.

El usuario podrá seleccionar del resultado de mensajes correctos y advertencias si se

procesará y enviará, activando o desactivando la casilla de la grilla +.

Para enviar los distintos SMS seleccionados deberá pulsar el botón (Funciones) o

(Ctrl+F) y a continuación se desplegará un menú y debe pulsar en el botón (Enviar a

servidor).

Page 66: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

66

El sistema le notificará a través de un mensaje el estado del inicio de proceso de envío de

los mensajes.

Nota: El sistema no envía en este proceso, el SMS al destinatario final, sino que es

enviado al servidor de envío y en su próximo ciclo de vida los procesará para su

correspondiente envío a destino.

Remember Server

El formulario detallado a continuación representa el servidor de envío de SMS.

A través de este formulario se podrá enviar físicamente SMS, como así también

activarlo, pára lo y ver su estado en todo momento.

Page 67: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

67

El usuario podrá hacer clic con el botón derecho del mouse y el sistema

desplegará automáticamente un menú por donde se podrán realizar las siguientes

acciones:

Abrir: El usuario podrá desplegar una pantalla, donde se encuentra el

estado del servidor en ese momento.

Iniciar: El usuario podrá iniciar el servidor de mensajería.

Parar: El usuario podrá detener el servidor de mensajería.

Reiniciar: El usuario podrá parar e iniciar el servidor de mensajería con sus

datos iniciales.

Salir: El usuario podrá cerrar o finalizar el servidor de mensajería.

En la siguiente pantalla, el usuario podrá observar el estado de los distintos

canales existentes en el sistema, como así también el Dispositivo (módem GSM

físico asociado al canal), Red (Red por donde viajan los SMS), Señal (nivel de

señal para el envío y recepción de los SMS), Puerto (Puerto COM por donde se

comunica el dispositivo y el servidor), Memoria (Si utiliza la memoria del

dispositivo), Estado (Es el estado del canal en ese momento, pudiendo ser

Desconectado, Conectado, Enviando, Recibiendo).

Page 68: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

68

Page 69: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

69

Desarrollo

Estructura de la base de datos

El Sistema de gestión de base de datos seleccionado es Microsoft SQL 2005

Edición Express. Una de las principales razones de su elección es que es un

producto de licencias gratuito, pero también se tuvieron en cuenta factores como

rendimiento y escalabilidad.

La base de datos se encuentra compuesta por dos grandes bloques. Por un

lado se encuentra la estructura del sCabrera Framework 1.0, el cual se encarga

de gestionar los datos referentes a la estructura no funcional del sistema, como

gestión de usuarios, roles, accesos, sesiones de sistema, etc. y por otro lado la

estructura funcional del sistema, que se encarga de la gestión de los datos

propiamente dichos del sistema Remember.

Page 70: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

70

Estructura del sCabrera Framework 1.0

Page 71: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

71

Estructura de datos de Remember

Page 72: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

72

Clases de entidades POCO (Plain Old CLR Object)

Se entienden como entidades POCO o Plain Old CLR Object a toda clase normal, sin atributos que describen problemas de infraestructura u otras responsabilidades que los objetos de dominio no

deberían tener.

Page 73: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

73

Clases de entidades de negocio

Se entienden como entidades de negocio, a aquellas clases que representan el estado de la información que pasará entre cada capa, como un conjunto de datos que identifican una entidad como lo es un cliente, una

factura, la nómina, la nomenclatura contable, un deposito, etc.; es decir, maneja la lógica del negocio de sistema.

Page 74: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

74

Clases de entidades de vista controlador

Se entienden como entidades de vista controlador, a aquellas clases que controlan la lógica de la aplicación separándola de la capa de interfaz de usuario. Esta estructura basada en el patrón de MVC

(Model View Controller), se encuentra implementada en ciertas partes del sistema de Remember.

Page 75: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

75

Estructura de datos externos

Como se ha mencionado anteriormente, el sistema puede comunicar no sólo con

los usuarios a través de la interfaz gráfica propuesta por el sistema; sino que

también puede comunicarse con otros sistemas por medio de archivos. El sistema

contempla la posibilidad de configurar un repositorio (ubicación en el sistema de

directorio del ordenador servidor), donde se depositarán dichos archivos y el

sistema los procesará.

Es por tal motivo que se ha definido una estructura utilizando el lenguaje

XML y un esquema para validar dicha estructura. A continuación se presenta la

definición de la estructura y el esquema de validación.

Definición de la estructura

Cabe aclarar que existen dos tipos de estructura quesonsoportadas por el sistema:

Contacto: Procesa todos los datos correspondientes a un contacto, como Servicio, Teléfonos, Grupos y Propiedades.

Propiedades: Procesa sólo los datos de propiedades del contacto.

A continuación de describen las distintas definiciones para la creación del archivo XML: DocumentoTipo: Es el tipo de documento del contacto o cliente.

Sintaxis: document-type. Tipo de dato: Texto. Formato: Caracteres sólo letras en mayúscula. Valores permitidos: NIF – CIF – TRE – PAS. Ejemplo: NIF, PAS, TRE.

DocumentoNumero: Es el número de documento del contacto o cliente. Sintaxis: document-value. Tipo de dato: Texto. Formato: Caracteres letra en mayúscula y número. Cantidad: 75 (setenta y cinco). Ejemplo: Y0758177-L, 2469114N, etc.

ServicioNombre: Es el nombre del tipo de servicio. Sintaxis: name. Tipo de dato: Texto. Formato: Caracteres sólo letras en mayúscula. Valores permitidos: BIDIRECCION – INFORMACION – ALERTA. Ejemplo: BIDIRECCION, INFORMACION, ALERTA.

ServicioActivo: Determina si se encuentra activo el servicio para el contacto o cliente.

Sintaxis: active. Tipo de dato: Booleano.

Page 76: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

76

Formato: Caracteres sólo letras minúsculas. Valores permitidos: true - false. Ejemplo: true, false.

ServicioCantidad: Es la cantidad de servicios que puede consumir el contacto o cliente.

Sintaxis: quantity. Tipo de dato: Número entero. Formato: Caracteres sólo números. Ejemplo: 0, 124556, 45, etc.

ServicioCosto: Es el costo para cada servicio que consume el contacto o cliente. Sintaxis: cost. Tipo de dato: Número decimal. Formato: Caracteres numéricos. Símbolo separador decimal el punto y tres dígitos decimales. Ejemplo: 0.123 ,12.456, 1, etc.

TelefonoTipo: Es el nombre o descripción del tipo de teléfono.

Sintaxis: type-name. Tipo de dato: Texto. Formato: Caracteres alfanuméricos en mayúscula. Ejemplo: PARTICULAR, OFICINA, etc.

TelefonoNumero: Es el número completo (código país + Código de área + Número) del teléfono móvil, se puede obviar el código de país.

Sintaxis: number. Tipo de dato: Texto. Formato: Caracteres numéricos. Ejemplo: 506572,776452 etc.

TelefonoPredeterminado: Determina si el teléfono es el por defecto o no. Sólo puede haber un único teléfono por defecto o predeterminado.

Sintaxis: default. Tipo de dato: Texto. Formato: Caracteres numéricos. Ejemplo: 506572,776452 etc.

GrupoNombre: Es el nombre del grupo al cual se va a asociar el contacto o cliente.

Sintaxis: name. Tipo de dato: Texto. Formato: Caracteres sólo letras en mayúscula. Cantidad: 75 setenta y cinco. Ejemplo: CLIENTE_VIP, OFICINA, etc.

PropiedadNombre: Es el nombre de la propiedad que se va a asociar al contacto o cliente.

Sintaxis: name. Tipo de dato: Texto.

Page 77: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

77

Formato: Caracteres sólo letras en mayúscula. Cantidad: 75 setenta y cinco. Ejemplo: CUENTA_SALDO, CUENTA_NUMERO, etc.

PropiedadTipo: Es el tipo de información que posee la propiedad. Sintaxis: type. Tipo de dato: Texto. Formato: Caracteres sólo letras en mayúscula. Valores permitidos: ENT – DEC – DTE – HRA – DYH - STR. Ejemplo: ENT, DEC, DTE, HRA, DYH, STR.

PropiedadValor: Es el Valor asociado a la propiedad que se encuentra determinado por el tipo de propiedad.

Sintaxis: value. Tipo de dato: Entero, Decimal, Fecha, Hora, Fecha y Hora, Texto. Formato: se deberá formatear dependiendo del tipo de valor. Ejemplo: 123; 10.34; 29/04/2011, 16:05, 29/04/2011 16:05, sCabrera.

PropiedadTamaño: Determina el tamaño máximo que soportará la propiedad para el tipo de dato asociado.

Sintaxis: length. Tipo de dato: Número entero. Formato: Caracteres sólo números. Ejemplo: 0, 75, etc.

PropiedadEscalares: Es el tamaño máximo de dígitos decimales que soportará la propiedad de tipo decimal.

Sintaxis: scale. Tipo de dato: Número entero. Formato: Caracteres sólo números. Ejemplo: 0, 75, etc.

Estructura xml para el procesamiento de contactos: <?xml version="1.0" encoding="utf-8"?> <!--AUTOGENERADO POR BITKOR - REMEMBER--> <Bitkor.Sms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Bitkor.Sms.SchemaAll.xsd"> <Contacto document-type="NIE" document-value="Y0758177L"> <Servicio name="BIDIRECCION" active="true" quantity="1" cost="0.121" /> <Servicio name="INFORMACION" active="true" quantity="3" cost="0.021" /> <Servicio name="ALERTA" active="true" quantity="1" cost="0.210" /> <Telefono type-name="PARTICULAR" number="608761841" default="true" /> <Grupo name="CLIENTES CUENTAS" /> <Propiedad value="12345" scale="0" length="10" type="STR" name="CONTACTO_NUMERO" /> <Propiedad value="123" scale="0" length="5" type="STR" name="CTA_NUMERO" /> <Propiedad value="10,34" scale="2" length="7" type="DEC" name="CTA_SALDO" /> <Propiedad value="5" scale="0" length="2" type="ENT" name="CTA_TARJETACREDITODIA" /> <Propiedad value="SCABRERA" scale="0" length="10" type="STR" name="USUARIO" /> <Propiedad value="29/04/2011" scale="0" length="0" type="DTE" name="CTA_VENCIMIENTO" /> </Contacto> <Contacto document-type="NIE" document-value="Y7777777Y">

Page 78: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

78

<Servicio name="BIDIRECCION" active="false" quantity="15" cost="0.121" /> <Servicio name="INFORMACION" active="false" quantity="30" cost="0.021" /> <Servicio name="ALERTA" active="false" quantity="5" cost="0.210" /> <Telefono type-name="PARTICULAR" number="3432" default="true" /> </Contacto> </Bitkor.Sms>

Estructura xml para el procesamiento de propiedades: <?xml version="1.0" encoding="utf-8"?> <!--AUTOGENERADO POR BITKOR - REMEMBER--> <Bitkor.Sms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Bitkor.Sms.SchemaPro.xsd"> <Contacto document-type="NIE" document-value="Y0758177L"> <Propiedad value="12345" scale="0" length="10" type="STR" name="CONTACTO_NUMERO" /> <Propiedad value="123" scale="0" length="5" type="STR" name="CTA_NUMERO" /> <Propiedad value="10,34" scale="2" length="7" type="DEC" name="CTA_SALDO" /> <Propiedad value="5" scale="0" length="2" type="ENT" name="CTA_TARJETACREDITODIA" /> <Propiedad value="SCABRERA" scale="0" length="10" type="STR" name="USUARIO" /> <Propiedad value="29/04/2011" scale="0" length="0" type="DTE" name="CTA_VENCIMIENTO" /> </Contacto> <Contacto document-type="NIE" document-value="Y7777777Y" /> </Bitkor.Sms>

Esquema de validación El sistema contempla dos esquemas de validación, que tienen como objetivo y función, controlar que las estructuras de los archivos xml que se procesarán correspondan con la estructura definida para el sistema.

Page 79: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

79

Esquema de validación para el procesamiento de contactos:

Page 80: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

80

Esquema de validación para el procesamiento de propiedades:

sCabrera Framework 1.0

Es un conjunto de librerías desarrollado por mí, que no está bajo estudio del

proyecto final de Carrera. Este framework se encuentra soportado por Microsoft

Framework 3.5 de DotNet y comprende una capa de abstracción capaz de

proveer servicios como:

Gestión de Usuarios: administra los usuarios del sistema.

Gestión de Roles: administra los diferentes roles que puede contener el

sistema.

Gestión de Acceso: administra la seguridad de acceso a nivel de roles, y

su atomicidad a nivel de formulario con privilegio de creación,

modificación, eliminación, visualización.

Gestión de respaldo: es encargado de generar backup o respaldo de los

datos existentes en el sistema.

Gestión de restauración: es el encargado de proveer los accesos de

restauración del sistema.

Gestión de Sesión: es el encargado de administrar y controlar las

múltiples sesiones existentes a nivel local.

Soporte Online: provee de los mecanismos para el acceso a soporte

online.

Core de Formulario: provee de la estructura base para la gestión,

creación y extensión de los distintos formularios del sistema.

Page 81: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

81

Logiccode GSM SMS ActiveX Dll

Es una librería que tiene como objetivo la gestión del envío, recepción y

eliminación de mensajes de texto, utilizando módems GSM /teléfonos móviles

conectados a un puerto serial de un ordenador, pudiendo conectarse a través de

cable de datos, BlueTooth o infrarrojos. Esta librería puede ser consumida en

diferentes lenguajes de programación, inclusive en CSharp, que es el lenguaje

utilizado en esta aplicación. Entre sus principales características se encuentran:

Soporta cualquier ETSI GSM 07.05/07.07 y es compatible con módems

GSM como Wavecom, Nokia, Sony-Ericsson, Siemens, Motorola etc. y

teléfonos móviles que disponen de un módem y que soporta comandos AT.

Alta velocidad en el envío de mensajes. Entre 10 a 12 SMS por minuto

dependiendo de varios factores como la velocidad del módem de la red

GSM, la congestión de red, etc.

Soporta mensajes de texto normales, es decir, 160 caracteres de 7 bits (por

defecto alfabeto GSM), de 8 bits ANSI enconding con mensaje de 140

caracteres y Unicode de 16 bits (UCS2) con mensaje de 70 caracteres,

soportando lenguajes internacionales como el Español, Inglés, Indio,

Chino, Alemán, Francés, etc.

Permite unificar o concatenar mensajes.

Soporta el envío de mensajes con números en formato local e

internacional.

Como podemos apreciar en el siguiente diagrama, el componente hace de

interfaz o traductor entre los dispositivos módems GSM y la aplicación.

Page 82: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

82

Para utilizar este componente es necesario tener un ordenador con los siguientes

requisitos:

Procesador: Pentium II (300 MHz o superior) o equivalente.

Sistema operativo: Windows 2000, XP (32/64bit), 2003, Vista (32/64bit),

Win7 (32/64bit).

Memoria: Mínimo 32 Mb de RAM, recomendado 64 Mb.

Puerto Serie: Al menos un puerto en serie o puerto serial virtual.

Dispositivo: Cualquier ETSI GSM 07.05/07.07 módem GSM compatible.

Código fuente

El sistema fue desarrollado íntegramente en Microsoft Visual Studio 2008,

utilizando el framework DotNet 3.5 y el lenguaje utilizado fue CSharp. El código

fuente se encuentra en la carpeta denominada programación y posee la siguiente

estructura de carpetas:

Page 83: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

83

Como podemos apreciar, posee tres grandes bloques: la codificación (donde se

encuentra todo el código fuente del sistema), Recursos (son aquellos

componentes o recursos externos necesarios para el funcionamiento del sistema)

y despliegue (es el proyecto de instalador del aplicativo). Si bien cada bloque es

importante, creo en la necesidad de ahondar en el primero (codificación) ya que

es el código propiamente dicho.

Codificación: Código fuente de todo el sistema. o Bitkor.SMS: Este módulo contiene el punto de inicio de la

aplicación, es decir, el ejecutable. o Bitkor.SMS.DB: Este módulo contiene los scripts de creación de las

estructuras de la base de datos (Tablas, relaciones, etc.), carga de

datos del sistema e inicializado de los datos base. o Bitkor.SMS.NC: Este módulo contiene todos los objetos de negocios

de la aplicación, es decir, que en este módulo se encuentra toda la

lógica y reglas del negocio.

Page 84: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

84

o Bitkor.SMS.NE: Este módulo contiene nuestras entidades POCO y

los XML de Nhibernate para poder generar la capa ORM y poder

separar la capa de negocio de la de accesos a datos. o Bitkor.SMS.UI: Este módulo contiene todo lo referente a la capa de

presentación del sistema, con lo cual es aquí donde se encuentran

los formularios, imágenes y recursos necesarios de la capa de

presentación. o Bitkor.SMS.UIC: Este módulo contiene las vistas controladores del

sistema. Como bien se dijo anteriormente, me he basado en el

patrón MVC y en este módulo se encuentra la lógica de

presentación. o Bitkor.SMS.UIR: Este módulo contiene todo lo referente a los

recursos necesarios para los reportes creados por el sistema.

Tengamos presente que dichos reportes se han desarrollado con

Crystal Report for .Net.

Recursos: contienen todos los componentes externos del sistema

necesarios para su funcionamiento, como puede ser el sCabrera

Framework 1.0.

Despliegues: Contiene el proyecto para generar el software instalador del

sistema, tanto cliente como servidor.

Page 85: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

85

Evaluación Para la evaluación de los módulos desarrollados, no se implementaron métodos

automáticos de testing unitarios o integrales. El desarrollo del testeo del sistema

fue implementado, de forma manual, utilizando el siguiente procedimiento:

1. Se realizaba un análisis de funcionalidad del formulario.

2. Se desarrollaba el formulario completo.

3. Se probaba sin datos para que el sistema avisara de los datos

obligatorios.

4. Se probaba sólo con datos mínimos, es decir, datos obligatorios.

5. Se probaba con todos los datos.

6. Se probaban los formularios asociados a éste.

Page 86: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

86

Conclusión

Al principio, cuando estaba dando forma a mi proyecto de final de carrera me propuse desarrollar una solución informatizada para la sociedad, a mediano plazo, con el fin de ayudar a mejorar la situación socioeconómica en la que se encontraba, acercando tecnologías ampliamente conocidas en el mercado pero inaccesibles para un gran sector del empresariado. En este momento al final de mi desarrollo, puedo decir que este proyecto tiene presente dos conclusiones básicas.

La primera es que las tecnologías, conjuntamente con una idea creativa, siempre pueden ser accesible para todos los sectores de mercado, y no sólo para un grupo selecto de empresas, como hemos podido lograr demostrar con este proyecto, acercando una solución que en la actualidad se ve implementada en su mayoría en empresas de mediano y gran tamaño.

La segunda es a nivel personal, que me ha permitido a través de todos sus procesos, adquirir diversos cocimientos no sólo teóricos, sino también, conocimiento procedimentales, de investigación, de campos, etc.

Para poder llegar a desarrollar dicha solución, he tenido que implementar un conjunto de herramientas informáticas (C#, Sql Server 2005, Nhibernate, etc.), adquirir conocimientos de entomología móvil (Alfabetos utilizados, mecanismo de comunicación, etc.), conocimiento de interoperabilidad (desarrollo de comunicación XML) y sortear distintos inconvenientes como la comunicación y sincronización entre el software desarrollado y los distintos dispositivos móviles, la implementación de propiedades dinámicas y el cálculo de cantidad de caracteres por mensaje, para determinar la cantidad de mensaje enviado.

Para finalizar, creo que se ha logrado obtener un producto que satisface una necesidad de comunicación entre la empresa y su cliente, pero las plantillas que se pueden crear, se ven limitadas por no proveer de un mecanismo más flexible de representación de la información; por eso que en un futuro se podría agregar un compilador dinámico para proveer de un lenguaje para las plantillas, que nos permitan realizar operaciones matemáticas entre propiedades, presentar valores según una condición, determinación de rango, etc. permitiendo flexibilizar y aprovechar al máximo la información existente en el sistema

Page 87: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

87

Recursos utilizados

Documentación

Desarrollo de aplicaciones .NET con Visual C#. ISBN 9788448132774.

El lenguaje de programación C#

Uso de generics en C#.pdf

Cargar un tipo dinámicamente - Pensando en asíncrono.pdf

Documentación técnica.pdf

Introducción a NHibernate.doc

nhibernate_reference.pdf

GettingStartedwithMOinC#.pdf

Páginas Web

Documentación

http://www.elguille.info/colabora/puntonet/canchala_UML.htm

http://www.aicm.com.mx/Obligaciones/Archivos/CI-Manu_Usuario.pdf

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.es/dv_csref/html/b4c43d92-

2067-4eac-a59a-d32f5248c08b.htm

Telefonía

http://www.seusers.com/foro/t707-drivers-15785.html

http://ma3.extranet.sonyericsson.com

http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci530161,00.

html

http://www.canario.net/movil/prefijos/

http://www.taringa.net/posts/info/2027426/Escribir-SMS-con-acentos-

triplica-el-precio.html

http://www.csoft.co.uk/sms/character_sets/gsm.htm

http://www.smsmac.com/help/discover/about-sms/gsm7bit/

http://en.wikipedia.org/wiki/GSM_03.38

XML y XSD

http://geneura.ugr.es/~jmerelo/xml/

http://mat21.etsii.upm.es/mbs/MechXML/que_es_xml_schema.htm

http://support.microsoft.com/kb/307379/es

http://www.infosintesis.net/apensintesis/xmlschema/sintaxis/index.html

http://www.mitecnologico.com/Main/EsquemasXml

http://www.elguille.info/colabora/puntoNET/cbigentini_SerializarImagene

sEnXML.htm

Page 88: AUTOMATIZACIÓN DE MENSAJERÍA MÓVIL REMEMBER …deim.urv.cat/~pfc/docs/pfc961/d1307437469.pdf4 Introducción Cuando estaba analizando qué proyecto debía realizar como final de

88

http://www.liquid-technologies.com

http://www.dotnetero.com/2007/04/cmo-validar-tu-xml-contra-un-

schema.html

http://es.wikibooks.org/wiki/Lenguaje_XML/Introducci%C3%B3n

http://msdn.microsoft.com/es-es/library/4bektfx9.aspx

Sql Server 2005

http://team.desarrollosnea.com.ar/blogs/jfernandez/archive/2009/08/09/s

ql-server-2005-2008-generando-script-de-objetos-tablas-procedimientos-

funciones-y-datos.aspx

http://www.elguille.info/NET/ADONET/SQL2005Express/crearbase_usar

script_managementStudio.htm

http://geeks.ms/blogs/fernandezja/archive/2009/08/09/sql-server-2005-

2008-generando-script-de-objetos-tablas-procedimientos-funciones-y-

datos.aspx

Programas

Microsoft Visual Studio 2008. Edición Profesional.

Microsoft SQL Server 2005. Edición Express.

Nhibernate 1.0.4.

MatsSoft ObjectMapper 2005.

NQA 0.1.9 for 2.0b2.

VisualSVN Server Manager 1.7.1.

TortoiseSVN 1.6.1.

OnTime 2009 Windows. Edición Profesional.

Liquid XML Studio.

Help & Manual 5.3.1

Sony Ericsson PC Companion 2.0.

Microsoft Office 2010. Edición Enterprise.

Axialis IconWorkshop 6.11. Edición Corporate.

ConvertPDFtoImage.

Adobe Acrobat.

Hardware

Celular: Sony Ericsson T707.

Celular: Nokia 1616-2.

Dispositivo Bluetooh.

Cable de datos seriel/USB.

Notebook Dell Intel Core I7, 8 GB RAMS.