Santiago de Querétaro, Qro. Septiembre, 2010.
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Voluntad. Conocimiento. Servicio.
SISTEMA DE GESTION DE INFORMACIÓN. MODULO DE REPORTES WEBZER.
SOLSER SISTEM S.A. DE C.V.
Reporte de Estadía para obtener el Título de Técnico Superior Universitario en Tecnologías de la Información y
Comunicación
ROSA MARTÍNEZ RIVERA
Universidad
Tecnológica de
Querétaro
Firmado digitalmente por Universidad Tecnológica de Querétaro
Nombre de reconocimiento (DN):
cn=Universidad Tecnológica de Querétaro, o=Universidad Tecnológica de Querétaro, ou, [email protected], c=MX Fecha: 2010.10.12 11:35:17 -05'00'
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Voluntad. Conocimiento. Servicio.
SISTEMA DE GESTION DE INFORMACIÓN. MODULO DE REPORTES WEBZER.
SOLSER SISTEM S.A DE C.V
Reporte de Estadía para obtener el Título de Técnico Superior Universitario en Tecnologías de la Información y Comunicación
ASESOR DE EMPRESA
Lic. AIDABETH ZALAZAR
ASESOR DE UNIVERSIDAD
Ing. GERARDO VÁZQUEZ VILLATA
ALUMNO
.
ÍNDICE
INTRODUCCIÓN
CAPÍTULO I SOLSER SISTEM S.A. DE C.V.
1.1 Solser sistem S.A. de C.V
1.1.1 Giro de la empresa 8
1.1.2 Políticas de Calidad 9
1.1.3 Organigrama de SOLSER SISTEM S.A DE C.V 10
CAPÍTULO II WEBZER ZERMAT INTERNACIONAL 2.1 Análisis de necesidades 2.1.1 Definición del proyecto 12 2.1.2 Objetivos 13 2.2 Plan de trabajo 2.2.1 Diagrama de Gantt 14 2.2.2 Especificaciones 15 CAPÍTULO III DESARROLLO DEL PROYECTO 3.1 Análisis de proyecto 17
3.2 Diseño de reportes 19
3.3 Construcción de querys para reportes 26
CAPÍTULO IV CONCLUSIONES
4.1 Dificultades 35 4.2 Logros obtenidos 36
INTRODUCCIÓN
El proyecto de estadía se llevo acabo en el área de desarrollo de la empresa SOLSER SISTEM, la cual coordina diferentes proyectos de aplicación de software a empresas en diferentes ramos industriales. En la actualidad el desarrollo de sistemas o la creación de sistemas de control y/o programación, son una importante alternativa de solución para la empresa establecida y es el desarrollo tecnológico el que le da pauta y forma a la ejecución de programas.
La presente propuesta, estructura un sistema de gestión de información en el modulo de reportes para la empresa ZERMAT y el proyecto es denominado WEBZER.
Este modulo de reportes utiliza un lenguaje de programación y una estructura de base de datos cuyas principales etapas identifican: Análisis de proyecto, Diseño de reportes, Construcción de querys para reportes y Pruebas de reportes e incidencias.
Este proyecto inicia refiriendo las principales características de la empresa y su organización.
Posteriormente se indica el análisis de necesidades, los objetivos y el plan de trabajo.
Más adelante se presenta el análisis, el diseño, la construcción y las pruebas realizadas que nos permitieron entregar satisfactoriamente dicho resultado a la empresa.
CAPÍTULO I
SOLSER SISTEM
S.A. DE C.V
1.1 SOLSER SISTEM S.A. de C.V
1.1.1 Giro de la empresa
SOLSER es una empresa 100% mexicana, con más de 6 años de experiencia en desarrollo de software a la medida.
SOLSER cuenta con una amplia experiencia en el desarrollo de sistemas siendo también una consultora en donde Contamos con certificaciones de calidad para todo tipo de empresas. Nuestros servicios de calidad proporcionan a nuestros clientes un sistema de gestión de calidad total.
La especialidad de "SOLSER SISTEM S.A. DE C.V." es el desarrollo de software en las modalidades de:
Construcción de Software y venta de Hardware así como instalaciones físicas y lógicas de redes, que permiten alcanzar eficientemente los objetivos de la compañía, además de procesos a través de sistemas integrales con el respaldo de la mejor infraestructura y tecnología.
Ofrecemos profesionales con amplia experiencia en desarrollo y mantenimiento de Software, para plataformas clientes servidor, WEB, IBM390, SAP y comunicaciones.
Fábrica de software, Fábrica de Pruebas, Proyectos a Precio Cerrado, Integración de Sistemas, Desarrollo y Mantenimiento de Aplicativos, Web Services y Portales, SOA– Arquitectura Orientada a Servicios, Management, BPM – Business Process Management.
9 Para Soluciones Empresariales, Bancarias, Aseguradoras y
Financieras Sobre plataformas Oracle, IBM, DB2, Microsoft, Unix,
Administración de Proyectos, Programación avanzada,
Levantamiento de Infraestructura, Diagnóstico, Proyectos e implementación.
1.1.2 Política de calidad
Misión Desarrollar el potencial de nuestros profesionales para crear
e innovar tecnología de información desde México para el mundo.
Visión Crear la mejor empresa para trabajar, permitiendo establecer
relaciones a largo plazo con nuestros clientes apoyando el desarrollo de sus objetivos.
Valores
o Responsabilidad Hacer lo que te comprometes en el
tiempo y forma adecuada.
o Lealtad Seguir los objetivos y valores de la empresa
incondicionalmente.
o Rectitud Generamos confianza siendo congruentes entre lo
que pensamos, decimos hacemos.
o Respeto Brindar nuestros servicios con cordialidad, verdad
1.1.3 Organigrama de SOLSER
Fig.1.1Organigrama de SOLSER
Área donde
CAPÍTULO II
WEBZER
ZERMAT
2.1 Análisis de necesidades 2.1.1 Definición del proyecto
El proyecto se elaborará en el área de desarrollo de SOLSER SISTEM. En esta área se desarrolla todo tipo de software que los clientes requieren. En cada una de las etapas del desarrollo de software, se cumple con un proceso, mediante una metodología de auditoria para poder finalizar un producto con la más alta calidad.
ZERMAT INTERNACIONAL es una empresa mexicana dedicada a la fabricación y comercialización de perfumes y cosméticos de alta calidad a través de sus distribuidores.
Es uno de los muchos clientes de SOLSER SISTEM. En este caso SOLSER SISTEM desarrolla el proyecto que lleva de nombre WEBZER ZERMAT INTERNACIONAL.
Dicho sistema necesita gestionar la información operativa asociada a las ventas realizadas por los centros de distribución de Zermat Internacional, tal como del control de los inventarios de cada centro, control de promociones para fijaciones de precios y calculo de comisiones para la fuerza de ventas.
Este sistema necesita ser completado en el módulo de generación de reportes basados en la información que generara el sistema.
13 2.1.2 Objetivos
Objetivo general
Completar el desarrollo del sistema WEBZER en su modulo de reportes para estructurar mejor la información de este sistema. El sistema necesita gestionar la información operativa asociadas las ventas realizadas por los centros de distribución de Zermat
Internacional, tal como el control de inventarios de cada centro, control de promociones,
Se requiere la elaboración de dichos reportes para tener la gestión de los datos del sistema WEBZER.
Objetivos específicos
Reducir los costos y tiempos de administración, operación y mantenimiento, además de que se pueda instalar en otros países con un mínimo de modificaciones.
Contar con una aplicación estable y que sea capaz de soportar el crecimiento y cambios del negocio tanto en México como en otros países.
Contar con un esquema de alta seguridad y de fácil mantenimiento. El nuevo diseño de los objetos de la Base de Datos proporcionará un
mejor control de la información, mayor consistencia y la seguridad contra la perdida de datos.
Proporcionar un servicio de Calidad y Eficiencia a los Clientes.
Contar con una aplicación en Producción basada en los estándares de la metodología CMMI nivel 5, para tener una documentación completa que permita un mejor mantenimiento a futuro.
2.2 Plan de trabajo 2.2.1 Diagrama de Gantt
15 2.2.2 Especificaciones
Análisis de proyecto
En esta etapa se realizará un análisis del área de trabajo con el objetivo de familiarizarse con ella. Esta etapa además incluye conocer la base de datos con la que se va a trabajar. Conocer el lenguaje en el que se va a trabajar y analizar las necesidades de los reportes.
Diseño de reportes
En esta etapa se construye el diseño de los reportes. Son alrededor de 70 reportes los que arrojara el sistema. Este diseño se construirá en iReport, que es un programa para el diseño de reportes. El lenguaje en el que está basado este programa es java. Los reportes se encuentran diseñados en Excel y en los Casos de Uso, tomaremos como ejemplos estos documentos para la elaboración en iReport.
Construcción de querys para reportes
En esta etapa se construirán los querys que se introducirán en los reportes ya diseñados. Los querys se realizaran bajo la plataforma de Oracle. Para esto primero se construirán los querys y para después introducirlos en el diseño.
Pruebas de reportes e incidencias
En esta etapa se probaran los reportes con datos reales y desde la aplicación, si se llegan a presentar incidencias también se resolverán en esta etapa.
CAPÍTULO III
DESARROLLO DEL
PROYECTO
17
3.1 Análisis del proyecto
ZERMAT INTERNACIONAL solicito que el sistema fuera capaz de generar reportes. Para esto se generó un módulo especial para la elaboración de dichos componentes. Los requerimientos que ZERMAT estableció para los reportes fueron distintos para cada uno de ellos. Se comenzó por conocer el lenguaje en el que se realizarían los querys para los reportes, en este caso fue SQL Oracle.
Oracle es un sistema de gestión de base de datos relacional
(o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando:
soporte de transacciones
estabilidad
escalabilidad
Soporte multiplataforma.
También se tenía que conocer el programa donde se haría el diseño de los reportes.
El Jasper Report es una librería para la generación de informes. Está escrita en java y es libre. El funcionamiento consiste en escribir un xml donde se recogen las particularidades del informe. Este xml lo tratan las clases del Jasper para obtener una salida. Esta salida puede ser un PDF, XML, HTML, CSV, XLS, RTF, TXT. Y para crear dicho xml
utilizaremos el programa iReport. En este programa se diseñaran los reportes.
Al muy importante de lo que se tenía que tener conocimiento al máximo era de la base de datos, para poder realizar los querys de los reportes. Para ello se proporcionó el diagrama de clases (fig.3.1).
Diagrama de Clases
19
En la figura anterior (fig.3.1) se muestra el diagrama de clases de la aplicación, de estas tablas se elaboraran las consultas para los reportes. El diagrama de clases tiene alrededor de 120 tablas.
3.2 Diseño de reportes
Esta etapa consistió en elaborar los diseños en iReport, estos se tomaban de los Casos de Uso y de ahí se diseñaba cada reporte. En los casos de Uso también podíamos encontrar las especificaciones para cada reporte.
Un ejemplo de Caso de Uso para reportes es el siguiente:
El formato que utiliza Solser Sistem para la elaboración de sus Casos de Uso es el que se presenta, en el siguiente Caso de Uso.
En la primera hoja se encuentra la presentación del Caso de Uso, en esta hoja está el logo de la empresa a la que se elabora el sistema (ZERMAT) y el logo de la empresa líder en este caso Solser.
En la segunda parte se encuentra también las características de los casos de uso, como son: el Id del Caso de Uso, Actores, precondiciones, los flujos y los requerimientos especiales. Este caso de uso es para el reporte “Consulta de reporte Cálculo de multinivel de líderes”.
En la última parte se encuentra el prototipo documental, lo que son las ventanas desde donde se llamara el reporte, pero solo como prototipo.
Caso de Uso
CU-WEBZER-176
Consulta del reporte Cálculo de multinivel de Líderes
Validación: Alfa Centauro
Actores: Usuario de Alfa Centauro
Módulos: Reportes
18/01/201021 Id: CU-WEBZER-176
Nombre: Consulta del reporte Cálculo de multinivel de Líderes. Actor principal: Alfa Centauro
Stakeholders e intereses:
EL usuario necesita consultar el reporte de cálculo de multinivel de Líderes. Precondiciones:
El usuario debe estar firmado en el sistema. Postcondiciones:
El sistema generara un reporte en formato PDF con la consulta sobre el cálculo multinivel de líderes.
Escenario principal:
1. El usuario entra al menú Reportes->Cálculo de multinivel de líderes.
2. El sistema muestra un tabla de resultados y unos campos que el usuario tiene que alimentar: a. Buscar por.
b. Periodo. c. Año.
d. Líderes/Empresa Ver flujo alterno 1a.
3. El sistema muestra el resultado de la consulta en la tabla de resultados con los siguientes datos:
a. Código. . Ver flujo alterno 2a. b. Nombre.
c. Opción de Eliminar del reporte. Ver flujo alterno 3a. 4. El usuario ordena al sistema Procesar el Reporte en formato PDF. 5. El sistema genera el reporte de Calculo Multinivel de Lideres. Flujos alternos:
1a. Permitirá buscar un rango de Líderes o una empresa.
1. Para Buscar un rango de líderes solo hay que indicar inicio y fin separados por un signo de menos rango inicial – rango final.
2a. Si en el rango se encuentra algún líder dado de baja se indicara (En el reporte no se vera reflejado).
3a. Al elegir la opción de “Eliminar del Reporte” los datos del registro seleccionado no se mostrara en el Reporte de Calculo Multinivel de Líderes.
Requerimientos especiales: Ninguno
Tecnologías y variación de datos: Ninguno.
Prototipo Documental
CU-WEBZER-176
25
Este es el resultado del Caso de Uso: El reporte de Cálculo multinivel de líderes.
3.3 Construcción de querys para reportes
La construcción consistió en la elaboración de los querys, estos fueron elaborados en el programa SQL Developer de Oracle. A continuación se muestra el entorno de trabajo de SQL Developer (fig.3.2).
Fig. 3.2 Entorno de Trabajo de SQL Developer
Aquí era donde se realizaban los querys y desde ahí mismo se podían visualizar as tablas de la Base de Datos entre otras cosas.
Los requerimientos para los querys se tomaron de los Casos de Uso como ya se había mencionado. Después de terminar la construcción de cada query se proseguía a incorporarlo al diseño en iReport. Los reportes tenían que tener la capacidad para poder filtrarse por distintos parámetros.
27
A continuación se muestra un ejemplo de query. Query del reporte “Nota de remisión”
SELECT pc.id, pc.Fecha, pc.importe, pc.numeroremision,pc.costoflete costo,
h.ID_perso_FK id_cliente,
ZMT$PKG_VARIOS.FNombreCliente(h.ID_perso_FK) nombre_cliente,
i.id_perso_fk id_patrocinador,
ZMT$PKG_VARIOS.FNombreCliente(i.id_perso_fk) nombre_patro, cen.nombrecentro, dir.calle ||' '||co.nombre ||' '||de.nombre dircentro,
m.montoA, m.montoB, m.totalPiezas, m.pUNtosRegalo,
m.PUNTOSREGALOACUMULADOS, m.montoTotal montoTotal, m.precioCatalogo precioCatalogo, m.precioCatalogo-m.montoTotal totalDescuento, decode (
(SELECT count(1) FROM credito WHERE id_pecli_fk = pc.id),
0, 'CONTADO', 'CREDITO' ) credcont,
DECODE((select tel.numero from per_tel pt, telefono tel where pt.id_per_fk=h.ID_perso_FK
AND tel.id = pt.id_tel_fk AND tel.tipotelenum=0 AND rownum = 1
),NULL,'No tel')TEL FROM pedidocliente pc, cliente i, cliente h, centrodistribucion cen, direccion dir, colonia co, delegacionmunicipio de, (
SELECT D.ID_PECLI_FK ID,
SUM(DECODE(D.TIPOMONTOENUM,0,PRECIO*CANTIDAD,0))MON TOA, SUM(DECODE(D.TIPOMONTOENUM,1,PRECIO*CANTIDAD,0))MON TOB, SUM(PRECIO*CANTIDAD)montototal, SUM(D.CANTIDAD)TOTALPIEZAS, SUM(D.PRECIOCAMP*D.CANTIDAD)PRECIOCATALOGO, SUM(D.PUNTOSGENERADOS)PUNTOSREGALO, C.PUNTOSREGALOACUMULADOS FROM DETALLEPEDIDOCLIENTE D, CAMPANIACLIENTE C, PEDIDOCLIENTE P
WHERE P.ID = D.ID_PECLI_FK
AND D.ID_CAMPA_FK = C.ID_CAMPA_FK AND C.ID_CLIEN_FK = P.ID_CLIEN_FK
29
AND D.ID_PECLI_FK=$P{idPedido}
GROUP BY D.ID_PECLI_FK, C.PUNTOSREGALOACUMULADOS)m WHERE h.id_perso_fk = pc.id_clien_fk
AND h.id_patro_fk = i.id_perso_fk AND pc.id_cedis_fk = cen.id
AND cen.id_dir_fk = dir.id AND dir.id_colon_fk = co.id AND co.id_demun_fk = de.id AND pc.id = M.ID
Fig. 3.3 Entorno de Trabajo de iReport
El entorno de trabajo de iReport funciona de manera muy grafica, y de esta manera se generaban los reportes con diseños bastante complejos y de una forma rápida. En la siguiente figura (fig.3.4) se muestra el lugar donde se insertaba el query después de haberlo construido en SQL Developer.
Fig. 3.4 Ventana donde se insertaban los querys
Desde iReport se hacia la conexión la base de datos para obtener la información de las tablas. En esta etapa se podía realizar una vista previa del reporte, ingresando también los parámetros.
Los reportes además estaban divididos en dos áreas: De proceso y De menú; los de procesos tenían una pantalla específica en la aplicación, mientras que los de menú los cuales eran la mayoría, estos se encontraban en un menú en la aplicación y de ahí se elegiría el que se quisiera consultar.
31
Al elegir algún reporte en el menú anterior (fig.3.5) nos muestra la siguiente ventana (fig.3.6) donde se eligen los parámetros para los reportes.
En las figuras anteriores se muestra el llenado de los datos desde la aplicación para la generación de los reportes, como se puede ver existen distintos filtros que se pueden ingresar a los reportes.
Fig. 3.6 Inserción de filtros para generación de reporte
El resultado de la inserción de los datos es el siguiente (fig.3.7).
3.4 Pruebas de reportes e incidencias
La etapa de pruebas consistió en probar los reportes tanto con datos reales, como desde la aplicación, es decir mandar llamar los reportes desde las pantallas del sistema. En la etapa de construcción se probaron localmente desde iReport.
Fig. 3.8 Pruebas en Ireport
Fig. 3.9 Pruebas en iReport
En estas pruebas se tenía que revisar que los reportes aceptaran todos los filtros desde la aplicación. En esta etapa también se contemplo resolver las incidencias que se fueran presentando mientras ZERMAT hacia sus pruebas.
33
Alguna de las incidencias presentadas fueron: cambios de títulos en los reportes, agregar filtros, entre otros. Se probaron todos los reportes uno a uno con datos reales, de tal manera que quedaran listos al cien por ciento.
La siguiente figura (fig.3.10) es otro ejemplo de reporte.
CAPÍTULO IV
34 4.1 Dificultades
Las mayores dificultades que se presentaron durante el desarrollo del proyecto se puedes enunciar de la siguiente manera:
Manejo del iReport: debido a que no se tenía conocimiento de la herramienta iReport se presentaron dificultades durante el diseño de los reportes que el sistema debía de arrojar.
Elaboración de los Querys: durante el desarrollo de los querys se presentaron dificultades debido a que no se tenía conocimiento del lenguaje Oracle (Lenguaje de Base de Datos).
Se desconocían las reglas del negocio (ZERMAT
INTERNACIONAL) lo que provoco dificultad para la elaboración de los reportes.
4.2 Logros obtenidos
Para cubrir los objetivos del proyecto se desarrollaron alrededor de 70 reportes que eran los que el programa demandaba, se logro tener conocimiento del lenguaje de programación lo que dio como resultado el desarrollo y entrega del proyecto en tiempo y forma.
Después de las pruebas realizadas por Zermat Internacional se atendieron las incidencias que los reportes presentaron y después de resolverlas obtuvimos la aceptación total del cliente.