Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIVERSIDAD SIMON
DECANATO DE ESTUDIOS PROFESIONALES
DE INGENIERIA DE LA COMPUTACION
COORDINACION
Por:
Andres H. Mari
no O.
PASANTIA LARGA
Presentado ante la Ilustre Universidad Simon Bolvar
como requisito parcial para optar al ttulo de
Ingeniero en Computacion
Resumen
iv
DEDICATORIA
A mi Madre.
Agradecimientos
A todas aquellas personas que de una u otra manera me han ayudado a lo largo de la
carrera, en especial a mi mama Luz Amparo Osorio y a Orlando Gonzales.
Indice general
Indice general
VII
Indice de cuadros
IX
Indice de figuras
Lista de Abreviaturas
XII
Introducci
on
.
.
.
.
3
3
4
4
4
.
.
.
.
7
7
8
10
10
.
.
.
.
.
11
11
11
13
14
15
2. Marco Te
orico
2.1. Arquitectura de capas
2.2. Servicio Web REST . .
2.3. JQuery . . . . . . . . .
2.4. DataTables . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. Marco Metodol
ogico
3.1. Rational Unified Process . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Estructura de RUP . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2. Fases de RUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3. Fases y artefactos de RUP contemplados en el proyecto de pasanta
3.1.3.1. Artefactos elaborados . . . . . . . . . . . . . . . . . . . .
4. Desarrollo
4.1. Primera Iteracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1. Extraccion de requerimientos . . . . . . . . . . . . . . . . . . . .
4.1.1.1. Estudio del Sistema MMC . . . . . . . . . . . . . . . . .
4.1.1.2. Estudio del Sistema siMple . . . . . . . . . . . . . . . .
4.1.2. Establecimiento de alcance y lmites del proyecto . . . . . . . . .
4.1.3. Eleccion de Herramientas a usar . . . . . . . . . . . . . . . . . . .
4.1.4. Elaboracion de los documentos de Vision del sistema, ERS y DAS
4.2. Segunda Iteracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Caso de Uso Registrar Usuario . . . . . . . . . . . . . . . . . . . .
4.3. Tercera Iteracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1. CU Modificar Listas . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Cuarta Iteracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1. Enviar SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
17
17
18
19
20
21
23
27
30
33
36
39
5. Conclusiones y recomendaciones
45
Bibliografa
47
A. Visi
on Del Sistema
49
B. Documento de Arquitectura
62
80
viii
Indice de cuadros
3.1. Artefactos elaborados durante la pasanta . . . . . . . . . . . . . . . . . . . .
15
29
34
43
Indice de figuras
1.1. Organigrama Ogangi Corporation Diciembre 2011. Fuente: [Cor10] . . . . . .
12
19
20
21
22
22
23
25
26
28
29
31
32
33
35
37
38
40
41
42
42
43
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lista de Abreviaturas
API
CSS
CU
Caso de Uso
DAS
EGO
Enterprise on the GO
ERS
Documento de Especificaci
on de Requerimientos de Software
HTTP
JDE
JDK
JSP
JavaServer Pages
MAPI
Mobile API
MMC
REST
1
RUP
SDK
SMS
UI
Unit Interface
URI
URL
VS
Documento de Visi
on del Sistema
WAE
W3C
XML
Introducci
on
2
informacion pertinente acerca de un evento, entre otros. Existen pocas compa
nias capaces de
ofrecer este tipo de servicios, no unifican el envio de informacion por ambas plataformas(SMS
y Correo Electronico), tampoco tienen un manejo sencillo de las listas de distribucion de los
clientes, y suelen ser engorrosas de manejar, editar, entre otros. sobrecargando el trabajo de
los usuarios.
Actualmente Ogangi de Venezuela, es una empresa que ofrece estos servicios, esta posee
dos sistemas para el envio de Alertas. Ante la necesidad de sus clientes de unificar estos
sistemas se decide crear un nuevo sistema EGO(Por sus siglas en ingles Enterprise on the
GO).
Este proyecto se concibe con la finalidad de crear un sistema Web, que facilite la gestion
de listas de distribucion, as como el envo de alertas a estas, concretamente debera poseer
las siguiente caractersticas:
Gestion se suscriptores
Gestion de listas de distribucion a partir de los suscriptores
Creacion, configuracion y envo de alertas a listas de distribucion por multiples plataformas (SMS, correo electronico).
Captulo 1
La empresa: Ogangi de Venezuela
En este captulo se presenta una descripcion del entorno en el cual se desarrollo el proyecto
de pasanta en Ogangi de Venezuela C.A. Comprende la composicion corporativa, una breve
rese
na historica de la empresa, su mision y vision, as como la estructura organizacional, y
la ubicacion del pasante dentro de la misma.
1.1.
Rese
na Hist
orica
En el a
no 2002, un grupo de ejecutivos provenientes de empresas como Bell Labs, 3Com
Corporation y The Walt Disney Company se agruparon para formar Ogangi Corporation
con una vision dirigida hacia la tecnologa movil. La empresa ha desarrollado innovaciones
tecnologicas que integran las plataformas de los diferentes operadores moviles en America,
incrementando de esta forma, los beneficios que ofrecen los equipos celulares en los negocios,
proveedores de contenidos, gobiernos y usuarios finales.
En Miami (EE.UU) se encuentra la sede administrativa y de alta gerencia de la empresa,
en Venezuela se encuentra el area operativa, ubicada en dos estados: Distrito Capital y
Merida. [Cor10].
1.2.
Visi
on
1.3.
Misi
on
1.4.
Estructura de la empresa
Ogangi Corporation esta integrada por distintos departamentos con la finalidad de distribuir de forma eficiente las actividades correspondientes al proceso de negocio de la misma.
Actualmente, se tienen 5 departamentos en Ogangi: Desarrollo de Software, Ventas, Operaciones e Infraestructura Tecnologica, Finanzas y Contenido. Ver figura 1.1
6
plataformas (SMS, Correo electronico) a listas de distribucion.
Una vez descrita la empresa, Vision y Mision de la misma, asi como el departamento en
el que se desarrollo el sistema, se sigue al captulo 2 en el cual se explican las bases teoricas,
y tecnologicas para el desarrollo de la pasanta.
Captulo 2
Marco Te
orico
Este captulo presenta las bases teoricas que fundamentan el desarrollo del proyecto.
Principalmente se hace un enfoque en el tipo de arquitectura usada. Una arquitectura de
capas, los servicios Web REST, tambien tecnologas utilizadas como JQuery.
2.1.
Arquitectura de capas
Seg
un Kappel [KG03] una arquitectura de N capas es aquella que permite organizar una
aplicacion Web en un n
umero arbitrario de capas. Tpicamente se consideran tres capas. La
capa de datos, que re
une todos los aspectos del software que tienen que ver con el manejo
de los datos persistentes, la capa de negocio que re
une todas las tareas, reglas y restricciones
que implementan y apoyan los procesos de negocio. Y finalmente, la capa de presentacion que
prepara el resultado de las peticiones en el formato de salida deseado; esta capa por lo general
re
une todos los aspectos del software que tiene que ver con las interfaces y la interaccion con
los diferentes tipos de usuarios humanos.
8
Seg
un Larman [Cra03] la idea esencial del modelo de capas es organizar la estructura
logica del sistema en distintas capas que tendran distintas responsabilidades pero que estaran
relacionadas de una manera cohesiva.
Algunas de las ventajas de esta arquitectura es que facilita la estandarizacion, permite la
contencion de cambios a una o pocas capas y en algunos casos garantiza la reutilizacion de
las capas conceptualizadas.
En este proyecto se decidio utilizar una arquitectura por capas, por su facilidad de reutilizacion y mantenibilidad, tambien se usaron los servicios Web REST.
2.2.
REST(por sus siglas en ingles: Representational State Transfer). Es un estilo de arquitectura para Web orientada al Software. A traves de este mecanismo se pueden ofrecer servicios
web para utilizar la web como una plataforma de computacion distribuda [RES11].
El termino REST inicialmente se refera a un conjunto de principios de arquitectura. En
la actualidad se usa en el sentido mas amplio para describir cualquier interfaz Web simple que
utiliza XML y HTTP, sin las abstracciones adicionales de los protocolos basados en patrones
de intercambio de mensajes como el protocolo de servicios Web SOAP.
Se pueden dise
nar sistemas de servicios Web de acuerdo con el estilo arquitectural REST
de Roy Fielding y tambien es posible dise
nar interfaces XMLHTTP de acuerdo con el estilo
de llamada a procedimiento remoto pero sin usar SOAP. Estos son los dos usos diferentes del
termino REST.
9
Los sistemas que siguen los principios REST se llaman con frecuencia RESTful. REST
afirma que la Web ha disfrutado de escalabilidad como resultado de una serie de dise
nos
fundamentales clave: [RES11]
Un protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda la informacion necesaria para comprender la peticion. Como resultado, ni el cliente ni el servidor
necesitan recordar ning
un estado de las comunicaciones entre mensajes. Sin embargo, en
la practica, muchas aplicaciones basadas en HTTP utilizan cookies y otros mecanismos
para mantener el estado de la sesion (algunas de estas practicas, como la reescritura de
URLs, no son permitidas por REST).
Un conjunto de operaciones bien definidas que se aplican a todos los recursos de informacion: HTTP en s define un conjunto peque
no de operaciones, las mas importantes
son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a
las operaciones CRUD que se requieren para la persistencia de datos, aunque POST no
encaja exactamente en este esquema.
Una sintaxis universal para identificar los recursos: en un sistema REST, cada recurso es
direccionable u
nicamente a traves de su URI (Por sus siglas en ingles Uniform Resource
Identifier).
El uso de hipermedios, tanto para la informacion de la aplicacion como para las transiciones de estado de la aplicacion: la representacion de este estado en un sistema REST
son tpicamente HTML o XML. Como resultado de esto, es posible navegar de un recurso REST a muchos otros, simplemente siguiendo enlaces sin requerir el uso de registros
u otra infraestructura adicional.
Aparte de utilizar este tipo de servicios Web, tambien se utilizo del lado del cliente,
JQuery una librera de Java-Script.
10
2.3.
JQuery
2.4.
DataTables
Captulo 3
Marco Metodol
ogico
El presente captulo tiene como objetivo dar a conocer los aspectos metodologicos en los
que se baso la ejecucion del proyecto de pasanta.
3.1.
3.1.1.
Estructura de RUP
12
Seg
un [KR03], la estructura de RUP esta compuesta por dos dimensiones, una dinamica
y otra estatica. La primera division representa el aspecto dinamico del proceso y esta constituido por fases, iteraciones e hitos. La segunda dimension representa el aspecto estatico del
proceso y esta constituido por actividades, disciplinas, artefactos y roles.
La figura 3.1 muestra la arquitectura global de RUP. El eje horizontal representa la organizacion a lo largo del tiempo, la dimension dinamica, mientras que el eje vertical representa
la organizacion en terminos de contenido, la dimension estatica.
13
3.1.2.
Fases de RUP
RUP se conforma a traves de ciclos los cuales constituyen la vida de un producto. Cada
ciclo esta representado por cuatro fases: Inicio, Elaboracion, Construccion y Transicion las
cuales se detallaran brevemente a continuacion. Cada fase presenta sus propios criterios de
evaluacion los cuales deben ser revisados inmediatamente despues de su finalizacion, si los
criterios no son satisfechos se debe abandonar el desarrollo o realizar una reestructuracion
del proyecto.
La Fase de Inicio es la primera fase del proceso de desarrollo, tiene un conjunto de objetivos
bien definidos y se consideran concluidos con el hito: Objetivo del ciclo de vida. El objetivo
principal de esta fase es entender el alcance y objetivos del proyecto. En esta fase se identifica
la funcionalidad clave del sistema, a traves de la identificacion de los casos de uso mas crticos.
La Fase de Elaboracion provee direccion a los principales riesgos, se dise
na la arquitectura
del sistema de software que satisfaga los requerimientos, y se da refinamiento al plan de
proyecto. Los objetivos especficos de esta fase son:
Obtener un entendimiento mas detallado de los requerimientos.
Dise
nar, implementar, validar y generar una lnea base para la arquitectura.
Mitigar los riesgos esenciales y producir un plan de costos mas preciso.
14
Esta fase se considera finalizada cuando se han desarrollado todas las funcionalidades y se
produce un primer realease del software. Su conclusion esta marcada por el hito de Capacidad
Inicial de Operaciones.
De la Fase de Transicion el objetivo principal es la transicion del sistema del ambiente de
desarrollo al ambiente de produccion, haciendo que el sistema este disponible para el usuario,
dotandole de charlas de induccion, entrenamientos y manuales de usuario. Ademas se caracteriza por la ejecucion de pruebas beta por parte de los usuarios, lo que permitira validar las
expectativas de los usuarios en relacion con el producto implementado. Si todos los objetivos
son alcanzados, el hito Release de Producto se considera alcanzado y por tanto el ciclo de
desarrollo finaliza.
Finalmente, para el desarrollo de este proyecto se adopto la metodologa RUP, pero no se
realizo ninguna iteracion de Transicion.
3.1.3.
15
durante el proyecto de pasanta, adaptados al contexto del proyecto.
3.1.3.1.
Artefactos elaborados
Captulo 4
Desarrollo
En este captulo se describen los productos mas importantes generados durante la ejecucion de todas las tareas realizadas para el desarrollo de este proyecto. Ademas, se explican
los problemas encontrados con sus respectivas soluciones y las decisiones de dise
no tomadas
junto con sus razonamientos, el proyecto se desarrollo en cuatro iteraciones, a continuacon
se describe el desarrollo de cada iteracion, junto con los elementos elaborados en ellas.
4.1.
Primera Iteraci
on
Esta iteracion tuvo una duracion de dos semanas, al iniciar el desarrollo del proyecto, en
Ogangi ya exista un sistema que cumpla la funcion de enviar mensajeria de texto a listas
de distribucion y otro a listas de correo electronico. Sin embargo, para poder desarrollar el
nuevo sistema se vio la necesidad de analizar los sistemas existentes para retomar sus puntos
fuertes y eliminar las fallas de dise
no de ambos.
Esta primera iteracion contemplo la investigacion en la que se obtuvo la informacion
necesaria para definir el alcance de las iteraciones del proyecto.
17
Para poder definir de forma adecuada los lineamientos se llevaron a cabo las siguientes
tareas:
Extraccion de requerimientos.
Estudio del Sistema MMC.
Estudio del Sistema siMple.
Establecimiento de alcance y lmites del proyecto.
Eleccion de Herramientas a usar.
Elaboracion del diagrama de Casos de Uso inicial(se coloco en el Documento de Requerimientos del Sistema ERS) y del Modelo de Dominio(se coloco en el Documento
de Arquitectura de Software DAS).
Elaboracion de los documentos de Vision del sistema VS.
4.1.1.
Extracci
on de requerimientos
En la presente seccion se describen los sistemas actuales, uno denominado MMC y el otro
demoninado siMple, estos son los sistemas que se utilizan para el envo de SMS y correos
electronicos.
4.1.1.1.
Ogangi cuenta con un sistema online llamado MMC(por sus siglas en ingles Mobile Master Control) el cual sirve para enviar mensajes de texto y de correo electronico a listas de
18
distribucion. Este
es un sistema que esta sobrecargado, tiene muchas funcionalidades repetidas, puesto que fue un sistema que crecio, desviandose de su vision original. A continuacion
algunas caracterstiscas que posee MMC:
Posee manejo de listas de distribucion a SMS y posee manejo de listas de distribucion
a correos electronicos, mas no integra ambas en una sola lista.
Posee facil configuracion de alertas, para enviar a las listas de distribucion
Esta implementado con un FrameWork llamado ECHO, el cual produce un codigo poco
reutilizable.
No posee manejo asincronico lo cual hace que se recargue la informacion cada vez que
se navega por alg
un elemento del sistema.
4.1.1.2.
Ogangi cuenta, ademas con un sistema Web llamado siMple, el cual ofrece un servicio que
permite a los usuarios intercambiar informacion va mensajes de texto Premium, envo masivo
de mensajes de texto, programar informacion, entre otras. A continuacion se presentan las
caractersticas principales que conforman el sistema siMple:
Es un sistema bastante dinamico con caractersticas desarrolladas en JQuery.
El sistema no posee un manejo intuitivo de las listas de distribucion.
El sistema posee un modulo de envo de alertas poco sencillo.
El sistema cuenta con un manejo de sesiones por usuario el cual permite a este administrar de manera efciente y comoda las transacciones que desee mediante las funcionalidades ofrecidas, con solo ingresar su correo y su contrase
na.
19
4.1.2.
En un principio se penso, abarcar todas las funcionalidades que posee MMC, Alertas,
Campa
nas, manejos de listas de distribucion, sin embargo por razones de tiempo, se tomo la
decision de que solo se abarcara los componentes de la gestion de usuarios, gestion de suscriptores, manejo de sesion, gestion de listas de distribucion, manejo de alertas y reportes.
No se contemplo el manejo de la gestion de campa
nas.
Se decidio que el sistema solo tendra dos tipos de usuario: Administrador, quien posee
control total del sistema, y Usuario, quien puede usar todos los modulos del sistema exceptuando el de usuarios. Se realizo el diagrama de casos de uso inicial, se muestra en la figura
4.1
20
4.1.3.
Elecci
on de Herramientas a usar
Considerando el conjunto de requerimientos propuestos y conociendo los lenguajes mediante los cuales se realizara el sistema, se procedo a elegir las herramientas a utilizar para
un desarrollo rapido y efciente.
Como servidor Web se selecciono JBOSS ya que posee soporte de servlets, webServices y
JSPs ademas de contar con alta documentacion.
Como entorno de desarrollo de programacion se selecciono Eclipse ya que posee soporte
tanto para Java como para JSP, ademas ofrece un plugin especial para el desarrollo Web
dinamico integrado con JBOSS (JBOSS AS A TOOL) y control de versiones (CVS) que
permiten colocar el sistema en un repositorio que puede ser compartido por otros miembros
de la compa
na para la supervision y colocacion en servidores de prueba, ademas de las
herramientas para probar los servicios Web.
21
4.1.4.
Elaboraci
on de los documentos de Visi
on del sistema, ERS
y DAS
En esta primera iteracion se elaboraron las primeras versiones de los documentos de VS,
ERS y DAS. definiendo los esquemas que se siguieron para el desarrollo del sistema.
Se decidio que se utilizara una arquitectura por capas, la cual permite facil mantenimiento
y reutilizacion, estas capas se definieron de la siguiente manera:
JSP: Es la que contiene el codigo en HTML, CSS y todo lo necesario para la capa de
presentacion del sistema
JS: Esta es la capa que contiene los archivos JQuery(JavaScript), en esta capa se decidio realizar muchos de los chequeos de tipos y verificaciones de los campos, al igual
que la presentacion y carga de las tablas utilizadas para mostrar la informacion.
JSPLogic: Esta capa es la que se encarga de la logica del sistema, tambien realiza las
conexiones con Mobile API(MAPI), entre otras funciones.
22
Asi como se realizo el diagrama de componentes, ver figura 4.4, para mas informacion
acerca de los componentes ver apendice B
Con el alcance mas preciso, se procedio con un refinamiento de los diagramas de Casos
de uso y modelo de dominio el cual evoluciono a un Diagrama de Dise
no con notacion WAE,
ambos diagramas quedaron de la siguiente manera, ver figura 4.5 y 4.6, para mas informacion
ver apendice A y apendice B.
23
4.2.
Segunda Iteraci
on
Esta iteracion tuvo una duracion de cuatro semanas. Se procedio con el refinamiento de
los documentos, as como el inicio de la implementacion del sistema. En el diagrama de los
casos de uso, as como en el diagrama de WAE se agrego todo lo relacionado con la Gestion
de suscriptores, en el documento ERS se detallaron todos los requerimientos para estos casos
de Uso; en el DAS se documentaron todos los diagramas de secuencia correspondientes a los
casos de uso realizados. Se implemento todo lo referente a la Gestion de la sesion, Gestion
de usuarios. y Gestion de suscriptores, se implementaron los siguientes casos de uso: Iniciar
24
Sesion, Ver Perfil, Modificar Perfil, Cerrar Sesion, Registrar Usuario, Seleccionar idioma, Listar Usuarios, Eliminar Usuarios, Crear Suscriptor, Cargar Suscriptor, Modificar Suscriptor,
Eliminar Suscriptor.
Se implementaron los siguientes archivos, en la capa JSP: index.jsp, main.jsp,profile.jsp,
suscriptorEditLogic.jsp. Estos
archivos se encargan de recibir los parametros enviados por el
usuario, hacer las llamadas a MobileAPI (MAPI) el sistema que se encarga del envio de la
informacion, asi como el manejo de a Base de datos, y tambien de interpretar la respuesta
de MAPI. Tambien se implementaron las clases XML y Sha-1, una se encarga de leer los archivos XML que devuelve MAPI, y la otra clase se encarga del encriptamiento del password
del usuario.
A continuacion en las figuras 4.7 y 4.8 se presenta el diagrama WAE y el Diagrama de
casos de uso de la segunda iteracion:
25
26
27
A manera de ejemplo, se describe la implementacion del CU Registrar Usuario, para
mayor detalle de los casos de uso realizos ver apendice B y apendice C.
4.2.1.
En el caso de uso Registrar Usuario, el cual implica que en el sistema se pueden registrar
los usuarios, se determino que requera los siguientes campos:
Correo: Es un campo obligatorio, es el correo electronico del usuario, es del tipo alfanumerico.
Contrase
na: Es un campo obligatorio, es la contrase
na del usuario, es del tipo alfanumerico, con longitud mnima de 6, y maxima de 30.
Nombre: Es un campo obligatorio, es el nombre del usuario, es del tipo alfanumerico,
con longitud maxima de 100.
Codigo Zip: Es un campo obligatorio, es el codigo Zip del usuario, es del tipo numerico,
de longitud maxima de 10.
Categora del Negocio: Es un campo obligatorio, es la categora del tipo de negocio del
usuario, los valores posibles son: Arte y Entretenimiento, Automotriz, Servicios Empresariales y Profesionales, Accesorios y Ropa, Comunidad y Gobierno, Computacion y
Electronica, Construccion y Contratistas, Educacion, Alimentos y Restaurantes, Salud
y Medicina, Hogar y Jardinera, Industria y Agricultura, Legal y Financiero, Medios y
Comunicaciones, Cuidado Personal y Servicios, Bienes Races, Compras, Recreacion y
Deportes, Transporte y Turismo.
Sitio Web: Es un es obligatorio, es la pagina Web del usuario, es del tipo caracter, no
tiene longitud maxima.
28
Direccion: No es campo obligatorio, es la direccion del usuario, es del tipo caracter y
no tiene longitud maxima.
Contacto Principal: Es un campo obligatorio, es el contacto principal del usuario, es
del tipo caracter y no tiene longitud maxima.
Contacto Secundario: No es un campo obligatorio, es el contacto secundario del usuario,
es del tipo caracter y no tiene longitud maxima.
Descripcion del negocio: No es un campo obligatorio, es la descripcion del negocio del
cliente, es del tipo caracter y no posee longitud maxima.
Seguido de esto se procedio con las especificaciones del caso de uso (CU), la narrativa y
la realizacion del diagrama de secuencia en el cual se pueden ver como se van conectando
29
los archivos y las solicitudes que se le hacen al sistema y las respuestas que se obtienen. Ver
tabla 4.1 y figura 4.10.
FLUJO BASICO
ACTOR
SISTEMA
1. Se ingresa en la p
agina de inicio del sistema 2. Se muestra un formulario con los datos ney le da click al bot
on de registrarse
cesarios para registrarse, indicando cuales son
obligatorios.
3. Se ingresan todos los datos solicitados y pre- 4. Se verifica que los datos ingresados son cosiona el bot
on de Enviar.
rrectos. 5. Se registra el usuario en la base de
datos. 6. se muestra una alerta informando que
la operacion es exitosa.
7. Se le da al bot
on de OK.
8. Se dirige a CU-2.
FLUJOS ALTERNOS
ACTOR
SISTEMA
4. Se verifica que los datos ingresados no son
correctos. 4.1. Se muestra un mensaje en la
pantalla que informa el error en los datos ingresados. 4.2 Se regresa al punto 3
30
Para la implementacion se utilizo la librera de Unit Interface (UI) de JQuery, la cual
contiene los dialogos que se pueden colocar como ventanas emergentes sin necesidad de tener
estas, en el formulario todos los chequeos de tipo, chequeo si es vacio, entre otros. Son
realizadas con JQuery, el cual permite que estas verificaciones se hagan a nivel del cliente y
no del servidor, optimizando el sistema. La comunicacion con la capa logica se realiza tambien
con JQuery mediante llamadas asincronicas lo cual evita la constante recarga de la pagina en
cada operacion, de la capa logica, que es la que se encarga de conectarse con MAPI, recibir
la respuesta e interpretartar usando la clase XML. Una vez se completo el proceso de la
implementacion se hicieron pruebas puntuales, con respecto a la funcionalidad e integracion.
4.3.
Tercera Iteraci
on
31
que se encarga de la lectura de los archivo XML que devuelve MAPI.
A continuacion se presenta el diagrama WAE y el Diagrama de casos de uso de la tercera
iteracion, Ver figura 4.11 y 4.12
32
33
Ahora se va a describir el proceso de desarrollo de un caso de uso implementado en esta
iteracion. Se selecciono Modificar Listas. Para mas informacion acerca de los casos de uso
desarrollados ver apendice B y apendice C.
4.3.1.
CU Modificar Listas
En el caso de uso Modificar Listas, el cual implica que un usuario puede modificar las listas
de distribucion que posea incluyendo los suscriptores que pertenezcan a esta, se determino que
requeriria el siguiente campo:
Nombre: Es in campo obligatorio, este representa el nombre de la lista y es del tipo
alfanumerico.
34
Tambien se especifico que, el pasar suscriptores de una lista a otra, se podra hacer arrastrando y soltando los suscriptores de una a la otra. Seguido de esto se procedio con las
especificaciones del CU, y la realizacion del diagrama de secuencia en el cual se pueden ver
como van conectando los archivos y las solicitudes que se le hacen al sistema y las respuestas
que se obtienen.
la figura 4.14 muestra su diagrama de secuencia y la tabla 4.2 muestra la narrativa
FLUJO BASICO
ACTOR
SISTEMA
1. Se le da click sobre el nombre de la lista a 2. Se despliega una pantalla con el nombre de
modificar.
la lista (sujeto a modificaciones), una lista de
de los suscriptores pertenecientes y otra lista
de suscriptores no pertenecientes a dicha lista.
3. Se modifica el nombre si se quiere, al igual 5. Se procesan los datos y El sistema proceque se puede arrastrar los suscriptores de la sa los datos ingresados y salva en la BD 6. Se
lista de no pertenecientes hacia la lista de per- muestra una alerta con indicando que la opeteneciente, y viceversa 4. se le da al boton de racion fue exitosa.
salvar.
7. Se presiona el bot
on de OK
8. Se dirige al CU-13
FLUJOS ALTERNOS
ACTOR
SISTEMA
4.1 Se presiona el bot
on de cancelar
4.2 Se redirige al CU-13.
35
36
Al igual que para la iteracion anterior se utilizo utilizo la libreria Unit Interface (UI)
de JQuery, utilizando los dialogos y ventanas emergentes sin necesidad de tener estas, en el
formulario todos los chequeos de tipos, si es vacio. Son realizados con JQuery que permite que
estas verificaciones se hagan a nivel del cliente y no del servidor. Tambien se implemento la
llamada para listar los suscriptores pertenecientes y no pertenecientes a la lista, De esta
manera poder mostrarlos en los detalles en una ventana emergente, el manejo arrastrar
y soltar de las listas se hizo con JQuery , una vez lista las modificaciones a la lista al
darle al boton de .OK. La capa JS se encarga de extraer la informacion de la lista de
suscriptores pertenecientes que a su vez se conecta con la capa logica que se encarga de enviar
la informacion con los parametros necesarios a MAPI, y a su vez interpretar la respuesta de
este. Una vez finalizada la operacion se encarga de refrescar la tabla que contiene las listas
de distribucion.
4.4.
Cuarta Iteraci
on
37
actualizar la clase XML que se encarga de la lectura de los archivo XML que devuelve MAPI.
A continuacion se presenta el diagrama WAE y el Diagrama de casos de uso de la cuarta
iteracion, en las figuras 4.15 y 4.16
38
39
Ahora se va a describir el proceso de desarrollo de un caso de uso implementado en
esta iteracion. Se selecciono Enviar SMS. Para mas informacion acerca de los casos de uso
realizados ver apendice B y apendice C
4.4.1.
Enviar SMS
En el caso de uso Enviar SMS, el cual implica que en el sistema se pueden enviar SMS a
las listas de distribucion, se determino que requera los siguientes campos:
Ttulo: Es un campo obligatorio, es el ttulo del mensaje a enviar, es del tipo alfanumerico, y no tiene longitud maxima.
Texto: Es un campo obligatorio, es el texto del mensaje a enviar, es del tipo alfanumerico
ShortCode: Es un campo obligatorio, es la salida por la cual se enviara el SMS, es del
tipo numerico.
Lista: Es un campo obligatorio, es el nombre de la lista a la cual se desea enviar el
mensaje, es del tipo alfanumerico.
FechaDeInicio: Es un campo opcional, es la fecha en que se desea que se empiecen a
enviar los mensajes, es del tipo date.
Desde: Es un campo opcional, es la hora de inicio en la que se pueden enviar los SMS,
sigue el siguiente formato HHMMSS.
Hasta: Es un campo opcional, es la hora de fin en la que se pueden enviar los SMS,
sigue el siguiente formato HHMMSS.
DiasRestringidos: Es un campo opcional, son los das en los que no se pueden enviar
SMS, y los posibles valores son: Lun, Mar, Mie, Jue, Vie, Sab, Dom
40
La interfaz se muestra en las figuras 4.17, 4.18, 4.19 y 4.20
41
42
43
Como regla de negocio se especifico que en el envio de broadCast la fecha de inicio del
envo fuese por medio de un calendario. A continuacion la tabla 4.3 muestra y la narrativa
la figura 4.21 muestra su diagrama de secuencia.
FLUJO BASICO
ACTOR
SISTEMA
1. Se selecciona el bot
on de broadcast del 2. Se despliega las listas disponibles a las que
men
u.
se le puede enviar el broadcast.
3. Se selecciona una lista y se le da al boton 4. Se despliega los campos de texto y titulo del
de siguiente.
broadcast a enviar, tambien se despliega una
lista de shortCodes disponibles.
5. Se ingresan los datos y se selecciona un 6.Se despliega los campos de horas de restricshortCode, y se presiona el bot
on de siguiente. cion, hora y fecha de inicio del broadcast, das
restringidos. Y despliega el boton de enviar.
7. Se elecciona las restricciones de horario, da 8. El sistema enva el broadcast con las resy fecha de inicio y le da enviar
tricciones seleccionadas 9. Se enva una alerta
indicando que la operacion fue exitosa.
10. Se presiona el bot
on de OK.
11. Se redirige a CU-19.
FLUJOS ALTERNOS
ACTOR
SISTEMA
3.1 El usuario Cancela el broadCast.
3.1 Se redirige a CU-19
5.1 El usuario Cancela el broadCast.
5.1 Se redirige a CU-19
7.1 El usuario Cancela el broadCast.
7.1 Se redirige a CU-19
44
Tambien para la implementacion se utilizo la libreria Unit Interface (UI) de JQuery,
que tiene DaterPicker que permite en los campos de entrada colocar un calendario para
seleccionar fechas. Tambien se implemento una funcion que trajera las listas disponibles para
un suscriptor para que se pudiesen desplegar en un comboBox y este pueda seleccionar a
la que desea enviar el mensaje. Las validaciones se realizaron con JQuery permitiendo que
todas se hagan a nivel de cliente, y evitar que se realicen llamadas a MAPI con los parametros
incorrectos. Se decidio dividir el proceso en tres pasos, todos a nivel de cliente. En el primero
se coloca un asunto del mensaje y el texto a enviar. En el segundo paso, se selecciona la lista
de distribucion a la que se desea enviar el SMS, y en el tercer paso vienen las restricciones
de horario, as como la fecha de inicio. Despues cuando se le da al boton de enviar, la capa
logica se encarga de hacer las conexiones con MAPI, que se encarga de enviar el mensaje.
Seguido este paso se regresa a la pagina de alertas en la cual se muestra la tabla de Reportes.
Se hicieron pruebas puntuales y se enviaron mensajes a la lista de distribucion de manera
exitosa
Una vez finalizada la implementacion de todos los casos de uso, se finalizo la implementacion del sistema. Ahora pasamos a las conclusiones.
Captulo 5
Conclusiones y recomendaciones
Se desarrollaron todos los casos de uso requeridos por la empresa para el sistema. Se
cumplieron todos los objetivos propuestos al iniciar el desarrollo de la aplicacion. Se hicieron
pruebas unitarias funcionales y de integracion puntuales y se logro enviar exitosamente SMS
y correos electronicos, a las listas de distribucion. Mas concretamente se cumplieron los
siguientes objetivos.
Se desarrollaron los componentes para la gestion de suscriptores, tanto como la gestion
para las listas de distribucion.
Se desarrollaron los componentes para la creacion, configuracion y envo de alertas a
listas de distribucion.
Se desarrollaron los componentes para ver los reportes generados por las alertas.
La empresa Ogangi es una empresa que tiene una vision y un potencial de crecimiento
fuerte, ofrecio un ambiente de desarrollo y aprendizaje muy u
til para una persona que no
tiene experiencia en el campo laboral.
46
La tecnologa utilizada facilito el desarrollo de las aplicaciones, tecnologias como Jquery
que permiten desarrollar la funcionalidad a nivel de cliente, sin necesidad de sobrecargar
la funcionalidad del servidor. As su facilidad y la cantidad de libreras disponibles que se
encuentran en la red permitiendo al programador realizar un trabajo de manera mas comoda,
lo cual es altamente recomendado para desarrollar aplicaciones WEB.
La metodologa usada RUP, probo ser bastante u
til a la hora de adapartarse a cambios en
el flujo de desarrollo de los casos de uso, as como en la adaptabilidad a nuevos requerimientos.
Se recomienda continuar con el desarrollo de mas funcionalidades para la aplicacion tales
como: expandir el rango de las plataformas(blackberry, android, twitter, entre otros). Tambien
se recomienda hacer pruebas de carga. A pesar de tener buenos resultados en las pruebas del
sistema, es necesario observar el comportamiento ante cargas grandes de datos, y ver si es
necesaria la optimizacion en el manejo actual de las listas de distribucion.
Bibliografa
[Cor10]
[Cra03]
[ee11]
Rup en espa
nol.
http://bannysolano.wordpress.com/2010/02/09/rup-en-
[Jqu11]
[KG03]
SIEGFRIED Reich WERNER Retschitzegger KAPPEL Gerti, BIRGIT Proll. Web engineering: The discipline of systematic development of
web applications. 2003.
[KR03]
[pdDdAdOC10] Informacion proveniente del Departamento de Administracion de Ogangi Corporation. Ogangi corporation departamento de administracion, 2010.
48
[RES11]
REST.
http://wikipedia.org/wiki/representationalstatetransfer , febrero
Ap
endice A
Visi
on Del Sistema
Versin:
1.0
Fecha: 15/08/2011
Historia de Revisiones
Fecha
Versin
Descripcin
Autor
15/08/11
1.0
Documento de Visin
Andrs Mario
Confidencial
Pg. 2 de 12
Versin:
1.0
Fecha: 15/08/2011
Introduccin
1.1
Propsito+
El propsito de este documento es proveer una perspectiva amplia al lector sobre
el sistema EGO, as como tambin la definicin de las caractersticas y los propsitos que
debe cumplir el sistema.
1.2
Alcance
Este documento tiene como alcance el proyecto de sistema para Anlisis y
Visualizacin de Bitcoras de Seguridad: sus objetivos, paradigmas y propsitos.
1.3
1.4
TechNet.
Arca.
1.5
Sntesis.
Este documento est dividido en 10 secciones, entre las cuales destacan el
posicionamiento, la descripcin del usuario y del cliente, el resumen del producto, las
caractersticas del producto, precedentes, requerimientos no funcionales, entre otros.
2.
Posicionamiento
2.1
Oportunidades de Negocio
Hasta la fecha, en Venezuela Ogangi posee dos sistema propietarios de envi
Confidencial
Pg. 3 de 12
Versin:
1.0
Fecha: 15/08/2011
Afecta a
Cuyo impacto es
2.3
Quines
Confidencial
Pg. 4 de 12
Versin:
1.0
Fecha: 15/08/2011
EGO
Qu
Se diferencia de
Nuestro Producto
3.
3.1
3.2
Resumen de Stakeholders
Nombre
Descripcin
Responsabilidades
-Ayudar a definir el alcance del
proyecto.
-Asegurar el cumplimiento de todos los
objetivos.
-Revisar y aprobar la documentacin
realizada tanto para la empresa
desarrolladora como para los usuarios
del sistema.
-Ayudar a validar los requerimientos y
caractersticas del sistema.
-Proporcionar o facilitar toda
informacin requerida del negocio.
la
Pg. 5 de 12
Versin:
1.0
Fecha: 15/08/2011
EGO:
Andrs
Mario.
Clientes
de
Ogangi,
as
como cualquier
persona
en
Ogangi.
3.3
sistema.
Descripcin
Responsabilidades
Usuario
El usuario registrado en
el
sistema
EGO,
Interesado en enviar
informacin
a
sus
clientes.
-Gestionar usuarios.
-Gestionar listas de distribucin.
-Enviar mensajera
distribucin.
las
listas
de
-Consultar reportes.
Administrador
de.
-Consultar reportes.
3.4
Ambiente Usuario
Todos los usuarios del sistema accedern a sus funcionalidades a travs de
Web, utilizando sus respectivos computadores. Esto permite portabilidad y evita
problema de configuracin de terminales. Una vez en la pgina del sitio, se presenta
interfaz principal del sistema. Los usuarios registrados pueden ser: usuarios
administrador
la
el
la
o
Pg. 6 de 12
Versin:
1.0
Fecha: 15/08/2011
Representantes
Andrs Mario.
La pasante se encargar del diseo y desarrollo del SI, junto con el
apoyo de su tutor industrial.
Conocimiento en lenguajes de programacin y metodologas de
desarrollo.
Descripcin
Tipo
Responsabilidad
Criterios
xito
Nivel
de El pasante participa en el SI durante su elaboracin e implantacin.
Posteriormente solo participar para labores de mantenimiento.
participacin
3.5.2 Clientes
Representantes
Descripcin
Tipo
Responsabilidad
Criterios
xito
Nivel
de Sern los usuarios finales de BM.
participacin
3.6
Cliente
Descripcin
Tipo
Usuario.
Confidencial
Pg. 7 de 12
Versin:
1.0
Fecha: 15/08/2011
-Gestionar clientes.
Responsabilidad
de
Nivel
de Alta, estos usuarios son el corazn del sistema ya que es bsicamente
el que provee la informacin requerida para la creacin de las listas
participacin
de distribucin, como el envo de informacin a dichas listas.
3.6.2 Administrador
Ogangi.
Representante
Descripcin
Tipo
Responsabilidad
-Administrar clientes.
-Mantenimiento del Sistema.
Criterios
xito
Nivel
de Alta, El Administrador de BM es el encardado del mantenimiento del
SI, y que este preste un servicio optimo para los usuarios.
participacin
3.7
Prioridad
Problema
Solucin Actual
que origina
la necesidad
Soluciones
Propuestas
(Caractersticas
Preliminares)
Gestionar Suscriptores
Alta
Actualmente
no
hay
manera
de
modificar los
suscriptores
Construir
un
mdulo
en
la
aplicacin web que
facilite la gestin
de suscriptores
Gestionar Listas
Alta
Actualmente
no
existe
manera
de
gestionar
Construir
un
mdulo
en
la
aplicacin web que
facilite la gestin
Confidencial
Pg. 8 de 12
Versin:
1.0
Fecha: 15/08/2011
listas
3.8
de listas
Gestionar Broadcast
Alta
Construir
un
mdulo
en
la
aplicacin web que
facilite el envo de
broadcast
Gestionar Reportes
Media
Construir
un
mdulo
en
la
aplicacin web que
facilite la gestin
de reportes
Gestionar Sesion
Alta
Construir
un
mdulo
en
la
aplicacin web que
facilite la gestin
de sesin
Gestionar Usuarios
Alta
Construir
un
mdulo
en
la
aplicacin web que
facilite la gestin
de usuarios
Intuitivo y Amigable
Alta
Construir
el
sistema con una
interfaz intuitiva y
amigable
Eficiente
Alta
Robusto
Alta
Construir
el
sistema con el
mejor manejo ante
posibles
fallas
posibles
Seguro
Alta
Usar
protocolos
https, y algoritmos
de
encriptacin
para ciertos datos
Alternativas y Competencias
Actualmente no existen sistemas en el mercado, ni propietarios ni de software
libre que cumplan con los requisitos, por lo tanto no hay competencia.
Confidencial
Pg. 9 de 12
Versin:
1.0
Fecha: 15/08/2011
4.
4.1
4.2
Resumen de Capacidades
Tabla 4-1
Beneficios
Caractersticas
4.3
4.4
Costos y Precios
N/A.
4.5
Licencias e Instalacin
N/A.
5.
Descripcin
Gestin de Usuarios
Gestin
Suscriptores
Confidencial
Prioridad
de clientes en el sistema.
de El Cliente de EGO podr agregar, modificar, consultar y Alta
eliminar Usuarios con los cuales se crearan las listas de
Ogangi de Venezuela, 2012
Pg. 10 de 12
Versin:
1.0
Fecha: 15/08/2011
Estadsticas y reportes El Cliente podr consultar los reportes generados por el Media
acerca de los envos de sistema acerca de la difusin de los mensajes, status, etc.
mensajera
6.
Restricciones
El usuario debe poseer un navegador que soporte HTML5.
El Lenguaje de programacin a utilizar ser JS,JSP (JavaServer Pages),Java.
7.
Rangos de Calidad
Que el sistema posea una documentacin clara y precisa, una interfaz amigable e
intuitiva, tiempo de respuesta minimos, robustez y niveles de seguridad.
8.
Precedencia y Prioridad
La siguiente definicin de prioridades pertenecientes a las caractersticas del
sistemapermitir conocer cuales habr que atender primero y cuales despus durante el
desarrollo del proyecto.
1. Registro e identificacin del usuario en el sistema EGO.
2. Gestionar los usuarios pertenecientes a la listas de distribucin del sistema.
3. Carga, creacin, manipulacin y destruccin, de las listas de distribucin del
sistema.
4. Creacin y envo de mensajes de texto correos electrnicos a las listas de
distribucin.
5. Generacin de reportes acerca de los envos mensajes a las listas de distribucin.
9.
9.1
Estndares Aplicables
EGO debe poder utilizarse en los sistemas operativos ms comunes en el
mercado, Incluyendo Software Libre. Los estndares de interfaz, robustez, portabilidad,
eficiencia, las mejores prcticas de programacin sern aplicados.
Confidencial
Pg. 11 de 12
Versin:
1.0
Fecha: 15/08/2011
9.2
9.3
Requerimientos de Desempeo
El sistema debe cargar rpidamente en los navegadores y la apariencia debe ser
independiente del navegador.
9.4
10.
Requerimientos de Documentacin
10.1
Manual de Usuario
El propsito del manual es asistir a los usuarios del Sistema EGO, ayudarlos a
entender las funcionalidades de ste y de esta manera poder responder y atender cualquier
inquietud que se presente sobre el funcionamiento o sobre el sistema como tal. El manual
debe ser comprensible para el usuario y fcil de utilizar.
El manual debe tener respuestas a las preguntas y dudas ms frecuentes, dando
repuestas claras, acertadas y concisas sobre la temtica en cuestin, y en casos
particulares, si es posible, presentar ejemplos de cmo se llevara a cabo una accin
(como por ejemplo, registrar un usuario).
10.2
Confidencial
Pg. 12 de 12
Ap
endice B
Documento de Arquitectura
Versin:
<4.0>
Fecha: <15/12/2011>
Historia de Revisin
Fecha
Versin
Descripcin
Autor
15/08/2011
1.0
Andrs Mario
2.0
Andrs Mario
15/11/2011
3.0
Andrs Mario
15/12/2011
4.0
Andrs Mario
Confidencial
Pgina 2 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Introduccin
1.1
Propsito
Se mostrar la arquitectura del sistema empleando el Modelo de las 4 + 1 vistas. En
cada una de las vistas se detallarn las decisiones que se tomaron respecto a ellas.
1.2
Alcance
El documento presenta una descripcin detallada de la vista lgica y la arquitectura del
sistema, incluyendo diagrama de casos de uso, vista de despliegue, vista de implementacin y
vista de datos.
1.3
JSP: JavaServer Pages (JSP) es una tecnologa Java que permite generar contenido dinmico
para web, en forma de documentos HTML, XML o de otro tipo.
EGO: Enterprise on the GO, sistema de envi masivo de mensajera mediante mltiples
plataformas.
Introduccin
a
la
Arquitectura
de
Software.
1999.
Microsoft
http://www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/intro.mspx#ESLAC
Documento de visin.
Documento de ERS.
1.4
Referencias.
msdn.
1.5
Vista Global
Este documento se basa en la representacin de arquitectura del sistema, para lo cual
se especifican cada una de las vistas: casos de uso, lgica, de procesos, de despliegue, de
implementacin y de datos. Adicionalmente, contiene las restricciones del sistema con respecto
a la arquitectura, sus metas, una breve descripcin de las dimensiones del producto, al igual que
todo lo relacionado con el desempeo y calidad de plataformas y portabilidad, entre otros.
2.
Representacin Arquitectnica
Siguiendo la metodologa RUP, se va a implementar el modelo de 4 + 1 vistas de
Kruchten para el sistema EGO. A continuacin se describe en qu consiste cada una de estas
vistas.
Vista Lgica: Constituye el modelo conceptual del sistema a travs de los subsistemas,
clases e interfaces ms importantes y las relaciones entre estos componentes.
Confidencial
Vista de Proceso: En esta vista se muestra la concurrencia entre los procesos e hilos que
conforman el sistema.
Pgina 3 de 17
3.
4.
Versin:
<4.0>
Fecha: <15/12/2011>
Vista de Casos de Uso: Est constituida por los casos de uso o escenarios del sistema. Se
basa en las 4 vistas anteriores
Seguridad: Dado que distintos tipos de usuarios pueden acceder al sistema, es necesario
establecer niveles de privilegios, y por tanto establecer un sistema de acceso a sesiones
mediante un login y un password, tambin tiene que estar implementado en un servidor con
https, y nivel de encriptamiento de ciertos datos.
Confidencial
Pgina 4 de 17
Confidencial
Versin:
<4.0>
Fecha: <15/12/2011>
Pgina 5 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
5.
Vista Lgica
5.1
Visin general
5.2
5.3
Realizaciones de los casos de uso
5.3.1 Iniciar sesin
Confidencial
Pgina 6 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 7 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 8 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 9 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 10 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 11 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 12 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 13 de 17
Versin:
<4.0>
Fecha: <15/12/2011>
Confidencial
Pgina 14 de 17
6.
Versin:
<4.0>
Fecha: <15/12/2011>
Vista de Procesos
N/A
7.
Vista de Implantacin
8.
Vista de Implementacin
8.1
Vista General
Confidencial
Pgina 15 de 17
8.2
Versin:
<4.0>
Fecha: <15/12/2011>
Capas
Componente
JS
JSP
JSP Logico
XML
Confidencial
Archivos
broadcast.js
credit.js
forgotPassword.js
list.js
index.js
main.js
profile.js
registration.js
suscriptor.js
login.js
logout.js
user.js
index.jsp
main.jsp
user.jsp
suscriptor.jsp
list.jsp
broadcast.jsp
credit.jsp
profile.jsp
alertSchedulesLoadLogic.jsp
broadcastListGroupLogic.jsp
broadcastSendLogic.jsp
forgotPasswordLogic.jsp
languageSetLogic.jsp
listAddLogic.jsp
listModifyLoadLogic.jsp
listModifySaveLogic.jsp
loadShortCodesLogic.jsp
loginLogic.jsp
logoutLogic.jsp
profileChangePasswordLogic.jsp
profileEditLogic.jsp
profileReviewLogic.jsp
suscriptorAddLogic.jsp
suscriptorDeleteLogic.jsp
SuscriptorEditLogic.jsp
userLoadLogic.jsp
userDeleteLogic.jsp
registrationLogic.jsp
userLoadLogic.jsp
userDeleteLogic.jsp
Xml.java
Pgina 16 de 17
9.
Versin:
<4.0>
Fecha: <15/12/2011>
Vista de Datos
N/A
10.
Tamao y Desempeo
El desempeo se logro mediante:
1. validaciones en la capa de presentacin.
2. Uso moderado de memoria RAM.
11.
Calidad
Modificable y mejor manejo de fallas: El sistema EGO cuenta con una arquitectura basada
en capas, lo cual facilita su modificacin y control de fallas.
Extensible: La arquitectura de tres capas tambin permite que el sistema sea extensible. A
la hora de ser necesaria la inclusin de una nueva funcionalidad al sistema, se puede
implementar un nuevo componente e integrarlo a la arquitectura sistema.
Seguridad:Ego tiene que estar implementado en un servidor que posea https, y tambien la
informacin critica tiene que estar codifcada con el algoritmo de encriptacion SHA-1.
Confidencial
Pgina 17 de 17
Ap
endice C
Especificaciones de Requerimientos
del Sistema
Versin 4.0
Versin:
4.0
Fecha: 15/12/2011
Historia de Revisiones
Fecha
Versin
Descripcin
Autor
24/09/2011
1.0
Andrs Mario
30/10/11
2.0
Caso de Uso
Andrs Mario
15/11/11
3.0
Andrs Mario
15/12/11
4.0
Andrs Mario
Confidencial
Pgina 2
Versin:
4.0
Fecha: 15/12/2011
JSP: JavaServer Pages (JSP) es una tecnologa Java que permite generar contenido
dinmico para web, en forma de documentos HTML, XML o de otro tipo.
BD : Base de Datos
AJAX: Asynchronous JavaScript And XML, refiere a JavaScript asncrono y XML es
una tcnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet
Applications). Estas aplicaciones se ejecutan en el cliente.
EGO: Enterprise on the GO , sistema de envi masivo de mensajera mediante mltiples
plataformas.
1.3
Referencias
2.
Especificaciones Funcionales
2.1.
ID requerimiento:
Confidencial
Pgina 3
R-1
Versin:
4.0
Fecha: 15/12/2011
Registrar Usuarios
Correo: Este campo es obligatorio, es el correo electrnico del usuario, del tipo
alfanumrico.
Contrasea: Este campo es obligatorio, es la contrasea del usuario, del tipo
alfanumrico, longitud mnima de 6, y mxima de 30.
Nombre, Este campo es obligatorio, es el nombre del usuario, del tipo alfanumrico,
longitud mxima de 100.
Cdigo Zip: Este campo es obligatorio, es el cdigo Zip del usuario, es del tipo
numrico, de longitud mxima de 10.
Categora del Negocio: Este campo es obligatorio, el la Categora del tipo de negocio
del usuario, los valores posibles son: Arte y Entretenimiento, Automotriz, Servicios
Empresariales y Profesionales, Accesorios y Ropa, Comunidad y Gobierno,
Computacin y Electrnica, Construccin y Contratistas, Educacin, Alimentos y
Restaurantes, Salud y Medicina, Hogar y Jardinera, Industria y Agricultura, Legal y
Financiero, Medios y Comunicaciones, Cuidado Personal y Servicios, Bienes Races,
Compras, Recreacin y Deportes, Transporte y Turismo.
Sitio Web: Este campo es obligatorio, es la pagina web del usuario, es del tipo carcter,
no tiene longitud mxima.
Direccin: Este Campo No es Obligatorio, es la direccin del usuario, el del tipo
carcter y no tiene longitud mxima.
Contacto Principal: Este campo es obligatorio, es el contacto principal del usuario, es
del tipo carcter y no tiene longitud mxima.
Contacto Secundario: Este campo no es obligatorio, es el secundario del usuario, es del
tipo carcter y no tiene longitud mxima.
Descripcin del negocio: Este campo no es obligatorio, es la descripcin del negocio
del cliente, es del tipo carcter y no posee longitud mxima.
4. Ver Documentos interfaces CU-1.
|Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Gestin de usuarios: registrar nuevo usuario.
2.2
Confidencial
Pgina 4
Versin:
4.0
Fecha: 15/12/2011
ID requerimiento:
R-2
Ver Perfil
4.
Correo: Este campo es obligatorio, es el correo electrnico del usuario, del tipo
alfanumrico.
Contrasea: Este campo es obligatorio, es la contrasea del usuario, del tipo
alfanumrico, longitud mnima de 6, y mxima de 30.
Nombre, Este campo es obligatorio, es el nombre del usuario, del tipo alfanumrico,
longitud mxima de 100.
Cdigo Zip: Este campo es obligatorio, es el cdigo Zip del usuario, es del tipo
numrico, de longitud mxima de 10.
Categora del Negocio: Este campo es obligatorio, el la Categora del tipo de negocio
del usuario, los valores posibles son: Arte y Entretenimiento, Automotriz, Servicios
Empresariales y Profesionales, Accesorios y Ropa, Comunidad y Gobierno,
Computacin y Electrnica, Construccin y Contratistas, Educacin, Alimentos y
Restaurantes, Salud y Medicina, Hogar y Jardinera, Industria y Agricultura, Legal y
Financiero, Medios y Comunicaciones, Cuidado Personal y Servicios, Bienes Races,
Compras, Recreacin y Deportes, Transporte y Turismo.
Sitio Web: Este campo es obligatorio, es la pagina web del usuario, es del tipo carcter,
no tiene longitud mxima.
Direccin: Este Campo No es Obligatorio, es la direccin del usuario, el del tipo
carcter y no tiene longitud mxima.
Contacto Principal: Este campo es obligatorio, es el contacto principal del usuario, es
del tipo carcter y no tiene longitud mxima.
Contacto Secundario: Este campo no es obligatorio, es el secundario del usuario, es del
tipo carcter y no tiene longitud mxima.
Descripcin del negocio: Este campo no es obligatorio, es la descripcin del negocio
del cliente, es del tipo carcter y no posee longitud mxima.
Ver Documentos interfaces CU-4.
Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Ver Perfil.
2.3
ID requerimiento:
Confidencial
Pgina 5
R-3
Versin:
4.0
Fecha: 15/12/2011
Modificar Perfil
Confidencial
Pgina 6
Versin:
4.0
Fecha: 15/12/2011
Correo: Este campo es obligatorio, es el correo electrnico del usuario, del tipo
alfanumrico.
Nombre, Este campo es obligatorio, es el nombre del usuario, del tipo alfanumrico,
longitud mxima de 100.
R-7
Eliminar Usuarios
Crear Suscriptor
R-8
Descripcin del Requerimiento:
1. El sistema debe permitir crear suscriptores.
2.
No posee RN.
3. Estructura de datos:
Confidencial
Pgina 7
Versin:
4.0
Fecha: 15/12/2011
Nombre: este campo es obligatorio, es el nombre del suscriptor, es del tipo carcter, y
no tiene longitud mxima.
Apellido: este campo es obligatorio, es el apellido del suscriptor, es del tipo carcter, y
no tiene longitud mxima.
Mvil: Este campo es obligatorio, es el nmero del telfono mvil del suscriptor, es
del tipo numrico y posee una longitud mxima de 12.
Correo: Este campo es obligatorio, es el correo electrnico del suscriptor, del tipo
alfanumrico y no tiene longitud mxima.
4. Ver Documentos interfaces CU-8.
Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Gestin de Suscriptores: Agregar Suscriptor.
2.7
ID requerimiento:
Modificar Suscriptor
R-7
Descripcin del Requerimiento:
1.
2.
No posee RN.
3.
Estructura de datos:
Nombre: este campo es obligatorio, es el nombre del suscriptor, es del tipo carcter, y
no tiene longitud mxima.
Apellido: este campo es obligatorio, es el apellido del suscriptor, es del tipo carcter, y
no tiene longitud mxima.
Mvil: Este campo es obligatorio, es el numero del telfono mvil del suscriptor, es
del tipo numrico y posee una longitud mxima de 12.
Correo: Este campo es obligatorio, es el correo electrnico del suscriptor, del tipo
alfanumrico y no tiene longitud mxima.
4. Ver Documentos interfaces CU-9.
Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Gestin de Suscriptores: Modificar Suscriptor.
2.8
ID requerimiento:
Listar Suscriptor
R-8
Confidencial
Pgina 8
Versin:
4.0
Fecha: 15/12/2011
Eliminar Suscriptor
R-9
Descripcin del Requerimiento:
1. El sistema debe permitir eliminar los usuarios.
2. No posee RN.
3.
Crear lista
R-10
Confidencial
Pgina 9
Versin:
4.0
Fecha: 15/12/2011
Nombre: Este campo es obligatorio, es el nombre que posee la lista, es del tipo
alfanumrico y no tiene longitud mxima.
4. Ver Documentos interfaces CU-12.
Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Gestin de Listas: Crear lista.
2.11
ID requerimiento:
Consultar listas
R-11
Descripcin del Requerimiento:
1. El debe mostrar las listas.
2. El sistema debe mostrar la cantidad de suscriptores que posee una lista.
3. Estructura de datos:
Nombre: Este campo es obligatorio, es el nombre que posee la lista, es del tipo
alfanumrico y no tiene longitud mxima.
#: Este campo es obligatorio, es el nmero de suscriptores que posee una lista, es del
tipo numrico.
Id: Este campo es obligatorio es el identificador de la lista. Es del tipo numrico.
4. Ver Documentos interfaces CU-12.
Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Gestin de Listas: Consultar lista.
2.12
ID requerimiento:
Modificar listas
R-12
Confidencial
Pgina 10
Versin:
4.0
Fecha: 15/12/2011
Nombre: Este campo es obligatorio, es el nombre que posee la lista, es del tipo
alfanumrico y no tiene longitud mxima.
4. Ver Documentos interfaces CU-14.
Atributo: Prioridad
( x) Alta ( ) Media Alta ( ) Media ( ) Media Baja ( ) Baja
Caracterstica Asociada: Gestin de Listas: Modificar lista.
2.13
ID requerimiento:
Eliminar listas
R-13
Descripcin del Requerimiento:
1. El sistema debe permitir eliminar los usuarios.
2. No posee RN.
3.
Enviar SMS
R-14
Descripcin del Requerimiento:
1. El sistema debe enviar SMS.
2. Se debe poder configurar los das de permitidos para enviar los mensajes, as como la
hora y fecha de salida, y el horario permitido.
3. Estructura de datos:
Titulo: Este Campo es obligatorio, es el ttulo del mensaje a enviar, es del tipo
Confidencial
Pgina 11
Versin:
4.0
Fecha: 15/12/2011
Enviar Correo
R-15
Descripcin del Requerimiento:
1. El sistema debe enviar Correos.
2. Se debe poder configurar los das de permitidos para enviar los mensajes, as como la
hora y fecha de salida, y el horario permitido.
3. Estructura de datos:
Titulo: Este Campo es obligatorio, es el ttulo del mensaje a enviar, es del tipo
alfanumrico, y no tiene longitud mxima.
Texto: Este Campo es obligatorio, es el texto del mensaje a enviar, es del tipo
alfanumrico
Lista: Este Campo es obligatorio, es el nombre de la lista a la cual se desea enviar el
Correo, es del tipo alfanumrico.
FechaDeInicio: Este Campo es opcional, es la fecha en que se desea que se empiecen a
enviar los mensajes, es del tipo date.
Desde: Este Campo es opcional, es la hora de inicio en la que se pueden enviar los
Correos, sigue el siguiente formato HHMMSS.
Hasta: Este Campo es opcional, es la hora de fin en la que se pueden enviar los Correo,
Confidencial
Pgina 12
Versin:
4.0
Fecha: 15/12/2011
Seleccionar Idioma
R-16
Descripcin del Requerimiento
1. El sistema debe permitir cambiar el idioma en que se despliega.
2. El idioma se debe cargar de un archivo de propiedades.
3. Estructura de datos:
Listas Reportes
R-11
Descripcin del Requerimiento:
1. El debe mostrar los Reportes.
2. No posee RN.
3. Estructura de datos:
Texto: Este campo es obligatorio, es el texto que se envio en el broadcast, es del tipo
alfanumrico y no tiene longitud mxima.
FechaDeInicio: Este campo es obligatorio, es el da en el que se empiezan a enviar los
mensajes es del tipo date.
Esperados: Este campo es obligatorio, es el nmero de mensajes esperados a ser
Confidencial
Pgina 13
Versin:
4.0
Fecha: 15/12/2011
3.
Casos de Uso
3.1
ID Caso de Uso
Caso de Uso
Actor
CU-1
Registrar Usuario
Usuario
CU-2
Iniciar Sesin
Usuario
CU-3
Cerrar Sesin
Usuario
CU-4
Ver Perfil
Usuario
CU-5
Modificar Perfil
Usuario
CU-6
Listar Usuario
Administrador
CU-7
Eliminar Usuario
Administrador
CU-8
Crear Suscriptor
Usuario
CU-9
Modificar Suscriptor
Usuario
CU-10
Listar Suscriptor
Usuario
CU-11
Eliminar Suscriptor
Usuario
CU-12
Crear Listas
Usuario
CU-13
Consultar Listas
Usuario
CU-14
Modificar Listas
Usuario
CU-15
Eliminar Listas
Usuario
CU-16
Enviar SMS
Usuario
CU-17
Enviar Correo
Usuario
Confidencial
Pgina 14
Versin:
4.0
Fecha: 15/12/2011
CU-18
Seleccionar Idioma
Usuario
CU-19
Consultar Reportes
Usuario
CU-20
Mostrar Men
Usuario
3.2
SISTEMA
7. Se le da al botn de OK.
6. Se dirige a CU-2.
FLUJOS ALTERNOS
ACTOR
SISTEMA
4. Se verifica que los datos ingresados y no
son correctos.
4.1. Se muestra un mensaje en la pantalla que
informa el error en los datos ingresados.
4.2 Se regresa al punto 3
Pgina 15
Versin:
4.0
Fecha: 15/12/2011
3.2.2Iniciar Sesin
Caso de uso: CU-2
Descripcin: Para que los usuarios puedan ingresar al sistema.
Requerimiento: N/A
Precondicin: N/A
FLUJO BASICO:
ACTOR
SISTEMA
FLUJOS ALTERNOS
ACTOR
SISTEMA
4.1. Se verifica que los datos ingresados son
incorrectos.
4.2 Se muestra un mensaje en la pantalla que
informa el error en los datos ingresados.
4.3 Se regresa al punto 3.
Poscondicin: N/A
Requerimientos especiales: N\A
Puntos de extensin: N\A
3.2.3 Cerrar sesin:
Confidencial
Pgina 16
Versin:
4.0
Fecha: 15/12/2011
ACTOR
SISTEMA
FLUJOS ALTERNOS
ACTOR
SISTEMA
Poscondicin: N/A
Requerimientos especiales: N\A
Puntos de extensin: N\A
SISTEMA
FLUJOS ALTERNOS
ACTOR
SISTEMA
No posee
Poscondicin: N/A
Requerimientos especiales: N/A
Puntos de extensin: N/A
3.2.5 Modificar Perfil
Caso de uso: CU-5
Descripcin: Los usuarios modificar su Perfil.
Requerimiento: R-3
Confidencial
Pgina 17
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
1. Se le da click encima del campo que se desee 2. Se muestra una pantalla un formulario con
modificar.
el campo a modificar.
3. El Usuario ingresa el dato y le da al botn de
salvar.
FLUJOS ALTERNOS
ACTOR
SISTEMA
4.1. Se verifica que los datos ingresados son
incompatibles.
4.2 Se muestra un mensaje en la pantalla que
informa el error en los datos ingresados.
4.3 Se regresa al punto 3.
SISTEMA
FLUJOS ALTERNOS
ACTOR
Confidencial
SISTEMA
Ogangi de Venezuela, 2012
Pgina 18
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
6. Se presiona OK
7. redirige a CU-6
FLUJOS ALTERNOS
ACTOR
SISTEMA
Pgina 19
Versin:
4.0
Fecha: 15/12/2011
ACTOR
SISTEMA
6. El usuario le da al botn de OK
7. Se dirige a CU-10
FLUJOS ALTERNOS
ACTOR
SISTEMA
4.1 Si los datos ingresados no son validos.
4.2 Se muestra en pantalla un mensaje con el
respectivo error
4.3 Se redirige al punto 3.
SISTEMA
7. Redirige al CU-10
FLUJOS ALTERNOS
Confidencial
Pgina 20
ACTOR
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
4.1 Si el dato ingresado no es vlido.
4.2 El Sistema despliega un mensaje de error
con el error respectivo.
4.3 regresa al paso 3.
SISTEMA
FLUJOS ALTERNOS
ACTOR
SISTEMA
Pgina 21
ACTOR
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
7. Se redirige al CU-10
FLUJOS ALTERNOS
3.1 Se presiona el botn de cancelar
SISTEMA
3. Se ingresan los datos y se le da click al botn 4. Se verifican los datos ingresados sean
de salvar..
correctos
5. Se crea la lista en la BD y se muestra una
alerta en el indicando que la operacin fue
exitosa.
6. Se presiona el botn de OK
7. Se redirige al CU-13
FLUJOS ALTERNOS
ACTOR
SISTEMA
4.1 Se verifican que los datos ingresados sea
correctos de no serlo.
4.2El Sistema despliega un mensaje de error
Confidencial
Pgina 22
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
FLUJOS ALTERNOS
ACTOR
SISTEMA
SISTEMA
Confidencial
Pgina 23
Versin:
4.0
Fecha: 15/12/2011
8. Se dirige al CU-13
FLUJOS ALTERNOS
ACTOR
SISTEMA
SISTEMA
3. Se acepta la confirmacin.
6. Se redirige al CU-13
FLUJOS ALTERNOS
ACTOR
SISTEMA
Confidencial
Pgina 24
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
1. Se selecciona el botn de broadcast del men. 2. Se despliega las listas disponibles a las que
se le puede enviar el broadcast.
3. Se selecciona una lista y se le da al botn de
siguiente.
FLUJOS ALTERNOS
ACTOR
SISTEMA
Confidencial
Pgina 25
Versin:
4.0
Fecha: 15/12/2011
Requerimiento:R-15
Precondicin: Tienen que haber listas creadas en la BD.
FLUJO BASICO:
ACTOR
SISTEMA
1. Se selecciona el botn de broadcast del men. 2. Se despliega las listas disponibles a las que
se le puede enviar el broadcast.
3. Se selecciona una lista y se le da al botn de
siguiente.
FLUJOS ALTERNOS
ACTOR
SISTEMA
Confidencial
Pgina 26
ACTOR
Versin:
4.0
Fecha: 15/12/2011
SISTEMA
SISTEMA
SISTEMA
FLUJOS ALTERNOS
ACTOR
SISTEMA
Pgina 27
Versin:
4.0
Fecha: 15/12/2011
FLUJO BASICO:
ACTOR
SISTEMA
1. Se despliega el men principal.
FLUJOS ALTERNOS
ACTOR
SISTEMA
3.3
Confidencial
Pgina 28
Versin:
4.0
Fecha: 15/12/2011
4. Especificaciones Suplementarias
Confidencial
Pgina 29
Versin:
4.0
Fecha: 15/12/2011
4.1
Usabilidad
4.1.1 Interfaz Amigable para el Usuario
El sistema debe contar con un entorno, en el cual un usuario
sin experiencia previa acerca de este pueda utilizarlo de manera fcil y sencilla, tambin tiene
que ser intuitivo.
4.2 Confiabilidad
4.2.1 Disponibilidad
El sistema debe estar disponible para los usuarios.
4.3 Desempeo
4.3.1 Tiempo de respuesta entre transacciones:
El sistema debe presentar los resultados de las consultas en un tiempo de 20 seg.
4.4
Mantenibilidad
Seguridad
El Sisema debe manejar :
4.6.
Restricciones de Diseo
Para el desarrollo de software se emplear el lenguaje JAVA, utilizando la tecnologa JSP para generar las
aplicaciones dinmicas Web; el servidor JBOSS, que posee soporte de servlets, Servicios web y JSP.
4.7.
Requerimientos de Documentacin en Lnea y de Sistemas de Ayuda
4.7.1 Manual de Usuario
Se crear un manual que debe contener los siguientes elementos:
Instrucciones necesarias para utilizar la aplicacin.
4.7.2 Ayuda en Lnea
Se plantea tener disponible soporte tcnico para la aplicacin debido a la importancia que
tiene la misma para la empresa
4.7.3 Gua de Instalacin, Configuracin, y archivo Leme.
N\A
Confidencial
Pgina 30
4.8.
Versin:
4.0
Fecha: 15/12/2011
Componentes Comprados
N/A
4.9.
Interfaces
Confidencial
Pgina 31