DESARROLLO DE UN PROYECTO EN ENTORNO HOST

Anuncio
PROYECTO FINAL DE CARRERA
DESARROLLO DE UN PROYECTO
EN ENTORNO HOST
Desarrollado en:
Director del proyecto:
Robert Rallo Moya
Dídac Jiménez Monedero
Ingeniería Técnica Informática de Sistemas
Enero de 2006
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
INDEX
1. LA EMPRESA................................................................................ 4
1.1. Introducción.......................................................................... 4
1.2. Servicios de GETRÒNICS IBERIA.............................................. 6
1.3. Soluciones especializadas de GETRÒNICS IBERIA....................... 8
1.4. Estructura............................................................................ 10
1.5. Localización.......................................................................... 11
1.6. Clientes................................................................................ 12
2. UBICACIÓN EN LA EMPRESA........................................................ 14
2.1. Introducción......................................................................... 14
2.2. Aplicación............................................................................. 14
2.3. Organización......................................................................... 15
2.4. Privacidad de la Información................................................... 17
2.5. El Cliente.............................................................................. 17
3. ENTORNO DE DESARROLLO......................................................... 18
3.1 Introducción al entorno........................................................... 18
3.2 El Sistema Operativo............................................................... 18
3.3 La Programación..................................................................... 20
3.4 La herramienta Case............................................................... 22
3.5 BATCH.................................................................................. 22
3.6 ON-LINE................................................................................ 22
3.7 Bases de Datos...................................................................... 26
4. CICLO DE VIDA DE UN PROYECTO............................................... 27
4.1 Valoración del proyecto........................................................... 27
4.2 Propuesta de Solución............................................................. 27
4.3 Diseño del proyecto................................................................ 28
4.3.1 Diseño de los programas.................................................. 28
4.3.2 Cadenas........................................................................ 30
4.4 Construcción del proyecto........................................................ 31
4.4.1 Includes........................................................................ 31
4.4.2 Programas..................................................................... 31
4.4.3 Cadenas........................................................................ 31
4.5 Pruebas Generales.................................................................. 32
4.6 Implantación de la solución...................................................... 32
2
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4.7 Control calidad....................................................................... 33
4.8 Período Garantía..................................................................... 33
5. PROYECTO................................................................................... 34
5.1 Introducción a Línea Abierta..................................................... 35
5.2 Definición del Problema............................................................ 36
5.3 Requisitos generales….............................................................. 38
5.3.1 Flujo de Pantallas............................................................ 40
5.4 Propuesta de solución.............................................................. 41
5.4.1 Lista de Solicitudes.......................................................... 41
5.4.2 Consulta de Solicitud........................................................ 42
5.4.3 Consulta de Cláusulas 1.................................................... 43
5.4.4 Consulta de Cláusulas 2.................................................... 43
5.4.5 Consulta de Firmas.......................................................... 44
5.4.5 Firmar Solicitud............................................................... 44
5.4.5 Consulta de Acciones....................................................... 45
5.4.5 Anulación de Solicitud...................................................... 45
5.5 Funciones de Negocio Desarrolladas.......................................... 46
5.5.1 Creación de pantallas, estructuras de datos......................... 46
5.5.2 CONSULTA DE CLÁUSULAS (1) DE UNA SOLICITUD...... 47
5.5.2.1 MÓDULO DE ENLACE.............................................. 48
5.5.2.2 MÓDULO DE RECEPCIÓN DE ENLACE........................ 48
5.5.2.3 MÓDULO TRATAMIENTO DE ENTRADA...................... 49
5.5.2.4 MÓDULO TRATAMIENTO DE SALIDA......................... 51
5.5.2.5 MÓDULOS DE APLICACIÓN...................................... 53
5.5.3 CONSULTA DE CLÁUSULAS (2) DE UNA SOLICITUD...... 55
5.5.3.1 MÓDULO DE ENLACE.............................................. 56
5.5.3.2 MÓDULO DE RECEPCIÓN DE ENLACE........................ 56
5.5.3.3 MÓDULO TRATAMIENTO DE ENTRADA...................... 57
5.5.3.4 MÓDULO TRATAMIENTO DE SALIDA......................... 58
5.5.3.5 MÓDULOS DE APLICACIÓN...................................... 59
5.5.4 ANULACION DE UNA SOLICITUD.................................. 60
5.5.4.1 MÓDULO DE ENLACE.............................................. 61
5.5.4.2 MÓDULO DE RECEPCIÓN DE ENLACE........................ 61
5.5.4.3 MÓDULO TRATAMIENTO DE ENTRADA...................... 62
5.5.4.4 MÓDULO TRATAMIENTO DE SALIDA......................... 63
5.5.4.5 MÓDULOS DE APLICACIÓN...................................... 64
3
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
6. IMPLICACIÓN PERSONAL EN EL PROYECTO................................ 65
7. CONCLUSIONES........................................................................... 66
7.1 Conocimientos Aplicados......................................................... 66
7.3 Valoración Personal................................................................ 67
8. AGRADECIMIENTOS.................................................................... 68
4
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
1. EMPRESA: GETRONICS IBERIA
1.1. Introducción a Getronics
Getronics es una compañía con presencia directa en 34 países que tiene su
sede central en Ámsterdam, además de sedes regionales en Boston, Londres,
Washington y Singapur. Cotiza en la bolsa de Ámsterdam (GTN) desde 1985
poseyendo una facturación de 3.000 millones de euros, durante el año 2004, una
plantilla aproximada de 28.000 empleados, más de 1000 empresas en su cartera
de clientes y ocupando el segundo puesto en el ranking europeo de servicios de
gestión en desktop y redes y el tercero en servicios de consultoría e integración de
redes mundiales, Getronics aspira a ser el proveedor líder de soluciones y servicios
TIC para el mundo del comercio electrónico construyendo futuro para sus clientes,
empleados y accionistas. Su misión es la de suministrar soluciones avanzadas y
servicios TIC, independientemente del fabricante y que, a su vez, permitan a sus
clientes, tanto a nivel mundial como local, conseguir e incluso superar sus
objetivos de negocio.
Getronics inició su actividad en España en 1980, ofreciendo servicios de
Infraestructura Tecnológica. Con el fin de desarrollar Soluciones de Negocio y
Consultoría en España y Portugal, en 1998 Getronics adquirió Grupo CP, una de las
de las mayores compañías españolas en el campo de la Consultoría y las
Tecnologías de la Información, dando lugar a una nueva compañía: Getronics
Grupo CP. Más tarde, en 1999, Getronics adquirió Wang Global, la cual había
adquirido anteriormente OLSY, la filial de Servicios y Soluciones de Olivetti, y Wang
Global España pasa a ser Getronics España Solutions. En el año 2000, comienza un
proceso de integración entre Getronics Grupo CP y Getronics España Solutions para
agrupar todas las actividades que desarrollan ambas compañías bajo una sola
dirección y así mejorar su oferta de Soluciones y Servicios. En Enero de 2001 nace
Getronics Iberia, como resultado de la total integración de Getronics Grupo CP y
Getronics España Solutions, convirtiéndose en una marca global, una compañía
global y la oferta más completa del mercado con 30 años de probada experiencia.
5
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
Getronics Iberia, por tanto, constituye la representación de Getronics en la
Península Ibérica, cuenta con 19 oficinas en España y una en Portugal, cubriendo la
totalidad del nacional, una característica esencial para ofrecer sus servicios de
Gestión y Mantenimiento de redes y equipamientos TIC.
Getronics Iberia es una de las principales subsidiarias del Grupo Getronics en el
mundo, gracias a su amplia presencia local y a su sólida práctica de Soluciones de
Negocio y Consultoría. Getronics Iberia tiene una facturación de 271 millones de
euros, de los que el 64% provienen del sector Financiero, el 19% del Sector de
Industria y el 17% restante del sector Público y Sanidad, y que representa cerca
del 7% de la facturación total del grupo. Getronics Iberia cuenta con más de 3.700
profesionales, los responsables desarrollar e implementar los servicios y soluciones
de la compañía. Por otra parte, Getronics Iberia posee 175 certificaciones en Cisco,
Microsoft, Novell y SUN, entre otros fabricantes.
6
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
1.2. Soluciones y Servicios de Getronics Iberia
Getronics ofrece una amplia gama de soluciones y servicios a sus clientes. Sus
capacidades se dividen en dos áreas complementarias, dando lugar a una oferta
única en el mercado por lo amplio de su cobertura y lo profundo de su
especialización:
ƒ Soluciones de negocios y consultoría: Donde Getronics proporciona
servicios de consultoría, diseño, integración y gestión para optimizar
procesos y alcanzar los objetivos de negocio de sus clientes.
ƒ Soluciones de infraestructuras TIC: Donde Getronics ofrece servicios de
consultoría, diseño, integración, suministro y gestión avanzada de redes y
sistemas. Esta oferta de Getronics se integra en la marca Networkplace, la
cual engloba 19 servicios integrados.
A continuación, detallamos los servicios más importantes que ofrece Getronics
Iberia:
ƒ Consultoría de Gestión:
-
Organización.
-
Gestión de Cambio.
-
Gestión de Negocio.
-
Gestión Comercial y de Marketing Calidad.
ƒ Soluciones especializadas:
-
Banca: Medios de Pago, Control de Gestión, Riesgos.
-
Seguros: Plataforma Integral.
-
Industria, Comercio y Servicios: Gestión, Operaciones, Econ.Financieros y Presupuestarios.
-
Tecnologías avanzadas: Datawarehouse.
7
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
ƒ Consultoría Tecnológica:
-
Diagnósticos y Auditorias.
-
Seguridad Informática.
-
Planes de Sistemas.
-
Organización Informática.
ƒ Sistemas Informáticos:
-
Dirección de Proyectos
-
Desarrollo de Aplicaciones.
-
Conversión de Sistemas.
-
Implantación de Sistemas.
ƒ Servicios Informáticos:
-
Prestaciones Profesionales.
-
Mantenimiento de Aplicaciones.
-
Software Factory.
-
Teleworking.
-
Gestión de Redes.
-
Outsourcing Operativo.
ƒ Servicios de Soporte:
-
Formación Informática.
-
RR.HH.
-
Implantación de Productos.
8
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
1.3. Soluciones Especializadas
Getronics Iberia, además ofrece una serie de soluciones en las que está
especializada, con el objetivo de tener una producción de servicios con una
contrastable mejora de calidad y una reducción de costes de desarrollo. Soluciones
orientadas
al
cliente,
entre
las
que
destacan
el
Outsourcing,
el
CRM,
DataWarehouse, ERP, Workflow, E-Bussines, etc.
A continuación detallaremos las soluciones más importantes subdivididas por
sectores:
ƒ Sector Financiero:
-
Medios de Pago Electrónicos.
-
Banca de Electrónica.
-
Centro de Atención a Clientes.
-
CRM y DataWarehouse.
-
Gestión de Riesgo.
-
Sistemas de Gestión de Información.
-
Seguros.
-
Sistema de Gestión Integral.
-
Aplicaciones Financieras Integradas.
ƒ Sector Industria:
-
Implantación de Servicios para Sistemas Integrados (ERP).
-
E-Commerce.
-
Gestión Integral de Sistemas.
-
Soporte de la Explotación.
-
Gestión de Recursos Humanos.
-
Implantación de Sistemas de Calidad.
-
Software Factory.
-
Implantación de Sistemas a medida.
9
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
ƒ Sector Público y Sanidad:
-
Sistemas de Gestión de Información.
-
Implantación de Sistemas de Información Hospitalarios.
-
Sistemas de Información para los Servicios Centrales del Sistema
Nacional de Salud.
-
Metodologías y Herramientas para los Procesos de Reingeniería.
10
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
1.4. Estructura
ESTRUCTURA GENERAL DE GETRONICS IBERIA
Presidente
EMEA
MS BS ESI NI
VPE & CEO
Dirección C.F.O
Económico Financiero
Desarrollo Corporativo
Dirección Medios
E Infraestructura
Dirección
Técnica
R.R.H.H.
Formació
Inform.
Interna
Zona
Centro
FES
MARCO
H
Servicios
Generales
Zona
Zona
Zona
Dirección
Adjunta
Tempiber
México
Portugal
Centro Norte Nordeste
IES
EL Financiero
Clientes
EL Seguros
Proyectos
EL Industria
Latino
EL Sanidad
Americanos
Infraestructura Técnica
Dentro de la zona Nordeste, mi puesto geográfico se haya en la oficina de Tarragona. Mí
puesto en la jerarquía funcional de la empresa esta en el Área de Infraestructura dentro del
Sector Banca:
GETRONICS IBERIA (ZONA NORDESTE)
SECTOR
FINANCIERO
ÀREA
INFRAESTRUCTURA
SECTOR BANCA
ÀREA MEDIOS DE
PAGO
SECTOR
INDUSTRIA
ÀREA SERV.
BANCARIOS
Dídac Jiménez
11
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
1.5. Localización
Getronics Iberia tiene su sede central en Madrid y posee un total de 19 oficinas
repartidas por toda la Península Ibérica:
ALMERIA
BARCELONA
BILBAO
CASTELLÓN
CIUDAD
REAL
GIRONA
ISLAS
BALEARES
LAS PALMAS
LLEIDA
LISBOA
MADRID
PAMPLONA
STA. CRUZ
DE TENERIFE
SAN
SEBASTIÁN
SANTANDER
SEVILLA
TARRAGON
VALENCIA
ZARAGOZA
Además está presente en Latinoamérica:
ƒ México (México DF y Monterrey)
Y con proyectos en desarrollo en:
ƒ Puerto Rico
ƒ Argentina
ƒ Bolivia
ƒ Brasil
ƒ Chile
ƒ Colombia
ƒ Paraguay
ƒ Perú
ƒ Uruguay
ƒ Venezuela
12
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
1.6. Clientes
La cartera de clientes de Getronics asciende a más de 1000 compañías. La
mayoría de ellas colaboran con Getronics desde hace tiempo, con una media de
fidelización que asciende a 10,5 años, y que una vez finalizada la creación de
Getronics Iberia, los clientes que Getronics poseía en la Península Ibérica pasaron a
formar parte de la subsidiaria española. Entre ellas se encuentran importantes
multinacionales y organismos de las administraciones públicas.
Entre los clientes de Getronics Iberia en España podemos destacar:
ƒ
ƒ
ƒ
Entidades Aseguradoras:
-
ALLIANZ-RAS
-
MAPFRE
-
OCASO
-
RACC
-
SANTA LUCÍA
-
WINTERTHUR
-
ZURICH
Entidades Financieras:
-
BBVA
-
BANCO DE ESPAÑA
-
BANC SABADELL
-
BANESTO
-
BANKINTER
-
DEUTSCHE BANK
-
CAIXA D’ESTALVIS I PENSIONS DE BARCELONA “la Caixa’
-
CAIXA TARRAGONA
-
CAJA MADRID
Industria, Comercio y Servicios:
-
AIRTEL
-
DANONE
-
DERBI
-
EL CORTE INGLÉS
-
ENDESA (Grupo)
-
IBERIA
13
Proyecto Final de Carrera - 2006
ƒ
ƒ
-
MICHELIN
-
REPSOL-YPF
-
SEUR
-
SOGECABLE
-
SONY
-
TABACALERA
-
TELEFÓNICA
Ingeniería Técnica en Informática de Sistemas
Sector público y sanidad:
-
AGENCIA ESTATAL DE ADM. TRIBUTARIA
-
AYUNTAMIENTO DE BARCELONA
-
CENTRO DE GESTIÓN Y COOPERACIÓN TRIBUTARIA
-
CENTRO NACIONAL DE METEOROLOGÍA
-
GENERALITAT DE CATALUNYA
-
INSALUD
-
INSTITUT D’ESTUDIS CATALANS
-
INSTITUTO OCEANOGRÁFICO
-
HOSPITAL VALL D’HEBRON
-
Mº ECONOMÍA Y HACIENDA
-
SERVEI CATALÀ DE LA SALUT
Otros clientes de Getronics en el panorama internacional:
-
BANK OF NEW YORK
-
BRITISH TELECOM
-
DEUTSCHE BANK
-
EUROPEAN COMISSION
-
FEDERAL EXPRESS
-
FIAT
-
FORD EUROPE
-
ITALIAN POLICE AUTHORITIES
-
NASA
-
NIKE
-
PHILIPS
-
SHELL
-
VOLKSWAGEN
14
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
2. UBICACIÓN EN LA EMPRESA
2.1 Introducción:
Como ya he explicado anteriormente, la empresa esta dividida en diferentes
sectores, desde el punto de vista del área de negocio. Pues bien, yo pertenezco al
sector Banca. En este sector nos dedicamos principalmente a suministrar
soluciones y servicios a las diferentes entidades financieras para las cuales
trabajamos.
En la empresa, dentro de este sector, hay diferentes grupos de trabajo o
aplicaciones (que es como se conocen estos grupos dentro de la empresa). El
sistema de información de “La entidad financiera” se divide en estas aplicaciones.
Cada aplicación se encarga de gestionar una parte concreta del sistema informático
del cliente y tiene unas funciones muy concretas dentro de la entidad. Por ejemplo:
Ahorro es la aplicación que se encarga de todas las gestiones de las cuentas de
ahorro de los clientes de la entidad financiera, la aplicación de Clientes de Línea
Abierta es la que se encarga de las soluciones para los servicios de la banca
electrónica y de Clientes de Internet...
Yo pertenezco a la aplicación de CLO (Clients de Linia Oberta).
2.2 Aplicación CLO:
CLO se encarga de gestionar y mantener todo el software para que nuestro
cliente disponga de la operativa necesaria para trabajar con los Clientes a través
de la Banca Electrónica. Es decir, se encarga de dotar del software necesario a la
entidad financiera para gestionar todos los servicios que se le pueden ofrecer a sus
clientes a través de lo que se llama Banca Electrónica, por ejemplo, Internet,
móviles, Banca telefónica, etc... Esta operativa se conoce como Línea Abierta.
Tarragona es una de las oficinas que cuenta con más trabajadores dedicándose a
esta aplicación, ya que actualmente hay muchos proyectos importantes que se
tienen que realizar en un plazo de tiempo relativamente corto. Sus trabajadores
también se reparten por Barcelona y Castellón.
15
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
2.3 Organización de la Aplicación:
La aplicación está gestionada por un Gerente que únicamente gestiona esta
aplicación porque es lo suficientemente extensa. En otras aplicaciones comparten
gerente, pero este no es el caso. La figura del gerente está por encima de la
aplicación, y es el encargado de la comunicación con el cliente a nivel comercial y,
por otro lado, se encarga de gestionar los recursos de la aplicación dentro de la
propia empresa.
Entrando ya en lo que sería la aplicación propiamente dicha, encontramos la
figura del Jefe de Proyecto. Esta persona se encarga de gestionar y organizar los
recursos de la aplicación en términos de carga de trabajo y producción. Además
también se encarga de la comunicación con el cliente para definir el análisis y los
requisitos para llevar a cabo el proyecto. En el caso que haya un proyecto muy
grande, también se encarga de dirigirlo y gestionarlo.
Justo por debajo del jefe de proyecto, tenemos la figura del Analista Funcional,
que podríamos decir que es la mano derecha del jefe de proyecto. Realiza
funciones parecidas a las del jefe de proyecto, pero tiene funciones menos
comerciales con el cliente. Ayuda en la gestión interna de la aplicación.
A partir de aquí tendríamos ya los Analistas Programadores. Quienes se
encargan de realizar el análisis y el diseño, una vez el cliente ha pedido una
solución o una nueva propuesta.
Por último tenemos a los Programadores Senior y los Programadores Junior. En
principio, no hay una diferencia substancial del tipo de tareas que desempeñan,
pero los programadores seniors tienen más experiencia, y por lo tanto hay
diferencia en cuanto a calidad de trabajo y tiempo invertido. Lo natural, si todo se
desarrolla correctamente es que después del primer año se pase de Programador
Junior a Programador Senior.
En el momento de realizar el proyecto, la aplicación estaba compuesta por un
jefe
de
proyecto,
4
analistas
funcionales,
4
analistas
programadores,
7
programadores seniors y 4 programadores juniors.
16
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
En el siguiente esquema se muestra la estructura jerárquica de la aplicación:
Gerente
Comunicación con el cliente
(a nivel comercial)
Jefe de proyecto
Comunicación con el cliente
(a nivel comercial y técnico)
Analista
Funcional
Comunicación con el cliente
(a nivel técnico)
Analista
Programador
Programadores
APLICACIÓN
En el momento de realizar el proyecto mi categoría era de Programador Junior.
Actualmente, como todavía no tengo un año de experiencia sigo con la misma
categoría, pero espero ascender pronto.
17
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
2.4 Privacidad de Información
Como trabajador de Getronics existe un compromiso contractual, con la
empresa y con sus clientes de preservar la privacidad de los datos de estos. Por
dicha razón en este documento no pueden aparecer datos concretos del cliente (su
nombre, datos de sus clientes, etc.) ni información concreta sobre el diseño o la
implementación del proyecto (datos del análisis, código fuente, volcados de
pantallas, etc.). La información aquí contenida sólo pretende ser una breve
aproximación al problema y dar una ligera idea del tipo de trabajo a realizar.
2.5 El Cliente
El cliente del proyecto es una importante entidad financiera del país, que a
partir de ahora llamaremos “Entidad E”. Es uno de los clientes más importantes de
Getronics Iberia, con más de setecientas personas de la plantilla trabajando para
él. Esta entidad tiene personal propio para el desarrollo de proyectos informáticos
pero gran parte del trabajo lo exterioriza, subcontratando otras empresas de
desarrollo como Getronics Iberia.
Mi posición dentro de la empresa, como programador dentro del sector de
banca y de servicios bancarios, se sitúa entre esas setecientas personas trabajando
para “Entidad E”.
18
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
3. ENTORNO DE DESARROLLO (ENTORNO HOST)
3.1 Introducción al Entorno:
Los proyectos se desarrollan en un entorno Host. Este entorno consiste en un
sistema operativo MVS, con una serie de herramientas que facilitan su uso, el
desarrollo, el mantenimiento y el funcionamiento de los diversos programas. La
programación se realiza en el lenguaje PL/I y existen dos tipos de Bases de Datos:
DB2 (relacional) y DL/I (jerárquica).
3.2 El Sistema Operativo:
Para poder trabajar con el sistema operativo existen varias herramientas que
facilitan el uso de éste.
TSO (Time Sharing Option): Permite el acceso al sistema de múltiples
usuarios al mismo tiempo.
ISPPF (Interactive System Productivity Facility): Conocer la utilización del
TSO es bastante complejo, por eso existe este programa, que se ejecuta bajo el
control del TSO y que permite a través de menús, la ejecución de forma sencilla de
múltiples funciones o aplicaciones:
- Editor para la creación de programas fuente
- Acceso a las Bases de Datos DB2 de forma interactiva
- Acceso sencillo a los programas de utilidad tales como gestión y
mantenimiento de ficheros, compiladores, gestión de colas de ejecución de
jobs, etc.
IMS: Es el entorno sobre el cual funcionan todos los procesos interactivos o
On-Line.
19
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
JCL (Job Control Language): es un lenguaje para describir tareas al sistema
operativo. Al JCL se le especifican los datos de entrada (ficheros) que han de ser
accedidas, los datos de salida que han de ser creadas o modificadas, que recursos
necesitará el job o tarea y los programas que se ejecutaran utilizando los datos
anteriores. El job esta dividido en pasos. Cada programa que ejecuta un job tiene
un número de paso asociado, y este será el orden de ejecución de los programas.
20
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
3.3 La Programación:
El lenguaje de programación usado es el PL/I. Este lenguaje no presenta
ninguna dificultad especial.
Me gustaría destacar que existen unas normas de programación bastante
estrictas, que se deben seguir al pie de la letra. Estas normas vienen dadas por la
filosofía de la empresa, y es normal si sabemos que el mantenimiento del
programa de desarrollemos, muy probablemente no lo haremos nosotros.
Existen unas herramientas que calculan la calidad estática de un código fuente
(no controla lo que pueda pasar en tiempo de ejecución por ejemplo). Siempre es
preferible un programa claro con comentarios, que no un programa brillante pero
incomprensible. Evidentemente siempre se tiene que buscar un punto intermedio
en esta afirmación.
Además, al ser la mayoría de aplicaciones del cliente muy críticas, existen
turnos de guardia nocturnos en los que una persona debe permanecer localizable
para resolver posibles incidencias y en estos casos es muy molesto recibir un aviso
a media noche y encontrarse con un código incomprensible.
Otro factor muy importante en el desarrollo de software, es la reutilización de
código. Existe una amplia biblioteca de código reutilizable (macros) y de
herramientas para consultarlo, con las funciones más utilizadas. En la fase de
programación se usan muchas macros y se llaman muchos módulos ya
programados que implementan funcionalidades varias como pueden ser escribir la
cabecera del programa en la salida del batch, tratar ficheros, acceder a bases de
datos, calcular fechas, validar números de tarjetas de crédito, etc.
También se reutilizan los mensajes de error que dan los programas a los
usuarios. Hay una base de datos con todos los mensajes de error usados hasta el
momento y que sirven para la mayoría de casos con los que uno se pueda
encontrar al programar. Hay una lista de errores estándar y una lista específica
para cada aplicación diferente.
21
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
Existen dos entornos donde convive el software creado:
ƒ
Entorno de desarrollo (o “pruebas”): Es donde se crea y se prueba el
software. Existe toda una Base de Datos de pruebas que es con la que
trabajamos identica a la que existe en el entorno de público pero con un
menor volumen de datos.
ƒ
Entorno de explotación (o “público”): Cuando una aplicación ha sido
programada y probada intensivamente, asegurando que no hay fallos, se
“sube a público” y entonces es usada por el cliente.
La particularidad radica en que cada entorno tiene un código, datos propios,
distintas CPU’s y en el entorno de explotación se limita el acceso a un número
determinado de usuarios para evitar una sobreexplotación de los recursos del
sistema que el cliente necesita para operar.
22
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
3.4 La Herramienta CASE:
La entidad financiera posee una herramienta CASE a medida llamada MAESTRO,
que centraliza todo el inventario y diseño de los programas, includes, tablas DB2,
formatos de pantalla, etc.
Cada vez que se quiere desarrollar algún componente, se debe definir primero
en MAESTRO, y es esta herramienta la que informa al diccionario HOST de la
creación.
A parte esta herramienta es capaz de generar parte del código (el esqueleto del
programa). Esto es especialmente útil para los formatos de pantalla y para
enlazarlos con las transacciones asociadas a ellos. También se especifica el flow de
ejecución a seguir en las transacciones. En los puntos siguientes se explican los
conceptos de formatos de pantalla y todos los conceptos relacionados con
transacciones.
3.5 Batch:
Todos los programas que se encargan de crear, borrar o modificar ficheros
(realizar copias de seguridad, fusión entre ficheros para crear ficheros mensuales,
etc.) y en los cuales no existen procesos interactivos, son conocidos como
programas Batch. Este tipo de programas los definimos mediante cadenas del
lenguaje JCL.
Estas cadenas pueden ser diarias, mensuales, anuales (si se ejecutan cada día,
cada mes o cada año) o bien variables (nosotros planificamos su ejecución a
conveniencia).
3.6 On-Line:
La programación de aplicaciones On-Line se diferencia claramente de la
programación Batch por tener una estructura especial y por utilizar una serie de
macros que engloba un paquete de software especial y diseñado por el propio
cliente.
23
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
A continuación se intentan explicar una serie de conceptos que forman parte del
On-Line:
-Transacción: es una operación On-Line. Esta operación On-Line, consta de un
módulo de tratamiento de entrada, uno o varios módulos de aplicación, un módulo
de tratamiento de salida y uno o varios formatos de pantallas. Dependiendo de los
datos de entrada que recibe el módulo de entrada, se ejecutaran unos módulos de
aplicación ó otros. La entrada de la transacción puede venir dada por los datos
introducidos en una pantalla, y el resultado del módulo de salida puede insertarse
en una pantalla con los datos.
-Formato de pantalla: sirven de interfície con el usuario para la entrada y
salida de datos. Se componen de una cabecera estándar y una serie de campos de
datos de entrada o de salida. La estructura de datos con estos campos que viaja de
la pantalla al programa se llama MID, y la estructura que viaja del programa a la
pantalla con los campos que la llenaran se llama MOD.
La parte del sistema operativo encargada de gestionar esta entrada y salida de
pantalla se llama FrontEnd.
-Módulo de entrada o PostFrontend: gestiona y valida los datos de entrada
de la transacción, ya sean datos que vienen de la pantalla o bien sean datos de
otra transacción. También prepara la ejecución de los módulos de aplicación.
-Módulos de aplicación: son los que realizan los cálculos y las operaciones
que corresponda hacer.
-Módulo de salida o PreFrontend: a partir de los resultados de los módulos
de aplicación, monta y presenta la pantalla de respuesta al usuario.
-Función de Negocio: Normalmente, dentro de una transacción bajo el control
del STO, los enlaces con otras aplicaciones se hacen a través de módulos utilizando
solo funciones aisladas. La función de Negocio permite enlazar con "paquetes
globales", es decir, enlazar con un grupo de funciones de una aplicación y una vez
ejecutadas retornar al punto de enlace. El enlace se puede hacer a través de una
transacción o bien a través de un insert de pantalla.
24
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
-PSB: es un componente que define todas las Bases de Datos a las cuales
accederá la transacción.
-Programa director: este programa es el que compone todos los componentes
anteriores.
-Conversa: es una estructura de datos que se usa para ir guardando los
campos de las pantallas a medida que se va “navegando” por ellas. En condiciones
normales, el hecho de retroceder en la navegación significa tener que volver a
generar la salida de las pantallas anteriores, con la pérdida de tiempo que conlleva.
En cambio, con la “conversa”, que tiene una estructura de pila, cada vez que se
pasa a otra pantalla se apilan los datos de la pantalla anterior de manera que al
retroceder en la navegación sólo hay que ir desapilando de la “conversa” los datos
de las pantallas anteriores (lo que se denomina “conversa” de las pantallas
anteriores). Además de los campos de la pantalla (el “MOD”), se guardan otros
datos que no son visibles y que sirven para traspasar información de una pantalla a
otra.
Así, cuando el módulo de salida llena los campos de una pantalla (“MOD”)
también rellena la “conversa” de esa pantalla, lo que se llama grabar conversa. Y
el módulo de entrada, cuando recibe los datos de la pantalla (“MID”), también
lee los datos de su “conversa”, o sea, recupera conversa. El on-line que usa la
“conversa” se denomina on-line conversacional.
25
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
- Esquema típico de una transacción: Los datos introducidos en la pantalla A
son validados por el módulo de entrada, el cual prepara la ejecución de los módulos
de aplicación. Estos últimos se pueden ejecutar varias veces. Cuando se acaba la
operación se ejecuta el módulo de salida, el cual llenara los datos de la pantalla B.
26
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
3.7 Bases de Datos:
Se trabaja con dos tipos de Bases de Datos: DB2 (relacional) y DL/I
(jerárquica).
El sistema más común que se utiliza es el DB2 que permite SQL y tiene un
funcionamiento sencillo. Pero por cuestiones de rendimiento no esta totalmente
implementada, con lo cual su eficiencia con una cantidad de datos como con la que
tratamos a veces no cumple los requisitos mínimos. Hace unos años DB2 se usaba
únicamente en los casos en que el volumen de datos no era excesivamente grande,
pero en la actualidad, su utilización va creciendo a medida que se optimiza el
motor de esta Base de Datos.
La otra Base de Datos el DL/I. Es un sistema jerárquico bastante antiguo, que
agrupa los datos en forma de árbol. Cada nodo de este árbol tiene una estructura
de datos concreta y se llama segmento. La principal ventaja que tiene el DL/I es
que lleva utilizándose desde hace mucho tiempo, y que es fiable robusto y
eficiente.
27
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4. CICLO DE VIDA DE UN PROYECTO DE LA APLICACIÓN
•
Valoración del proyecto
•
Generar el documento Propuesta de Solución
•
Generar la documentación del diseño del proyecto:
•
o
Documento de las Includes (diseño de las includes)
o
Cuadernos de Carga (diseño de los programas)
o
Cadenas
Construcción del proyecto:
o
Includes
o
Programas (incluye pruebas unitarias)
o
Cadenas
•
Pruebas Generales
•
Implantación de la solución
•
Control calidad
•
Período Garantía
4.1. Valoración de un Proyecto:
Se trata de elaborar un documento donde se calcula el coste de desarrollo de
todo el proyecto desde el primer documento de propuesta de solución hasta la
puesta en marcha y el período de garantía (o de depuración de errores).
Se pone el total de las horas y a parte se desglosan cada apartado del ciclo de
vida al detalle indicando el número de programas, includes, cadenas, tablas que se
tienen que hacer y las horas previstas para diseñarlos y construirlos.
4.2. Propuesta de Solución:
Una vez el analista se ha entrevistado con el cliente de “la entidad financiera”,
reúne toda la información del proyecto que se tiene que realizar y lo plasma sobre
este documento.
28
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4.3. Diseño:
Cuando el analista reúne toda la información necesaria, se procede a diseñar
las includes, las tablas (en el caso que sea necesario), los programas que nos
harán falta, las cadenas que se tendrán que crear, los nuevos ficheros, etc...
4.3.1. - Diseño de programas. Cuaderno de carga
Para diseñar un programa, se elabora un documento que se llama Cuaderno de
carga el cual le servirá al programador para construir el programa. No se utiliza
ningún tipo de lenguaje de programación, todo está en pseudocódigo. El
documento está formado por diferentes partes:
•
Funcionalidad: Describimos de forma breve para expresar las ideas básicas
de lo que se quiere que haga el programa.
•
Recursos
o
Ficheros, Bases de Datos: Detallamos todos los ficheros de entrada y
salida (nombres lógicos y las includes a las que estarán asociados) y
si hace falta también se tiene que definir si utilizamos alguna Base
de Datos de DB2 (include de la tabla) o IMS (puntero a la Base de
Datos DLI).
o
Includes: Si se requiere poner alguna include a parte de las del
formateo de los ficheros, como por ejemplo alguna llamada a algún
módulo que tenga los parámetros definidos en una include, se
pondría aquí.
o
Módulos: Tenemos 3 tipos de módulos:
ƒ
M. estandards: Son módulos totalmente genéricos que ofrece
el entorno de “la entidad E” que sirven para facilitar tareas
rutinarias y laboriosas, como por ejemplo: conversión de
fechas (diferentes formatos, comparaciones), llamadas a las
tablas de ayuda.
29
Proyecto Final de Carrera - 2006
ƒ
Ingeniería Técnica en Informática de Sistemas
M. propia aplicación: Si tenemos la necesidad de hacer una
misma tarea en diversos programas, se puede crear un
módulo de nuestra aplicación y llamarlo desde todos los
programas que lo necesiten.
ƒ
M. de otras aplicaciones: Cada aplicación tiene sus módulos
más o menos genéricos, pues bien, si tenemos la necesidad
de hacer una tarea de la que se suele encargar otra
aplicación, no se diseña un módulo nuevo, sino que se puede
utilizar el módulo de esa aplicación.
•
Lógica
o
Temas generales: En este apartado se hace una descripción de lo
que hará el procedimiento principal. Sin utilizar ningún lenguaje de
programación ni algoritmos.
o
Procedimiento principal: Utilizaremos el lenguaje de algoritmos para
diseñar el procedimiento principal que debe ser breve y muy claro
(alto nivel).
o
Procedimientos secundarios: A partir del procedimiento principal
vamos descendiendo y diseñando los procedimientos secundarios o
llamados por el procedimiento principal. Tenemos que llegar hasta el
último nivel que se necesite (a ser posible evitar procedimientos
largos
y
potenciar
la
reutilización
y
parametrización
de
los
procedimientos para que sean lo más genéricos posible). Se utilizará,
igual
que
en
el
apartado
anterior,
lenguaje
de
algoritmos
(pseudocódigo) y se obviarán las declaraciones de variables al igual
que las conversiones de asignaciones de tipos de datos diferentes
(creando variables temporales) que será tarea del programador.
•
Pruebas Unitarias: en este apartados se describirá lo que se tiene que
probar, aunque el programador se encargará de hacer el documento del
Juego de Pruebas en el cual se prueban todas las condiciones del programa.
30
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4.3.2.- Diseño de Cadenas:
Entonces se tiene que diseñar el número de cadenas que se necesitarán para
ejecutar los nuevos programas, si estas cadenas tendrán alguna dependencia de
otras ya existentes o de alguna de las nuevas, etc.…
31
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4.4. Construcción de Elementos del Proyecto:
4.4.1.- Construcción de Includes:
Para crear las includes, se puede hacer directamente editando la nueva include
en el HOST, o bien se puede utilizar una herramienta interna de “la entidad E”,
llamada MAESTRO, que te permite crear una include y enviarla, posteriormente al
HOST. Antes de la construcción, en el proceso de diseño, se habrá definido el
número de includes necesarias, así como los campos y los formatos de los campos
que la forman.
4.4.2.- Construcción de Programas y Módulos:
En el momento que el programador recibe el cuaderno de carga y se dispone a
empezar el programa, se tiene que leer y debe tener bien claro el funcionamiento y
los objetivos del programa para su total autonomía al desarrollar el mismo. La
programación debe tener una cierta calidad y estandarización (el cliente exige que
se usen unos estándares propios). Existen métodos de calidad para evitar crear
variables superfluas, programación incomprensible, utilización de instrucciones que
tienen un alto consumo de recursos y el programador debe conocerlos. El
programa ha de plasmar lo que pide el cuaderno de carga. Si el programa no
realiza lo que se esperaba de el, se tiene que mirar de arreglar el cuaderno de
carga y arreglarlo. Cuando el programa está listo y compilado sin errores, forma
parte de esta misma tarea hacer las pruebas unitarias. Se tiene que elaborar el
documento del Juego de Pruebas para asegurar el correcto funcionamiento del
programa a nivel unitario.
4.4.3.- Construcción de Cadenas (JOBS):
Utilizaremos el lenguaje de JCL del Host para construir las cadenas gracias a los
documentos hechos con FlowChart. La cadena tiene que estar probada en el
entorno de pruebas con ficheros reducidos o creados por el usuario (ficheros de
prueba). Normalmente, no tenemos cadenas demasiado largas ya que se intenta
separar cada cadena a nivel funcional.
32
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4.5. Pruebas Generales:
Las pruebas generales o integradas sirven para simular una puesta en marcha
del proyecto. En entorno de pruebas se ejecutan todas las cadenas tal y como se
haría automáticamente en el entorno real y se acaban de depurar algunos posibles
errores que pueda haber. En el momento en que estas pruebas son correctas y
revisadas por el analista ya se puede preparar el alta del proyecto.
4.6. Implantación de la Solución:
En el momento que las pruebas ya están realizadas y son correctas, se procede
a desarrollar un pequeño documento conocido como Inventario, que recoge todos
los componentes del proyecto (includes, programas, cadenas y todos los
componentes que hayamos creado) para no olvidarnos nada en el proceso de alta
del proyecto (puesta en marcha). Gracias a la herramienta de Host, Changeman
podemos pasar todo el proyecto del entorno de pruebas al entorno real (también
conocido como público). Se debe tener un cuidado especial al traspasar las cadenas
porqué se tienen que definir las dependencias entre ellas. Las dependencias entre
las cadenas definen el orden de prioridad de ejecución y evitar que todas las
cadenas se ejecuten a la vez y tengan un orden determinado. Una vez traspasado
todo el proyecto tenemos que esperar al día siguiente para que las nuevas cadenas
que hemos dado de alta entren en funcionamiento. A través de la herramienta
Planificador de Host podremos hacer una monitorización de las cadenas para ver
las ejecuciones y ver que todo funciona correctamente.
Cuando se hayan realizado unas cuantas ejecuciones, el analista procede a
hacer la revisión de la información de salida del proyecto comprobando que todo
sea correcto y que obtenemos los resultados esperados del proyecto.
33
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
4.7. Control de Calidad:
En todo proyecto debe haber un control calidad en todos los aspectos. El
analista es el encargado de llevar a cabo esta tarea. Lo que se hace concretamente
es observar las estadísticas del proyecto, es decir, asegurarnos que no tenemos
ejecuciones excesivamente largas por haber hecho algún proceso innecesario, la
calidad de la información generada por los nuevos programas. Básicamente, se
trata de comprobar que el proyecto ya tiene la autonomía suficiente para
ejecutarse automáticamente.
4.8 Periodo de Garantía:
A pesar de que el proyecto ya funciona automáticamente, siempre se deja un
periodo de garantía por cualquier incidencia que pueda ocurrir. Todo entra en el
periodo de garantía, menos las modificaciones que no se hubiesen acordado, que
entonces se tendrían que añadir en otros proyectos pequeños de evolutivos
(mejora de un proyecto).
34
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5. PROYECTO: “MULTIFIRMA”
5.1 Introducción a Línea Abierta
Antes de empezar a explicar el contenido del proyecto en si, me gustaría situar
todo lo que sería en entorno conceptual del mismo. En los siguientes párrafos
intento introducir lo que es la Línea Abierta para que se comprenda bien.
Para empezar, un cliente de la “entidad E” puede darse de alta con un contrato
de Línea Abierta y cada contrato a su vez puede tener diferentes usuarios. Cada
uno de estos usuarios mantiene un perfil y unas características propias a pesar de
pertenecer a un mismo contrato. Puede ser que un usuario de un contrato quiera
adquirir unos productos totalmente distintos a otro usuario del mismo contrato
(esto suele pasar).
Para cada usuario existen una serie de productos que se pueden contratar como
por ejemplo las cuentas de ahorro, las tarjetas, etc. Estos usuarios de Línea Abierta
pueden tener activados unos servicios, llamados canales, que sirven para realizar
operaciones a través de diversas formas. Estos canales son:
-
Web (Internet)
-
Windows (PC)
-
Línea Abierta SMS
-
WAP (Internet Móvil)
-
Banca Telefónica
-
Televisión Digital
Normalmente tener el servicio de estos canales no es gratuito, excepto de canal
Web que es un servicio que suele ofrecer la “entidad E” a sus clientes de manera
gratuita. A través de estos canales el usuario puede realizar una serie de
operaciones bancarias tales como consultas de saldo y últimos movimientos,
transferencias, realizar pagos automáticos, obtener ayuda acerca de algún tema
relacionado, etc.
35
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
Por ejemplo, un usuario de Línea Abierta que tenga activado en su perfil el canal
de Línea Abierta SMS, podrá realizar las operaciones que antes comentaba a través
de mensajes SMS desde su propio móvil.
Estos usuarios, pueden tener activadas adicionalmente una serie de operativas
especiales. La operativa de Multifirma, operativa en que está basado este proyecto,
se encuentra dentro de este grupo de funcionalidades en concreto.
36
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.2. Definición del Problema:
El proyecto consiste en construir toda una operativa que dote al cliente, la
“entidad E”, de las transacciones y pantallas necesarias para poder gestionar todas
las operaciones que requieren Multifirma.
Ya existía una pequeña operativa que gestionaba parte de la Multifirma pero
este nuevo proyecto aplica mejoras de usabilidad, adaptándola a la terminología de
la red de oficinas de la entidad financiera e incluyendo las nuevas funcionalidades
que requería el proyecto.
Para conseguir esta operativa se necesitaba la creación de una serie de
Transacciones (en este caso Funciones de Negocio) con sus respectivas pantallas,
que le permitieran al terminalista hacer las consultas y acciones pertinentes para
tratar las operaciones con Multifirma.
Para entender bien todo lo relacionado con la Multifirma hay que explicar varios
conceptos básicos de ella:
Cuentas de Ahorro Multifirma: son aquellos productos que un usuario de
Línea Abierta puede contratar. Estas cuentas tienen la particularidad que para las
operaciones necesitan la firma de varias personas relacionadas a estas cuentas.
Estas cuentas de ahorro se mantienen en una tabla DB2.
Cláusulas Multifirma: son las condiciones que se necesitan cumplir para que
se firme una solicitud. Por ejemplo, para que se firme una solicitud_X, como
mínimo la tienen que firmar 3 personas. Hasta que tres personas que están dentro
de la cláusula no han firmado, la solicitud no se firma y por tanto no se ejecuta la
operación determinada.
Las cláusulas se mantienen en una tabla dónde cada fila representa una
cláusula relacionada a una cuenta de ahorro y a una persona dentro de esa cuenta.
37
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
Solicitudes Multifirma: la solicitud de una operación multifirma requiere que
se realicen las firmas de un mínimo de personas, dependiendo de la cláusula de
dicha solicitud.
Toda operación Multifirma tiene una clave. Esta clave es el elemento que
permite referenciar una solicitud realizada en Línea Abierta, en la operativa de
oficinas de la entidad financiera.
Las solicitudes se mantienen en una tabla donde cada fila representa a una
persona que puede firmar la solicitud dado que el índice de la tabla es la clave de
operación multifirma más un identificador de la persona. Por este motivo, para una
solicitud tiene N filas en esta tabla (cada fila una persona).
Firmas de Solicitudes Multifirma: son las firmas de cada una de las personas
que pueden firmar una determinada solicitud Multifirma.
Existe una tabla donde están todas las firmas de una solicitud. Cada fila de esta
tabla es una firma de una persona en concreto. A parte se guarda el estado de la
firma (Pendiente de Firma, Firmada, Caducada, etc.). Cuando se cumple la cláusula
de una determinada solicitud, es decir, cuando se realizan todas las firmas de un
número mínimo de personas, se firma la solicitud y puede ejecutarse la operación.
NOTA
Utilizaré una nomenclatura genérica a partir de ahora para referirme a las
diferentes tablas:
Tabla_A: Tabla de Cuentas de Ahorro con Multifirma.
Tabla_B: Tabla de Cláusulas de operaciones Multifirma.
Tabla_C: Tabla de Solicitudes Multifirma.
Tabla_D: Tabla de Firmas de la Solicitud Multifirma.
38
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.3. Requisitos Generales:
La operativa de Multifirma debe ser capaz de realizar las siguientes funciones de
negocio (concepto explicado en el apartado 3.6):
o
Lista de Solicitudes: mostrar una lista de solicitudes de operaciones
Multifirma de un contrato o DNI. determinado.
o
Consultar Solicitud: mostrar toda la información de una solicitud en
concreto.
o
Consultar Cláusulas: mostrar todas las cláusulas de una determinada
solicitud. Si para una determinada solicitud solo existe una cláusula el
sistema debe mostrar una pantalla con la lista de todos los firmantes para
esa cláusula sino, debe mostrar el listado de cláusulas completo.
o
Consultar Firmas: mostrar para una determinada solicitud, la lista de
firmas de la misma, mostrando también el estado de cada una de las firmas
(Firmadas o Pendiente de Firma).
o
Firma Solicitud Multifirma: A través de esta Función de Negocio se
permitirá la firma de una solicitud en nombre de un determinado firmante.
o
Consultar Acciones: En esta Función de Negocio se mostraran por una
pantalla todas las acciones o movimientos realizados sobre una solicitud en
concreto:
o
Autorización de Anulación: La pantalla que gestiona esta Función de
Negocio se mostrará cuando se solicite la anulación de una determinada
solicitud.
Esta Función de Negocio pedirá el identificador de un empleado y su
respectiva clave para poder anular una solicitud.
39
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
Para el acceso a esta nueva operativa se ha habilitado una opción en el menú
principal de nuestra aplicación (CLO). El terminalista, además de seleccionar esta
opción (Multifirma) debe introducir un contrato de Línea Abierta o el DNI. de algún
usuario. Después de esto, se mostrará la pantalla principal de la operativa de
Multifirma, de la cual se parte. Tanto la Función de Negocio de este primer paso
como la pantalla se reutiliza de la operativa de Multifirma antigua (es la única que
aprovechamos).
40
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.3.1. FLUJO DE PANTALLAS
MENU
PRINCIPAL
LISTA DE
SOLICITUDES
OPERATIVA
MULTIFIRMA
CONSULTA
SOLICITUD
CONSULTA
FIRMAS
INTRODUCCION
FIRMAS
CONSULTA
CLAUSULAS 1
CONSULTA
ACCIONES
AUTORIZACION
ANULACION
CONSULTA
CLAUSULAS 2
41
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.4. Propuesta de Solución:
Para explicar en lo que consiste el proyecto voy a resumir el funcionamiento de
cada una de las Funciones de Negocio que intervienen. En puntos posteriores
explicaré de forma más extensa las Funciones de Negocio que he desarrollado de
forma completa (Aunque, mi participación ha estado presente en todas las
transacciones).
5.4.1. LISTA DE SOLICITUDES
En esta pantalla facilitará la lista de solicitudes de multifirma que cumplen el
criterio de búsqueda indicado, ordenadas de más a menos recientes (según fecha
de solicitud).
Información que se muestra de cada solicitud:
-
Fecha y Hora de la Solicitud
-
Nombre de la Operación que se solicita
-
Estado de la Solicitud
-
El Importe
Para cada solicitud se pueden realizar las siguientes acciones (seleccionando
una solicitud con la letra que identifica a la acción):
- Consultar (C)
- Firmar (F)
- Anular (A)
Cualquiera de estas acciones sobre una solicitud enlazará con la Pantalla de
consulta de solicitud, con la información detallada de la misma. Es una ventana
previa a la acción que se haya seleccionado.
Hay una acción adicional en la pantalla que filtra el listado de solicitudes,
mostrando únicamente aquellas que tienen el estado “Pendientes”.
42
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.4.2. CONSULTA SOLICITUD
Esta pantalla mostrará la información detallada de una determinada operación.
A partir de esta pantalla se pueden obtener datos adicionales o realizar acciones
sobre la solicitud en cuestión.
En esta pantalla existen una serie de acciones a realizar que, dependiendo de
cómo hayamos llegado a esta pantalla, se pueden seleccionar o no. Son las
siguientes:
- Consultar Firmas, Consultar Cláusulas, Consultar Acciones: Estas acciones
están disponibles para seleccionarlas si en la pantalla anterior (Lista de Solicitudes)
se ha seleccionado una solicitud con una C de Consultar. La selección de una de
estas acciones enlazará con la pantalla correspondiente.
- Firmar Solicitud: Esta acción aparecerá marcada por defecto y con el resto de
acciones bloqueadas si venimos de la pantalla anterior con una selección de
solicitud con una F de Firmar.
Esta acción enlazará con una pantalla previa a la firma, dónde se muestra, para
una solicitud, el estado de las firmas de la misma. Es decir, un listado con el NIF y
el nombre de cada firmante y el estado de cada una de ellas. De esta pantalla se
puede enlazar con la Pantalla de “Firmar Solicitud” si se selecciona la acción de
Firmar Pendientes.
- Anular Solicitud: Esta acción aparecerá marcada por defecto y con el resto de
acciones bloqueadas si venimos de la pantalla anterior con una selección de
solicitud con una A de Anular.
Esta acción enlazará con una pantalla de autorización para la anulación de una
solicitud.
43
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.4.3. CONSULTA CLAUSULAS (1)
A esta primera pantalla de consulta de cláusulas se llega después de haber
seleccionado la opción de Consultar Cláusulas en la pantalla “Consulta de Solicitud”
y existen más de una cláusula para dicha solicitud. En el caso contrario la pantalla
que se mostraría sería la de “Consulta Cláusulas (2)”.
En Consulta Cláusulas (1) se muestra una lista con todas las cláusulas de una
determinada solicitud con el Estado de cada cláusula a un lado. Los posibles
estados de una cláusula son:
- Con Firmas: Si la solicitud tiene firmas y no se ha ejecutado la operación
Multifirma.
- Con Firmas y Procesada: Si la solicitud tiene firmas y además se ha ejecutado
la operación Multifirma.
- Sin Firmas: Si la solicitud no tiene firmas.
De la lista de cláusulas se puede seleccionar con una C cualquiera de las que
tengan estado “Con Firmas” o “Con Firmas y Procesada” para enlazar con la
siguiente pantalla (Consulta Cláusulas 2).
5.4.4. CONSULTA CLAUSULAS (2)
Esta pantalla muestra toda la lista de firmantes que existen para una
determinada cláusula. Permite conocer el estado de los firmantes de dicha cláusula
dado que en la pantalla se muestra el DNI, el nombre del Firmante y su estado.
Para llegar a esta pantalla puede haber dos cosas. Que vengamos de la pantalla
de “Consulta de Solicitud” y han seleccionado la opción de Consultar Cláusulas y
esa solicitud en concreto solo tiene una Cláusula ó, venimos de la pantalla
“Consulta Cláusulas 1” y nos han seleccionado una cláusula con una C y esa
solicitud tiene Firmas.
44
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.4.5. CONSULTA FIRMAS
Esta es la pantalla que comentaba anteriormente que era previa a la firma. Esta
pantalla muestra, para una solicitud, el estado de las firmas de la misma. Y para
acceder a esta pantalla se tiene que seleccionar la acción de Firmar Solicitud en la
pantalla de “Consulta de Solicitud”.
En esta pantalla hay una acción de Firmar Pendientes que te permite enlazar
con la pantalla que a continuación se explica.
5.4.6. FIRMAR SOLICITUD
A través de esta pantalla se permitirá la firma de una solicitud en nombre de un
determinado firmante. En esta pantalla se muestra una lista con la siguiente
información:
- DNI y Nombre del Firmante
- Estado del Firmante
Sólo se permitirá Firmar de una en una. Para ello hay que seleccionar con una F
de Firmar, la Firma de la persona que se desea realizar. No se permite firmar
cuando ya conste la firma del cliente.
45
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.4.7. CONSULTA ACCIONES
Esta Función de Negocio mostrará en su respectiva pantalla todas las acciones
realizadas sobre una solicitud en concreto. Se contemplarán las siguientes
acciones:
Acción
Solicitud Multifirma
Solicitud Firma
Firma
Error en Proceso
Procesada OK
Anulada
Caducada
Bloqueada
Pasada a Histórico
Para llegar a esta pantalla tienen que haber seleccionado la opción de Consultar
Acciones en la pantalla de “Consultar Solicitud”.
5.4.8. ANULACIÓN DE SOLICITUD
Esta Función de Negocio se encarga de validar que el empleado que se dispone
a anular una solicitud tiene el nivel mínimo requerido para hacerlo y que la clave
que introduce es correcta.
En la pantalla que respectiva a esta Función de Negocio hay dos campos dónde
el terminalista debe introducir su número de empleado y su clave. El sistema
validará si puede Anular la Solicitud o si de lo contrario no puede.
Para acceder a esta pantalla se debe accionar la opción de Anular Solicitud en la
pantalla de “Consultar Solicitud”.
46
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5. Funciones de Negocio Desarrolladas:
En este punto quiero explicar todas las Funciones de Negocio que he
desarrollado al completo, detallando cada módulo de los que participan en cada
Función de Negocio. Las Funciones de Negocio son las siguientes:
- Consulta de Cláusulas 1
- Consulta de Cláusulas 2
- Anulación de Solicitud
5.5.1.- CREACIÓN PANTALLAS, ESTRUCTURAS ENTRADA Y SALIDA,...:
La construcción de las todas las pantallas que intervienen en el Proyecto fue mi
primera participación en el proyecto.
Las nuevas Funciones de Negocio tendrán las pantallas que anteriormente he
comentado y que están conectadas entre si como se ve en el esquema del punto
5.3.1. El diseño de las pantallas viene especificado en la Propuesta de Solución del
Proyecto. A continuación se detallan los pasos a seguir a la hora de construirlas:
¾
Las
pantallas
se
definen
en
la
herramienta
MAESTRO
(explicada
anteriormente). Lo que hacemos en MAESTRO es decidir que aspecto tendrá
la interfície gráfica que verá el terminalista (el aspecto de las pantallas viene
definido también en la Propuesta de Solución). Además se define una
cabecera (todas las pantallas tienen una cabecera estándar, sólo cambia el
título de la pantalla), se definen los campos que pueda tener, los literales,
para introducir o mostrar datos, etc.…
¾
Definir las estructuras de entrada y salida de la pantalla. Cada pantalla tiene
definida una estructura de entrada (conocida como MID, en esta estructura
tenemos todos los datos de entrada) y una estructura de salida (conocida
como MOD, que contiene todos los datos que son de salida).
Con esto tendremos generado el formato de la pantalla en el HOST.
47
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.2.- CONSULTA DE CLAUSULAS (1) DE UNA SOLICITUD:
En el esquema que se muestra a continuación podemos ver la secuencia que
sigue esta Función de Negocio y los Módulos de Aplicación que tiene planificados en
cada flujo de ejecución. En los puntos siguientes se explican detalladamente cada
uno de los módulos que intervienen en la Función de Negocio de “Consulta de
Cláusulas 1”.
MODULO DE
ENLACE
MODULO TRATAMIENTO DE
ENTRADA
MODULO
RECEPCION
ENLACE
‘0002’ Selección
de una Cláusula
‘0000’
Lista de Cláusulas
MODULO
APLICACIÓN
A
‘0001’
Paginación
MODULO
ENLACE
CONSULTA
CLAUSULAS 2
MODULO TRATAMIENTO DE SALIDA
Retorno Transacción Origen
LISTA
CLAUSULAS
Pantalla
48
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.2.1.- MÓDULO DE ENLACE:
Este módulo no pertenece propiamente a la Función de Negocio. Como ya he
comentado con anterioridad este módulo se incluirá en las transacciones de origen
que llamarán a Función de Enlace asociada a este módulo.
Su función es la de complementar los datos de la Include de comunicación (los
datos que recibirá la Función de Negocio), realizar una validación formal, y llamar a
la Función de Negocio de “Consulta de Cláusulas 1”i, incluyéndola en el Mensaje
Circulante de la transacción.
INCLUDE DE COMUNICACIÓN:
La include de comunicación contiene los datos que necesita la Función de
Negocio para ejecutarse. Esta include se llena en el Módulo de Enlace. Una vez la
include esta llena de datos, se procede a llamar a la Función de Negocio. Esta
recibe la información mediante el módulo de recepción de enlace, que se encargará
de recibir estos datos y validarlos. En el siguiente punto se explica en detalle el
Módulo de Recepción de Enlace.
5.5.2.2.- MÓDULO DE RECEPCIÓN DE ENLACE:
Este módulo es el primero que se lanza cuando la Función de Negocio se ejecuta
desde otra transacción. Recibe la include de comunicación, hace la validación
sintáctica y formal de los campos. Es decir, realiza las siguientes acciones:
1.- Validación sintáctica y formal, de los datos que recibe por la include de
comunicación del Módulo de Enlace
2.- Planifica el flujo de ejecución inicial, llenando la include de entrada del
“MODULO DE APLICACIÓN A” con los datos que nos pasa la transacción
Origen. Es decir, indica al IMS que módulos se ejecutarán.
A efectos prácticos los Módulos de Recepción de Enlace tienen las mismas
características que los Módulos de Tratamiento de Entrada.
49
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.2.3.- MÓDULO TRATAMIENTO DE ENTRADA:
Este módulo se encarga de validar los datos que se teclean por pantalla y, crear
el mensaje circulante de la transacción. La validación será sintáctica, es decir, se
comprobará su bondad formal, sin comprobar su validez en cuanto a los datos
guardados en las Bases de Datos del IMS o tablas DB2.
En nuestro caso se encargará de:
1.- Validar los datos de entrada que recibe de la pantalla, dependiendo de la
tecla que haya introducido el terminalista:
•
Si la tecla introducida es un ‘Intro’:
- Controlar que seleccionan únicamente una Cláusula de la lista de
Cláusulas.
- Controlar que la selección la realizan con la letra correspondiente. El
sistema sólo permite que se seleccione una Cláusula con la letra ‘C’ de
Consulta.
- Controlar que la Cláusula que se selecciona tiene Firmas, en caso
contrario informar el mensaje de error que se mostrará.
- Generar el Mensaje Circulante (Área de memoria del Programa Online
que contiene toda la información de la transacción: datos de control, datos
identificativos y registros de entrada y salida). Prepara las estructuras de
entrada/salida de los módulos de aplicación que se ejecutarán.
En nuestro caso, prepara las estructuras de entrada/salida del MODULO DE
ENLACE con la Función de Negocio siguiente, es decir, con “Consultar
Cláusulas 2”.
50
Proyecto Final de Carrera - 2006
•
Ingeniería Técnica en Informática de Sistemas
Si la tecla introducida es un ‘F8’ (Tecla de paginación hacia adelante):
- Generar el Mensaje Circulante (Área de memoria del Programa Online
que contiene toda la información de la transacción: datos de control, datos
identificativos y registros de entrada y salida). Prepara las estructuras de
entrada/salida de los módulos de aplicación que se ejecutarán.
En nuestro caso, prepara las estructuras de entrada/salida del MÓDULO DE
APLICACIÓN A.
•
Si la tecla introducida es un ‘F7’ (Tecla de paginación hacia atrás):
- Cuando se pagina hacia atrás se recupera la pantalla anterior de la
paginación. Esto se consigue con la conversa explicada en el punto 3.6.
•
Si la tecla introducida es un ‘F3’ (Tecla de Retorno):
- Se Retorna a la Transacción Origen. Transacción que ha realizado la
llamada a esta Función de Negocio, que sería la de “Consulta de Solicitud”.
Los diferentes Flujos de Ejecución se diferencian dentro de la Función de
Negocio con un código, conocido como Subcódigo. Este subcódigo se le asigna a un
determinado Flujo de Ejecución, en el Módulo de Recepción de Enlace o en el
Módulo de Tratamiento de Entrada. Esto se hace, para que el Módulo de
Tratamiento de Salida sepa que Flujo se ha ejecutado para poder mostrar una
pantalla u otra.
En las Funciones de Negocio que hay paginación es muy importante comprobar
que la paginación es correcta.
51
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.2.4.- MÓDULO TRATAMIENTO DE SALIDA:
Su función básica se puede resumir en dos acciones:
1. Analizar
las
respuestas
de
las
diferentes
operaciones-aplicaciones
ejecutadas.
2. En función de este análisis, recoger los datos pertinentes para construir la
respuesta a la Terminal (Pantalla).
En nuestro caso será el encargado de:
1.- Recuperar les áreas de salida de los módulos de aplicación que se han
ejecutado y analizar las respuestas de estos módulos.
2.- Dependiendo del resultado del análisis de los módulos, puede pasar lo
siguiente:
2.1.- Si los módulos han acabado OK entonces podemos informar la
pantalla de salida dependiendo del Subcódigo que anteriormente
comentaba:
•
Si el Subcódigo pertenece al Flujo de ejecución planificado en el
Módulo de Recepción de Enlace y el resultado de los módulos que
se han ejecutado es correcto, mostramos la pantalla de “Consulta
de Cláusulas 1”.
•
Si el Subcódigo pertenece al Flujo de ejecución dónde nos han
seleccionado una Cláusulas con Firmas y todos los módulos que se
han ejecutado han ido bien, quiere decir que venimos de la pantalla
de “Consulta de Cláusulas 2”.
•
Si el Subcódigo pertenece al Flujo de ejecución dónde han tecleado
un ‘F8’ (Paginación hacia delante) mostramos la misma pantalla,
pero con la nueva información que nos devuelve el MÓDULO DE
APLICACIÓN A.
52
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
2.2.- Si los módulos han acabado con algún error. Entonces enviará un
mensaje de error al Terminal.
53
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.2.5.- MÓDULOS DE APLICACIÓN:
Esta Función de Negocio tiene un único Módulo de Aplicación. Utilizaré el
nombre que he estado usando hasta ahora para referirme a él, MÓDULO DE
APLICACIÓN A. Todo módulo de aplicación utiliza un área de entrada y otra de
salida, dónde se pasan los datos que necesita para realizar sus operaciones, y
dónde el deja el resultado de las operaciones que realiza, o algún dato que necesite
retornar.
Esto implica que se tiene que crear una estructura de datos de entrada y otra
de salida para el módulo de aplicación en cuestión.
o
MÓDULO_APLICACIÓN_A: Lista de Cláusulas
Este módulo accede a la TABLA_B, Tabla de Cláusulas, a partir de un número de
cuenta de ahorro Multifirma. Este módulo retornara a través de su área de salida un
máximo de 10 Cláusulas (las que se mostrarán por pantalla) y en caso de que haya
más los datos, retornara la información necesaria para poder ejecutarse de nuevo y
mostrar las 10 Cláusulas siguientes.
Este módulo también retornará el estado de cada una de las 10 Cláusulas
retornadas, accediendo a la TABLA_D, Tabla de Firmas, accediendo por solicitud
(clave de operación Multifirma).
-
Si una cláusula determinada no tiene filas en la TABLA_D, el estado que
se mostrará por pantalla será el de “Sin Firmas”.
-
Si una cláusula determinada tiene filas en la TABLA_D, pero el estado de
la cláusula es diferente de “Procesada”, el estado que se mostrara por
pantalla será “Con Firmas”.
-
Si una cláusula determinada tiene filas en la TABLA_D, y además el
estado de la cláusula en la TABLA_B es “Procesada”, el estado que
mostraremos será “Con Firmas y Procesada”.
A parte de toda esta información el Módulo de Aplicación retornará por su área
de salida el número de filas que ha conseguido y si hay más filas para mostrar.
54
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.3.- CONSULTA DE CLAUSULAS (2) DE UNA SOLICITUD:
En el esquema que se muestra a continuación podemos ver la secuencia que
sigue esta Función de Negocio y los Módulos de Aplicación que tiene planificados en
cada flujo de ejecución. En los puntos siguientes se explican detalladamente cada
uno de los módulos que intervienen en la Función de Negocio de “Consulta de
Cláusulas 1”.
MODULO DE
ENLACE
MODULO
RECEPCION
ENLACE
‘0000’
Consulta de Firmas y
su Estado
MODULO TRATAMIENTO DE
ENTRADA
‘0001’
Paginación
MODULO
APLICACIÓN
B
MODULO TRATAMIENTO DE SALIDA
Retorno Transacción Origen
LISTA
FIRMANTES
Pantalla
55
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.3.1.- MÓDULO DE ENLACE:
Este módulo es de las mismas características que el Módulo de Enlace de la
anterior Función de Negocio. Sus funciones son muy parecidas pero para esta
Función de Negocio. No creo que requiera de explicación.
5.5.3.2.- MÓDULO DE RECEPCIÓN DE ENLACE:
En esta Función de Negocio, el Módulo de Recepción de Enlace realiza las
siguientes acciones:
1.- Validación sintáctica y formal, de los datos que recibe por la include de
comunicación del Módulo de Enlace.
2.- Planifica el flujo de ejecución inicial, llenando la include de entrada del
“MODULO DE APLICACIÓN B” con los datos que nos pasa la transacción
Origen. Es decir, indica al IMS que módulos se ejecutarán.
A efectos prácticos los Módulos de Recepción de Enlace tienen las mismas
características que los Módulos de Tratamiento de Entrada.
56
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.3.3.- MÓDULO TRATAMIENTO DE ENTRADA:
Este módulo se encarga de validar los datos que se teclean por pantalla y, crear
el mensaje circulante de la transacción. La validación será sintáctica, es decir, se
comprobará su bondad formal, sin comprobar su validez en cuanto a los datos
guardados en las Bases de Datos del IMS o tablas DB2.
En nuestro caso se encargará de:
1.- Validar los datos de entrada que recibe de la pantalla, dependiendo de la
tecla que haya introducido el terminalista:
•
Si la tecla introducida es un ‘Intro’ o un ‘F3’:
- Se Retorna a la Transacción Origen. Transacción que ha realizado la
llamada a esta Función de Negocio, que sería la de “Consulta de Cláusula
1”.
•
Si la tecla introducida es un ‘F8’ (Tecla de paginación hacia adelante):
- Generar el Mensaje Circulante (Área de memoria del Programa Online
que contiene toda la información de la transacción: datos de control, datos
identificativos y registros de entrada y salida). Prepara las estructuras de
entrada/salida de los módulos de aplicación que se ejecutarán.
En nuestro caso, prepara las estructuras de entrada/salida del MÓDULO DE
APLICACIÓN B.
•
Si la tecla introducida es un ‘F7’ (Tecla de paginación hacia atrás):
- Cuando se pagina hacia atrás se recupera la pantalla anterior de la
paginación. Esto se consigue con la conversa explicada en el punto 3.6.
57
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.3.4.- MÓDULO TRATAMIENTO DE SALIDA:
Su función básica se puede resumir en dos acciones:
3. Analizar
las
respuestas
de
las
diferentes
operaciones-aplicaciones
ejecutadas.
4. En función de este análisis, recoger los datos pertinentes para construir la
respuesta a la Terminal (Pantalla).
En nuestro caso será el encargado de:
1.- Recuperar les áreas de salida de los módulos de aplicación que se han
ejecutado y analizar las respuestas de estos módulos.
2.- Dependiendo del resultado del análisis de los módulos, puede pasar lo
siguiente:
2.1.- Si los módulos han acabado OK entonces podemos informar la
pantalla de salida, dependiendo del Subcódigo:
•
Si el Subcódigo pertenece al Flujo de ejecución planificado desde el
Módulo de Recepción de enlace y todos los módulos de aplicación
han terminado bien, se muestra la pantalla “Consultar Cláusulas 2”.
•
Si el Subcódigo pertenece al Flujo de ejecución dónde han tecleado
un ‘F8’ (Paginación hacia delante) mostramos la misma pantalla,
pero con la nueva información que nos devuelve el MÓDULO DE
APLICACIÓN B.
2.2.- Si los módulos han acabado con algún error. Entonces enviará un
mensaje de error al Terminal.
58
Proyecto Final de Carrera - 2006
Ingeniería Técnica en Informática de Sistemas
5.5.3.5.- MÓDULOS DE APLICACIÓN:
Esta Función de Negocio tiene un único Módulo de Aplicación. Utilizaré el
nombre que he estado usando hasta ahora para referirme a él, MÓDULO DE
APLICACIÓN B.
Para este Módulo de Aplicación (igual que en el de la Función de Negocio
anterior) se tiene que crear una estructura de datos de entrada y otra de salida.
o
MÓDULO_APLICACIÓN_B: Lista de Firmantes
Este módulo accede a la TABLA_D, Tabla de Firmas, a partir de un número de
solicitud (clave de operación Multifirma). Este módulo retornara a través de su área
de salida un máximo de 10 Firmas (las que se mostrarán por pantalla) y en caso de
que haya más los datos, retornará la información necesaria para poder ejecutarse
de nuevo y mostrar las 10 firmas siguientes.
Este módulo también retornará el estado de cada una de las filas. A parte de
toda esta información el Módulo de Aplicación retornará por su área de salida el
número de filas que ha conseguido y si hay más filas para mostrar.
59
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
5.5.4.- ANULACION DE SOLICITUDES:
En el esquema que se muestra a continuación podemos ver la secuencia que
sigue esta Función de Negocio y los Módulos de Aplicación que tiene planificados en
cada flujo de ejecución. En los puntos siguientes se explican detalladamente cada
uno de los módulos que intervienen en la Función de Negocio de “Anulación de
Solicitudes”.
MODULO DE
ENLACE
MODULO TRATAMIENTO DE
ENTRADA
‘0001’
Anulación Autorizada
MODULO
RECEPCION
ENLACE
MODULO
APLICACIÓN
C
‘0000’ Flujo de
enlace a la Pantalla
MODULO TRATAMIENTO DE SALIDA
Retorno Transacción Origen
AUTORIZACION
ANULACION
Pantalla
60
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
5.5.4.1.- MÓDULO DE ENLACE:
Este módulo es de las mismas características que el Módulo de Enlace de la
anterior Función de Negocio. Sus funciones son muy parecidas pero para esta
Función de Negocio. No creo que requiera de explicación.
5.5.4.2.- MÓDULO DE RECEPCIÓN DE ENLACE:
En esta Función de Negocio, el Módulo de Recepción de Enlace realiza las
siguientes acciones:
1.- Validación sintáctica y formal, de los datos que recibe por la include de
comunicación del Módulo de Enlace.
2.- Planifica el flujo de ejecución inicial, aunque en este caso, el flujo inicial
no ejecuta ningún Módulo de Aplicación. Lo único que hace es enlazar con la
pantalla de “Autorización de Anulación.
A efectos prácticos los Módulos de Recepción de Enlace tienen las mismas
características que los Módulos de Tratamiento de Entrada.
61
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
5.5.4.3.- MÓDULO TRATAMIENTO DE ENTRADA:
Este módulo se encarga de validar los datos que se teclean por pantalla y, crear
el mensaje circulante de la transacción. La validación será sintáctica, es decir, se
comprobará su bondad formal, sin comprobar su validez en cuanto a los datos
guardados en las Bases de Datos del IMS o tablas DB2.
En nuestro caso se encargará de:
1.- Validar los datos de entrada que recibe de la pantalla, dependiendo de la
tecla que haya introducido el terminalista:
•
Si la tecla introducida es un ‘Intro’:
- Se valida que tanto el empleado que desea realizar la anulación como su
clave sean numéricos.
- Utilizando una función que ya existe para comprobar que el empleado
introducido existe y validar su clave, se realiza la autorización para poder
anular la solicitud.
- Generar el Mensaje Circulante (Área de memoria del Programa Online
que contiene toda la información de la transacción: datos de control, datos
identificativos y registros de entrada y salida). Prepara las estructuras de
entrada/salida de los módulos de aplicación que se ejecutarán.
En nuestro caso, prepara las estructuras de entrada/salida del MÓDULO DE
APLICACIÓN C.
•
Si la tecla introducida es un ‘F3’:
- Se Retorna a la Transacción Origen. Transacción que ha realizado la
llamada a esta Función de Negocio, que sería la de “Consulta de Cláusula
1”.
62
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
5.5.4.4.- MÓDULO TRATAMIENTO DE SALIDA:
Su función básica se puede resumir en dos acciones:
5. Analizar
las
respuestas
de
las
diferentes
operaciones-aplicaciones
ejecutadas.
6. En función de este análisis, recoger los datos pertinentes para construir la
respuesta a la Terminal (Pantalla).
En nuestro caso será el encargado de:
1.- Recuperar les áreas de salida de los módulos de aplicación que se han
ejecutado y analizar las respuestas de estos módulos.
2.- Dependiendo del resultado del análisis de los módulos, puede pasar lo
siguiente:
2.1.- Si los módulos han acabado OK entonces podemos informar la
pantalla de salida, dependiendo del Subcódigo:
•
Si el Subcódigo pertenece al Flujo de ejecución planificado desde el
Módulo
de
Recepción
de
enlace,
se
muestra
la
pantalla
“Autorización para Anulación”.
•
Si el Subcódigo pertenece al Flujo de ejecución dónde han tecleado
un ‘Intro’ (Anulación) mostramos la misma pantalla, pero con el
mensaje que nos retornará el MÓDULO DE APLICACIÓN C.
- Si la Anulación se ha realizado correctamente se informara
de ello.
2.2.- Si los módulos han acabado con algún error. Entonces enviará un
mensaje de error al Terminal.
63
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
5.5.4.5.- MÓDULOS DE APLICACIÓN:
Esta Función de Negocio tiene un único Módulo de Aplicación. Utilizaré el
nombre que he estado usando hasta ahora para referirme a él, MÓDULO DE
APLICACIÓN C.
Para este Módulo de Aplicación (igual que en el de la Función de Negocio
anterior) se tiene que crear una estructura de datos de entrada y otra de salida.
o
MÓDULO_APLICACIÓN_C: Anulación de una Solicitud
Este módulo accede a la TABLA_C, Tabla de Solicitudes, a partir de un número
de solicitud (clave de operación Multifirma). Este módulo modificará el estado de la
solicitud, para que aparezca como solicitud “Anulada”. En el caso de que no
encuentre dicha solicitud informará en su área de salida el error.
Además, también graba en una tabla de movimientos, que ha realizado una
anulación de la solicitud en cuestión.
64
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
6. IMPLICACIÓN PERSONAL EN EL PROYECTO
Este proyecto lo realizó el grupo de trabajo de Tarragona con la colaboración de
programadores en Barcelona y Castellón, bajo la supervisión y participación de un
analista funcional en Tarragona.
Mi implicación en el proyecto empezó en el momento que tuvimos entre manos
una propuesta de solución definida. En este momento, nos reunimos todos los que
íbamos a participar en el proyecto con el analista programador para que nos
facilitara toda la información referente al proyecto y para definir las pautas a seguir
para realizar el proyecto.
A partir de aquí, mi tarea consistió en desarrollar, en un principio, módulos de
aplicación y partes de una transacción, y finalmente desarrollando transacciones
completas.
Durante todo
el proyecto estábamos
en
contacto con
nuestro
responsable en Tarragona, pero también con el resto del grupo de trabajo ya que
mis tareas solían depender de transacciones hechas por otros componentes del
proyecto.
Por la naturaleza del proyecto, durante el mismo se han tenido que tomar una
serie de decisiones que no se contemplaban en la primera propuesta de solución.
Para estas decisiones el analista funcional tenia que contactar con el cliente para
informarle y conocer su punto de vista sobre el tema.
65
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
7. CONCLUSIONES
7.1. Conocimientos Aplicados:
Conceptos de programación: Conceptos adquiridos en asignaturas basadas
en el aprendizaje de algorítmica y la estructuración del código. Conocimientos
adquiridos en Programación I y Programación II.
Conceptos de utilización y gestión de ficheros de entrada y salida:
Conocimientos adquiridos en Introducción a Bases de Datos, muy útiles en el
entorno HOST en el que trabajamos, por qué se trabaja a un nivel muy cercano
al del Sistema Operativo y cuando se crea un fichero, se ha de especificar el tipo
de registros que va a contener (fijos o variables), la longitud, el tamaño del
bloque, el tipo de datos (Kb o Bytes), espacio primario y dependiendo del
volumen de datos, si el fichero se catalogará en disco o en cinta.
Conceptos de Bases de Datos: Sobretodo ha sido muy útil los conceptos
sobre las bases de datos relacionales, materia a la que se dedicó la asignatura
de Bases de Datos, ya que en este proyecto se trabaja con tablas DB2. Respecto
a las bases de datos jerárquicas, aunque en este proyecto no se han utilizado,
son muy útiles los conocimientos adquiridos por qué en otras aplicaciones aun se
trabaja con Bases de Datos jerárquicas y ayuda a entender programas que
puedes necesitar en ocasiones.
Conceptos de Sistemas Operativos: Conceptos que se vieron en las
asignaturas de Introducción a Sistemas Operativos y Sistemas Operativos,
necesarios para la comprensión del funcionamiento del sistema operativo y sus
herramientas básicas: colas de ejecución de procesos, el planificador batch, las
clases ó grupos de prioridad, distribución de memoria, etc.
66
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
7.2. Valoración Personal:
Mi valoración global es muy positiva en todos los aspectos. Tanto en el
resultado
obtenido
en
la
resolución
del
proyecto
expuesto,
como
de
mi
participación en particular. Además, gracias a este proyecto he podido conocer
profundamente la aplicación de los Clientes de Línea Abierta.
Valoro la perfecta línea de comunicación que mantuve con mi responsable en un
inicio y más tarde con el analista que supervisaba el trabajo que se iba realizando.
Trabajar en este proyecto me ha ayudado a coger soltura a la hora de
programar y a la hora de trabajar con Bases de Datos. En este proyecto son muy
importantes las tablas dónde guardamos la información y de dónde la consultamos.
También valoro muy positivamente el trabajo realizado en equipo y lo
gratificante que es formar parte de un grupo de trabajo. Me gustaría destacar el
buen ambiente que se vive, no sólo en mi aplicación, sino en toda la oficina de
Tarragona. Este hecho facilita el buen entendimiento y la comunicación, a parte de
que mejora el rendimiento y calidad del trabajo realizado.
67
Proyecto Final de Carrera - 2005
Ingeniería Técnica en Informática de Sistemas
8. AGRADECIMIENTOS
En estas líneas me gustaría agradecer a todas las personas que han hecho
posible la realización de este Proyecto Final de Carrera.
En primer lugar, quiero agradecer a GETRONICS Iberia todas las facilidades que
me han dado para presentar el proyecto en cuestión como Proyecto Final de
Carrera, y especialmente a Conchita Núñez, Gerente de la aplicación, y a Ignasi
Bescos, que ha sido mi responsable desde que entre en la oficina a trabajar, por su
predisposición a ayudar y las facilidades que me han dado para hacerlo.
Y finalmente, también agradecer a Jordi Pascual, analista funcional responsable
del proyecto, por toda la información y la ayuda que me ha facilitado.
68
Descargar