170
PROYECTO DE GRADO Presentado ante la ilustre UNIVERSIDAD DE LOS ANDES como requisito final para obtener el Título de INGENIERO DE SISTEMAS Desarrollo de un Sistema de Información Web para la gestión de incidentes de falla en la plataforma tecnológica de PDVSA AIT Servicios Comunes Centro Por Br. Carlos Germán Medina Albornoz Tutor: Prof. Judith Barrios Asesor Industrial: Ing. José Casanova Febrero 2009 ©2009 Universidad de Los Andes Mérida, Venezuela

informe de tesis carlos german medina

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

PROYECTO DE GRADO

Presentado ante la ilustre UNIVERSIDAD DE LOS ANDES como requisito final para obtener el Título de INGENIERO DE SISTEMAS

Desarrollo de un Sistema de Información Web para la gestión de incidentes de falla en la plataforma tecnológica de PDVSA AIT

Servicios Comunes Centro

Por

Br. Carlos Germán Medina Albornoz

Tutor: Prof. Judith Barrios

Asesor Industrial: Ing. José Casanova

Febrero 2009

©2009 Universidad de Los Andes Mérida, Venezuela

Desarrollo de un sistema de Información Web para la Gestión de Incidentes de Falla en

la plataforma tecnológica de PDVSA AIT SCC.

Br. Carlos Germán Medina Albornoz

Proyecto de Grado – Sistemas Computacionales, 170 páginas

Resumen: En el presente proyecto se desarrolla un sistema de información web como herramienta

de apoyo a los procesos de negocio llevados a cabo por la Gerencia de Mantenimiento de la

Plataforma (MAP), unidad adscrita a la Gerencia de Automatización, Informática y

Telecomunicaciones de Petróleos de Venezuela S.A., en el área denominada Servicios Comunes

Centro. El proyecto surge por la iniciativa de la Coordinación de Confiabilidad, unidad que se encarga

de aplicar técnicas de ingeniería de confiabilidad para apoyar a la Gerencia MAP en la planificación del

mantenimiento y en el mejoramiento de la confiabilidad de la plataforma.

Las necesidades de información son un factor crítico para los encargados de la toma de

decisiones dentro de la Gerencia MAP. Existe además una dependencia de la información generada

por otras unidades en la organización. Es por ello que se ha implementado un sistema de información

que, basado en tecnología web y disponible a los miembros de la Empresa a través de la intranet,

automatiza el proceso de llenado de los reportes de las fallas ocurridas en la plataforma durante las

guardias de los grupos encargados de su mantenimiento, y a partir de estos reportes obtiene

indicadores de confiabilidad y disponibilidad, que a su vez son complementados con datos registrados

por el sistema Nagios, encargado de monitorear el estado de la plataforma. De este modo se obtiene

un histórico de fallas y una base de conocimientos del mantenimiento realizado para cada equipo y

aplicación de la plataforma. El proceso de desarrollo del sistema fue guiado por el método Watch para

el desarrollo de aplicaciones empresariales, obteniéndose dos versiones funcionales del sistema.

Debido al proceso de soberanía tecnológica que se está llevando a cabo dentro de PDVSA, el sistema

fue desarrollado utilizando software libre.

Palabras clave: Sistema de Información Web, Ingeniería de Confiabilidad, mantenimiento,

disponibilidad.

ii

Dedicatoria

A mi madre, a mi padre y a mi hermano, las tres personas más importantes en mi vida. Sin su

apoyo no lo hubiera logrado, gracias.

iii

Índice

DEDICATORIA................................................................................................................................................. II

ÍNDICE .............................................................................................................................................................III

ÍNDICE DE FIGURAS ...................................................................................................................................... VI

ÍNDICE DE TABLAS ..........................................................................................................................................X

AGRADECIMIENTO........................................................................................................................................ XI

CAPÍTULO 1 ...................................................................................................................................................... 1

INTRODUCCIÓN .............................................................................................................................................. 1

1.1 DESCRIPCIÓN DE LA EMPRESA .................................................................................................................... 21.1.1 PDVSA AIT...................................................................................................................................... 3

1.3 ANTECEDENTES.......................................................................................................................................... 71.4 PLANTEAMIENTO DEL PROBLEMA ............................................................................................................... 81.5 JUSTIFICACIÓN........................................................................................................................................ 101.5 OBJETIVOS .............................................................................................................................................. 11

1.5.1 Objetivo General............................................................................................................................ 111.5.2 Objetivos Específicos ...................................................................................................................... 11

1.6 METODOLOGÍA ....................................................................................................................................... 121.7 ESTRUCTURA DEL DOCUMENTO ................................................................................................................ 13

CAPÍTULO 2 .................................................................................................................................................... 15

MARCO TEÓRICO Y HERRAMIENTAS DE SOPORTE ................................................................................. 15

2.1 SISTEMAS DE INFORMACIÓN..................................................................................................................... 152.1.1 Actividades que realiza un sistema de información ........................................................................ 162.1.2 Tipos de sistemas de información ................................................................................................... 172.1.3 Sistemas de Información Web ........................................................................................................ 18

2.2 INGENIERÍA DE CONFIABILIDAD ............................................................................................................... 192.2.1 Conceptos Básicos........................................................................................................................... 192.2.2 Definición ...................................................................................................................................... 202.2.3 Estimación de la confiabilidad ....................................................................................................... 212.2.4 Análisis de confiabilidad basado en historiales de falla ................................................................. 212.2.5 Indicadores de confiabilidad .......................................................................................................... 222.2.6 Tipos de Mantenimiento................................................................................................................. 23

2.3 BASES DE DATOS ...................................................................................................................................... 232.3.1 Bases de datos relacionales ............................................................................................................ 242.3.2 Lenguaje Estructurado de Consulta (SQL) ..................................................................................... 242.3.3 El sistema de gestión de bases de datos PostgreSQL ....................................................................... 25

2.4 ARQUITECTURA ORIENTADA A SERVICIOS (SOA) ..................................................................................... 262.5 PROTOCOLO SOAP ................................................................................................................................. 28

2.5.1 NuSOAP ........................................................................................................................................ 292.6 LENGUAJE DE MODELADO UNIFICADO (UML) ......................................................................................... 30

iv

2.6.1 Diagramas de clases ...................................................................................................................... 312.6.2 Diagramas de componentes............................................................................................................ 312.6.3 Diagramas de objetos .................................................................................................................... 312.6.4 Diagramas de despliegue............................................................................................................... 322.6.5 Diagramas de paquetes ................................................................................................................. 322.6.6 Diagramas de actividades.............................................................................................................. 322.6.7 Diagramas de casos de uso............................................................................................................. 322.6.8 Diagramas de secuencia................................................................................................................. 33

2.7 EL LENGUAJE DE PROGRAMACIÓN PHP..................................................................................................... 332.8 CONCLUSIONES DEL CAPÍTULO.................................................................................................................. 34

CAPÍTULO 3 .................................................................................................................................................... 35

DESARROLLO DE LA PRIMERA VERSIÓN DEL SISTEMA ........................................................................... 35

3.1 PLANIFICACIÓN DEL PROYECTO ................................................................................................................ 353.2 MODELADO DE NEGOCIOS ....................................................................................................................... 36

3.2.1 Delimitación del sistema de negocios.............................................................................................. 373.2.2 Diagrama de Procesos del negocio.................................................................................................. 383.2.3 Estructura de la Gerencia MAP...................................................................................................... 383.2.4 Cadena de Valor de la Gerencia MAP............................................................................................. 393.2.5 Diagrama de flujo entre procesos para la gestión de incidentes de falla ......................................... 453.2.6 Identificación de las reglas de negocio............................................................................................ 483.2.7 Modelado de los actores de negocio ................................................................................................. 513.2.8 Identificación de los objetos de negocio........................................................................................... 52

3.3 INGENIERÍA DE REQUISITOS ..................................................................................................................... 543.3.1 Definición de los requisitos de software.......................................................................................... 553.3.2 Definición de requisitos según actores............................................................................................ 563.3.3 Clasificación de los requisitos y definición de prioridades ............................................................... 593.3.4 Definición de casos de uso .............................................................................................................. 613.3.5 Matriz Casos de Uso vs. Requisitos................................................................................................. 68

3.4 DISEÑO DEL SISTEMA ............................................................................................................................... 693.4.1 Metas de diseño.............................................................................................................................. 693.4.2 Definición del estilo arquitectónico y justificación.......................................................................... 703.4.3 Identificación de subsistemas ......................................................................................................... 713.4.4 Diseño de componentes .................................................................................................................. 723.4.5 Diagrama de clases del sistema...................................................................................................... 773.4.6 Diagrama de despliegue del sistema .............................................................................................. 783.4.7 Diseño de la base de datos ............................................................................................................. 803.4.8 Diseño de la interfaz del usuario ................................................................................................... 82

3.5 FASE DE IMPLEMENTACIÓN Y PRUEBAS ..................................................................................................... 843.5.1 Implementación del sistema ........................................................................................................... 853.5.2 Pruebas del sistema ....................................................................................................................... 89

3.6 CONCLUSIONES DEL CAPÍTULO.................................................................................................................. 95

CAPÍTULO 4 .................................................................................................................................................... 97

DESARROLLO DE LA SEGUNDA VERSIÓN DEL SISTEMA........................................................................... 97

4.1 REVISIÓN DEL MODELO DE NEGOCIOS ......................................................................................................... 974.1.1 Modelado de las reglas de negocio.................................................................................................... 98

v

4.1.2 Modelado de objetos de Negocio ..................................................................................................... 994.2 REQUISITOS DE LA SEGUNDA VERSIÓN .......................................................................................................100

4.2.1 Redefinición de los perfiles de usuario ............................................................................................1014.2.2 Definición de requisitos según actores...........................................................................................1024.2.3 Clasificación y negociación de requisitos .........................................................................................1034.2.4 Elaboración de casos de uso...........................................................................................................1064.2.5 Matriz Caso de Uso vs. Requisitos .................................................................................................111

4.3 DISEÑO DE LA SEGUNDA VERSIÓN.............................................................................................................1124.3.1 Metas de diseño.............................................................................................................................1124.3.2 Identificación de subsistemas ........................................................................................................1124.3.3 Diseño de componentes .................................................................................................................1134.3.4 Diagrama de clases del sistema.....................................................................................................1194.3.5 Diagrama de despliegue del sistema .............................................................................................1204.3.6 Diseño de la base de datos ............................................................................................................1224.3.7 Diseño de la interfaz del sistema ..................................................................................................123

4.4 FASE DE IMPLEMENTACIÓN Y PRUEBAS .....................................................................................................1254.4.1 Implementación de componentes ...................................................................................................1254.4.2 Fase de pruebas del sistema ..........................................................................................................128

4.5 ENTREGA FINAL DEL SISTEMA ....................................................................................................................1324.6 CONCLUSIONES DEL CAPÍTULO ...........................................................................................................133

CAPÍTULO 5 ...................................................................................................................................................134

CONCLUSIONES Y RECOMENDACIONES....................................................................................................134

5.1 CONCLUSIONES ......................................................................................................................................1345.2 APORTES A LA EMPRESA ..........................................................................................................................1355.3 APORTES A LA UNIVERSIDAD ...................................................................................................................1365.4 APORTES AL TESISTA ...............................................................................................................................1365.5 RECOMENDACIONES ...............................................................................................................................137

REFERENCIAS BIBLIOGRÁFICAS .................................................................................................................140

ANEXO A ........................................................................................................................................................142

PLANIFICACIÓN DEL PROYECTO................................................................................................................142

ANEXO B.........................................................................................................................................................144

INTERFACES USUARIO/SISTEMA VERSIÓN 1 ............................................................................................144

ANEXO C.........................................................................................................................................................151

INTERFACES USUARIO/SISTEMA VERSIÓN 2 ............................................................................................151

vi

Índice de figuras

Figura 1.1 Cadena de valor de PDVSA …………………………………………………….4

Figura 1.2 Estructura organizativa de PDVSA AIT ……………………………………….5

Figura 1.2 AIT Servicios Comunes ………………………………………………………...6

Figura 1.3 Estructura de PDVSA AIT Servicios Comunes Centro ………………………..6

Figura 2.1 Arquitectura orientada a servicios …………………………………………...28

Figura 3.1 Delimitación del sistema de Negocios ………………………………………..37

Figura 3.2 Diagrama de procesos del Mantenimiento de la Plataforma ………………..38

Figura 3.3 Estructura Organizativa Gerencia MAP …...…………………………………39

Figura 3.4 Cadena de Valor de la Gerencia MAP ………………………………………...40

Figura 3.5 Diagrama del proceso “Registrar mantenimiento ejecutado” ……………...43

Figura 3.6 Diagrama del proceso “Aplicar Ingeniería de Confiabilidad” ……………...44

Figura 3.7 Diagrama del proceso “Monitorear la plataforma” …………………………44

Figura 3.8 Diagrama de flujo entre procesos para la gestión de incidentes de falla …..46

Figura 3.9 Flujo de actividades a obtener luego de automatizar el proceso …………...47

Figura 3.10 Modelado de objetos de negocio . …………………………………………..54

Figura 3.11 Perfiles de usuario del sistema ………………………..……………………..62

Figura 3.12 Diagrama de casos de uso para usuario general ……………………………63

Figura 3.13 Diagrama de casos de uso para usuario intermedio ………………………..64

Figura 3.14 Diagrama de caso de uso para usuario avanzado …………………………..65

Figura 3.15 Diagrama de caso de uso para administrador ………………………..……..66

Figura 3.16 Identificación de subsistemas ………………………..……………………...71

Figura 3.17 Subsistema de control de usuarios …………………………………………..74

Figura 3.18 Subsistema de gestión de incidentes y soluciones ………………………….75

Figura 3.19 Subsistema de gestión de reportes de monitoreo …………………………..76

Figura 3.21 Diagrama de clases del sistema ……………………………………………...78

Figura 3.22 Diagrama de despliegue del sistema ………………………………………...79

vii

Figura 3.23 Modelo de la base de datos del sistema ……………………………………..80

Figura 3.24 Pantalla de inicio del sistema ………………………………………………..83

Figura 3.25 Pantalla general de usuarios …………………..…………………..…………83

Figura 3.26 Diagrama de flujo de pantallas …………………..………………………….84

Figura 3.27 Formulario de ingreso de incidentes de falla …………………..…………..87

Figura 3.28 Prueba de ingreso de usuario …………………..……………………………90

Figura 3.29 Mensaje obtenido al ingresar usuario inválido …………………………….91

Figura 3.30 Mensaje obtenido al tratar de ingresar un incidente con campos faltantes 91

Figura 3.31 Resultado obtenido al consultar incidentes por período de tiempo ……...92

Figura 3.32 Incidentes reportados por el Grupo Z-Series entre el 01-01-2008 y el 01-01-

2009 ……………………………………………………………..…………………..……...93

Figura 3.33 Cálculo de indicadores para el grupo Z-Series ……………………………..94

Figura 3.34 Resultado obtenido luego de corregir el error de los indicadores .……….94

Figura 4.1 Diagrama de objetos de la segunda versión del SINCFA …………………...100

Figura 4.2 Diagrama de casos de uso para usuario general ……………………………107

Figura 4.3 Diagrama de casos de uso para usuario MAP ……………………………….108

Figura 4.4 Diagrama de casos de uso para usuario GDS ………………………………..109

Figura 4.5 Diagrama de casos de uso para usuario de confiabilidad ………………….110

Figura 4.6 Identificación de subsistemas para la segunda versión del SINCFA ………113

Figura 4.7 Componentes agregados y modificados en el subsistema de control de

usuarios …………………..…………………..…………………..………………………115

Figura 4.8 Componentes agregados y modificados en el subsistema de gestión de

incidentes y soluciones …………………..…………………..………………………….116

Figura 4.9 Componentes agregados y modificados en el subsistema de gestión de

reportes de monitoreo …………………..…………………..…………………………..117

Figura 4.10 Componentes agregados y modificados en el subsistema de inventario de

componentes AIT …………………..…………………..…………………..……………118

Figura 4.11 Componentes del subsistema de auditoria del SINCFA …………………..119

Figura 4.12 Diagrama de clases para la segunda versión del sistema ………………….120

Figura 4.13 Diagrama de despliegue para la segunda versión del sistema ……………121

viii

Figura 4.14 Modelo de la base de datos del sistema …………………..………………..122

Figura 4.15 Pantalla de inicio del sistema …………………..…………………………..123

Figura 4.16 Estructura general de las pantallas del sistema …………………..………..124

Figura 4.17 Diagrama de flujo de pantallas …………………..………………………...124

Figura 4.18 Componente de calendario en JavaScript …………………..……………..125

Figura 4.19 Pantalla de modificación de componentes ………………………………..126

Figura 4.20 Pantalla de modificación de incidentes ……………………………………126

Figura 4.21 Asignación de fecha de minuta directamente por el sistema …………….127

Figura 4.22 Mensaje de aviso al usuario ………………………………………………...127

Figura 4.23 Prueba de acceso de usuario ya conectado …………………..……………129

Figura 4.24 Prueba de cierre de reporte abierto …………………..…………………...129

Figura 4.25 Prueba de consulta de reporte conjunto …………………..………………130

Figura 4.26 Prueba de longitud de campos en ingreso de incidente ………………….131

Figura 4.27 Mensaje obtenido al tratar de ingresar el incidente ……………………...131

Figura A.1 Planificación inicial del proyecto …………………..………………………142

Figura A.2 Revisión de la planificación del proyecto …………………..……………...143

Figura B.1 Pantalla de ingreso de incidentes …………………..……………………….144

Figura B.2 Pantalla de Verificación de ingreso del incidente …………………………145

Figura B.3 Consulta de incidentes reportados por período de tiempo ……………….145

Figura B.4 Reporte de incidentes por período de tiempo ….…………………..……..146

Figura B.5 Reporte exportado a una hoja de cálculo ………………………………….146

Figura B.6 Cálculo de indicadores operativos de la plataforma ………………………147

Figura B.7 Consulta de incidentes por grupo operativo ………………………………147

Figura B.8 Consulta de incidentes por componente …………………..……………….148

Figura B.9 Consulta de incidentes y soluciones …………………..……………………148

Figura B.10 Pantalla de eliminación de incidente …………………..………………….149

Figura B.11 Reporte conjunto de incidentes de falla …………………..……………...149

Figura B.12 Ingreso de componentes al inventario AIT …………………..…………...150

Figura B.13 Consulta de componentes de inventario AIT ……………………………..150

Figura C.1 Pantalla de ingreso de incidentes …………………..……………………….151

ix

Figura C.2 Pantalla de Verificación de ingreso del incidente …………………………152

Figura C.3 Consulta de incidentes reportados por período de tiempo ……………….152

Figura C.4 Reporte de incidentes por período de tiempo …………………..………...153

Figura C.5 Reporte de incidentes por grupo operativo …………………..…………...153

Figura C.6 Cálculo de indicadores para un grupo operativo ………………………….154

Figura C.7 Consulta de incidentes por fecha de minuta …………………..…………...154

Figura C.8 Imprimir minuta …………………..…………………..…………………….155

Figura C.9 Reporte de incidentes y soluciones …………………..…………………….155

Figura C.10 Pantalla de eliminación de incidente …………………..………………….156

Figura C.11 Consulta de reportes abiertos …………………..………………………….156

Figura C.12 Consulta en conjunto de minutas y Nagios …………………..…………...157

Figura C.13 Consulta de alertas de Nagios por equipo o aplicación …………………..157

Figura C.14 Pantalla de definición de servicio asociado a una aplicación ……………158

Figura C.15 Auditoria del sistema …………………..…………………..………………158

x

Índice de tablas Tabla 3.1 Modelado de actores del negocio…………………………………………….. 52

Tabla 3.2 Clasificación de los requisitos …………………………………………………59

Tabla 3.3 Casos de uso del sistema ………………………………………………………..67

Tabla 3.4 Matriz de Casos de Uso vs. Requisito …………………………………………69

Tabla 3.5 Pruebas de Caja Negra ………………………………………………………….90

Tabla 4.1 Clasificación y Negociación de requisitos …………………………………...104

Tabla 4.2 Descripción de los nuevos casos de uso incorporados a la versión 2 del

SINCFA …..……………………………………………………………………………….111

Tabla 4.3 Matriz de Casos de Uso vs. Requisitos para la segunda versión ……...…….112

Tabla 4.4 Pruebas de caja negra del sistema …………………………………………....128

xi

Agradecimiento

Este documento no hubiera podido realizarse sin el aporte de todas las personas e instituciones que

intervinieron en algún momento sobre el proyecto, y que gracias a su experiencia, interés,

dedicación, apoyo y confianza hicieron posible su realización. Por ello tengo que agradecer:

A la ilustre Universidad de Los Andes, particularmente a la Escuela de Ingeniería de Sistemas, por

contribuir en mi formación profesional.

A la profesora Judith Barrios, por ser una excelente guía y un gran apoyo desde el comienzo hasta

el final del proyecto.

Al ingeniero José Casanova por ser un buen mentor, guía y apoyo dentro de la Empresa.

A todos los miembros de la Coordinación de Confiabilidad, por el apoyo y confianza

suministrados.

A los miembros de las Gerencias MAP y GDS de PDVSA AIT Servicios Comunes Centro que

contribuyeron en el desarrollo del proyecto.

A mi amigo y compañero de clases Manuel Gómez, quien desarrolló su proyecto de grado en la

misma unidad, gracias por ser un excelente apoyo dentro y fuera de la Empresa.

A todos aquellos amigos y compañeros, que de alguna forma intervinieron en la realización de

este trabajo.

1 Introducción

Capítulo 1

Introducción

En un mundo cada vez más dominado por las tecnologías, las empresas se esmeran por obtener un

mejor conocimiento de sus procesos productivos y por lograr una mayor explotación de la

información que estos generan. Dicha información les permite coordinar sus actividades de una

manera eficiente, rápida y con una mejor administración de los recursos. Sin embargo, para que la

información fluya de manera eficiente y oportuna dentro de las diferentes unidades que se pueden

aprovechar de ella para la toma de decisiones, es necesario que la empresa proporcione un conjunto

de instrumentos y canales que, además de servir de soporte para la comunicación entre las unidades

que la integran, posea la flexibilidad suficiente como para adaptarse a los cambios que pueda

experimentar al pasar el tiempo. Es por ello que las grandes empresas dan cada vez más importancia a

las tecnologías que apoyan el flujo de datos y la transmisión de información entre sus miembros.

Petróleos de Venezuela S.A. (PDVSA) no es la excepción a ésta regla. A lo largo de los años se ha

caracterizado por mantenerse a la vanguardia en lo que respecta a la incorporación de tecnologías en

sus procesos, convirtiéndose así en una empresa de alto nivel y dominio tecnológico. La plataforma

tecnológica de la Empresa constituye un activo esencial para el correcto desenvolvimiento de todos

los procesos productivos y por ello resulta vital poder garantizar la mejor disponibilidad posible en los

servicios brindados.

La Gerencia de Automatización, Informática y Telecomunicaciones (AIT) es la encargada de

regir, proveer y mantener los servicios y soluciones integrales de tecnologías de automatización,

información y comunicaciones de la corporación; contribuyendo al mantenimiento de la continuidad

operativa y la ejecución de planes de actualización e innovación. El mantenimiento de la plataforma

tecnológica es una labor a la cual dedican gran cantidad de esfuerzo varias unidades dentro de ésta

gerencia, entre las que destaca la Gerencia de Mantenimiento de la Plataforma (MAP).

2 Introducción

Como toda labor dentro de la empresa, el poder garantizar una alta disponibilidad de los equipos

y sistemas que conforman la plataforma tecnológica involucra toma de decisiones por parte de

miembros a distintos niveles en la organización. Para poder tomar decisiones es necesario conocer a

profundidad la situación actual del problema y el impacto de cada una de las alternativas entre las

cuales se puede elegir. Dicho conocimiento demanda cierta cantidad de información, que no sólo se

requiere que sea veraz, sino también oportuna. Es decir, que esté disponible en el formato adecuado y

en el momento deseado.

La necesidad de información veraz y oportuna ha sido una de las mayores razones para que las

empresas se preocupen más por la organización y procesamiento de dicha información. De allí, el

auge que han tenido los Sistemas de Información Empresariales. El presente proyecto comprende el

desarrollo de un Sistema de Información Web de apoyo a algunas de las actividades de gestión del

mantenimiento de la plataforma tecnológica de PDVSA, particularmente dentro de PDVSA AIT

Servicios Comunes Centro. El sistema automatiza un proceso que era llevado a cabo manualmente y

que comprende el registro y consulta de los reportes de las fallas ocurridas en la plataforma.

1.1 Descripción de la Empresa

Petróleos de Venezuela S.A. (PDVSA) es la corporación estatal venezolana que se encarga de la

exploración, producción, manufactura, transporte y mercadeo de los hidrocarburos del país. Por

mandato de la Constitución de la República Bolivariana de Venezuela, la totalidad de las acciones de

PDVSA pertenecen al Estado Venezolano y se encuentra adscrita al Ministerio del Poder Popular para

la Energía y Petróleo. Es una de las mayores empresas petroleras a nivel mundial y ha sido catalogada

como una de las empresas más grandes del mundo. Actualmente, es la petrolera con mayores reservas

petrolíferas del planeta, alcanzando una suma total de 3,1 billones de barriles. Sus instalaciones se

encuentran distribuidas a lo largo de todo el territorio nacional y posee varias filiales nacionales e

internacionales [1].

PDVSA cumple con todas las actividades propias del negocio petrolero, constituyéndose en una

corporación que abarca todos los procesos, desde la explotación hasta la comercialización de los

3 Introducción

hidrocarburos gaseosos y no gaseosos, y sus derivados. De su cadena de valor (véase Figura 1.1) se

divide en las siguientes cuatro unidades de trabajo:

� Exploración y Producción: Área encargada de la evaluación, exploración, certificación y

perforación de yacimientos petroleros. Es el primer eslabón de la cadena, cubre además la

perforación y construcción de los pozos petrolíferos.

� Refinación: Área encargada de la separación, mejoramiento y obtención de productos o

derivados del petróleo a través de plantas de procesamiento y refinerías.

� Distribución y comercialización: Área encargada de colocar los productos obtenidos (Crudo y

derivados) en los diferentes mercados internacionales.

� Gas: Área encargada de la explotación y comercialización de los hidrocarburos gaseosos. Con

unas reservas probadas por 147 billones de pies cúbicos, Venezuela es una de las potencias

mundiales del sector de hidrocarburos gaseosos.

1.1.1 PDVSA AIT

Para dar apoyo a sus procesos de negocio y ejecutar estos de la manera más eficiente, PDVSA requiere

de una infraestructura tecnológica de vanguardia. Es por ello que existe una gerencia dentro de su

organigrama dedicada exclusivamente a proveer, suministrar y coordinar los servicios y las soluciones

integrales en toda el área que abarca las tecnologías de automatización, información y comunicación;

esta gerencia es la Gerencia AIT de PDVSA (Gerencia de Automatización, Información y

Comunicación). PDVSA AIT no sólo se encarga de contribuir a mantener la continuidad operativa de

la plataforma tecnológica de la empresa, sino que también coordina y ejecuta planes para mantener

dicha plataforma actualizada, todo ello buscando propiciar un ecosistema tecnológico que estimule los

poderes creadores del pueblo, el conocimiento libre, el desarrollo endógeno sustentable y la

economía social productiva con el fin de alcanzar la soberanía tecnológica [2].

4 Introducción

Figura 1.1 Cadena de valor de PDVSA (Fuente: [1])

i) Organización

PDVSA AIT se encuentra dividida en unidades dedicadas a dar apoyo a cada uno de los procesos del

negocio petrolero y a las filiales más importantes de la corporación. Adicionalmente, existen unidades

de apoyo y coordinación de recursos para la ejecución de proyectos de mayor alcance en la empresa.

La organización de las unidades dentro de PDVSA AIT se puede observar en el organigrama de la

Figura 1.2.

ii) AIT Servicios Comunes Centro

Dentro de la gerencia AIT, la línea de servicios comunes es la responsable de coordinar los recursos

necesarios para garantizar la continuidad operativa de los servicios AIT que apoyan los negocios de

PDVSA que conviven en una región determinada (ver Figura 1.3). Existen tres unidades AIT de

Servicios Comunes: Oriente, Occidente y Centro.

AIT Servicios Comunes Centro comprende los servicios de PDVSA AIT en las regiones

metropolitana, centro y sur. Entre los servicios que abarca se pueden mencionar: el mantenimiento

de la plataforma, la gestión del servicio a los usuarios, la implantación de nuevas soluciones, la gestión

5 Introducción

de necesidades y oportunidades en el negocio, entre otras. La Figura 1.3 muestra la estructura

organizativa de PDVSA AIT Servicios Comunes Centro.

El presente proyecto fue desarrollado dentro de la Gerencia de Mantenimiento de la Plataforma

(MAP) de PDVSA AIT Servicios Comunes Centro, en las instalaciones de Intevep ubicadas en Los

Teques, estado Miranda.

Figura 1.2 Estructura organizativa de PDVSA AIT (Fuente: [2])

6 Introducción

Figura 1.2 AIT Servicios Comunes

Figura 1.3 Estructura de PDVSA AIT Servicios Comunes Centro

7 Introducción

1.3 Antecedentes

El mantenimiento de un activo tiene como objetivo primordial garantizar su disponibilidad durante el

mayor tiempo posible, alargando así sus ciclos de vida útil. Las prácticas tradicionales se orientan a la

ejecución de mantenimientos correctivos (actividades de mantenimiento que buscan corregir fallas en

la operación del activo) complementados con mantenimientos preventivos (actividades de

mantenimiento que buscan prevenir fallas en la operación del activo). Sin embargo, el paradigma está

cambiando, la criticidad de los activos hace necesario que las empresas busquen mejorar la

planificación de sus mantenimientos preventivos para garantizar una mayor disponibilidad y disminuir

así los costos asociados. Esto ubica al mantenimiento preventivo prácticamente al mismo nivel, o

incluso un nivel mayor, de importancia respecto al mantenimiento correctivo.

Actualmente, con el objetivo de optimizar sus procesos de gestión del mantenimiento, dentro de

PDVSA se están implantando nuevas prácticas. Entre estas, la Ingeniería de Confiabilidad constituye

una de las principales y más efectivas herramientas, ya que permite optimizar considerablemente el

mantenimiento de los activos basándose en técnicas de análisis estadístico.

La Ingeniería de Confiabilidad (o de fiabilidad) es el estudio de la vida y el fallo de los equipos o

sistemas. El análisis de la confiabilidad de un equipo o sistema busca determinar, entre otras cosas, la

probabilidad de que este ejecute su funcionalidad prevista durante un período de tiempo, operando

bajo un conjunto de condiciones establecidas y para las cuales ha sido diseñado. El concepto de

ingeniería de confiabilidad involucra una amplia gama de metodologías, como por ejemplo:

Mantenimiento Centrado en Confiabilidad (MCC), Análisis Causa Raíz (ACR), Análisis de Datos de

Vida, Modelado y Simulación de Sistemas, Análisis de Criticidad, Inspección Basada en Riesgo (IBR),

entre otras. [3]

A pesar de que las técnicas de la ingeniería en confiabilidad parecieran estar dirigidas

exclusivamente al mantenimiento de equipos y sistemas mecánicos, es posible aplicar dichas técnicas

en cualquier ambiente donde la alta disponibilidad y confiabilidad de los sistemas y equipos sea un

elemento crítico para el negocio [4]. Por ello el enfoque ha sido adaptado a la gestión de

mantenimiento de la plataforma tecnológica de cualquier empresa. En la actualidad, dicha adaptación

está siendo llevada a cabo dentro de PDVSA AIT por la Coordinación de Confiabilidad.

8 Introducción

La Coordinación de Confiabilidad dentro de PDVSA AIT Servicios Comunes Centro (SCC), es

una unidad adscrita a la Gerencia de Mantenimiento Operacional de la Plataforma AIT (MAP) y se

encarga de aplicar prácticas de ingeniería de confiabilidad a la plataforma tecnológica de la empresa, la

cual comprende un conjunto amplio de equipos y aplicaciones, entre las que se pueden mencionar:

servicios de telecomunicaciones, servidores, sistemas de automatización, equipos de infraestructura,

equipos de videoconferencia, redes de alcance local, redes de amplio alcance, sistemas operativos,

herramientas de ofimática, herramientas de gestión de proyectos, soluciones ERP, sistemas de

autogestión, sistemas desarrollados dentro de la empresa, entre otros.

El objetivo principal de la Coordinación de Confiabilidad es supervisar que se cumplan las dos

condiciones mencionadas anteriormente para todas estas tecnologías; es decir, garantizar la

confiabilidad y la disponibilidad de todos los sistemas y equipos que conforman la plataforma

tecnológica de PDVSA AIT Servicios Comunes Centro.

Para el apoyo de su gestión, la Coordinación de Confiabilidad ha definido un conjunto de

estándares y prácticas que le permiten alcanzar los objetivos de su gestión y han implementado varias

metodologías propias de la ingeniería de confiabilidad. Sin embargo, como en toda técnica estadística,

la calidad y precisión de los datos es esencial para que la ingeniería de confiabilidad arroje buenos

resultados. En base a esto, la coordinación obtiene información acerca de las fallas ocurridas y el

mantenimiento realizado para corregirlas a partir de los reportes de falla hechos por los grupos

operativos responsables, también adscritos a la Gerencia MAP.

Por otro lado, el Centro Integral de Monitoreo de PDVSA AIT SCC supervisa continuamente el

estado de los componentes que integran la plataforma y cuyo desempeño resulta crítico para el

negocio. Para el monitoreo de los equipos se utilizan varias aplicaciones, entre las que resalta el

programa Nagios. Este programa, basado en software libre, registra constantemente el estado de los

componentes de la plataforma y de los servicios que ellos prestan, generando notificaciones a los

grupos responsables de su mantenimiento en caso de presentarse alguna anomalía o caída del servicio.

1.4 Planteamiento del Problema

La Coordinación de Confiabilidad de PDVSA AIT SCC se encarga de la evaluación del desempeño de

la plataforma tecnológica de la empresa, manteniendo un registro de las ocurrencias de fallas y

9 Introducción

elaborando, en base a ese registro, análisis que permiten planificar el mantenimiento de la plataforma

y estimar el impacto de las fallas ocurridas, a fin de sugerir prácticas para disminuir su ocurrencia. El

análisis de confiabilidad realizado se centra en la determinación de indicadores de la probabilidad de

que los equipos y sistemas que conforman la plataforma operen sin fallas por un determinado período

de tiempo bajo ciertas condiciones de operación establecidas.

Actualmente se efectúa una “Reunión de Incidentes Diarios”, en la cual los analistas que están de

guardia por cada una de las especialidades que componen la plataforma AIT reportan los incidentes y

novedades que se presentaron durante su guardia. Con los reportes emitidos en esta reunión se genera

una “Minuta de Incidentes Diarios” que contiene la información sobre las novedades reportadas y en la

que se precisan los detalles de los incidentes ocurridos en la plataforma. Una vez armada, la minuta se

pone a disposición del personal que la requiera a través de la intranet de la empresa. Los analistas de

confiabilidad cargan manualmente la información contenida en la minuta en una hoja de cálculo, y

obtienen indicadores determinísticos, como por ejemplo: Tiempo Promedio entre Fallas (TPEF),

Duración de la falla (expresada en horas) y Tiempo Promedio de Solución (TPS). Estos indicadores

sirven como parte del insumo para realizar estudios de criticidad, simulación de sistemas y otros

análisis.

La Coordinación de Confiabilidad desea implementar un Sistema de Información Web, basado en

los estándares de software libre, que apoye sus actividades y que suministre la información que los

analistas requieren para estudiar la confiabilidad de los componentes que conforman la plataforma

tecnológica de la empresa. El sistema a desarrollar debe integrar los reportes de los analistas de

guardia en las reuniones de incidentes diarios y a partir de estos reportes calcular los indicadores ya

mencionados, también debe permitir tener una base de conocimientos acerca de la naturaleza de las

fallas que se presentan en la plataforma y el mantenimiento realizado para corregirlas; adicionalmente,

debe capturar datos del sistema Nagios, utilizado por el Centro Integral de Monitoreo, sobre las

alertas significativas que se detectaron durante la jornada, complementando así los datos suministrados

por los analistas y los indicadores calculados. Se requiere que el sistema esté disponible a través de la

intranet de la empresa para que de ese modo sea accesible a todo el personal involucrado desde

cualquier punto de la red PDVSA.

10 Introducción

1.5 Justificación

Al momento de ocurrir alguna falla en la plataforma, los datos acerca del mantenimiento ejecutado

resultan casi tan importantes como la solución del incidente y la continuidad operativa del servicio

afectado. La información contenida en los reportes elaborados por los analistas debe ser lo más precisa

y completa posible, pues constituye una base de conocimiento de altísimo valor para la organización y

de la cual se pueden obtener muchos productos, como por ejemplo, los indicadores de confiabilidad

de la plataforma.

La generación y el análisis de los indicadores de confiabilidad, permite a los analistas estimar la

vida útil y la criticidad de todos los equipos y sistemas que conforman la plataforma tecnológica de

PDVSA. Mediante estos indicadores es posible realizar simulaciones para estimar, entre otras cosas, el

impacto y la frecuencia de posibles fallas en los sistemas y equipos, haciendo también posible una

adecuada planificación del mantenimiento. Por tratarse de un proceso de carácter vital para la gestión

del mantenimiento y estando basado en técnicas estadísticas, el análisis de confiabilidad requiere de

datos con la mayor exactitud posible.

El proceso mediante el cual se gestionan actualmente las fallas y se analiza la confiabilidad de la

plataforma podría mejorar su eficiencia y precisión, en el sentido de que el cálculo de los indicadores

requiere una dedicación considerable de tiempo por parte de los miembros de la unidad. Además, la

precisión de los valores calculados viene determinada por la veracidad de los datos suministrados por

los analistas en sus reportes, particularmente en cuanto al momento exacto en que se produjo la falla y

la duración de ésta. Otro de los problemas asociados es la falta de estandarización al momento de

generar el reporte, ya que muchas veces se omiten campos importantes acerca de la naturaleza de la

falla.

Además de lo anterior, es conveniente complementar los datos de los reportes de incidentes con

las alertas emitidas por el sistema Nagios, ya que, si bien estas se concentran en la disponibilidad de los

componentes en la red y pueden estar sujetas a alteraciones debido a problemas en la comunicación,

muchas veces aportan datos más precisos en cuanto al instante en que se produjo la falla y el instante

de su finalización, lo que se refleja en los indicadores.

Los problemas de información que poseen actualmente las unidades involucradas pudieran ser

solventados mediante la implementación de un SI que agilice la gestión de los reportes emitidos por

11 Introducción

los analistas, su recuperación y almacenamiento, facilitando así la toma de decisiones y convirtiéndose

en un recurso muy valioso para proporcionar, administrar e interpretar la información por él

generada; además, brindaría un insumo de carácter vital para la gestión del mantenimiento de la

plataforma: un repositorio histórico de incidentes de falla.

Uno de los principales requerimientos que tienen los miembros de la Empresa respecto al sistema

es la posibilidad de que todos los actores involucrados en el proceso puedan utilizarlo de manera

oportuna. Es por ello que se hace necesario que el sistema de información desarrollado esté disponible

a través de la intranet de la Empresa para todos los usuarios involucrados, tratándose entonces de un

tipo particular de SI, conocido como Sistema de Información Web (en inglés Web Information System,

de ahora en adelante SIW).

Enmarcado en el nuevo proyecto que busca la migración de los sistemas dentro de PDVSA hacia

tecnologías libres, para dar así cumplimiento al decreto 3.390, uno de los principales requerimientos

de la Empresa con respecto al SIW es que esté basado en software libre.

1.5 Objetivos

1.5.1 Objetivo General

Desarrollar un Sistema de Información Web basado en software libre que automatice el proceso de

gestión de las fallas ocurridas en la plataforma tecnológica de PDVSA AIT SCC.

1.5.2 Objetivos Específicos

� Realizar un estudio detallado del dominio de aplicación en que se enmarca el sistema

(modelado de negocios).

� Analizar los requisitos de los actores involucrados.

� Realizar un diseño detallado de la estructura y distribución del sistema.

� Desarrollar tablas de datos que almacenen de manera efectiva y organizada las variables de los

procesos involucrados.

12 Introducción

� Diseñar la interfaz web de manera que esté adaptada a los estándares que se manejan dentro

de la empresa y que sea amigable, eficaz y sencilla, para la consulta e interpretación de los

datos.

� Desarrollar los componentes de software que resulten necesarios.

� Realizar pruebas al producto de software para verificar su correcto funcionamiento.

� Refinar iterativamente el Sistema mediante el versionado sucesivo.

� Entregar el sistema listo para su puesta en producción a los miembros de la Coordinación de

Confiabilidad, junto con su documentación y manual de usuarios.

1.6 Metodología

El método a utilizar para el desarrollo del Sistema fue el método Watch para el desarrollo de

aplicaciones empresariales en su versión 2004 [5]. Éste método tiene ventajas en el desarrollo de

aplicaciones, entre las que se pueden mencionar:

� Agrega visibilidad al proyecto de desarrollo, permitiendo que los usuarios del sistema y el

grupo de desarrollo conozcan el estado del proyecto en cualquier momento.

� Facilita al líder del proyecto la planificación y el control del mismo.

� Establece un marco metodológico único que estandariza el proceso de desarrollo y unifica la

información que se produce a lo largo del proyecto.

� Se fundamenta en la ingeniería basada en componentes de software y emplea las mejores

prácticas, técnicas y notaciones utilizadas actualmente en la industria de software.

El método consta de los siguientes tres componentes:

Modelo del producto: que describe el producto que se va a desarrollar, estableciendo las

características arquitectónicas generales de la aplicación.

Modelo del proceso: Mediante el cual se describe de manera estructurada el conjunto de

actividades que el grupo de desarrollo debe seguir para producir la aplicación.

13 Introducción

Modelo del grupo de desarrollo: Que describe los roles que tendrán cada uno de los miembros

del grupo de desarrollo y su organización1.

Dentro del modelo de procesos establecido en el método Watch se establece un marco

metodológico cíclico, iterativo y controlado, mediante el cual en cada iteración se desarrolla una

nueva versión del sistema o un nuevo subsistema. Para el desarrollo del SIW se realizaron dos

iteraciones completas y en cada una de ellas se obtuvo una versión operativa del mismo.

Para el modelado del SIW se utilizó el Lenguaje Unificado de Modelado UML en su versión 2.0.

Este lenguaje permite representar los diferentes aspectos de un sistema de software de una manera

clara y versátil, de modo que cualquier persona lo pueda entender, y que se puedan expresar de

manera explícita y clara las diferentes características del sistema en la etapa previa a su construcción,

obteniendo a la vez una documentación que permite la evolución y revisión del mismo [6]. El

modelado del sistema se hizo utilizando la herramienta CASE Enterprise Architect de Sparx Systems en su

versión 6.1.

Para el desarrollo del sistema se utilizó el lenguaje de programación PHP en su versión 5.2.0-8 y

el manejador de bases de datos PostgreSQL en su versión 8.1.9-0. Se incorporaron funcionalidades en

Javascript para algunos componentes. Para la integración de servicios web se utilizó la librería nuSOAP

en su versión 0.7.3.

1.7 Estructura del documento

El presente documento se estructura de la siguiente manera:

El Capítulo 1 expone los antecedentes del problema de manera introductoria, habla sobre la

Empresa en la que se desarrollo el proyecto y plantea el problema a resolver, justificando su

importancia. Se mencionan los objetivos del proyecto y se habla de la metodología a utilizar.

1 Para efectos del proyecto realizado, el grupo de desarrollo estuvo conformado por el tesista (quien desempeñó varios de los roles dentro de un grupo de desarrollo), el asesor industrial, el tutor académico y ciertos usuarios clave.

14 Introducción

En el Capítulo 2 se hace una breve reseña de las herramientas y conceptos que fueron necesarios

manejar para el desarrollo del proyecto. Se habla acerca de los sistemas de información y su

clasificación, se hace mención del lenguaje de modelado unificado UML, se desarrollan ciertos

conceptos acerca de las bases de datos relacionales y se hace una breve descripción de las herramientas

técnicas más representativas que se utilizaron en el proyecto: el lenguaje de programación PHP, el

manejador de Bases de datos PostgreSQL, la arquitectura orientada a servicios (SOA), entre otros.

En el Capítulo 3 se desarrolla la primera versión del sistema enmarcada en el modelo de procesos

Watch; se comienza con la fase de modelado de negocios en la que se analiza el dominio de la

aplicación y se modelan los principales procesos a automatizar. Se habla acerca de los requisitos de la

aplicación y luego se detalla el diseño del sistema, se mencionan algunos aspectos resaltantes de la

implementación y se habla sobre la fase de pruebas del mismo, se culmina con una breve revisión de

los resultados más importantes obtenidos con la entrega de la primera versión del sistema.

El Capítulo 4 contiene todos los detalles de la implementación de la segunda versión del sistema.

Se hace una breve descripción de los nuevos requisitos incorporados, se resaltan los nuevos

componentes del sistema y se habla acerca de la fase final de pruebas y los resultados obtenidos con la

entrega final del sistema.

El Capitulo 5 abarca las conclusiones y recomendaciones finales del proyecto.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 15

Capítulo 2

Marco Teórico y Herramientas de Soporte

Para el desarrollo del proyecto se hace necesario dominar un conjunto de conceptos y herramientas.

El presente capítulo hace una breve mención de los conceptos íntimamente vinculados con el

proyecto. Se comienza desarrollando el concepto de sistema de información, su clasificación y se habla

del tipo de sistema de información que comprende el proyecto: el sistema de información web, se

exponen algunos conceptos relacionados con la ingeniería de confiabilidad, se mencionan brevemente

los aspectos mas resaltantes de las bases de datos relacionales y del manejador de bases de datos

PostgreSQL, se habla acerca de la arquitectura orientada a servicios (SOA), se explica brevemente el

protocolo SOAP (Simple Access Object Protocol) y se comenta sobre la librería nuSOAP utilizada en el

proyecto. En cuanto a otras herramientas utilizadas, se habla un poco acerca del lenguaje de modelado

unificado (UML) y se explica la estructura y utilidad de los diagramas utilizados en el proyecto;

también se habla del lenguaje de programación PHP.

2.1 Sistemas de Información

Un Sistema de Información es un conjunto de componentes interrelacionados que operan de manera

sistemática para capturar, procesar, almacenar y distribuir información que sirva de apoyo a la toma

de decisiones, la coordinación, el control y el análisis dentro de una organización [7].

En ese sentido, algunas de las características que resultan necesarias para cualquier Sistema de

Información son las siguientes [8]:

� Disponibilidad de información cuando sea necesario y por los medios adecuados.

� Suministro de información de manera selectiva.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 16

� Variedad en la forma de presentación de la información.

� Cierto grado de autonomía para la toma de decisiones

� Tiempo de respuesta adecuado a las necesidades del usuario.

� Exactitud en la información suministrada.

� Generalidad, como las funciones para atender a las diferentes necesidades.

� Flexibilidad, capacidad de adaptación.

� Fiabilidad, para que el sistema opere correctamente.

� Seguridad, protección contra pérdidas.

� Amigabilidad, para el usuario.

2.1.1 Actividades que realiza un sistema de información

Se distinguen cuatro actividades básicas que realiza cualquier sistema de información, las cuales son: la

captura, el procesamiento, el almacenamiento y la salida o distribución de la información [7].

Captura de la Información: Mediante este proceso, el sistema toma los datos que requiere para

procesar la información. La forma como se introducen los datos puede ser manual o automática.

La entrada manual de los datos requiere que estos sean introducidos directamente por el usuario,

mientras que la automática se produce cuando el sistema captura los datos de entrada de otro

sistema o módulo.

Procesamiento de la Información: Es el proceso mediante el cual el sistema de información

realiza transformaciones y cálculos sobre los datos basado en una secuencia de operaciones

preestablecida. Las operaciones pueden ser realizadas sobre los datos recientemente capturados o

sobre aquellos ya almacenados. Mediante la transformación de los datos es posible la toma de

decisiones por parte de los encargados de interpretar la información generada por el sistema.

Almacenamiento de la información: Permite que la información generada en el proceso anterior

pueda ser guardada para ser recuperada más adelante. Por lo general, la información es

almacenada utilizando archivos y bases de datos que utilizan como medio de almacenamiento los

discos magnéticos o discos duros, los discos compactos, los dvds, entre otros.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 17

Salida de la información: Es la capacidad que tiene un sistema de información para mostrar la

información procesada al exterior. La salida de un sistema puede ser la entrada de otro sistema de

información o modulo o puede ser mostrada directamente al usuario en el formato que éste

desee.

2.1.2 Tipos de sistemas de información

En [9] se clasifican los sistemas de información basándose en tres criterios: el grado de cobertura de

las actividades organizacionales, el grado de apoyo a la ejecución de las actividades en la organización y

las tecnologías en las que se basa su desarrollo2. A continuación se describen cada una de estas

clasificaciones.

De acuerdo al grado de cobertura de las actividades organizacionales, un sistema de información

puede clasificarse en:

Sistemas independientes (Sind): Surgen como resultado de requisitos individuales de los

miembros de una organización, apoyando las actividades del usuario en forma completa y sujetos

a las necesidades de éstos.

Sistemas integrados (SII): Están conformados por la conjunción y colaboración de los sistemas de

información ya existentes en la organización.

Sistemas organizacionales (SIO): Proporcionan un grado de cobertura e integración total de las

actividades y procesos organizacionales, aportando así un grado de apoyo máximo a la toma de

decisiones.

De acuerdo al apoyo brindado a la ejecución de las actividades organizacionales los sistemas de

información pueden ser:

Sistemas operacionales (SIOp): Son sistemas de bajo nivel que apoyan la automatización de tareas

y operaciones básicas dentro de una organización, como por ejemplo las actividades

administrativas y de producción.

2 Esta clasificación no es exclusiva, pues los criterios permiten caracterizar a un SI como perteneciente a más de una clasificación

Capítulo 2. Marco Teórico y –Herramientas de Soporte 18

Sistemas gerenciales (SIGe): Están orientados a brindar apoyo a las actividades de nivel gerencial y

de coordinación dentro de la organización.

Sistemas de Apoyo a la Toma de Decisiones (SATD): Son sistemas que contribuyen de forma

directa y explícita al proceso de toma de decisiones dentro de una organización, permitiendo

visualizar el panorama organizacional desde el punto de vista de los resultados y/o consecuencias

de tomar alguna acción en un momento dado.

De acuerdo a las tecnologías en las que se basan, los sistemas de información pueden ser:

� Sistemas cliente/servidor.

� Sistemas basados en tecnologías web.

� Sistemas basados en agentes.

� Sistemas basados orientados a servicios.

Existe una cuarta clasificación de los sistemas de información en base al apoyo de actividades

organizacionales muy especializadas. Dentro de este grupo se encuentran los ya mencionados SATD,

los Sistemas Expertos (SE), que incorporan la automatización de “experticia humana” en la realización

de determinada actividad y Sistemas de Información Geográfica (SIG) que están relacionados con el

manejo de información geográfica o referenciada espacialmente.

2.1.3 Sistemas de Información Web

En [10] se define un Sistema de Información Web (SIW) como: “Un sistema de información que utiliza

una arquitectura web para proporcionar información (datos) y funcionalidad (servicios) a usuarios finales a través

de una interfaz de usuario basada en presentación e interacción sobre dispositivos con capacidad de trabajar en la

web. Los SIW varían ampliamente en su ámbito, desde sistemas de información hasta sistemas de transacciones e-

business, incluso sistemas de servicios web distribuidos”. Se clasifican los sistemas de información web como

sigue:

Capítulo 2. Marco Teórico y –Herramientas de Soporte 19

� Las intranets, que dan apoyo al trabajo interno dentro de la Empresa.

� Los sitios de presencia en la web, los cuales son herramientas utilizadas para alcanzar

consumidores fuera de la empresa.

� Los sistemas de Comercio electrónico que dan apoyo a la interacción con el consumidor.

� Las extranets que son un conjunto de sistemas internos y externos que apoyan las

comunicaciones entre la empresa y otras empresas.

Por lo general, los SIW manejan una gran cantidad de datos, que se encuentra en fuentes

heterogéneas, se maneja en distintos formatos, y un conjunto de componentes que están por lo

general codificados en diferentes lenguajes de programación y están distribuidos en diferentes

plataformas. Al igual que los SI tradicionales, más allá que una infraestructura para la entrega de

información (en tiempo de ejecución), los SIW deben proporcionar una infraestructura de desarrollo

y mantenimiento que permita manejar e interpretar los datos y que proporcione funcionalidades a los

usuarios finales para capturar, almacenar, procesar y mostrar la información, dando solución a sus

necesidades.

Los SIW son diseñados, desarrollados y mantenidos con el propósito de alcanzar objetivos

específicos de los usuarios finales. Éstos objetivos, deben constituir la base del proyecto de desarrollo

de todo SIW.

2.2 Ingeniería de Confiabilidad

Previo a la definición de las técnicas propias de la ingeniería de confiabilidad, se desarrollará un

conjunto de términos que se encuentran íntimamente vinculados con el análisis de confiabilidad. Los

siguientes conceptos fueron tomados de [10].

2.2.1 Conceptos Básicos

Confiabilidad: Se define la confiabilidad como:”la propiedad de un sistema o equipo de cumplir las

funciones para él previstas, manteniendo su capacidad de trabajo bajo los regímenes y condiciones

Capítulo 2. Marco Teórico y –Herramientas de Soporte 20

prescritos y durante el intervalo de tiempo requerido. Dicho de otra forma, la confiabilidad es la

propiedad del sistema de mantenerse sin experimentar un suceso de falla durante el tiempo y las

condiciones de explotación establecidos”. En éste sentido también define falla como sigue:

Falla: “Suceso después del cual un sistema tecnológico deja de cumplir (total o parcialmente) sus funciones. La

falla es la alteración de la capacidad de trabajo del componente o sistema”.

Mantenibilidad: “Es la probabilidad de que un sistema, subsistema o equipo que ha fallado pueda ser

reparado dentro de un período de tiempo determinado”.

Disponibilidad. “Es la probabilidad que un sistema, subsistema o equipo esté disponible para su uso durante

un tiempo dado”.

2.2.2 Definición

La Ingeniería de Confiabilidad se define como la disciplina técnica que estima, controla y gerencia la

probabilidad de fallas en dispositivos, equipos o sistemas, con el propósito de garantizar una alta

disponibilidad y confiabilidad [10].

De la definición anterior, la cuantificación de la confiabilidad (en términos de probabilidades)

resulta esencial. El conocimiento de los parámetros de confiabilidad y mantenibilidad son

determinantes en el cálculo de la disponibilidad de cualquier dispositivo, sistema o equipo. Mediante

éstos parámetros se proporcionan los datos fundamentales para el análisis del mantenimiento,

generando de ése modo gran cantidad de información técnica que resulta vital para la toma de

decisiones.

La gran cantidad de información técnica generada requiere de evaluación permanente y de la

ayuda de sistemas computarizados que permitan un adecuado análisis, interpretación y obtención de

los datos de manera oportuna. Los resultados del esfuerzo en el conocimiento de los indicadores se

traducen en un aumento de la efectividad del proceso productivo, asociado a menores costos de

penalización y mantenimiento; para tales propósitos se desprende la necesidad de un monitoreo

constante mediante un sistema de información que, basado en modelos estadísticos y matemáticos,

sirva de apoyo técnico para la planificación y programación del mantenimiento.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 21

2.2.3 Estimación de la confiabilidad

Para la estimación de la confiabilidad o la probabilidad de fallas, existen dos métodos que dependen

del tipo de data disponible; estos son:

Estimación Basada en Datos de Condición: Altamente recomendable para equipos estáticos,

que presentan patrones de “baja frecuencia de fallas” y por ende no se tiene un “historial de

fallas” que permita algún tipo de análisis estadístico.

Estimación Basada en el Historial de Fallas: Recomendable para equipos dinámicos, los cuales

por su alta frecuencia de fallas, normalmente permiten el almacenamiento de un historial de

fallas que hace posible el análisis estadístico.

Debido a las características de los equipos y sistemas que conforman la plataforma tecnológica de

PDVSA AIT se desarrollarán los conceptos asociados a la estimación del historial de fallas.

2.2.4 Análisis de confiabilidad basado en historiales de falla

Para una adecuada toma de decisiones es necesario tener datos exactos acerca de la ocurrencia de las

fallas. Por lo general, dentro de las industrias existen registros históricos de las fallas de los equipos,

los cuales se encuentran almacenados en grandes bases de datos. La adquisición de los datos se reduce

a la consulta en esas bases de datos.

Sin embargo, la recuperación oportuna de los datos para la realización de mejoras en la

confiabilidad resulta un factor crítico en muchas circunstancias. Muchas veces se considera más

relevante la realización de mejoras inmediatas en los equipos y la corrección de las fallas, que el

registro histórico acerca de las acciones tomadas. La educación de los encargados de tomar las

decisiones y de los recolectores de los datos acerca del valor de la información de los bancos de datos

resulta vital para la mejora de los índices de confiabilidad, ya que se traduce en un incremento en la

veracidad de los datos recolectados [11].

Capítulo 2. Marco Teórico y –Herramientas de Soporte 22

2.2.5 Indicadores de confiabilidad

Los datos históricos del desempeño de los equipos o sistemas pueden ser convertidos en indicadores

de comportamiento fáciles de analizar. Un simple concepto aritmético resulta muy útil en la

estimación de la confiabilidad.

La confiabilidad se observa cuando el tiempo medio de fallas, para dispositivos no reparables o el

tiempo medio entre fallas para aquellos dispositivos reparables es largo comparado con el tiempo de

servicio efectivo. Del mismo modo, cuando los valores de los índices de tiempo medio son pequeños

comparados con el tiempo de servicio efectivo, son indicadores de falta de confiabilidad.

Los recíprocos de los indicadores de tiempo medio proporcionan las tasas de fallas que por lo

general también proporcionan información útil y muchas veces considerada mejor para realizar

cálculos.

Algunos de los indicadores más utilizados son [10]:

Tiempo de disponibilidad (tiempo de trabajo sin fallas): Número de horas de trabajo de un

componente sin fallas.

Tiempo promedio de solución o tiempo promedio para reparar: Es el tiempo medio, en

horas, de duración de la reparación de un elemento después de experimentar una falla.

Intensidad de fallas o rata de fallas: Es el número de fallas ocurridas en un período de tiempo.

Tiempo Promedio entre fallas: Proporciona una medida del tiempo promedio transcurrido entre

las caídas de algún componente.

Probabilidad de trabajo sin fallas o probabilidad de supervivencia: Es la probabilidad de

que en un intervalo de tiempo prefijado (o en los límites de las horas de trabajo dadas) con

regímenes y condiciones de trabajo establecidos, no se produzca ninguna falla, es decir, la

probabilidad de que el dispositivo dado conserve sus parámetros en los límites prefijados

durante un intervalo de tiempo determinado y para condiciones de explotación dadas. Se

denota como Ps(t).

Probabilidad de falla: es la probabilidad de que en un intervalo de tiempo prefijado se produzca al

menos una primera falla. Se denota como Pf(t).

Capítulo 2. Marco Teórico y –Herramientas de Soporte 23

Por lo general, la precisión en los índices mejora entre mayor cantidad de registros históricos

se posea.

2.2.6 Tipos de Mantenimiento

El mantenimiento puede ser clasificado en las siguientes cinco categorías [10]:

Mantenimiento a condición: actividades preventivas y/o correctivas que surgen de la condición

de los equipos, generalmente detectada por sus operadores a través de los dispositivos de

control y monitoreo (scadas, salas de control, panel de instrumentación).

Mantenimiento de rutina y preventivo: incluye el mantenimiento periódico, como la ejecución

de tareas previamente programadas, inspecciones y trabajos menores repetitivos.

Mantenimiento correctivo: es el proceso de efectuar reparaciones tan pronto como sea posible

después del reporte de una falla.

Mantenimiento a frecuencia fija: son los basados en estrategias (horas de operación, tiempo,

volumen de operaciones, entre otras) que generan un plan de mantenimiento.

Mantenimiento para optimizar: implica determinar las causas de descomposturas repetidas y

eliminar la causa mediante la modificación del diseño. Generalmente se ejecutan actividades

como la ingeniería de confiabilidad (principalmente metodologías basadas en el análisis causa

raíz) para optimizar el diseño.

2.3 Bases de datos

Una base de datos es una colección de datos relacionados, es decir un conjunto de hechos que pueden

registrarse y que tienen un significado implícito. Por lo general, las bases de datos representan

aspectos del mundo real y son diseñadas, construidas y pobladas con datos que tienen un propósito

específico, se caracterizan por la coherencia de los datos que la integran. [12]. Hay cinco modelos

principales de bases de datos: el modelo jerárquico, el modelo en red, el modelo relacional, el

modelo de bases de datos deductivas y el modelo de bases de datos orientado a objetos. Para el

desarrollo del proyecto fue necesario manejar el concepto de bases de datos relacionales.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 24

2.3.1 Bases de datos relacionales

Constituye el modelo más utilizado en la actualidad para el modelado de problemas reales y la

administración de datos dinámicamente. Almacena la información en varias tablas (filas y columnas de

datos) o ficheros independientes y realiza búsquedas que permiten relacionar datos que han sido

almacenados en más de una tabla. Se basa en el uso de relaciones, donde cada relación es una tabla

compuesta por registros (las filas de una tabla) y campos (las columnas de una tabla). En el modelo

relacional, cada fila representa un hecho que normalmente se corresponde con un vínculo o una

entidad del mundo real. El nombre de la tabla y de las columnas ayuda a interpretar el significado de

los valores que están en cada fila. En el modelo relacional una fila se denomina tupla, una cabecera de

columnas se denomina atributo y la tabla se denomina relación.

En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia. Esto tiene

la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la

base de datos. La información puede ser recuperada o almacenada mediante “consultas” que ofrecen

una amplia flexibilidad y poder para administrar la información [12].

2.3.2 Lenguaje Estructurado de Consulta (SQL)

Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos

para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Está

diseñado como un lenguaje amplio que incluye instrucciones para definir, consultar y actualizar la base

de datos.

Las funcionalidades que proporciona el SQL van más allá de la simple consulta (o recuperación)

de datos. Permite definir los tipos de datos y manipular los datos. Además, permite la concesión y

denegación de permisos, la implementación de restricciones de integridad y controles de transacción,

y la alteración de esquemas.

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones agregadas.

Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos

[12].

Capítulo 2. Marco Teórico y –Herramientas de Soporte 25

2.3.3 El sistema de gestión de bases de datos PostgreSQL

PostgreSQL es un gestor de bases de datos muy conocido y usado en entornos de software libre por el

conjunto de funcionalidades avanzadas que soporta, lo que lo sitúa al mismo o a un mejor nivel que

muchos otros sistemas gestores comerciales.

El origen de PostgreSQL se sitúa en el gestor de bases de datos “POSTGRES” desarrollado en la

Universidad de Berkeley y que se abandonó en favor de PostgreSQL a partir de 1994. Ya entonces,

contaba con prestaciones que lo hacían único en el mercado y que otros gestores de bases de datos

comerciales han ido añadiendo durante este tiempo.

PostgreSQL se distribuye bajo licencia BSD, que permite su uso, redistribución, modificación con

la única restricción de mantener el copyright del software a sus autores, en concreto el PostgreSQL

Global Development Group y la Universidad de California.

PostgreSQL destaca por su amplísima lista de prestaciones que lo hacen capaz de competir con

cualquier SGBD comercial [13]:

� Está desarrollado en el lenguaje de programación C.

� Posee interfaces compatibles con C, C++, Java, Perl, PHP y TCL, entre otros.

� Cuenta con un rico conjunto de tipos de datos que permiten, además, su extensión mediante

tipos y operadores definidos y programados por el usuario.

� Su administración se basa en usuarios y privilegios.

� Sus opciones de conectividad abarcan TCP/IP, sockets Unix y sockets NT, además de soportar

completamente ODBC.

� Los mensajes de error pueden estar en español y hacer ordenaciones correctas con palabras

acentuadas o con la letra ‘ñ’.

� Es altamente confiable en cuanto a estabilidad se refiere.

� Puede extenderse con librerías externas para soportar encriptación, búsquedas por similitud

fonética (soundex), etc.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 26

� Control de concurrencia multi-versión, lo que mejora sensiblemente las operaciones de

bloqueo y transacciones en sistemas multi-usuario.

� Posee soporte para vistas, claves foráneas, integridad referencial, disparadores,

procedimientos almacenados, subconsultas y casi todos los tipos y operadores soportados en

SQL92 y SQL99.

� Implementación de algunas extensiones de orientación a objetos. En PostgreSQL es posible

definir un nuevo tipo de tabla a partir de otra previamente definida.

2.4 Arquitectura Orientada a Servicios (SOA)

Vista como un marco para el desarrollo de productos de software, la arquitectura orientada a servicios

es un paradigma para utilizar y organizar servicios distribuidos que pueden encontrarse bajo varios

dominios y estar implementados utilizando diferentes tecnologías. Se basa en los conceptos de

escalabilidad y reutilización del software. Por lo general, las organizaciones desarrollan funciones y

aplicaciones que son útiles para automatizar ciertas tareas dentro de los procesos de negocio. Sin

embargo, muchas veces una solución puede ser útil a nivel intermedio para varios procesos o unidades

dentro de la organización con fines diferentes. El concepto de arquitectura orientada a servicios

implica que los desarrolladores creen un conjunto de funciones independientes entre si (llamadas

servicios) que aceptan llamadas y generan respuestas mediante interfaces bien definidas y que son

puestos a disposición de los clientes como utilidades que pueden ser reutilizadas por diversas

aplicaciones dentro de la organización. La implementación de los servicios es transparente para los

usuarios ya que a estos no le interesa conocer sino el tipo y formato de las entradas admitidas y de las

salidas generadas por el servicio [14].

En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros participantes en

la red como servicios independientes a los que tienen acceso de un modo estandarizado. La mayoría

de las definiciones de SOA identifican la utilización de Servicios Web (empleando SOAP y WSDL) en

su implementación, no obstante se puede implementar SOA utilizando cualquier tecnología basada en

servicios [15].

Capítulo 2. Marco Teórico y –Herramientas de Soporte 27

Las arquitecturas orientadas a servicios difieren de las arquitecturas orientadas a objetos en que se

encuentran formadas por servicios débilmente acoplados y altamente interoperables. Estos servicios

definen una estructura para comunicarse entre si que es independiente del lenguaje en que se

encuentran implementados y el lenguaje de programación, todo ello buscando maximizar la

reutilización de los componentes desarrollados [15].

La arquitectura SOA es muy utilizada por las grandes organizaciones en la actualidad, entre tantas

cosas por el hecho de permitir la creación o cambios en los procesos de negocio automatizados de

forma ágil, a través de una composición de nuevos procesos utilizando las funcionalidades del negocio

contenidas en las aplicaciones actuales o futuras consumidas por medio de servicios web. Una

arquitectura de este tipo es la que se muestra en la figura 2.1. De la figura se observa como los

componentes se distribuyen en tres capas:

� La capa de presentación, en la que, a través de las interfaces de usuario generadas, se establece

una relación entre el usuario y el sistema, logrando de esta forma el uso de la aplicación por

parte del usuario. Se le da el formato a los datos recibidos desde el bus de integración con el

fin de que el usuario visualice la información en una página web.

� El bus de integración, en el que se encuentran los servicios web del negocio, así como los

objetos manipulados por esos servicios, y todos los servicios comunes para todas las funciones

de negocio. Esta capa implementa la lógica de negocios de la aplicación.

� La capa de datos que mantiene la implementación de las estructuras que almacenan los datos

de la aplicación (bases de datos).

Capítulo 2. Marco Teórico y –Herramientas de Soporte 28

Figura 2.1 Arquitectura orientada a servicios (Fuente: [16])

Para la implementación del proyecto se utilizó un protocolo basado en servicios web, mejor conocido

como Protocolo de Acceso a Objetos Simples (SOAP, por sus siglas en inglés).

2.5 Protocolo SOAP

SOAP es un protocolo de comunicación definido para el intercambio de datos mediante el paso de

mensajes en formato XML. Define los estándares para la comunicación entre dos objetos de diferentes

procesos a través de una conexión de Internet. Es utilizado para el acceso a servicios web. Permite la

llamada de procedimientos remotos mediante http entre aplicaciones distribuidas en distintos

servidores. Existen varios protocolos parecidos, como por ejemplo RMI de Java y ORPC de CORBA.

Sin embargo, SOAP es uno de los más utilizados y aceptados por las grandes compañías del mundo.

Las principales razones de su éxito son [17]:

Capítulo 2. Marco Teórico y –Herramientas de Soporte 29

� No esta asociado con ningún lenguaje: SOAP no especifica una API, por lo que la

implementación de la API se deja al lenguaje de programación y la plataforma.

� No se encuentra fuertemente asociado a ningún protocolo de transporte: Un

mensaje de SOAP no es más que un documento XML, por lo que puede transportarse

utilizando cualquier protocolo capaz de transmitir texto.

� No está atado a ninguna infraestructura de objeto distribuido: La mayoría de los

sistemas de objetos distribuidos se pueden extender, y muchos de ellos ya lo están para que

admitan SOAP.

� Aprovecha los estándares existentes en la industria: Por ejemplo, SOAP aprovecha

XML para la codificación de los mensajes, en lugar de utilizar su propio sistema de tipo que ya

están definidas en la especificación esquema de XML. Y como ya se ha mencionado, SOAP no

define un medio de trasporte para los mensajes; los mensajes de SOAP se pueden asociar a los

protocolos de transporte existentes como http y SMTP.

� Permite la interoperabilidad entre múltiples entornos: SOAP se desarrolló sobre los

estándares existentes de la industria, por lo que las aplicaciones que se ejecuten en

plataformas con dichos estándares pueden comunicarse mediante mensaje SOAP con

aplicaciones que se ejecuten en otras plataformas.

Existen varias implementaciones de SOAP que proporcionan la estructura para definir servicios

web bajo un lenguaje particular, entre estas implementaciones, para el proyecto se utilizó la librería

NuSOAP elaborada para PHP.

2.5.1 NuSOAP

NuSOAP es un kit de herramientas (ToolKit) para desarrollar servicios web bajo el lenguaje PHP. Está

compuesto por una serie de clases que facilitan el desarrollo de servicios web. Provee soporte para el

desarrollo de clientes (aquellos que consumen los servicios) y de servidores (aquellos que los

proveen). Incorpora métodos que generan los mensajes XML a partir de unas pocas líneas de código

por parte del desarrollador. Además, permite agregar datos nuevos creados por el usuario,

Capítulo 2. Marco Teórico y –Herramientas de Soporte 30

incrementando su flexibilidad. NuSOAP está basado en SOAP 1.1, WSDL 1.1 y http 1.0/1.1. Existen

otras herramientas de soporte para el desarrollo de servicios web bajo PHP, sin embargo NuSOAP es

uno de los que se encuentra en la fase de desarrollo más avanzada, a pesar de que aun se encuentra en

su fase experimental [18].

2.6 Lenguaje de Modelado Unificado (UML)

UML (Unified Modelling Language) es un lenguaje gráfico para el modelado de sistemas de software que

permite representar gráficamente la estructura de un sistema, haciendo posible que cualquier persona,

ajena o no al proceso de diseño, lo pueda entender. Mediante UML se pueden especificar, visualizar y

documentar de manera explícita las características de un sistema de software antes y durante su

construcción. UML es sólo un lenguaje para el modelado, por lo que su utilización es independiente

del proceso de desarrollo, aunque para su uso óptimo debe aplicarse en un proceso centrado en

arquitectura, dirigido a casos de uso, iterativo e incremental [19].

Es lo suficientemente expresivo como para modelar pruebas del sistema, sistemas de hardware,

sistemas de negocios, el flujo de trabajo en una empresa, diseño de estructura de una organización,

actividades de planificación de proyectos y otros sistemas no informáticos.

El UML se deriva de la unificación de tres metodologías de análisis y diseño orientada a objeto, la

metodología de Grady Booch para la descripción de conjuntos de objetos y sus relaciones, la técnica

de modelado orientada a objetos de James Rumbaugh (OMT: Object-Modeling Technique) y la

aproximación de Ivar Jacobson (OOSE: Object Oriented Software Engineering) mediante la metodología de

casos de uso. De estas tres metodologías, las de Rumbaugh y Booch se pueden clasificar como

metodologías directamente orientadas a objetos, mientras que la metodología de Jacobson está

orientada al usuario, ya que todo en su método se deriva de los escenarios de uso del sistema.

Su desarrollo comenzó a finales de 1994 cuando Grady Booch y Jim Rumbaugh de Racional

Software Corporation comenzaron a unificar sus métodos. A finales de 1995, Ivar Jacobson y su

compañía Objectory se incorporaron, aportando el método OOSE. Los anteproyectos de UML

empezaron a circular en la industria de software y las reacciones resultantes trajeron modificaciones

considerables. Conforme diversos corporativos vieron que el UML era útil a sus propósitos se fueron

agregando nuevos aportes. En 1997 se produjo la versión 1.0 del UML y se puso a consideración del

Capítulo 2. Marco Teórico y –Herramientas de Soporte 31

OMG (Object Management Group), propuesto como un lenguaje de modelado estándar. Desde entonces,

UML ha atravesado una serie de revisiones y refinamientos hasta llegar a su versión actual: UML 2.0

[20].

El UML está compuesto por diversos elementos gráficos que se combinan para conformar

diagramas. Como se trata de un lenguaje, UML aporta las reglas para combinar tales elementos. Los

diagramas permiten representar diversas perspectivas de un sistema, indicando lo que supuestamente

hará, pero no la forma como se implementará. En la versión 2.0 del Uml, se define un total de 13

diagramas para representar la estructura y dinámica del sistema. Sin embargo, para efectos del

proyecto solo se utilizaron ciertos diagramas. Los diagramas utilizados en el proyecto se describen a

continuación.

2.6.1 Diagramas de clases

Son utilizados durante el proceso de análisis y diseño conceptual de la información manejada por el

sistema. Son estructuras estáticas que dan una visión general del conjunto de clases existentes en el

sistema modelado y las relaciones existentes entre casa una de ellas. Se trata de diagramas estáticos

pues muestran las relaciones entre las clases pero no especifica su interacción dinámicamente.

2.6.2 Diagramas de componentes

Son utilizados para modelar la estructura del software y las dependencias entre sus componentes.

Modelan y agrupan los componentes del sistema en forma de paquetes, muestra las interfaces de los

componentes, sus dependencias, relaciones e interacciones.

2.6.3 Diagramas de objetos

Son parte de la vista estática del sistema. Permiten modelar las instancias de las clases que fueron

representadas en el diagrama de clases. Muestran los objetos y sus relaciones pero en un momento

concreto del sistema. Pueden incorporar clases para mostrar la clase a la que pertenece un objeto

representado.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 32

2.6.4 Diagramas de despliegue

Muestran la distribución física de los distintos nodos que componen el sistema, la comunicación entre

los nodos y la disposición de los componentes sobre ellos. Un nodo es un recurso de ejecución tal

como un computador, un dispositivo o memoria. Los estereotipos permiten precisar la naturaleza del

equipo. Los elementos utilizados en la representación gráfica de estos diagramas son los mismos que

son utilizados en los diagramas de componentes.

2.6.5 Diagramas de paquetes

Permiten visualizar la distribución de los componentes del sistema en paquetes y las dependencias

entre ellos.

2.6.6 Diagramas de actividades

Son utilizados para modelar el flujo de control de las actividades que tienen lugar a lo largo del tiempo

junto a las tareas concurrentes que pueden realizarse a la vez. Muestra las interacciones entre las clases

mediante el flujo de control de actividades ordenadas cronológicamente con el fin de lograr la

ejecución de un proceso más complejo.

2.6.7 Diagramas de casos de uso

Representan la forma como un usuario opera con el sistema en desarrollo y la forma, tipo y orden en

la que interactúan sus elementos. Los elementos implicados en un diagrama de casos de uso son:

Actores: Son entidades con un comportamiento definido y que realizan alguna interacción con el

sistema. Pueden representar usuarios, organizaciones u otros sistemas informáticos.

Casos de uso: Son descripciones de las secuencias de acciones que se producen de la interacción

entre un actor y el sistema.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 33

Relaciones entre casos de uso: Las relaciones entre los casos de uso son de inclusión y extensión.

Un caso de uso puede incluir a otro caso de uso como parte de su procesamiento. Generalmente

se asume que los casos de uso incluidos se llamarán cada vez que se ejecute el camino base. Un

Caso de Uso puede ser incluido por uno o más casos de uso, ayudando así a reducir la duplicación

de funcionalidad al factorizar el comportamiento común en los casos de uso que se reutilizan. Un

caso de uso puede extender el comportamiento de otro caso de uso típicamente cuando ocurren

situaciones excepcionales o cuando depende de ciertos criterios, entonces se realiza una

interacción adicional. El caso de uso que extiende describe un comportamiento opcional del

sistema a diferencia de la relación incluye que se da siempre que se realiza la interacción descrita.

2.6.8 Diagramas de secuencia

Representan la interacción ordenada entre los objetos de un sistema de acuerdo a una secuencia

temporal de eventos. En particular muestran los objetos que participan en la interacción y los

mensajes que intercambian en orden temporal.

2.7 El lenguaje de programación PHP

PHP es un lenguaje de programación del lado del servidor diseñado originalmente para la generación

de páginas dinámicas. Es un lenguaje de programación interpretado o de script que permite insertar

fragmentos de código dentro de la página HTML y realizar determinadas acciones de una forma fácil y

eficaz sin tener que generar programas en un lenguaje distinto al HTML. Por otra parte, PHP ofrece

un sinfín de funciones para la explotación de bases de datos de una manera llana y sin complicaciones.

Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando

páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los

sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones

de sitios web y en un millón de servidores [21].

Una de sus mayores ventajas es el parecido que posee con otros lenguajes de programación

estructurada como Perl y C que permite a la mayoría de los programadores crear aplicaciones

complejas de manera muy sencilla, pues no se requiere mucho tiempo para su aprendizaje.

Capítulo 2. Marco Teórico y –Herramientas de Soporte 34

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor

ejecuta el intérprete de PHP. Éste procesa el script solicitado y genera de manera dinámica el

contenido. El resultado es enviado por el intérprete al servidor, quien a su vez le envía la página

HTML al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así

como imágenes en diferentes formatos. PHP puede ser ejecutado bajo casi cualquier plataforma

(UNIX, Windows, Mac OS) [21].

Si bien no es un lenguaje completamente orientado a objetos, en su última versión (versión 5.0)

se incorporan varios onstructor de programación orientada a objetos. Su creación y desarrollo se da

en el ámbito de los sistemas libres, bajo la licencia GNU. Existen muchos editores y entornos

integrados de desarrollo disponibles en el mercado para desarrollar aplicaciones en PHP. Para el

desarrollo del sistema se utilizó el editor OpenKomodo de ActiveState en su versión 5.0.

2.8 Conclusiones del capítulo

La importancia de los temas desarrollados en este capítulo radica en que para lograr satisfacer las

necesidades del cliente con respecto al sistema, es necesario tener un conocimiento a profundidad de

los conceptos vinculados y de las herramientas que agilizan el proceso de desarrollo. Este

conocimiento permite abordar el problema de manera eficaz y así obtener un producto de calidad con

el menor esfuerzo posible.

Capítulo 3 Desarrollo de la primera versión del sistema 35

Capítulo 3

Desarrollo de la primera versión del sistema

El presente capítulo describe las fases de desarrollo de la primera versión del Sistema de Gestión de

Incidentes de Falla (SINCFA). Como se mencionó en el Capítulo 1, para el desarrollo del sistema se

utiliza el Método Watch en su versión 2004 [5]. A continuación se describe cada una de las fases

contempladas en el método y que son aplicadas para obtener la primera versión del sistema. Se

comienza hablando de la planificación estimada de recursos y tiempo para la primera fase del

proyecto, se describe el modelado de negocios realizado para la unidad organizativa en estudio (la

Gerencia MAP, específicamente la Coordinación de Confiabilidad), se comenta acerca de los

requisitos de la aplicación y de los casos de uso modelados, se describe el diseño de la arquitectura y la

implementación de los componentes, para finalmente mencionar los resultados obtenidos en las

pruebas de esta primera versión. Se culmina el capítulo con una breve revisión de los requisitos y una

discusión acerca de las ocurrencias de mayor impacto durante el desarrollo.

3.1 Planificación del proyecto

La planificación y estimación de los recursos necesarios para el desarrollo del producto resulta esencial

dentro de cualquier proyecto de desarrollo de software. Durante las primeras conversaciones con los

usuarios y el cliente, se tenía previsto desarrollar el sistema mediante tres iteraciones del método

Watch: la primera iteración se iba a concentrar en el modelado de negocios y la especificación de

requisitos, la segunda iba a enfocarse en el diseño detallado de la arquitectura del sistema y la

implementación de los primeros componentes, mientras que en la tercera iteración se iba a obtener la

implementación definitiva del sistema y las pruebas finales. La planificación se basaba en el supuesto

Capítulo 3 Desarrollo de la primera versión del sistema 36

de que el sistema solamente se encargaría de la generación de indicadores de disponibilidad y fallas en

la plataforma a partir de un conjunto de datos suministrados por los usuarios.

Luego de conversaciones posteriores, durante la fase de análisis del problema, se observa como

los requisitos y expectativas del cliente, respecto al sistema, abarcan un alcance mucho mayor:

automatizar el vaciado de las minutas de reuniones de incidentes diarios, integrando los datos

reportados en estas minutas con los datos manejados por el Centro Integral de Monitoreo, todo ello

con miras a automatizar el proceso de gestión de incidentes de falla en la plataforma desde el

momento en que los grupos solucionadores reportan el incidente, hasta cuando los analistas de

confiabilidad extraen los indicadores. La cantidad de tiempo y recursos necesarios para desarrollar el

sistema se incrementan considerablemente. Es entonces necesario reducir el número de iteraciones

del método Watch a dos e incrementar el tiempo estimado para el desarrollo del proyecto (Ver Anexo

A). En cada iteración se obtiene una versión operativa del sistema, siendo la segunda una versión

“mejorada” de la primera. La primera iteración se concentra en el modelado de los procesos de

negocio, la satisfacción de los principales requisitos del cliente y el desarrollo de los componentes base

del sistema, En la segunda iteración los esfuerzos se concentran en incorporar nuevos requisitos,

desarrollar los componentes necesarios, integrar dichos componentes con los componentes ya

desarrollados en la primera iteración y realizar las pruebas finales al sistema.

3.2 Modelado de Negocios

Esta fase resulta vital dentro del proceso de desarrollo del producto de software, pues permite

obtener un conocimiento a fondo del sistema de negocios u organización bajo la cual se enmarca el

proyecto. Un conocimiento a profundidad del dominio de la aplicación resulta esencial para

determinar de la mejor manera posible sus requisitos [22].

En el contexto de las aplicaciones empresariales, el dominio de aplicación se refiere a la

organización o sistema de negocios que será apoyada por la aplicación o SI, obteniendo como

producto final el modelo de negocios de la organización. Un modelo de negocios es una

representación que captura la estructura y dinámica de la organización objetivo bajo la cual se

incorporará el SI. Mediante el modelo de negocios es posible obtener un conocimiento a profundidad

Capítulo 3 Desarrollo de la primera versión del sistema 37

de la organización, sus problemas de información y los requisitos funcionales que deben ser satisfechos

por el SI [5].

3.2.1 Delimitación del sistema de negocios

Dentro de PDVSA AIT Servicios Comunes Centro, la Gerencia de Mantenimiento de la Plataforma

(MAP) coordina los recursos necesarios para la ejecución del mantenimiento de los equipos y

servicios que integran la plataforma tecnológica. La ejecución del mantenimiento de la plataforma

tiene como objetivo maximizar la disponibilidad de los equipos y sistemas a un mínimo costo. A pesar

de que en el proceso intervienen casi todas las subgerencias de PDVSA AIT SCC, dentro de los

subprocesos que serían apoyados por el SIW sólo interviene directamente la Gerencia MAP, mientras

que la Gerencia de Gestión del Servicio (GDS) actúa indirectamente brindando apoyo en el control de

las reuniones de incidentes diarios. Ambas gerencias aparecen resaltadas dentro del organigrama de la

Figura 3.1.

Figura 3.1 Delimitación del sistema de Negocios

Capítulo 3 Desarrollo de la primera versión del sistema 38

3.2.2 Diagrama de Procesos del negocio Mediante el modelado de los procesos del negocio es posible la descripción de la organización en

términos de las actividades que están diseñadas, organizadas y que se llevan a cabo para que ésta logre

alcanzar sus objetivos [22].

El proceso fundamental que realiza la Gerencia MAP de PDVSA AIT SCC es la ejecución del

Mantenimiento de la Plataforma. Dicho proceso aparece resumido en el diagrama de la Figura 3.2. En

él se establece el conjunto de eventos que originan la realización del proceso, los actores que generan

dichos eventos, los lineamientos que rigen el proceso, el objetivo principal del mantenimiento, los

productos e información que se generan, la información requerida por el proceso y el conjunto de

actores encargados de llevarlo a cabo.

Figura 3.2 Diagrama de procesos del Mantenimiento de la Plataforma 3.2.3 Estructura de la Gerencia MAP

La Gerencia MAP se encuentra organizada en seis unidades operativas y tres unidades de apoyo. Las

unidades operativas coordinan a su vez un conjunto de grupos operativos solucionadores, encargados

de realizar mantenimiento a las especialidades dentro de la plataforma. Las unidades de apoyo

Capítulo 3 Desarrollo de la primera versión del sistema 39

coordinan y controlan los recursos para la ejecución del mantenimiento. La figura 3.3 muestra la

estructura de la Gerencia MAP.

Figura 3.3 Estructura Organizativa Gerencia MAP

3.2.4 Cadena de Valor de la Gerencia MAP

La cadena de valor es una representación del conjunto de procesos que se llevan a cabo dentro de la

organización para el logro de sus objetivos. El concepto de cadena de valor fue popularizado por

Michael Porter en 1985 [23]. De acuerdo con Porter, toda compañía puede entenderse como una

organización humana que ejecuta un conjunto de actividades mediante las cuales se crea valor para el

cliente. La cadena de valor divide estas actividades en dos categorías: actividades primarias, que

abarcan todos los procesos fundamentales mediante los cuales la organización genera valor, y

actividades de apoyo, que no forman parte del proceso productivo como tal, pero brindan soporte

para la ejecución de las actividades primarias. Analizando cada actividad dentro de una organización en

términos de su cadena de valor, una empresa puede aislar las fuentes potenciales de su ventaja

competitiva. A pesar de que el concepto de cadena de valor está basado en empresas de producción,

puede ser ampliado para apoyar la planificación estratégica dentro de cualquier unidad de negocio con

fines claramente establecidos [24].

Gerencia MAP

Infraestructura Transmisión Redes

Planificación y Programación del Mantenimiento

Dispositivos de Campo

Centro Integral de Monitoreo

Confiabilidad de la Plataforma

Plataforma TI Aplicaciones, ATC y Bases de Datos

Capítulo 3 Desarrollo de la primera versión del sistema 40

En el caso de la Gerencia MAP, la cadena de valor es un equivalente a su mapa de procesos y

especifica los procesos fundamentales llevados a cabo por la unidad para el logro de sus objetivos junto

con los procesos que no intervienen de manera directa sobre sus actividades pero que permiten la

planificación y optimización del mantenimiento. Dentro del diagrama de la Figura 3.4 se muestra la

cadena de valor de la Gerencia MAP y se resaltan los procesos que serían apoyados por la

implementación del SIW. Estos procesos serán descritos con mayor detalle.

Figura 3.4 Cadena de Valor de la Gerencia MAP

Vale la pena resaltar que la forma como se representan los procesos fundamentales y de apoyo

dentro del diagrama no implican ningún tipo de secuencia. Si bien existe dependencia entre los

resultados de algunos procesos y las entradas de otros, estos se pueden ejecutar simultáneamente o sin

seguir un orden específico.

La clasificación del mantenimiento determina la secuencia de actividades que se llevarán a cabo

durante su ejecución, éste puede ser a condición, a frecuencia fija, preventivo, de optimización y

Capítulo 3 Desarrollo de la primera versión del sistema 41

correctivo. Dependiendo de la naturaleza del mantenimiento, la generación de las órdenes puede ser

una actividad planificada o una reacción ante algún incidente. La ejecución del mantenimiento puede

realizarse remotamente o en sitio. El registro de la actividad de mantenimiento es casi tan importante

como la actividad en si, pues garantiza la existencia de datos históricos acerca de la ocurrencia de fallas

en los equipos y sistemas de la plataforma. La planificación y programación del mantenimiento

comprende la estimación de recursos necesarios para las actividades a ejecutar, la definición de

estrategias a aplicar con el fin de optimizar el desempeño de la plataforma y muchas veces, la

generación de órdenes de mantenimiento preventivos o de optimización. La planificación del

mantenimiento muchas veces se apoya en los análisis realizados aplicando ingeniería de confiabilidad.

La aplicación de ingeniería de confiabilidad utiliza los datos estadísticos generados en el proceso de

registro de las actividades de mantenimiento para emitir análisis y recomendaciones útiles para

optimizar el desempeño de las actividades de mantenimiento. El proceso de ingeniería de

confiabilidad involucra también la supervisión y control del estado de la plataforma. El monitoreo de

la plataforma detecta actividades de mantenimiento a condición y genera las órdenes

correspondientes. A continuación se explican detalladamente los procesos resaltados en la Figura 3.4.

i) PF 4 Registrar mantenimiento ejecutado

La existencia de una orden de mantenimiento conlleva a que los analistas dentro de las especialidades

de la Gerencia MAP ejecuten actividades de mantenimiento de manera remota o en el sitio donde

corresponda. Una vez ejecutado el conjunto de actividades, se elabora un registro ordenado y

detallado del mantenimiento realizado. Esto permite reunir datos históricos sobre los incidentes y

problemas ocurridos en sistemas y equipos, los modos en que se pueden producir las fallas, los

tiempos de operación entre las fallas de la plataforma, el impacto de los incidentes sobre el negocio, la

cantidad de recursos (tiempo, dinero, recursos auxiliares) utilizados en el mantenimiento, y las

actividades necesarias para finalizar el incidente. El registro del mantenimiento es de suma

importancia porque cierra el ciclo de la actividad, reflejando la realidad de la ejecución de la misma.

Es importante resaltar que no todas las actividades de mantenimiento son generadas por fallas en la

plataforma, como es el caso de los mantenimientos preventivos y a frecuencia fija. Sin embargo, para

efectos del presente proyecto, las actividades de mantenimiento correctivo fueron el centro de

Capítulo 3 Desarrollo de la primera versión del sistema 42

atención. En la Figura 3.5 se muestra el diagrama del proceso PF 4 señalando, entre otras cosas, sus

entradas, salidas y productos.

ii) PA 2 Aplicar Ingeniería de Confiabilidad

La aplicación de ingeniería de confiabilidad busca lograr la optimización de la plataforma mediante las

actividades de diagnóstico y control de los equipos y sistemas que la integran. El diagnóstico de la

plataforma permite identificar las áreas en las que resulta oportuno realizar mejoras al negocio y

ejecutar acciones correctivas para reducir los costos asociados al mantenimiento, representando una

mejora en la seguridad y confiabilidad de los activos. Mediante las actividades realizadas en el

diagnóstico de la plataforma es posible establecer una ruta crítica a seguir para aplicar acciones

óptimas. El control de la plataforma se realiza mediante las herramientas propias de la ingeniería de

confiabilidad (Mantenimiento Centrado en Confiabilidad (MCC) y Análisis Causa Raíz (ACR)) que

contribuyen a controlar los parámetros que definen el funcionamiento adecuado de la plataforma y

permiten garantizar que los activos que la conforman se comporten adecuadamente dentro de un

contexto operativo establecido y durante un determinado período de tiempo.

De la mano con las actividades de control de la plataforma, se encuentran las actividades de

optimización. La optimización de la plataforma consiste en el modelado y análisis de los distintos

escenarios que se pueden presentar para así determinar el momento oportuno en el que se pueda

realizar una actividad (mantenimiento mayor, inspección, etc.), permitiendo conocer la viabilidad

económica del mantenimiento y determinar la cantidad óptima de recursos. Ante alguna necesidad de

optimizar el mantenimiento de la plataforma para prolongar su vida útil, se toma la solicitud emitida

por la etapa de control o diagnóstico, se evalúan las diferentes estrategias a optimizar y las vías de

canalización, se ponen en práctica las consideraciones, adecuaciones o mejoras pertinentes y se emiten

las recomendaciones que permiten ajustar el plan de mantenimiento, obteniéndose también insumos

que generan los indicadores operativos de la plataforma. El diagrama general del proceso de aplicación

de ingeniería de confiabilidad se muestra en la Figura 3.6.

Capítulo 3 Desarrollo de la primera versión del sistema 43

iii) PA 3 Monitorear la plataforma

Mediante esta actividad se identifican los mantenimientos a condición en la plataforma, cuya necesidad

pudo generarse de forma preactiva (visualizada en los planes de mantenimiento) o de manera

reactiva(a partir de problemas provenientes de GDS o detectados mediante las herramientas propias

de monitoreo). Dependiendo de la naturaleza de la tarea de mantenimiento identificada, se procede a

generar una orden o se realiza un monitoreo continuo de las variables seleccionadas hasta detectar un

incidente (que genere pérdida total o parcial de la función), el cual genera una orden o tiene una

solución inmediata remotamente. El diagrama de la Figura 3.7 muestra el proceso de forma general.

Figura 3.5 Diagrama del proceso “Registrar mantenimiento ejecutado”

Capítulo 3 Desarrollo de la primera versión del sistema 44

Figura 3.6 Diagrama del proceso “Aplicar Ingeniería de Confiabilidad”

Figura 3.7 Diagrama del proceso “Monitorear la plataforma”

Capítulo 3 Desarrollo de la primera versión del sistema 45

3.2.5 Diagrama de flujo entre procesos para la gestión de incidentes de

falla

Con un mayor conocimiento de los procesos llevados a cabo por la Gerencia MAP, se empieza a

analizar el conjunto de actividades que son automatizadas mediante el SIW. Uno de los tipos de

mantenimientos que se llevan a cabo en la plataforma es el mantenimiento correctivo. La ejecución de

mantenimientos correctivos es generada a partir de incidentes de falla ocurridos durante las guardias

de los analistas de los grupos operativos solucionadores. El flujo de actividades que se describe a

continuación vincula cada uno de los procesos que ya fueron descritos en la parte anterior e incorpora

sin mayor detalle el proceso PF3 Ejecutar Mantenimiento y el proceso llevado a cabo por la Gerencia

de Gestión de Servicio. Vale la pena destacar que estos dos procesos no fueron descritos con mucho

detalle en la parte anterior pues no se considera que se encuentren vinculados esencialmente con el

dominio de la aplicación. El diagrama de la Figura 3.8 muestra el flujo de las actividades llevadas a

cabo para gestionar los reportes de incidentes de falla durante el período de tiempo en que se realiza

el estudio.

La implementación de un SIW para automatizar el proceso permitiría agilizar la consulta y el

cálculo de los indicadores operativos de la plataforma. El papel jugado por la Gerencia GDS se

desplegaría del flujo de actividades principal y pasaría a ser un agregado dentro del proceso de gestión

de incidentes de falla. Armar la minuta dejaría de ser su responsabilidad, pues ésta podría ser obtenida

directamente de la consulta al sistema, evitando así que la Coordinación de Confiabilidad dependiera

de dicho documento para realizar sus análisis. Adicionalmente los indicadores serían complementados

con los datos manejados por el Centro Integral de Monitoreo acerca de las notificaciones emitidas. El

diagrama de actividades propuesto luego de la implementación del SIW se muestra en la Figura 3.9

Capítulo 3 Desarrollo de la primera versión del sistema 46

Figura 3.8 Diagrama de flujo entre procesos para la gestión de incidentes de falla

Capítulo 3 Desarrollo de la primera versión del sistema 47

Figura 3.9 Flujo de actividades a obtener luego de automatizar el proceso

Capítulo 3 Desarrollo de la primera versión del sistema 48

3.2.6 Identificación de las reglas de negocio

Las reglas de negocio describen, controlan y restringen la estructura y las operaciones de la

organización, en nuestro caso de la Gerencia MAP. Para los procesos descritos en la parte anterior se

encontraron las siguientes reglas de negocio:

1. Normas de Seguridad Higiene y Ambiente de PDVSA.

2. Lineamientos del Sistema de Gerencia Integral de Riesgos.

3. Normas de Protección de Activos de Información.

4. Normas de Protección de Activos e Información.

5. Normas Técnicas de PDVSA.

6. Norma SAE JA1011 para definir tipos de mantenimiento.

7. Norma ISO 9000-2000.

8. Normas internacionales de instrumentación y Sistemas (ISA)

9. Normas OSA de administración de seguridad y salud ocupacional.

10. Diariamente los Grupos Operativos Solucionadores (GOS) se encuentran atentos ante cualquier

incidente que surja respecto al desempeño de los servicios que brinda la plataforma AIT y están

preparados para resolver tales incidentes. Las guardias que ejecutan los GOS tienen una duración

de una semana y existe un grupo operativo por cada una de las siguientes especialidades:

� Centro integral de Monitoreo.

� Servidores Windows.

� Servidores AS/400.

� Servidores UNIX.

� Redes WAN.

� Redes LAN.

� Conmutación

� Redes de Transmisión.

� Bases de Datos.

� Respaldo y Almacenamiento.

Capítulo 3 Desarrollo de la primera versión del sistema 49

� SAP.

� SAND.

� STARS-PAWS-RD-RDOJD.

� SICOPROSA-SIGPLAN – Aplicaciones Web-AIT.

� FILIP / SIMAF / SIRET RESET, GADET, SIPREFID, NAF, FUP.

� ATC.

� Servidores Z-Series.

� Soporte Integral.

� Plataformas de Escritorio.

� Dispositivos de campo.

� Control de activos.

� Infraestructura.

� Nómina.

� Seguridad AIT.

� Video Conferencia.

� Instalaciones.

� Soporte a Usuarios Críticos.

11. Simultáneamente a los GOS, el Centro Integral de Monitoreo supervisa el estado y

funcionamiento de la mayoría de los dispositivos físicos y de algunas aplicaciones. Para ello se

apoya en el uso de sistemas especializados en el monitoreo de los recursos. Uno de los más

importantes es el sistema Nagios.

12. El sistema Nagios envía señales a través de la red esperando respuesta por parte de los equipos

(Hosts), en caso de recibir una respuesta, se registra que el equipo está funcionando correctamente

y no se ejecuta ninguna acción. En caso contrario se continúan enviando señales en intervalos de

tiempo cada vez menores, de no detectarse respuesta por parte del equipo se generan

notificaciones vía SMS a los analistas responsables de su mantenimiento, generándose así una

orden de mantenimiento correctivo. El sistema sigue enviando señales al equipo esperando

Capítulo 3 Desarrollo de la primera versión del sistema 50

obtener una respuesta y, al momento de recibirla, registra que el equipo se encuentra

funcionando normalmente.

13. De producirse alguna falla en alguno de los servicios de la plataforma a cualquier nivel dentro de

la organización, la persona que detecta la falla la puede reportar por teléfono a la Gerencia GDS a

través del Centro de Atención al Usuario. El Centro de Atención al Usuario se encarga de

identificar el grupo solucionador correspondiente y generar la orden de mantenimiento.

14. Es responsabilidad del Centro de Atención al Usuario garantizar la disponibilidad de todos los

servicios brindados por AIT SCC. Por ello se encarga de rastrear las órdenes de mantenimiento

emitidas utilizando sistemas especializados en el control y seguimiento de los casos generados por

los usuarios.

15. Al ser notificado con el incidente de falla, el analista de guardia verifica que la falla sea de alguno

de los servicios bajo su supervisión. De ser así procede a determinar la solución del problema, en

caso contrario remite a la persona encargada de reportar la falla (CIM o Centro de Atención al

Usuario) para que reporte al grupo adecuado.

16. Una vez solucionado el incidente, el GOS comunica a quien la notificó que ya ha finalizado el

problema. También le corresponde generar un reporte del mantenimiento ejecutado.

17. Diariamente a las 8:00 a.m. se realiza una reunión de incidentes diarios en la que cada uno de los

analistas de guardia informa acerca de las eventualidades que se produjeron durante la jornada del

día anterior. El analista debe enviar al personal de GDS un reporte escrito indicando los datos del

incidente. La información proporcionada contiene datos acerca del analista de guardia, el tiempo

de inicio y de fin de la falla, el impacto sobre el negocio, el diagnóstico de la causa de la falla, la

acción ejecutada para resolverla y el estado actual del servicio correspondiente (puede ocurrir que

al momento de la reunión no se haya solucionado del todo la falla).

18. Una vez realizada la reunión, el personal de GDS se encarga de integrar todos los reportes, armar

en un documento la minuta de la reunión de incidentes diarios y de ponerlo a disposición de todos

los involucrados.

19. El personal de la Coordinación de Confiabilidad se encarga de revisar la minuta de la reunión

diaria de incidentes y transferir los datos de dicha minuta a una Base de Datos, el proceso de

Capítulo 3 Desarrollo de la primera versión del sistema 51

llenado de la base de datos implica la revisión manual y la depuración del documento de la

minuta.

20. De la base de datos de incidentes se extraen indicadores como tiempo promedio de solución de

fallas (TPSF), el cual viene dado por la ecuación:

NumFallas

FallaHoraInicioónFallaHoraSolucioFallaFechaIniciiónFallaFechaSolucTPSF

NumFallas

iiiii�

���� 1

24*)(24*)(

21. Otro de los indicadores calculados a partir de la base de datos de incidentes es el Tiempo

Promedio Entre Fallas (TPEF) el cual viene dado por:

NumFallasFallaHoraInicioFallaHoraIniciooFallaFechaInicioFallaFechaInici

TPEFNumFallas

i iiii�� �� ���� 2 11 24*)(24*)(

22. De la base de datos de incidentes se extrae el número de fallas por especialidad, que viene

representado por el conteo de incidentes reportado por cada GOS.

De las reglas descritas en la parte anterior, las reglas 10, 12, 15, 16, 17, 19, 20, 21 y 22 son

implementadas como parte de la lógica de negocios del SINCFA.

3.2.7 Modelado de los actores de negocio

Un actor puede ser una persona o una máquina capaz de ejecutar un conjunto de tareas definidas. Los

actores interactúan con el sistema de negocios para satisfacer sus necesidades o proveer recursos. La

identificación y el modelado de los actores que intervienen en el proceso de negocios permiten lograr

un mayor entendimiento de las necesidades de información que motivan el desarrollo del sistema.

Para el desarrollo del SINCFA se identifican cuatro actores principales cuyos objetivos dentro del

dominio de la aplicación se mencionan en la Tabla 3.1.

Capítulo 3 Desarrollo de la primera versión del sistema 52

Actor Objetivos.

Analista de Confiabilidad.

1. Llenar la Base de datos de incidentes a partir de las minutas

de las reuniones de incidentes diarios.

2. Obtener reportes de falla y disponibilidad por especialidad

para un período de tiempo determinado.

3. Obtener reportes de grupos operativos con mayor cantidad

de incidentes.

4. Generar recomendaciones acerca de la criticidad y

confiabilidad de la plataforma

Analistas del Centro Integral de

Monitoreo

1. Monitorear el estado de la plataforma AIT.

2. Reportar incidentes de fallas a los GOS correspondientes.

3. Generar Reportes de incidentes detectados durante una

jornada

Analistas de Grupos Operativos

Solucionadores

1. Atender incidentes ocurridos para los activos de su

especialidad.

2. Proporcionar reportes de incidentes diarios.

3. Reportar solución de incidente de falla.

4. Determinar impacto de la falla sobre la plataforma.

Centro de Atención al Usuario

(GDS)

1. Reunir los reportes enviados por los analistas en las minutas

de incidentes diarios.

2. Suministrar minuta de incidentes diarios a todos los

interesados.

Tabla 3.1 Modelado de actores del negocio

3.2.8 Identificación de los objetos de negocio

En esta actividad se determinan los diferentes tipos de objetos que intervienen en los procesos de

negocio y se definen las relaciones entre estos. La identificación de los objetos del negocio constituye

Capítulo 3 Desarrollo de la primera versión del sistema 53

la primera aproximación a los tipos de datos que serán implementados a través del SIW. En el caso del

SINCFA y sus procesos asociados, se han identificado las siguientes entidades:

Incidente: Al producirse una interrupción o falla en alguno de los componentes de la plataforma se

dice que se ha producido un incidente de falla. Un incidente de falla tiene un único reporte

asociado.

Componente: Un componente de la plataforma es un equipo o sistema que es responsabilidad de un

grupo operativo. Un componente se distingue por un nombre único dentro de la plataforma y una

ubicación.

Minuta: Los incidentes reportados por los analistas durante una reunión de guardia se incluyen en la

minuta de la reunión de incidentes diarios.

AlertaNagios: Cuando el sistema Nagios detecta que un componente no se encuentra funcionando

correctamente se registra una alerta de caída del componente. Cuando sistema detecta que el

componente vuelve a funcionar normalmente se registra el fin de la alerta. Una alerta puede estar

asociada con un único componente.

Notificación: Al momento de detectarse la falla en el componente, el sistema Nagios genera una

notificación a los analistas responsables del mantenimiento. Del mismo modo se generan

notificaciones al momento de finalizar la alerta.

Una vez identificados los objetos que intervienen en los procesos descritos, se procede a modelar

las relaciones entre esos objetos. El diagrama de la Figura 3.10 muestra el modelado de los objetos

principales identificados.

Capítulo 3 Desarrollo de la primera versión del sistema 54

Figura 3.10 Modelado de objetos de negocio

3.3 Ingeniería de Requisitos

Dentro del método Watch, la fase de ingeniería de requisitos comprende dos fases primordiales: una

de ellas es la definición y la otra es la especificación del conjunto de requisitos funcionales y no

funcionales del producto de software. En la fase de definición se clasifican los requisitos y se les asigna

prioridades de acuerdo con las necesidades del cliente. También se lleva a cabo la negociación de los

requisitos, siendo posible que el equipo encargado del desarrollo proponga nuevos requisitos y

modifique algunos de los previamente establecidos a fin de que exista compatibilidad entre los

mismos. La fase de especificación de requisitos deriva un conjunto de modelos en los que se obtiene la

primera visión de lo que será la arquitectura del sistema.

Para la ingeniería de requisitos del SINCFA se comienza realizando una descripción en lenguaje

natural de los necesidades expresadas por el cliente durante las reuniones, a partir de esta descripción

Capítulo 3 Desarrollo de la primera versión del sistema 55

se realiza una clasificación de los requisitos en funcionales y no funcionales y a partir de los funcionales

se generan los casos de uso del sistema.

3.3.1 Definición de los requisitos de software

Para definir los requisitos se deben tomar en consideración los actores del proceso. Dentro de la fase

de modelado de negocio se obtuvo un primer panorama del conjunto de actores dentro de la empresa

que intervenían en los procesos a ser apoyados por el SIW. Sin embargo, en esta fase sólo se

determinaron los objetivos de los actores en el contexto del sistema de negocios y no se fue

totalmente explícito en la definición de los roles de dichos actores en su interacción con el SIW. A

continuación se enuncian los principales actores dentro del proceso de Desarrollo:

Cliente: Es quien tiene el problema y desea que sea solucionado, Éste solicita el desarrollo de un

determinado sistema de software de acuerdo a sus problemas y necesidades, debe aportar sus

ideas al proceso de diseño. En el caso del SIW a implementar, el cliente es la Gerencia MAP de

PDVSA AIT SCC, particularmente la Coordinación de Confiabilidad, la cual está representada

por el líder de la unidad Ing. Máximo Silveira.

Desarrolladores/Analistas: Los miembros del equipo de desarrolladores ejecutan diferentes roles

como por ejemplo: coordinador, analista de sistemas, promotor de software y consejero o guía

informático. Para satisfacer las necesidades del cliente, los desarrolladores intentan cumplir con

sus peticiones en características específicas de calidad. El grupo de desarrolladores y analistas en

este caso viene representado por el tesista Carlos Germán Medina Albornoz, el tutor académico

Prof. Judith Barrios y el tutor industrial ing. José Casanova.

Usuarios del sistema final: La experiencia y aportes brindados por las personas a las cuales está

dirigido el SIW son esenciales para el proceso de desarrollo. En este caso, el grupo de usuarios

finales del SIW, hasta los momentos, está constituido por los miembros de la Coordinación de

Confiabilidad. Sin embargo, se deben permitir diferentes niveles de acceso a los usuarios del

sistema, con miras a que éste pueda ser utilizado por miembros de otras unidades o gerencias. Es

decir, el sistema debe reconocer por lo menos los siguientes perfiles de usuario:

Capítulo 3 Desarrollo de la primera versión del sistema 56

� Administrador: El administrador debe ser capaz de acceder al sistema para la

corrección de fallas, la incorporación de nuevos servicios en el inventario de la

plataforma, el ingreso de datos, la consulta sobre la base de datos de incidentes y la

base de datos de Nagios, la modificación de datos de incidentes ya ingresados y la

eliminación de registros erróneos o que carezcan de interés para el sistema de

negocios.

� Usuario Avanzado: El perfil de usuario avanzado debe permitir tanto el ingreso de

datos, la consulta sobre la base de datos de incidentes y la base de datos de monitoreo

y su comparación, la modificación de datos ya ingresados y la eliminación de registros

erróneos o que carezcan de interés para el sistema de negocios.

� Usuario Intermedio: El usuario intermedio podrá realizar la inserción de datos de

incidentes de falla y realizar consultas sobre la base de datos de incidentes.

� Usuarios Generales: El usuario general podrá consultar sobre la base de datos de

incidentes.

3.3.2 Definición de requisitos según actores

i) Requisitos del Cliente.

1. Los estilos del diseño utilizado en el desarrollo de las páginas web deben cumplir con los

estándares de la gerencia AIT, así como también, los nombres de las páginas, funciones,

variables, procedimientos almacenados, vistas y tablas de datos del sistema.

2. El acceso al sistema solo puede realizarse a través de la intranet de la empresa.

3. Que tenga interfaz gráfica agradable y de fácil entendimiento.

4. Todas las respuestas a las consultas al servidor de base de datos deben ser lo más rápidas y

eficientes posible, es por esto, que se ha definido el tiempo máximo a 60 seg., solo se podrá

exceder este tiempo con una clara justificación del tiempo requerido.

5. El sistema debe validar el perfil del usuario al momento de iniciar sesión contra el directorio

activo de PDVSA.

6. Presentar mensajes de error que sean de fácil comprensión.

Capítulo 3 Desarrollo de la primera versión del sistema 57

7. El sistema debe estar implementado utilizando una arquitectura de tres capas distribuidas en

tres nodos.

ii) Requisitos de los usuarios.

1. Debe permitir la introducción individual de los incidentes de fallas. Los datos introducidos

acerca de cada incidente de falla deben incluir la siguiente información:

a. Fecha de la minuta.

b. Grupo Operativo que reporta.

c. Localidad en la que se produce el incidente.

d. Componente en que se produce el incidente.

e. Resumen de incidente.

f. Fecha de inicio del incidente.

g. Hora de inicio del incidente.

h. Fecha de fin del incidente.

i. Hora de fin del incidente.

j. Causa del incidente.

k. Acciones tomadas para resolver el incidente.

l. Impacto del incidente.

m. Comentarios sobre el incidente.

n. Nombre del analista que reporta.

2. El sistema debe calcular los siguientes indicadores para cada registro de incidente de falla:

a. Tiempo entre falla actual y falla anterior dentro del grupo.

b. Tiempo entre falla actual y falla anterior del componente.

c. Duración de la falla.

3. Generar reportes de las fallas totales ocurridas en la plataforma, es decir, debe ser posible la

generación de reportes que indiquen el número de ocurrencias de fallas en los dispositivos

durante un periodo determinado de tiempo fijado por el usuario. Los reportes de fallas totales

ocurridas deben incluir los indicadores de TPEF, TPSF y Número de fallas para el grupo.

4. Se debe permitir al usuario filtrar los reportes de Falla por Grupo Operativo.

Capítulo 3 Desarrollo de la primera versión del sistema 58

5. Al momento de reportar un incidente, la selección del componente en que se produjo la falla

debe ser dinámica, pues se debe permitir al usuario escoger la ubicación y el grupo operativo

para poder seleccionar luego sólo los componentes dentro de esos dos parámetros.

6. Generar reportes de fallas por componente durante un período de tiempo determinado. Los

reportes de fallas totales ocurridas deben incluir los indicadores de TPEF, TPSF y Número de

fallas para el componente.

7. Generar reportes de soluciones de fallas en los que para cada incidente de falla ocurrido para

un determinado componente, se indiquen las causas, soluciones y acciones tomadas.

8. Permitir realizar reportes conjuntos entre los datos obtenidos de las minutas y los obtenidos a

partir de Nagios.

9. Generar los reportes en formatos fácilmente exportables a alguna hoja de cálculo, de modo

que puedan ser utilizados para el apoyo de informes dirigidos a la alta gerencia.

10. El sistema debe permitir cerrar sesión al usuario actual.

11. El sistema debe permitir al usuario verificar información del reporte del incidente antes de

ingresarla al sistema.

12. El sistema debe incorporar un módulo de ayuda en línea al usuario.

13. Permitir manejar un inventario sencillo de los componentes que integran la plataforma

tecnológica de PDVSA AIT SCC. Este inventario debe incluir el nombre del componente, el

grupo responsable y su ubicación.

iii) Requisitos del desarrollador.

1. El software se debe implantar con el lenguaje de programación PHP en el lado del servidor y

contenidos en HTML y Javascript en el lado del cliente.

2. El sistema gestor de bases de datos debe ser PostgreSQL.

3. El equipo donde se ejecute el sistema debe tener las siguientes características:

a. Memoria principal de al menos 128 megas

b. Procesador mayor a 1.0 Ghz.

c. Un monitor.

d. Un ratón

Capítulo 3 Desarrollo de la primera versión del sistema 59

e. Un Teclado.

f. Una tarjeta de video de 32 MB.

g. Una tarjeta de red con capacidad de conexión a la intranet de la Empresa.

h. El sistema operativo Windows XP o Linux.

i. Navegador Mozilla Firefox 3.0.

3.3.3 Clasificación de los requisitos y definición de prioridades

Los requisitos pueden clasificarse en dos tipos:

Requisitos funcionales: describen las funciones y servicios que el sistema debe hacer.

Requisitos no funcionales: describen las diferentes respuestas que debe dar el sistema ante los

distintos tipos de errores, los cuales imponen restricciones y atributos.

Además de clasificarse, los requisitos son priorizados dependiendo de su importancia para el

desarrollo del producto y el resultado que se desea obtener. Es por esto que los requisitos se clasifican

con números del 1 al 5, siendo el 1 la prioridad más baja (requisito casi prescindible) y el 5 la

prioridad más alta (requisito obligatorio). La Tabla 3.2 muestra la clasificación de los requisitos.

N° de requsito

Nombre del requisito

Clasificación. Prioridad. Tipo de requisito.

R1 El sistema debe cumplir con los estándares de la gerencia AIT.

No Funcional. 4 Restricción.

R2 El acceso al sistema sólo puede realizarse a través de la intranet de la empresa.

No Funcional. 5 Restricción.

R3 El sistema debe incorporar interfaz gráfica agradable y de fácil entendimiento.

No Funcional. 4 Aseguramiento de la calidad.

R4 Las respuestas a las consultas al servidor de base de datos deben ser lo más rápidas y eficientes posible

No Funcional. 4 Aseguramiento de la calidad.

Capítulo 3 Desarrollo de la primera versión del sistema 60

N° de requsito

Nombre del requisito

Clasificación. Prioridad. Tipo de requisito.

R5 Validar el perfil del usuario al iniciar sesión contra el directorio activo.

Funcional. 4 Seguridad.

R6 El sistema debe presentar mensajes de error que sean de fácil comprensión.

No funcional. 3 Aseguramiento de la calidad.

R7 La arquitectura debe ser implementada en 3 capas distribuidas en 3 nodos

No funcional 5 Restricción

R8 Permitir introducir los incidentes de falla.

Funcional. 5 Funcionalidad

R9 Calcular indicadores para cada registro de incidente de falla.

Funcional. 5 Funcionalidad

R10 Generar reportes de las fallas totales ocurridas en la plataforma por período de tiempo.

Funcional. 5 Funcionalidad

R11 Filtrar los reportes de Falla por Grupo Operativo.

Funcional. 5 Funcionalidad

R12 Ingresar componente en que se produjo la falla dinámicamente seleccionando localidad y grupo

Funcional 5 Funcionalidad

R13 Generar reportes de fallas por componente durante un período de tiempo determinado.

Funcional. 4 Funcionalidad

R14 Generar reportes de soluciones de fallas.

Funcional. 5 Funcionalidad

R15 Realizar consultas sobre las alertas registradas por el sistema Nagios comparándolas con los incidentes registrados en las minutas.

Funcional. 3 Funcionalidad

R16 El sistema debe generar los reportes en formatos fácilmente exportables a una hoja de cálculo.

No Funcional. 2 Aseguramiento de la calidad.

Capítulo 3 Desarrollo de la primera versión del sistema 61

N° de requsito

Nombre del requisito

Clasificación. Prioridad. Tipo de requisito.

R17 Permitir cerrar sesión. Funcional. 5 Funcionalidad. R18 El sistema debe permitir al

usuario verificar la información del reporte antes de ingresarla

No Funcional. 4 Uso y factores humanos.

R19 Manejar un inventario de los componentes que integran la plataforma de PDVSA AIT SCC.

Funcional 5 Funcionalidad

R20 El sistema debe incorporar ayuda al usuario.

No funcional. 2 Aseguramiento de la calidad.

R21 El software se debe implantará con el lenguaje de programación PHP en el lado del servidor y contenidos en HTML y Javascript en el lado del cliente.

No Funcional. 5 Restricción.

R22 El sistema gestor de bases de datos debe ser PostgreSQL.

No Funcional. 5 Restricción.

R23 El equipo donde se ejecute el sistema debe tener ciertas características.

No Funcional. 4 Restricción.

Tabla 3.2 Clasificación de los requisitos

Vale la pena resaltar que, a pesar de que el producto aquí mostrado es resultado de un proceso de

refinamiento y validación junto al cliente, en la medida que se sigue avanzando en la primera versión

los requisitos de los actores involucrados y sus expectativas respecto al sistema cambian

constantemente. Por ello se trata de mantener la recolección inicial de requisitos, negociando con el

cliente que aquellos que surgieran sobre la marcha serán considerados para el desarrollo de la segunda

versión. De ese modo se trata de abarcar todos los requisitos enunciados.

3.3.4 Definición de casos de uso

La elaboración de los casos de uso se realiza clasificando las funciones del sistema de acuerdo al actor

al que van dirigidas. La jerarquía de actores definida se muestra en la Figura 3.11.

Capítulo 3 Desarrollo de la primera versión del sistema 62

Figura 3.11 Perfiles de usuario del sistema

La Figura 3.12 indica el modelado de los casos de uso para la interacción del usuario general con

el sistema. La Figura 3.13 muestra los casos de uso para el usuario intermedio, mientras que las

Figuras 3.14 y 3.15 muestran los diagramas de casos de uso para los usuarios avanzado y

administrador respectivamente. En cada diagrama, los casos de uso que se incorporan respecto al

diagrama anterior son resaltados en un color más oscuro.

Capítulo 3 Desarrollo de la primera versión del sistema 63

Figura 3.12 Diagrama de casos de uso para usuario general

Capítulo 3 Desarrollo de la primera versión del sistema 64

Figura 3.13 Diagrama de casos de uso para usuario intermedio

Capítulo 3 Desarrollo de la primera versión del sistema 65

Figura 3.14 Diagrama de caso de uso para usuario avanzado

Capítulo 3 Desarrollo de la primera versión del sistema 66

Figura 3.15 Diagrama de caso de uso para administrador

Capítulo 3 Desarrollo de la primera versión del sistema 67

i) Descripción textual de los casos de uso.

Para una mayor comprensión de la secuencia de tareas asociadas a los casos de uso, se hace una breve

descripción de cada uno de ellos en la Tabla 3.3.

Caso de Uso

Nombre del Caso de Uso

Descripción

CU1 Acceder al sistema El usuario introduce su indicador (nombre de usuario en la red PDVSA) y su clave en la ventana de inicio del sistema.

CU2 Validar perfil de usuario.

El sistema verifica el nombre del usuario y la clave, dándole acceso a un conjunto de funciones de acuerdo a su perfil.

CU3 Consultar incidentes por grupo operativo.

El usuario introduce el nombre de un grupo operativo. El sistema genera un reporte de todas las fallas registradas para los componentes o servicios dentro de ese grupo operativo. Se calcula la duración y tiempo entre fallas para cada incidente.

CU4 Consultar indicadores operativos de la plataforma.

El usuario introduce un período de tiempo para consultar los indicadores de la plataforma. El sistema genera una lista con los grupos operativos y sus indicadores. Los indicadores calculados son el TPEF, el TPSF y el número total de incidentes.

CU5 Consultar incidentes por componente

El usuario introduce el nombre de un componente dentro de la plataforma AIT. El sistema genera un reporte con todos los incidentes de falla registrados para ese componente y sus indicadores. Se calcula la duración y tiempo entre fallas para cada incidente.

CU6 Consultar incidentes por período de tiempo.

El usuario introduce una fecha de inicio y una fecha de fin para consultar los incidentes de falla que se produjeron durante ese período. El sistema genera un reporte de los incidentes registrados entre esas fechas. Se calcula la duración y tiempo entre fallas para cada incidente.

CU7 Consultar alertas de Nagios por período de tiempo.

El usuario introduce el período de tiempo en el que desea consultar las alertas detectadas por Nagios. El sistema genera un reporte con todas las alertas detectadas para ese período de tiempo. También se incluyen los incidentes de falla reportados para ese período.

CU8 Procesar log de Nagios El sistema procesa el archivo de log del sistema Nagios, almacenando las alertas relacionadas con la caída y recuperación de los componentes de la plataforma.

CU9 Consultar reportes de solución de incidentes.

El usuario introduce el nombre de un componente a consultar. El sistema genera un reporte de las fallas registradas para ese componente, los diagnósticos y las soluciones dadas.

Capítulo 3 Desarrollo de la primera versión del sistema 68

Caso de Uso

Nombre del Caso de Uso

Descripción

CU10 Cerrar sesión. El usuario cierra su sesión en el sistema.

CU11 Ingresar datos de incidente de falla

El usuario introduce en un formulario los datos de un incidente de falla. Luego de que el usuario confirme la inserción, el sistema almacena los datos.

CU12 Eliminar incidente. El usuario elimina los datos de un incidente de falla del sistema, para ello introduce la fecha del incidente y el nombre del componente en que se produjo.

CU13 Modificar incidente El usuario actualiza o modifica los datos de algún incidente de falla almacenado, para ello introduce la fecha del incidente y el nombre del componente en que se produjo. El sistema carga luego un formulario para que el usuario edite los datos que considere necesarios.

CU14 Ingresar componente El usuario ingresa un nuevo componente al inventario de componentes de la plataforma AIT. Luego de que el usuario confirme la inserción, el sistema almacena los datos del componente.

CU15 Eliminar componente El usuario elimina un componente del inventario de componentes de la plataforma AIT, para ello introduce el nombre del componente.

CU16 Modificar componente El usuario modifica los datos de un componente dentro del inventario de componentes de la plataforma AIT, para ello introduce el nombre del componente. El sistema luego permite la edición de los datos del componente.

CU17 Consultar inventario de componentes AIT.

El usuario consulta el inventario de componentes de la plataforma AIT. El sistema genera una lista con todos los componentes que integran la plataforma.

Tabla 3.3 Casos de uso del sistema

3.3.5 Matriz Casos de Uso vs. Requisitos

Parte esencial del proceso de ingeniería de requisitos es la validación y verificación de los requisitos

del sistema. Mediante la matriz de Casos de Uso vs. Requisitos es posible determinar si los requisitos

del cliente fueron satisfechos con los casos de uso especificados. En la matriz de la tabla 3.4 se

observa como cada requisito se ve incluido en por lo menos un caso de uso, por lo que se han cubierto

todos los requisitos funcionales del sistema.

Capítulo 3 Desarrollo de la primera versión del sistema 69

Caso de uso Requisito

CU 1

CU 2

CU 3

CU 4

CU 5

CU 6

CU 7

CU 8

CU 9

CU 10

CU 11

CU 12

CU 13

CU 14

CU 15

CU 16

CU 17

R5 � �

R8 � � �

R9 � � � �

R10 � � �

R11 �

R12 �

R13 �

R14 �

R15 � �

R17 �

R19 � � � � �

Tabla 3.4 Matriz de Casos de Uso vs. Requisito

3.4 Diseño del sistema

Una vez especificados y definidos los requisitos, se procede a diseñar el sistema. La fase de diseño

pretende determinar la estructura de la aplicación a fin de satisfacer los requisitos obtenidos en el paso

anterior, estableciendo la interconexión de los distintos subsistemas que la conforman, junto con los

parámetros que regulan que el sistema apoye los procesos de la organización y cumpla con los

objetivos fijados. Dentro de esta fase se establece el conjunto de metas con las que debe cumplir el

diseño, se determina cuáles de los requerimientos se encuentran relacionados con la arquitectura del

sistema, se describen la arquitectura utilizando distintos enfoques, se diseña la interfaz

usuario/sistema y se diseña la base de datos.

3.4.1 Metas de diseño

Con el fin de que la aplicación realmente satisfaga las necesidades expresadas por los actores,

junto con los estándares de rendimiento que se espera que ésta cumpla, es necesario fijar un conjunto

Capítulo 3 Desarrollo de la primera versión del sistema 70

de objetivos o metas para la fase de diseño del sistema. Las metas de diseño se enuncian a

continuación:

� La arquitectura del sistema estará basada en el uso de servicios web que estarán claramente

especificados y que podrán ser reutilizados por cualquier componente que los necesite.

� Los componentes diseñados van a buscar cumplir los requisitos de los actores involucrados de la

manera más eficiente posible.

� La arquitectura estará basada en la utilización de componentes modulares bien estructurados y

con entradas y salidas claramente definidas.

� El diseño será fácil de entender y modificar, permitiendo probar y detectar fallas rápidamente.

� El diseño se caracterizará por una alta cohesión de los componentes dentro de cada subsistema y

un bajo acoplamiento, es decir, poca dependencia de componentes de otros subsistemas.

3.4.2 Definición del estilo arquitectónico y justificación

Para el desarrollo del SIW se sigue un patrón de diseño basado en una arquitectura de 3 capas. En este

enfoque, la lógica de negocios de la aplicación se instala y ejecuta en una localidad distinta a la parte

del programa encargada del manejo de los datos y diferente también a la utilizada para manejar la

interfaz Usuario/Sistema.

La principal ventaja de la utilización de éste patrón está en la capacidad de lograr un sistema

altamente flexible, pues al separar al máximo los tres grupos de componentes dentro de la aplicación,

se puede modificar alguno de los componentes de una capa sin que ello implique hacer modificaciones

sobre los componentes de las otras capas. Al mismo tiempo se obtiene un código más limpio y

entendible, garantizando la mantenibilidad y facilidad de prueba.

La distribución física del sistema es otra de las razones que motivan el uso de éste patrón

arquitectónico, pues el SIW se encuentra alojado en 3 servidores distintos: un servidor web, en el

cual se puede alojar todos los componentes relacionados con la presentación visual del sistema y su

interacción con los usuarios (éste servidor no posee acceso a la base de datos), un servidor de

aplicaciones, en el cual se puede ejecutar toda la lógica de negocios de la aplicación y todo lo

Capítulo 3 Desarrollo de la primera versión del sistema 71

relacionado al acceso a las bases de datos, y finalmente, un servidor de bases de datos, en el que se

alojan los elementos persistentes del sistema.

Debido a la naturaleza de los servidores, toda la lógica asociada con la manipulación de los datos

obtenidos mediante consultas con la base de datos es implementada en el servidor de aplicaciones,

mientras que toda la validación de los datos de entrada y la presentación a los usuarios es manejada

por el servidor web. La comunicación entre el servidor de aplicaciones y el servidor web está basada

en la implementación de servicios web.

3.4.3 Identificación de subsistemas

Luego de analizar las actividades apoyadas por el sistema, se determina que el mejor criterio para la

subdivisión del SIW es la utilización de módulos o subprogramas.

Se realiza la división del sistema en base a los casos de uso, clasificando estos por funcionalidades

similares y dividiendo los subsistemas en funciones más pequeñas que conformarán módulos más

simples. De este modo se obtiene una primera división del sistema en cuatro subsistemas, tal y como

se muestra en la Figura 3.16.

Figura 3.16 Identificación de subsistemas

Capítulo 3 Desarrollo de la primera versión del sistema 72

El subsistema de control de usuarios se encarga de la validación del ingreso de usuarios al sistema,

el subsistema de gestión de incidentes y soluciones contiene los componentes relacionados con el

manejo de los datos de incidentes de falla y los reportes obtenidos, el subsistema de gestión de

reportes de monitoreo se encarga de capturar los datos del sistema Nagios y generar los reportes

correspondientes. El subsistema de inventario de componentes AIT maneja la información referente a

los componentes que integran la plataforma.

3.4.4 Diseño de componentes

Una de las características de un buen diseño es que está formado por componentes o módulos cuyas

entradas y salidas están bien definidas y sus propósitos están claramente establecidos. Un componente

de software representa una pieza de software que libera un conjunto de servicios utilizados a través de

interfaces bien definidas [24].

En base a estos principios, se diseña la arquitectura del sistema especificando el conjunto de

componentes que integran cada uno de sus subsistemas. Debido a que se utiliza un enfoque

arquitectónico de 3 capas, se han resaltado los diagramas con colores distintos para indicar que

pertenecen a capas distintas. De este modo, en los siguientes diagramas se muestran los componentes

de la capa de lógica resaltados en color crema, los componentes de la capa de presentación en color

azul y los componentes de la capa de datos en color verde.

El estilo utilizado en el diseño de los componentes de cada subsistema sigue un mismo patrón que

se caracteriza por:

� En la capa de presentación se incluyen componentes de captura y presentación de datos. Los

componentes de captura de datos por lo general son formularios y se les ha colocado el

estereotipo <<form>> y los componentes de presentación de datos comienzan con la palabra

“Vista”. Existen componentes de presentación que consumen servicios web y se denotan con

el estereotipo <<ws_client>>.

� Los componentes de negocio están representados por el conjunto de servicios web que

implementan la lógica de la aplicación. Estos componentes se especifican con el estereotipo

<<web_sevicet>>.

Capítulo 3 Desarrollo de la primera versión del sistema 73

� En la capa de datos los componentes especificados se refieren a cada una de las tablas de la

base de datos.

Otra característica a resaltar del diseño de los componentes es que se logra un mínimo acoplamiento y

una alta cohesión en cada subsistema.

i) Subsistema de control de usuarios

El subsistema de control de usuarios maneja los datos relacionados con los perfiles del usuario,

abarcando los casos de uso CU1, CU4 y CU18. Los componentes que integran el subsistema se

muestran en la figura 3.17. Se observa que se hace referencia a un componente externo que es el

directorio activo de PDVSA. El directorio activo se encuentra alojado en un servidor externo a la

aplicación y es accedido para validar los perfiles de los usuarios dentro de la red PDVSA.

ii) Subsistema de gestión de incidentes y soluciones

El subsistema de gestión de incidentes y soluciones puede ser visto como el corazón del sistema, pues

maneja los datos relacionados con los incidentes reportados por los analistas que es el objetivo esencial

del sistema dentro de la organización. Comprende los casos de uso CU2, CU3, CU5, CU6, CU7,

CU8, CU9, CU11, CU12, CU14 y CU15. Los componentes que integran el subsistema se muestran

en la Figura 3.18. Se especifican entre paréntesis los componentes que pertenecen a otros

subsistemas.

iii) Subsistema de gestión de reportes de monitoreo

Este subsistema se encarga de procesar los datos capturados del sistema Nagios y permitir la consulta

en conjunto entre los reportes realizados por los analistas y las notificaciones generadas por dicho

sistema. Para ello se vale de un archivo de texto plano (Nagios.log) que registra todas las

notificaciones emitidas por el sistema, el cual procesa y captura los datos que corresponden a las

Capítulo 3 Desarrollo de la primera versión del sistema 74

caídas y recuperaciones de los componentes. Abarca los casos de uso CU10 y CU13. La estructura

del subsistema se muestra en la Figura 3.19.

iv) Subsistema de inventario de componentes AIT.

Este subsistema maneja la información de los componentes (equipos y aplicaciones) que integran la

plataforma tecnológica de PDVSA AIT. Los componentes en él especificados abarcan los casos de uso

CU16, CU18, CU19, CU20 y CU21. Los componentes que integran este subsistema se muestran en

la Figura 3.20.

Figura 3.17 Subsistema de control de usuarios

Capítulo 3 Desarrollo de la primera versión del sistema 75

Figura 3.18 Subsistema de gestión de incidentes y soluciones

Capítulo 3 Desarrollo de la primera versión del sistema 76

Figura 3.19 Subsistema de gestión de reportes de monitoreo

Capítulo 3 Desarrollo de la primera versión del sistema 77

Figura 3.20 Subsistema de inventario de componentes AIT

3.4.5 Diagrama de clases del sistema

A partir del modelo de objetos de negocio obtenido en la primera fase se construye el diagrama de

clases del sistema (Ver Figura 3.21). En él se observa que se han eliminado algunas clases que

aparecían en el diagrama de objetos pero que para efectos de implementación resultan redundantes,

como es el caso de la clase Reporte. También se observa que algunos de los elementos modelados

Capítulo 3 Desarrollo de la primera versión del sistema 78

como actores en la fase de modelado de negocios son incorporados en el diseño, como es el caso de

los analistas y los grupos operativos.

Figura 3.21 Diagrama de clases del sistema

3.4.6 Diagrama de despliegue del sistema

Una vez diseñados los componentes y sus interrelaciones, se procede a definir la distribución de estos

componentes en nodos de proceso. Para especificar el despliegue del sistema se toma en

consideración el requisito R7 en el que se establece que la arquitectura del sistema debe ser de tres

capas distribuida en tres nodos. En el diagrama de despliegue de la Figura 3.22 se resalta la interacción

de ciertos componentes dentro de algunos subsistemas y se incorporan algunos elementos de

configuración.

Capítulo 3 Desarrollo de la primera versión del sistema 79

Figura 3.22 Diagrama de despliegue del sistema

Capítulo 3 Desarrollo de la primera versión del sistema 80

3.4.7 Diseño de la base de datos

Del modelo de clases obtenido en la parte anterior, se realiza un análisis de las clases y entidades que

se identificaron junto con sus atributos y relaciones, armando así el modelo relacional. En la Figura

3.23 se muestra el modelo relacional del sistema. Las claves primarias son precedidas por las letras

PK.

Figura 3.23 Modelo de la base de datos del sistema

Capítulo 3 Desarrollo de la primera versión del sistema 81

i) Dependencias funcionales y esquema normalizado

Sean a y b atributos de una misma tabla o relación T. Se dice que b es funcionalmente dependiente de

a y se denota a -> b, si todo posible valor de a tiene asociado un único valor de b, o lo que es lo

mismo, en todas las tuplas de T en las que el atributo a toma el mismo valor v1, el atributo b toma

también un mismo valor v2. Claramente a -> b no implica b -> a.

De este modo, por ejemplo, para la tabla tr003_componente se observa como nombre_comp ->

ubicación pues conociendo el nombre del componente podemos conocer su ubicación y

nombre_comp -> grupo_op, ya que en la definición del problema el componente solo posee un

grupo responsable de su mantenimiento.

La normalización consiste pues en descomponer los esquemas relacionales (tablas) en otros

equivalentes (puede obtenerse el original a partir de los otros) de manera que se verifiquen unas

determinadas reglas de normalización. Evidentemente las reglas de normalización imponen una serie

de restricciones en lo relativo a la existencia de determinados esquemas relacionales. Según se avance

en el cumplimiento de reglas y restricciones se alcanzará una mayor forma normal.

ii) Primera forma normal

Una tabla está en Primera Forma Normal (1FN) sólo si:

� Todos los atributos son atómicos.

� La tabla contiene una clave primaria

� La tabla no contiene atributos nulos

� La tabla no posee ciclos repetitivos.

Básicamente la regla de la primera forma normal establece que las columnas repetidas deben

eliminarse y colocarse en tablas separadas [12]. El modelo relacional del sistema se encuentra en 1FN,

pues todas las tablas poseen elementos claves primarios, todos los atributos son atómicos y no se

producen columnas con valores repetidos.

Capítulo 3 Desarrollo de la primera versión del sistema 82

iii) Segunda Forma Normal

Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave

dependen de forma completa de la clave principal. Es decir, que no existen dependencias parciales

[12].

En la base de datos se observa cómo para todas las tablas, los atributos dependen exclusivamente y

de forma completa de los valores de la clave principal. Por lo tanto, el esquema se encuentra en

segunda forma normal.

iv) Tercera Forma Normal

Una base de datos se encuentra en Tercera Forma Normal si está en Segunda Forma Normal y cada

atributo que no forma parte de ninguna clave, depende directamente y no transitivamente de la clave

primaria.

Todas las tablas se encuentran en tercera forma normal, pues no existen dependencias de

atributos que no son claves.

3.4.8 Diseño de la interfaz del usuario

Para todos los usuarios, al acceder al sistema a través de la intranet de la empresa, se carga la misma

pantalla de acceso en la que se pide al usuario que ingrese su indicador y clave de red. La pantalla

inicial del sistema se muestra en la Figura 3.24.

Una vez dentro del sistema, la estructura de la interfaz sigue los estándares de presentación de

PDVSA para las aplicaciones disponibles a través de la intranet. En ella se distingue un menú lateral en

el que se señalan las opciones disponibles para el usuario de acuerdo a su perfil, el área de encabezado

en la que se indica el nombre de la aplicación y la fecha, y el área de trabajo en la que se cargan los

contenidos a mostrar (formularios, resultados de consultas a la base de datos, mensajes de error, entre

otros). La Figura 3.25 muestra la estructura general de las pantallas.

El flujo entre las pantallas del sistema se muestra en la Figura 3.26, en él se incluyen las

principales pantallas de los módulos del sistema.

Capítulo 3 Desarrollo de la primera versión del sistema 83

Figura 3.24 Pantalla de inicio del sistema

Figura 3.25 Pantalla general de usuarios

Menú de usuario

Encabezado

Área de trabajo

Capítulo 3 Desarrollo de la primera versión del sistema 84

Figura 3.26 Diagrama de flujo de pantallas

3.5 Fase de Implementación y Pruebas

Esta fase comprende la implementación de las tres capas de la arquitectura que fueron diseñadas en la

parte anterior. Se construyen e integran los componentes de la capa de presentación, los componentes

de la capa de lógica de negocios y los componentes de la capa de datos. Estos componentes son

probados individualmente durante su implementación y, una vez integrados, se realiza un conjunto de

Capítulo 3 Desarrollo de la primera versión del sistema 85

pruebas que permiten determinar si la aplicación cumple con los requisitos funcionales y no

funcionales. El producto final que se obtiene es la primera versión del sistema probada y corregida.

3.5.1 Implementación del sistema

El sistema es implementado en tres servidores (tal y como se tenía previsto durante la fase de diseño).

La capa de presentación es implementada en un servidor web, el cual sólo debe ejecutar las funciones

de captura de datos por parte del usuario y generación de páginas web ya que sólo se puede comunicar

con el servidor de aplicaciones y con el cliente. Los componentes de la capa de lógica de negocios se

implementan en un servidor de aplicaciones que se encarga de la captura y procesamiento de los datos

del servidor de bases de datos, en el que se encuentra implementada la capa de datos del sistema. Los

servidores utilizados para la implementación del sistema son servidores de desarrollo que tienen las

mismas configuraciones que los servidores de producción, de modo que no haya que hacer muchas

configuraciones para ubicar el sistema en su ambiente final de operación.

Se busca garantizar la mantenibilidad del sistema, para ello, se trata de separar al máximo el

código escrito en PHP con el código HTML, se le da particular importancia a la documentación de los

componentes, y se hace énfasis en lograr un sistema altamente modular. Para la nomenclatura de las

funciones y las variables, así como para documentar los componentes, se sigue un conjunto de

lineamientos establecidos por la Gerencia de Desarrollo e Implementación de Soluciones de PDVSA

AIT [16]. Entre los principales estándares seguidos para la nomenclatura se pueden mencionar:

� Se utilizan letras mayúsculas para el inicio de cada palabra de un método y se evita el uso

de guiones en la nomenclatura de métodos.

� Se utiliza el carácter de guión bajo (‘_’) como separador de palabras para los elementos

de los arreglos.

� Se utilizan letras mayúsculas para las variables globales.

� Los comentarios siguen una estructura en la que se indica el autor del código, la versión del componente, la fecha de última modificación, la descripción de las funciones, de los parámetros que reciben y de los valores retornados.

Capítulo 3 Desarrollo de la primera versión del sistema 86

� La nomenclatura de las tablas de la base de datos sigue el formato “tr_num_Nombre_Tabla” donde la r denota que es una tabla regular, num indica el número de la tabla y el nombre de la tabla es separado por caracteres de guión bajo (‘_’).

i) Implementación de la capa de presentación

Durante el desarrollo de la primera versión del sistema se comienza ensamblando los componentes de

la capa de presentación. La interfaz U/S comprende la codificación e integración de componentes del

lado del servidor web y componentes del lado del cliente:

� El código del lado del cliente, contiene los elementos visuales (HTML, controles de servidor

y texto estático) y el código que se debe ejecutar en el navegador del cliente, en la forma de

funciones JavaScript.

� El código del lado del servidor web, contiene la lógica de programación de las páginas y es

implementado mediante segmentos de código PHP embebidos dentro de las páginas HTML y

mediante funciones contenidas en scripts externos a las páginas.

Para la implementación de esta capa se desarrollan cada una de las páginas web identificadas en el

diseño del sistema. El formato de las páginas (color y tamaño del texto, tablas, imágenes, menús de

usuario y formularios) es tomado de la hoja de estilos CSS que utilizan las aplicaciones disponibles a

través de la intranet de PDVSA.

Una de las páginas mas complejas en su desarrollo es la de ingreso de incidentes de falla. Los

requisitos asociados a los reportes de los analistas de guardia, hacen que esta página incorpore varios

aspectos dinámicos. Por ejemplo, para el ingreso del componente en que se produce la falla, el

requisito R12 establece que la selección de este debe ser dinámica, realizándose un filtro previo de

acuerdo al grupo operativo que reporta la falla y la ubicación del componente. Si el componente o la

ubicación son nuevos, o no aparecen en la lista, se permite que el usuario ingrese los datos

correspondientes activándose ciertos campos del formulario. Otros campos que se activan

dependiendo del estado del incidente, son los correspondientes a su solución. Parte de la estructura

Capítulo 3 Desarrollo de la primera versión del sistema 87

del formulario, junto con algunos de los estilos utilizados se muestran en la Figura 3.27. Algunas de

las pantallas de la primera versión del sistema pueden ser apreciadas en el Anexo B.

Figura 3.27 Formulario de ingreso de incidentes de falla

Se desarrolla un repositorio de funciones comunes utilizadas por todos los componentes de la capa

de presentación. Entre las funcionalidades se pueden mencionar: métodos que generan la estructura

de las páginas y del menú dinámicamente de acuerdo al perfil del usuario, funciones de validación,

funciones que llaman servicios web, entre otras.

ii) Implementación de la capa de lógica de negocios

En la capa de lógica de negocios obtenida en esta iteración se implementan las operaciones

encargadas de obtener la información de los incidentes de falla de la plataforma, calcular los

indicadores de disponibilidad y falla, manejar el inventario de componentes y procesar las alertas del

Capítulo 3 Desarrollo de la primera versión del sistema 88

sistema Nagios. En esta capa se encuentran los componentes encargados de la inserción, edición y

modificación de los datos antes mencionados.

La implementación de la lógica de negocios se hace mediante servicios web utilizando la librería

NuSOAP escrita en PHP. Esta librería se encarga de generar dinámicamente el código WSDL, es decir, el

formato XML mediante el cual se describen los datos transferidos entre el servidor de aplicaciones y el

servidor web. Se desarrollan scripts para agrupar servicios que manipulen las mismas tablas en la base de

datos y el acceso a estos servicios desde el servidor web es implementado en scripts externos a las páginas,

de modo que para los componentes de la capa de presentación, la llamada a los servicios web resulta

transparente.

Uno de los componentes más complejos de la capa de lógica de negocios es el encargado de

procesar el log de Nagios. Diariamente se obtiene un archivo de texto que contiene el registro (log) de

las alertas detectadas y las notificaciones emitidas por el sistema durante la jornada. Se desarrolló un

método que procesa dicho archivo y captura el momento en que el sistema detecta la caída de un

componente, almacenando el evento en la base de datos (en la tabla tr005_nagios_alert) como una

caída que no ha finalizado, luego sigue procesando el archivo detectando nuevas caídas y en caso de

capturar una alerta que corresponda a la recuperación de un componente, actualiza el registro

correspondiente en la base de datos. La transferencia del log entre los dos servidores (el servidor de

aplicaciones del SINCFA y el servidor donde se aloja Nagios) y la ejecución del script que lo procesa

son configuradas para llevarse a cabo todos los días a una misma hora como tareas programadas del

sistema operativo.

iii) Implementación de la capa de datos

La implementación de la base de datos del sistema no difiere del diseño que se hizo en el apartado

anterior. La naturaleza de las transacciones y la sencillez de las relaciones hacen que no sea necesario

definir vistas ni restricciones complejas para la recuperación de los datos. Para la administración de la

base de datos se utiliza la herramienta pgAdmin, que facilita la ejecución de las consultas antes de ser

implementadas en la lógica de negocios y hace posible al desarrollador visualizar y manipular

directamente el contenido de la base de datos.

Capítulo 3 Desarrollo de la primera versión del sistema 89

3.5.2 Pruebas del sistema

Las pruebas del sistema buscan lograr detectar y corregir el mayor número de errores posibles y con

una cantidad razonable de tiempo y esfuerzo. En el caso del SINCFA, las pruebas permiten verificar

que la aplicación funciona correctamente en condiciones típicas de operación y que se satisface los

requisitos funcionales y no funcionales determinados previamente. Para el desarrollo de las pruebas se

sigue la siguiente estrategia:

� Se comienza probando individualmente cada uno de los componentes utilizando pruebas

caja negra. En este tipo de prueba se toman datos de entrada considerados sin tomar en

cuenta el funcionamiento interno del componente, utilizando valores ubicados justo en los

límites permitidos y fuera de ellos, donde probablemente ocurran excepciones.

� En caso de detectarse un resultado inesperado durante la ejecución de las pruebas de caja

negra, se realizan pruebas de caja blanca, en las que se rastrea el comportamiento interno

del componente, verificando la ejecución de cada una de las instrucciones involucradas en el

caso de prueba, esto con el fin de detectar y corregir la instrucción en la que se produce el

error.

� La integración de los componentes es probada utilizando pruebas funcionales orientadas

a caso de uso. En estas pruebas se verifica que los componentes que intervienen en cada

caso de uso funcionan correctamente, cumpliendo así con los requisitos funcionales.

� Finalmente se hace una verificación y validación de los requisitos de los actores.

Esto con el fin de detectar el grado de cobertura de los requisitos en la primera versión del

sistema y determinar las metas a cumplir en el desarrollo de la segunda versión.

i) Pruebas de caja negra del sistema

El enfoque funcional o de caja negra consiste en estudiar la especificación de las funciones, la entrada y

la salida con el fin de verificar que los componentes se comportan de la manera esperada. Aquí, la

prueba ideal del software consistiría en probar todas las posibles entradas y salidas del programa. Sin

embargo, se puede generalizar un conjunto de valores que abarque el mayor número de casos de

Capítulo 3 Desarrollo de la primera versión del sistema 90

entrada posibles y de ese modo cubrir varios escenarios a la vez. En el caso del SINCFA se realizan

pruebas de caja negra a los sesenta y ocho (68) componentes del sistema. La Tabla 3.5 muestra

algunas de las pruebas de caja negra realizadas.

Módulo Parámetros de Entrada

Salida Resultado

Acceso de usuarios (UsuarioValido.php)

Clave incorrecta Mensaje indicando que el usuario no es válido.

Satisfactorio, pero se observa un mensaje de advertencia no esperado y que luego es corregido. (Ver Figura 3.28 y Figura 3.29).

Ingreso de incidentes. (IngresoIncidente.php)

Campo obligatorio Faltante.

Mensaje indicando que se deben completar todos los campos del formulario.

Satisfactorio (Ver Figura 3.30).

Reporte de incidentes por período de tiempo. (VistaReporteFecha.php)

Período de tiempo válido.

Lista de los incidentes reportados entre las dos fechas.

Satisfactorio (Ver Figura 3.31).

Tabla 3.5 Pruebas de Caja Negra

Figura 3.28 Prueba de ingreso de usuario

Capítulo 3 Desarrollo de la primera versión del sistema 91

Figura 3.29 Mensaje obtenido al ingresar usuario inválido

Figura 3.30 Mensaje obtenido al tratar de ingresar un incidente con campos faltantes

Capítulo 3 Desarrollo de la primera versión del sistema 92

Figura 3.31 Resultado obtenido al consultar incidentes por período de tiempo

ii) Pruebas de caja blanca

El enfoque estructural o de caja blanca consiste en centrarse en la estructura interna (implementación)

del programa para elegir los casos de prueba. En este caso, la prueba ideal del software consistiría en

probar todos los posibles caminos de ejecución, a través de las instrucciones del código, que puedan

trazarse. Las pruebas de caja blanca son más exhaustivas que las pruebas de caja negra, por lo que son

realizadas solo en aquellos casos de prueba en los que los resultados obtenidos difieren de los

resultados esperados. Esto con el fin de poder rastrear y corregir los errores. El dominio que se tiene

del conjunto de instrucciones asociadas a cada módulo hace que no sea necesario revisar

exhaustivamente el código ni recurrir a análisis de complejidad ciclomática para el diseño de las

pruebas.

Uno de los casos de prueba en los que resulta necesario verificar el funcionamiento interno del

componente fue para el módulo de cálculo de indicadores por grupo operativo. En la prueba realizada

se consultan los indicadores de los grupos operativos entre el 01-01-2008 y el 01-01-2009 y para

Capítulo 3 Desarrollo de la primera versión del sistema 93

probar que el cálculo de los indicadores resulta correcto se toma como prueba el grupo “Z-Series” (los

incidentes reportados por el grupo se muestran en la Figura 3.32).

Figura 3.32 Incidentes reportados por el Grupo Z-Series entre el 01-01-2008 y el 01-01-2009

De acuerdo a la fórmula tomada para el cálculo de los indicadores, se espera que el valor de TPS

sea de (15+22+170)/3 = 69 horas, el TPEF debería valer (268+4988)/2 = 2628 horas y el número

de incidentes reportados por el grupo debe ser 3. Sin embargo en la Figura 3.33 se observa que los

indicadores calculados para el grupo no son los esperados.

Capítulo 3 Desarrollo de la primera versión del sistema 94

Figura 3.33 Cálculo de indicadores para el grupo Z-Series

Luego de revisar el funcionamiento interno del algoritmo encargado de calcular los indicadores,

se observa que el error se produce porque el algoritmo recibe correctamente el parámetro de número

de incidentes, lo que ocasiona que se omita siempre el último incidente de cada grupo en el cálculo de

los indicadores. Se corrige el error y se obtiene el resultado de la Figura 3.34.

Figura 3.34 Resultado obtenido luego de corregir el error de los indicadores

Durante la ejecución de pruebas al sistema se realizan pruebas de caja blanca a ocho (8) módulos del

sistema de un total de sesenta y ocho (68) componentes desarrollados.

iii) Pruebas Funcionales

Para verificar que el sistema satisface los requisitos funcionales recolectados en la fase de ingeniería de

requisitos, se desarrolla un conjunto de pruebas en las que los componentes que intervienen en cada

caso de uso son probados de manera general, en condiciones que simulan las condiciones normales de

operación del sistema. En estas pruebas también se revisa que los componentes se integran de manera

adecuada, cumpliendo con las especificaciones hechas en la fase de diseño. Las pruebas realizadas se

Capítulo 3 Desarrollo de la primera versión del sistema 95

incluyen en un documento de pruebas que es entregado junto con la primera versión del sistema.

Dicho documento contiene un total de diecisiete (17) casos de prueba, varios de los cuales incluyen

algunos escenarios, se realizan un total de veintiocho (28) pruebas funcionales.

iv) Verificación y validación de los requisitos

En esta actividad, se determina que el sistema cumple con los requisitos establecidos en el análisis y

que estos satisfacen las necesidades de los usuarios. La verificación consiste en comprobar que el

sistema cumple con la especificación de requisitos; parte de este proceso fue llevada a cabo durante la

ejecución de las pruebas funcionales orientadas a caso de uso y se encontró que todos los casos de uso

incluidos en el análisis fueron construidos en el sistema.

La validación determina si el sistema satisface las necesidades de los usuarios. Para la entrega final

de la primera versión se hace una presentación al cliente y a los usuarios principales, en la que se

ejecutan los procesos apoyados por el sistema y se comprueba que el comportamiento en condiciones

típicas de operación es el esperado, midiéndose el grado de aceptación y de satisfacción de las

necesidades de información de los usuarios finales. En estas pruebas el cliente sugiere correcciones

que se le deben hacer al sistema para que apoye de manera más efectiva sus funciones. Estas

correcciones son tomadas en cuenta para el desarrollo de la segunda versión.

Vale la pena resaltar que durante todo el proceso de desarrollo, la participación del cliente y los

usuarios fue activa y se realizaron correcciones al sistema en base a las observaciones que iban

surgiendo. Sin embargo, estas últimas pruebas permitieron la validación final de todos los requisitos.

3.6 Conclusiones del capítulo

La primera iteración del método Watch fue la más compleja, ya que se empezó capturando las ideas

difusas que tenía el cliente acerca de lo que deseaba que hiciera el sistema, y en base a estas ideas se

fue construyendo un producto esperando satisfacer sus necesidades. La mayor complicación surgió

debido a que en la medida que el cliente iba madurando sus ideas y participaba en el proceso de

desarrollo, sus expectativas respecto al sistema aumentaban, esto hacía que sus requisitos cambiaran y

que hubiera que incorporar nuevos detalles al diseño sobre la marcha. Sin embargo, una vez hechas las

Capítulo 3 Desarrollo de la primera versión del sistema 96

mejoras necesarias, los actores quedaron satisfechos con el producto obtenido y se establecieron las

bases para el desarrollo de una segunda versión.

Se observó que una de las principales ventajas de utilizar un diseño arquitectónico de tres capas

orientado a servicios fue la facilidad para separar las funciones de cada componente, lo que permitió

detectar y corregir errores rápidamente.

Capítulo 4 Desarrollo de la segunda versión del sistema 97

Capítulo 4

Desarrollo de la segunda versión del sistema

En el presente capítulo se habla del desarrollo de la segunda versión del sistema SINCFA. Para esta

segunda versión se cuenta con un mayor conocimiento de los procesos de negocio y de las necesidades

de información de los usuarios. Este conocimiento, junto con un mayor dominio de las herramientas

utilizadas, permite mejorar los productos obtenidos en la primera versión y alcanzar resultados de

manera más rápida. Se comienza revisando brevemente algunos de los aspectos del modelo de

negocios, se incorporan los nuevos requisitos y se desarrollan los casos de uso correspondientes, se

diseñan los nuevos componentes y se habla sobre la fase de implementación y pruebas de la versión

final. El principal producto de esta fase es el sistema listo para su puesta en producción.

4.1 Revisión del modelo de negocios

En esta iteración los cambios que surgen en el dominio de la aplicación son muy pocos, ya que el

alcance del sistema y los procesos de negocio siguen siendo básicamente los mismos. Sin embargo, se

incorporan nuevas reglas, principalmente relacionadas con el manejo de servicios por parte del

sistema Nagios y con la automatización del proceso de obtención de la minuta de incidentes (que

aparece especificado en la regla 18 del apartado 3.1.6 y que no fue tomado en cuenta para la primera

versión). La incorporación de nuevas reglas hace que se incorporen algunos objetos al modelo de

negocios; no obstante, siguen interviniendo los mismos actores con los mismos objetivos.

Capítulo 4 Desarrollo de la segunda versión del sistema 98

4.1.1 Modelado de las reglas de negocio

Con un mejor conocimiento de los procesos de negocio, se incorporan nuevas reglas que no fueron

tomadas en cuenta durante el desarrollo de la primera versión o que surgieron en la medida que se

conocía mejor el dominio de la aplicación. Las reglas incluidas son las siguientes:

23. Documento de lineamientos y controles de seguridad para las aplicaciones disponibles en la

intranet PDVSA.

24. El sistema Nagios también detecta el estado de servicios dentro de los Hosts. Para Nagios un

servicio es una propiedad de un Host que puede ser monitoreada a través de la red y que tiene

cierto estado en un momento dado, por ejemplo, el espacio en disco o el uso de memoria en

un servidor. El estado de un servicio puede ser normal (internamente se maneja el término

OK), de advertencia (WARNING) o crítico (CRITICAL). El monitoreo de los servicios hace

posible que Nagios supervise el estado de aplicaciones cuyo desempeño resulta crítico para el

negocio. En este sentido, una aplicación puede abarcar varios servicios dentro de varios Hosts

de la plataforma.

25. Para el monitoreo de los servicios la lógica es básicamente la misma, el sistema envía señales

esperando respuesta por parte del servicio dentro del Host, al momento de detectar que el

estado de un servicio es crítico se emiten notificaciones a los grupos responsables y se

registran las notificaciones emitidas, del mismo modo se notifica y registra cuando el estado

del servicio vuelve a la normalidad.

26. Para que un incidente aparezca reportado en la minuta de una reunión, es necesario que el

analista envíe su reporte a GDS antes de las 9:00 a.m., ya que a esa hora es que se pone a

disposición la minuta a los grupos operativos, gerentes y demás interesados. de lo contrario el

reporte aparece registrado en la minuta de la próxima reunión.

27. Es posible calcular la disponibilidad de una aplicación o un componente para un período de

tiempo dado. El porcentaje de disponibilidad viene dado por la razón entre el número de

horas que opera el componente sin fallas y el número total de horas del período consultado

Capítulo 4 Desarrollo de la segunda versión del sistema 99

Estas cuatro reglas fueron tomadas en cuenta durante la implementación del sistema,

adicionalmente se toma en cuenta la regla 18, que tiene que ver con la estructura de la minuta de

incidentes diarios. Esta regla fue incluida en el modelado de reglas y objetos de negocio del capítulo

anterior pero no fue incorporada al diseño ni modelada como un caso de uso.

4.1.2 Modelado de objetos de Negocio

Para el modelado de objetos de negocios en la segunda iteración, se hace distinción entre dos tipos de

componentes: las aplicaciones y los equipos. Durante la primera iteración se tomaba en cuenta un solo

tipo de notificaciones asociadas con componentes físicos de la plataforma. De este modo, los términos

Equipo y AlertaNagiosHost sustituyen a los términos Componente y AlertaNagios de la

primera versión. Los objetos que se incorporan son los siguientes:

Reporte: Los analistas arman un reporte con los datos del incidente de falla. El reporte reúne los

datos de la falla ocurrida y las acciones llevadas a cabo para solventarla. Esta información es

integrada en una minuta de incidentes diarios dependiendo de la hora y la fecha en que se haga el

reporte.

Aplicación: Las aplicaciones críticas en la plataforma son un tipo especial de componentes que están

asociadas a un conjunto de servicios monitoreados por la aplicación Nagios.

Servicio: Tal y como se mencionó anteriormente, un servicio es una propiedad de un Host que puede

ser monitoreada por Nagios a través de la red y que tiene cierto estado en un momento dado.

AlertaNagiosService: Cuando Nagios detecta que un servicio se encuentra en estado crítico, se

registra internamente dicho evento. Cuando sistema detecta que el servicio se encuentra

funcionando normalmente se registra el fin de la alerta. Una alerta puede estar asociada con un

único servicio.

El diagrama de objetos de la segunda versión del sistema se muestra en la Figura 4.1, en ella se

resaltan con un color más oscuro las nuevas entidades incorporadas al modelo.

Capítulo 4 Desarrollo de la segunda versión del sistema 100

Figura 4.1 Diagrama de objetos de la segunda versión del SINCFA

4.2 Requisitos de la segunda versión

Para la segunda versión se incorporan nuevos requisitos, muchos de los cuales fueron surgiendo en la

medida en que se avanzaba en el desarrollo de la primera versión. En esta etapa, los requisitos se

concentran en incorporar las nuevas reglas de negocio y en incrementar los controles de seguridad en

el sistema. Los actores que intervienen en el proceso de ingeniería de requisitos siguen siendo los

mismos, sin embrago, se redefinen los perfiles de los usuarios de la aplicación.

Capítulo 4 Desarrollo de la segunda versión del sistema 101

4.2.1 Redefinición de los perfiles de usuario

Para la primera versión del SINCFA se identificaron cuatro niveles de acceso de los usuarios a las

funciones del sistema. Sin embargo, los perfiles definidos no estaban vinculados con ninguna unidad

específica dentro de la organización. Para la segunda versión se asocia cada uno de los perfiles a un

grupo de usuarios dentro de PDVSA AIT SCC y se obtienen los siguientes tipos de usuario:

Usuario de Confiabilidad: La Coordinación de Confiabilidad es la unidad responsable del sistema,

y sus miembros son los encargados de administrar el SINCFA. Entre sus privilegios se puede

mencionar: auditar el sistema cuando sea necesario, manejar el inventario de equipos y

aplicaciones de PDVSA AIT SCC, modificar los datos de los reportes de incidentes hechos por los

analistas de guardia y consultar todos los reportes generados por el sistema.

Usuario de GDS: Las funciones de los miembros de la Gerencia de Gestión del Servicio están

relacionadas con la consulta y generación de la minuta de incidentes diarios y la supervisión de

que los analistas completen los reportes pendientes por solución, también pueden acceder a

ciertos reportes generados por el sistema.

Usuario de MAP: Son los usuarios que pertenecen a los grupos operativos solucionadores,

responsables de cada una de las especialidades de la plataforma AIT SCC. Sus privilegios se

concentran en la creación de reportes de incidentes de falla y solo pueden modificar los reportes

que hayan quedado pendientes por solución. Además de eso, pueden consultar algunos reportes

generados por el sistema.

Usuario General: Este perfil se mantiene respecto a la primera versión, está representado por los

usuarios dentro de otras unidades de PDVSA AIT SCC y sólo puede hacer ciertas consultas sobre

la base de datos de incidentes.

Capítulo 4 Desarrollo de la segunda versión del sistema 102

4.2.2 Definición de requisitos según actores

i) Requisitos del cliente

1. La jerarquía de roles del sistema debe estar estructurada en el Directorio Activo. Es

responsabilidad del administrador del sistema solicitar a la gerencia responsable de dicho

directorio la creación de los grupos de usuarios correspondientes y las autorizaciones para

cada usuario.

2. Hacer uso de archivos de registros de eventos (Logs) para auditar el sistema y permitir

reconstruir en un momento dado la sesión de algún usuario.

3. Incorporar módulo para la auditoria del sistema.

4. Bloquear la sesión del usuario después de cierto tiempo de inactividad.

5. Minimizar a uno (1) el número de sesiones simultáneas de un usuario en el sistema, evitando

así los accesos no autorizados.

6. La autenticación de los usuarios en la aplicación debe hacerse con la utilización de un canal

seguro, pudiéndose utilizar SSL para obtener HTTPS. Este tipo de canal debe ser utilizado

para las transferencias de datos que se consideren confidenciales o cuando se requiera el

llenado de formularios con datos sensibles. Luego de haberse realizado la autenticación o

transferencia del dato sensible puede proceder a utilizar el protocolo http.

7. Evitar el ingreso a cualquier página de la aplicación, a través de la manipulación del URL o

enlace ubicado en “Favoritos”, sin haber realizado el proceso de autenticación.

8. Evitar arrojar mensajes de advertencia y errores de la aplicación en el navegador de Internet.

En estos casos se debe presentar al usuario un mensaje general sobre lo ocurrido (diseñar una

página estándar para cualquier tipo de error; sin especificar el tipo de error).

9. El módulo de control de inventario de equipos y aplicaciones de la plataforma AIT sólo debe

ser manipulado por cierto tipo de usuarios con privilegios especiales dentro del sistema.

10. Incorporar un módulo para obtener la minuta directamente del sistema, en base a los reportes

ingresados por los analistas.

11. Incorporar un módulo para capturar las alertas emitidas por Nagios para las aplicaciones de la

plataforma.

Capítulo 4 Desarrollo de la segunda versión del sistema 103

ii) Requisitos de los usuarios

2. Se deben hacer más explícitos los mensajes mostrados en la interfaz, permitiendo que el

usuario pueda ubicar fácilmente las funciones dentro del sistema.

3. Incorporar un módulo para que los analistas cierren los reportes pendientes por solución y

para hacer un seguimiento de estos reportes.

4. Se debe incorporar un módulo que lleve control de las guardias de los analistas.

5. Al momento de consultar los incidentes reportados para un equipo o aplicación, se debe

incorporar un indicador de disponibilidad respecto al período de tiempo consultado.

6. Se debe incorporar un módulo para graficar los indicadores.

7. Distinguir entre los analistas que no hayan reportado novedad y aquellos que hayan estado

ausentes en la reunión de guardia.

8. Incorporar un módulo de control de datos de los analistas de los Grupos Operativos

Solucionadores.

9. Incluir un módulo de reportes que permita consultar las alertas emitidas por Nagios y filtrar

dichas alertas por período de tiempo, grupo operativo o por equipo o sistema. Los reportes

deben incorporar el cálculo de los indicadores correspondientes y solamente serán manejados

por la Coordinación de Confiabilidad.

10. Incorporar un módulo de ayuda en línea.

iii) Requisitos del desarrollador

1. La segunda versión debe incorporar controles que agilicen el llenado de la minuta por parte

de los analistas.

2. Se deben realizar mejoras a la interfaz y documentación del sistema.

4.2.3 Clasificación y negociación de requisitos

Luego de analizar la cantidad de esfuerzo asociada con cada requisito se realizan negociaciones con el

cliente a fin de fijar prioridades a estos y enfocar el desarrollo de la segunda versión del sistema

Capítulo 4 Desarrollo de la segunda versión del sistema 104

solamente en aquellos íntimamente vinculados con la gestión de incidentes de falla. La clasificación y

las prioridades de los requisitos se muestran en la Tabla 4.1.

N° de requsito

Nombre del requisito

Clasificación Prioridad Tipo de requisito

R1 La jerarquía de roles del sistema debe estar estructurada en el Directorio Activo.

No Funcional 4 Restricción de seguridad

R2 Hacer uso de archivos de registros de eventos (Logs) para auditar el sistema

No Funcional 3 Aseguramiento de la calidad

R3 Incorporar módulo para la auditoria del sistema.

Funcional 3 Aseguramiento de la calidad

R4 El sistema debe bloquear la sesión del usuario después de cierto tiempo de inactividad.

No Funcional 3 Restricción de seguridad

R5 Se debe minimizar a uno (1) el número de sesiones simultáneas de un usuario en el sistema

No Funcional 4 Restricción de seguridad

R6 La autenticación de los usuarios en la aplicación debe hacerse con la utilización de un canal seguro, pudiéndose utilizar SSL para obtener HTTPS.

No Funcional 3 Restricción de seguridad

R7 Se debe evitar el ingreso a cualquier página de la aplicación sin haberse autenticado primero

No Funcional 2 Restricción de seguridad

R8 Se deben presentar al usuario mensajes generales cuando ocurran errores o excepciones en el sistema.

No Funcional 2 Restricción de seguridad

R9 El módulo de control de inventario de equipos y aplicaciones de la plataforma AIT sólo debe ser manipulado por cierto tipo de usuarios

No Funcional 4 Restricción

Capítulo 4 Desarrollo de la segunda versión del sistema 105

N° de requsito

Nombre del requisito

Clasificación. Prioridad. Tipo de requisito.

R10 Incorporar un módulo para obtener la minuta directamente del sistema

Funcional 5 Funcionalidad

R11 Incorporar un módulo para capturar las alertas emitidas por Nagios para las aplicaciones de la plataforma.

Funcional 5 Funcionalidad

R12 Se deben hacer más explícitos los mensajes mostrados en la interfaz, permitiendo que el usuario pueda ubicar fácilmente las funciones dentro del sistema

No Funcional 2 Uso y factores humanos.

R13 Incorporar un módulo para que los analistas cierren los reportes pendientes por solución y para hacer un seguimiento de estos reportes

Funcional 4 Funcionalidad

R14 Incorporar un módulo que lleve control de las guardias de los analistas

Funcional Descartado en

negociación

Funcionalidad

R15 Los reportes deben incorporar un indicador de disponibilidad respecto al período de tiempo consultado

No Funcional 5 Restricción

R16 Incorporar un módulo para graficar los indicadores.

Funcional Descartado en

negociación

Funcionalidad

R17 Distinguir entre los analistas que no hayan reportado novedad y aquellos que hayan estado ausentes en la reunión.

Funcional Descartado en

negociación

Funcionalidad

R18 Incorporar un módulo de control de datos de los analistas.

Funcional Descartado en

negociación

Funcionalidad

Capítulo 4 Desarrollo de la segunda versión del sistema 106

N° de requsito

Nombre del requisito

Clasificación. Prioridad. Tipo de requisito.

R19 Incluir un módulo de reportes que permita consultar las alertas emitidas por Nagios y filtrar dichas alertas por grupo y por equipo o aplicación.

Funcional 3 Funcionalidad

R20 Incluir un módulo de ayuda en línea.

Funcional 3 Aseguramiento de la calidad

R21 La segunda versión debe incorporar controles que agilicen el llenado de la minuta por parte de los analistas.

No Funcional 2 Uso y factores humanos

R22 Se deben realizar mejoras a la interfaz y documentación del sistema

No Funcional 2 Aseguramiento de la calidad

Tabla 4.1 Clasificación y Negociación de requisitos

4.2.4 Elaboración de casos de uso

Para la segunda versión se refina el modelo de casos de uso y se consideran los nuevos perfiles de

usuario. Los diagramas se muestran en las Figuras 4.2, 4.3, 4.4 y 4.5. Obsérvese como los casos de

uso agregados para la segunda versión son resaltados en color crema.

La descripción textual de los nuevos casos de uso aparece en la Tabla 4.2. En ella se observa que

las principales mejoras al sistema ocurren en la incorporación de nuevos reportes a partir del sistema

Nagios y en la definición de servicios asociados a aplicaciones. Adicionalmente, se incorpora un caso

de uso para que los usuarios de GDS puedan consultar los reportes que están pendientes por solución

y de ese modo hacer seguimiento a los analistas. Un usuario de MAP sólo puede consultar y modificar

los reportes que hayan sido creados por él. Se incorpora el caso de uso “Auditar sistema” y abarca la

consulta de los logs del sistema para reconstruir las sesiones de los usuarios.

Capítulo 4 Desarrollo de la segunda versión del sistema 107

Figura 4.2 Diagrama de casos de uso para usuario general

Capítulo 4 Desarrollo de la segunda versión del sistema 108

Figura 4.3 Diagrama de casos de uso para usuario MAP

Capítulo 4 Desarrollo de la segunda versión del sistema 109

Figura 4.4 Diagrama de casos de uso para usuario GDS

Capítulo 4 Desarrollo de la segunda versión del sistema 110

Figura 4.5 Diagrama de casos de uso para usuario de confiabilidad

Capítulo 4 Desarrollo de la segunda versión del sistema 111

Caso de Uso

Nombre del Caso de Uso

Descripción

CU18 Consultar ayuda. El usuario consulta el manual de ayuda en línea.

CU19 Consultar incidentes reportados en minuta.

El usuario introduce la fecha de la minuta que desea consultar y el sistema carga una lista con los incidentes reportados en la reunión de esa fecha.

CU20 Consultar incidentes pendientes por solución.

El usuario consulta los incidentes que haya reportado con anterioridad y hayan quedado pendientes por datos acerca de la solución y finalización.

CU21 Cerrar reporte abierto.

El usuario agrega datos acerca de la finalización y solución del incidente reportado.

CU22 Imprimir minuta. El usuario de GDS genera la minuta de la reunión de incidentes diarios automáticamente desde el sistema.

CU23 Consultar analistas con reportes abiertos

El usuario consulta los analistas que tengan reportes pendientes por solución. El sistema genera una lista con los datos de los reportes y de los analistas responsables.

CU24 Definir servicio El usuario define un servicio asociado a una aplicación particular y monitoreada por el sistema Nagios.

CU25 Eliminar servicio El usuario elimina los datos de un servicio.

CU26 Consultar alertas de Nagios por grupo operativo

El usuario consulta las alertas detectadas por el sistema Nagios para los equipos y aplicaciones de un grupo operativo en particular.

CU27 Consultar alertas de Nagios por equipo o aplicación.

El usuario consulta las alertas detectadas por el sistema Nagios para un equipo o aplicación en particular. En caso de una aplicación se muestran todas las alertas de servicios asociados.

CU28 Auditar sistema El usuario consulta el archivo de registro de eventos para reconstruir las sesiones de otros usuarios y las modificaciones hechas por estos sobre la base de datos.

Tabla 4.2 Descripción de los nuevos casos de uso incorporados a la versión 2 del SINCFA

4.2.5 Matriz Caso de Uso vs. Requisitos

La incorporación de nuevos requisitos y la definición de nuevos casos de uso hacen que para el

desarrollo de la segunda versión sea necesaria una nueva verificación de los requisitos cubiertos. La

matriz de Casos de uso vs. Requisitos se muestra en la tabla 4.3. En ella aparecen solamente los

nuevos requisitos funcionales contra los nuevos casos de uso.

Capítulo 4 Desarrollo de la segunda versión del sistema 112

Caso de uso Requisito

CU 18

CU 19

CU 20

CU 21

CU 22

CU 23

CU 24

CU 25

CU 26

CU 27

CU 28

R3 �

R10 � �

R11 � � � �

R13 � � �

R19 � �

R20 �

Tabla 4.3 Matriz de Casos de Uso vs. Requisitos para la segunda versión

4.3 Diseño de la segunda versión

Los componentes diseñados durante la primera iteración del método Watch sirven de base para la

extensión del sistema. La arquitectura de la versión anterior fue diseñada de tal forma que facilita la

incorporación de nuevos componentes sin necesidad de hacer muchos cambios a los ya existentes. De

modo que la mayoría de los cambios que surgen sobre el diseño son debidos a los nuevos requisitos. El

enfoque y los estilos utilizados en el diseño de la arquitectura siguen siendo los mismos.

4.3.1 Metas de diseño

Los objetivos planteados para la fase de diseño del sistema siguen se conservan. Solo se incorpora una

meta al diseño de la nueva versión: El diseño incorporará mecanismos que mejoren los niveles de

seguridad del sistema ante fraudes computarizados y lo hagan robusto ante errores por parte del

usuario.

4.3.2 Identificación de subsistemas

Se incorpora un nuevo subsistema encargado de la auditoria del SINCFA. Este subsistema abarca el

registro de los accesos de usuarios al sistema y de las modificaciones que estos hagan sobre las bases de

datos. Todos esos eventos son registrados en los archivos de registro de eventos (Logs) del SINCFA.

Capítulo 4 Desarrollo de la segunda versión del sistema 113

De este modo, es posible que el administrador de la aplicación construya la sesión del usuario a partir

de una simple consulta al log correspondiente. El diagrama de la figura 4.6 muestra la división del

sistema en subsistemas.

Figura 4.6 Identificación de subsistemas para la segunda versión del SINCFA

4.3.3 Diseño de componentes

Dentro de cada uno de los subsistemas que son identificados para la segunda versión del SINCFA se

incorporan nuevos componentes, siguiendo los mismos estilos que se definieron en el diseño de la

primera versión.

i) Subsistema de control de usuarios

A pesar de que ninguno de los casos de uso definidos en la parte anterior está directamente

relacionado con el control de acceso de los usuarios, algunos de los requisitos no funcionales

recolectados sugieren la incorporación de modificaciones sobre ese subsistema. Tal es el caso de los

requisitos R4, R5, R6 y R7 que tienen que ver con la seguridad del sistema. Estos requisitos motivan

la incorporación de nuevos elementos al diseño y la modificación de otros componentes. La Figura

4.7 muestra los componentes que fueron incorporados al subsistema de control de usuarios y aquellos

que fueron modificados en el desarrollo de la segunda versión.

Capítulo 4 Desarrollo de la segunda versión del sistema 114

ii) Subsistema de gestión de incidentes y soluciones

En este subsistema se incorporan componentes para la generación de la minuta y el cierre de reportes

abiertos, tal y como está especificado en los casos de uso CU19, CU21, CU22 y CU23. El diagrama

de la Figura 4.8 muestra los componentes diseñados y modificados en el subsistema.

iii) Subsistema de gestión de reportes de monitoreo

Los casos de uso que se incorporan en este subsistema son CU26 y CU27. También se hacen

modificaciones considerables al componente que procesa el log de Nagios para que incluya las

aplicaciones. El diagrama de la Figura 4.9 muestra los componentes que se modificaron y los que se

diseñan para este subsistema.

iv) Subsistema de inventario de aplicaciones AIT

Las modificaciones de este subsistema están relacionadas con los casos de uso CU24 y CU25, es decir,

con la definición de servicios por parte de los usuarios. El diagrama de la Figura 4.10 muestra los

componentes diseñados y modificados en el subsistema.

v) Subsistema de auditoria del SINCFA

El caso de uso CU28 hace que sea agregado el subsistema de auditoria para revisar las transacciones

hechas por los usuarios del sistema. La estructura del subsistema se muestra en la Figura 4.11.

Vale la pena resaltar que el caso de uso CU18 no fue especificado como un subsistema por su

sencillez, ya que el manual de ayuda del sistema consiste en un documento cargado directamente en

línea cuando el usuario lo desea.

Capítulo 4 Desarrollo de la segunda versión del sistema 115

Figura 4.7 Componentes agregados y modificados en el subsistema de control de usuarios

Capítulo 4 Desarrollo de la segunda versión del sistema 116

Capítulo 4 Desarrollo de la segunda versión del sistema 117

Figura 4.8 Componentes agregados y modificados en el subsistema de gestión de incidentes y soluciones

Figura 4.9 Componentes agregados y modificados en el subsistema de gestión de reportes de monitoreo

Capítulo 4 Desarrollo de la segunda versión del sistema 118

Figura 4.10 Componentes agregados y modificados en el subsistema de inventario de componentes AIT

Capítulo 4 Desarrollo de la segunda versión del sistema 119

Figura 4.11 Componentes del subsistema de auditoria del SINCFA

4.3.4 Diagrama de clases del sistema

En el diagrama de clases desarrollado para la segunda versión se observa que aparecen nuevas clases,

de las cuales la mayoría no incorpora atributos nuevos, convirtiéndose en especializaciones de las

clases base. El diagrama de la Figura 4.12 muestra el nuevo diagrama de clases, se observa que las

clases nuevas son resaltadas con color azul.

Capítulo 4 Desarrollo de la segunda versión del sistema 120

Figura 4.12 Diagrama de clases para la segunda versión del sistema

4.3.5 Diagrama de despliegue del sistema

La distribución del sistema sigue siendo básicamente la misma, se incorporan los componentes

asociados con los nuevos subsistemas y dentro de cada uno de los paquetes presentados se incluyen los

componentes que ya fueron diseñados. Las modificaciones a nivel de despliegue son muy pocas, pues

la estructura del sistema sigue no cambia de manera significativa. El diagrama de despliegue de la

Figura 4.13 muestra la distribución de la segunda versión del sistema en nodos. Los cambios

agregados son resaltados en gris.

Capítulo 4 Desarrollo de la segunda versión del sistema 121

Figura 4.13 Diagrama de despliegue para la segunda versión del sistema

Capítulo 4 Desarrollo de la segunda versión del sistema 122

4.3.6 Diseño de la base de datos

Luego de refinar el modelo de clases del sistema se obtiene el modelo conceptual de la base de datos

del SINCFA. A pesar de que teóricamente el modelo orientado a objetos deriva en modelo relacional

con las mismas entidades, muchas veces es necesario hacer refinamientos al momento de la

implementación para optimizar el espacio utilizado [12]. Luego de estos refinamientos se observa que

el nuevo modelo incorpora solamente dos tablas nuevas, una de las cuales corresponde a los datos de

los usuarios conectados al sistema en conformidad con el requisito R5 y la otra comprende los

servicios asociados a las aplicaciones críticas. El esquema conceptual de la base de datos se muestra en

la figura 4.14, en él se resaltan las nuevas tablas en color azul. Al igual que en la primera versión el

esquema se encuentra en Tercera Forma Normal (3FN).

Figura 4.14 Modelo de la base de datos del sistema

Capítulo 4 Desarrollo de la segunda versión del sistema 123

4.3.7 Diseño de la interfaz del sistema

Los nuevos componentes especificados en el diseño de la capa de presentación hacen necesario

incorporar pantallas para las nuevas funcionalidades del sistema. Al redefinir el flujo de pantallas se

mantiene el formato y los estilos utilizados en la interfaz de la primera versión, haciéndose ligeras

modificaciones principalmente en los mensajes mostrados. En la figura 4.15 se muestra la nueva

pantalla de inicio y se observa como se han hecho mejoras estéticas de acuerdo a recomendaciones del

cliente. La Figura 4.16 muestra la nueva estructura general de las pantallas del sistema, como se

puede apreciar, no se agregan muchos cambios, pero resalta la incorporación de un mensaje de

bienvenida personalizado y de nuevas opciones en el menú. El nuevo diagrama de flujo de pantallas se

muestra en la Figura 4.17, en él solamente aparecen las nuevas pantallas agregadas al diseño.

Figura 4.15 Pantalla de inicio del sistema

Capítulo 4 Desarrollo de la segunda versión del sistema 124

Figura 4.16 Estructura general de las pantallas del sistema

Figura 4.17 Diagrama de flujo de pantallas

Capítulo 4 Desarrollo de la segunda versión del sistema 125

4.4 Fase de implementación y pruebas

El dominio que se tiene sobre las herramientas utilizadas reduce considerablemente la cantidad de

tiempo para implementar los nuevos componentes. Además de codificar los nuevos elementos

diseñados, los esfuerzos se concentran en refinar el código de todos los componentes, eliminando

segmentos redundantes y mejorando la documentación. La fase de pruebas es más exhaustiva, pues en

esta iteración se busca corregir todos los detalles y así entregar al cliente el sistema listo para su puesta

en operación.

4.4.1 Implementación de componentes

Las modificaciones hechas abarcan la incorporación de nuevos componentes y la modificación de

algunos de los módulos de la primera versión. De los componentes agregados al sistema resalta un

conjunto de controles para agilizar las operaciones de los usuarios. Entre estos controles se incorpora

un botón de calendario para el ingreso de fechas dentro de los formularios3 (Figura 4.18). Otras

modificaciones sobre componentes de la primera versión que se pueden mencionar son: filtros de

búsqueda para el módulo de inventario AIT (Figura 4.19), cambios en la pantalla principal del módulo

de modificación de incidentes para seleccionar el incidente lista (Figura 4.20), ajustes en el módulo de

ingreso de incidentes para asignar la fecha de minuta automáticamente en conformidad con la regla 26

del modelo de negocios (Figura 4.21), mejoras de los mensajes mostrados al usuario (Figura 4.22),

entre otros. Algunas de las pantallas de la segunda versión del sistema pueden ser apreciadas en el

Anexo 3.

Figura 4.18 Componente de calendario en JavaScript

3 El componente es reutilizado a partir de una versión disponible en la web [26]

Capítulo 4 Desarrollo de la segunda versión del sistema 126

Figura 4.19 Pantalla de modificación de componentes del módulo de inventario AIT

Figura 4.20 Pantalla de modificación de incidentes

Capítulo 4 Desarrollo de la segunda versión del sistema 127

Figura 4.21 Asignación de fecha de minuta directamente por el sistema

Figura 4.22 Mensaje de aviso al usuario

Capítulo 4 Desarrollo de la segunda versión del sistema 128

4.4.2 Fase de pruebas del sistema

Se utiliza la misma estrategia de pruebas que la establecida para el desarrollo de la primera versión: Se

realizan pruebas de caja negra sobre los componentes nuevos y sobre los modificados, en caso de

detectarse un comportamiento inesperado se hacen pruebas de caja blanca y para verificar la

integración, exactitud y consistencia se siguen realizando pruebas de integración funcionales

orientadas a caso de uso.

i) Pruebas de caja negra del sistema

Durante el desarrollo de la segunda versión solamente se prueban los componentes agregados y

aquellos cuya estructura cambió considerablemente. Se realizan un total de cincuenta y dos (52)

pruebas de caja negra de las cuales treinta y cinco (35) corresponden a los componentes nuevos y

diecisiete (17) a los componentes modificados. Algunos ejemplos de las pruebas realizadas se

muestran en la Tabla 4.4.

Módulo Parámetros de Entrada

Salida Resultado

Acceso de usuarios (ValidarSesion.php).

Usuario ya conectado.

Mensaje indicando que la sesión no se puede crear.

Satisfactorio (Ver Figura 4.23).

Consulta de reportes abiertos (ListarReportesAb.php)

Analista con reportes Abiertos

Lista de los reportes abiertos para el analista.

Satisfactorio (Ver Figura 4.24).

Reporte de incidentes en minutas y nagios (ReporteMonitoreo.php)

Período de tiempo válido.

Lista de los incidentes reportados y las alertas detectadas entre las dos fechas.

Satisfactorio (Ver Figura 4.25).

Tabla 4.4 Pruebas de caja negra del sistema

Capítulo 4 Desarrollo de la segunda versión del sistema 129

Figura 4.23 Prueba de acceso de usuario ya conectado

Figura 4.24 Prueba de cierre de reporte abierto

Capítulo 4 Desarrollo de la segunda versión del sistema 130

Figura 4.25 Prueba de consulta de reporte conjunto

ii) Pruebas de caja blanca del sistema

Para la segunda versión es necesaria la realización de once (11) pruebas de caja blanca para detectar los

resultados inesperados de las pruebas de caja negra realizadas. Por ejemplo, uno de los componentes

probados (Validar.js) se encarga de la validación de caracteres en los formularios y valida la longitud

de los campos abiertos para que no excedan el tamaño definido en la base de datos. En la prueba

realizada al módulo de ingreso de incidentes se detectan errores en el componente, pues a pesar de

que genera un mensaje indicando que el usuario se ha excedido de la longitud de caracteres permitida

(Ver Figura 4.26) se permite el ingreso del incidente, generando un error al momento de ingresar en

la base de datos. El mensaje indicando el error se muestra en la Figura 4.27.

Luego de revisar el componente se determina que la secuencia de instrucciones no retorna el

resultado de la validación al formulario, lo que hace que el usuario pueda saltar el mensaje de

advertencia. Luego de corregir el error no se permite el ingreso de los datos cuando excedan la

longitud permitida.

Capítulo 4 Desarrollo de la segunda versión del sistema 131

Figura 4.26 Prueba de longitud de campos en ingreso de incidente

Figura 4.27 Mensaje obtenido al tratar de ingresar el incidente

Capítulo 4 Desarrollo de la segunda versión del sistema 132

iii) Pruebas Funcionales

Parte de la entrega final del sistema comprende un documento en el que se muestran los resultados de

todas las pruebas funcionales realizadas. Las pruebas están orientadas a cada uno de los casos de uso,

debido a que ocurren cambios en varios componentes de la primera versión y se desea probar la

integración de los componentes. Se realiza un total de cuarenta y nueve (49) pruebas sobre los

veintiocho (28) casos de uso.

4.5 Entrega final del sistema

Para que el SINCFA entre en operación es necesario que todas las gerencias encargadas de validar la

calidad, mantenibilidad y seguridad de los sistemas de la corporación realicen un conjunto de pruebas

para determinar que se ha cumplido con sus lineamientos. Los trámites relacionados con estas pruebas

son principalmente administrativos y el tiempo requerido para su realización supera el tiempo

estimado para el proyecto, por lo que la entrega final del sistema comprende la fase previa a su puesta

en producción. Sin embargo, todas las restricciones y controles establecidos fueron cumplidos

durante las fases del desarrollo y las condiciones del ambiente en el que fue implementado el sistema

simulan completamente a las del ambiente de operación definitivo, lo que hace que la puesta en

producción del sistema no presente mayores complicaciones.

La documentación entregada al cliente junto con el sistema comprende: manuales de usuario para

los perfiles definidos, manual de mantenimiento para el administrador del sistema, diccionario de

datos, diagrama de despliegue y documento de pruebas realizadas. Además, se hizo una presentación

orientada a los usuarios en la que se mostraron las funcionalidades del sistema y se dio un

adiestramiento a las personas responsables de su mantenimiento.

Durante la entrega final del sistema se verifica que todos los requisitos de los actores son

satisfechos. Sin embargo, surgen observaciones y recomendaciones acerca de aspectos que se pueden

incorporar para mejorar las funcionalidades del sistema. Estas sugerencias hacen posible pensar en el

desarrollo de una tercera versión más adelante.

Capítulo 4 Desarrollo de la segunda versión del sistema 133

4.6 Conclusiones del capítulo

El desarrollo de la segunda versión no requirió de una dedicación considerable de tiempo ni de

recursos, pues la mayor ventaja del enfoque utilizado para el diseño de la primera versión fue la

facilidad para incorporar nuevos componentes sin hacer muchas modificaciones a los ya existentes. En

muy pocos casos fue necesario hacer ajustes sobre los componentes para lograr la compatibilidad con

los nuevos elementos del sistema. Adicionalmente, el probar de forma exhaustiva la primera versión

como si se tratara de la entrega final del sistema permitió concentrar los esfuerzos de prueba de la

segunda versión solamente sobre los nuevos componentes.

Una de las mayores dificultades enfrentadas durante la segunda iteración del método Watch fue la

negociación de los requisitos con el cliente, algunos requisitos fueron descartados. Esto debido a que

era necesario hacer un balance entre las necesidades de los actores y la cantidad de recursos

(principalmente tiempo) disponibles. También hubo que considerar que muchos de los nuevos

requisitos surgieron de procesos que se escapaban del dominio de la aplicación, tal fue el caso del

requisito R18 en el que se establecía la necesidad de un módulo para llevar el registro de los datos de

los analistas de guardia. Este requisito no fue tomado en cuenta por escaparse del alcance definido

para el sistema. Sin embargo, la participación activa del cliente durante todo el proceso de desarrollo

fue provechosa, pues permitió refinar constantemente los productos obtenidos hasta alcanzar

resultados plenamente satisfactorios en las áreas impactadas.

Capítulo 5 Conclusiones y Recomendaciones

134

Capítulo 5

Conclusiones y recomendaciones

5.1 Conclusiones

Luego de revisar y verificar los objetivos planteados al comienzo del proyecto, se llega a la conclusión

de que todos esos objetivos fueron alcanzados con éxito. Sin embargo, gran parte de ese logro vino

determinado por la metodología utilizada. El desarrollo de software es un proceso complejo que

requiere la aplicación de metodologías bien estructuradas para obtener productos de alta calidad a un

costo mínimo. Las metodologías imponen un proceso disciplinado sobre el desarrollo de software con

el propósito de hacerlo más predecible y eficiente. En el caso del Sistema de Gestión de Incidentes de

Falla, la aplicación del método Watch fue determinante para poder cumplir con los objetivos

planteados. Este método permitió la aplicación estructurada de un conjunto de actividades en las que

fue posible para el cliente conocer en todo momento el grado de avance del proyecto y participar de

manera activa sobre el proceso de desarrollo, colaborando en el refinamiento de los productos

intermedios que se iban obteniendo en cada fase.

Una de las mayores ventajas del método Watch es su flexibilidad, pues a pesar de que su modelo

de procesos establece un conjunto de actividades y productos a obtener, en muchos casos se pueden

hacer adaptaciones al contexto de la aplicación particular, permitiendo al equipo de desarrollo escoger

el nivel de detalle a alcanzar en el diseño. Para el caso del sistema desarrollado, se consideró un nivel

de detalle adecuado a su naturaleza y complejidad, buscando agilizar las fases del proceso de

desarrollo. De este modo, todos los productos obtenidos en las fases y descritos en este documento

resultaban necesarios para expresar algún aspecto del sistema.

De todas las fases del método, la ingeniería de requisitos es una de las más complejas debido a las

variaciones en los requisitos del cliente. Para lidiar con los requisitos cambiantes, la estrategia seguida

consistente en refinar iterativamente los productos de cada fase y generar versiones funcionales

Capítulo 5 Conclusiones y Recomendaciones

135

sucesivas del sistema fue satisfactoria y permitió realizar correcciones en conjunto con el cliente a

intervalos frecuentes de tiempo, redirigiendo el curso del proyecto en alineación con sus necesidades.

El impacto que puede tener la implementación de un Sistema de Información en una organización

viene dado por la capacidad del sistema para alinearse con el modo de trabajo dentro de ésta y sólo

sugerir aquellos cambios que sean necesarios para mejorar su desempeño. El apoyo de todos los

niveles dentro de la organización resulta vital para el éxito de cualquier proyecto de este tipo, pues de

lo contrario el efecto del sistema no será beneficioso sino perjudicial. En el presente proyecto se logró

integrar procesos involucrados con diferentes unidades dentro de la Gerencia MAP, organizando su

flujo de actividades sin alterar significativamente su modo de trabajo.

La información generada por los procesos de mantenimiento resulta vital para optimizar el

desempeño de los equipos y alargar su vida útil, pues permite orientar las prácticas no solo a

garantizar una disponibilidad sobre la marcha, sino a planificar y controlar las actividades de

mantenimiento, buscando disminuir a futuro la ocurrencia de errores y caídas de servicios. En base a

ello, el sistema desarrollado proporciona a la Gerencia MAP una herramienta valiosa para tener un

conocimiento global del desempeño de los activos bajo su responsabilidad y tomar decisiones para

optimizar su gestión.

5.2 Aportes a la empresa

El Sistema de Gestión de Incidentes de Falla (SINCFA) permite automatizar un proceso manual

que deja información de fallas dispersa, inconcisa y difusa, y que no se puede aprovechar al máximo.

En este sentido se pueden mencionar algunos de sus beneficios puntuales para la gestión de la

Gerencia MAP:

• Incorpora un repositorio histórico de fallas detallado por equipos y sistemas. Esta información

antes del desarrollo del sistema era manejada de forma difusa, dispersa y muchas veces

incompleta.

• Facilita la obtención de estadísticas de confiabilidad y disponibilidad de la plataforma,

calculados con una mayor precisión que en el proceso manual, pues se cuenta con un

Capítulo 5 Conclusiones y Recomendaciones

136

repositorio bien estructurado de datos que puede ser incluso utilizado por la Coordinación de

Confiabilidad para simular el comportamiento de la plataforma.

• Hace posible realizar proyecciones y planes de desincorporación o sustitución de equipos por

cumplimiento del ciclo de vida útil o por fallas recurrentes.

• Apoya el proceso de programación de los planes de mantenimiento de los equipos y sistemas

de la plataforma, mediante las estadísticas de fallas.

• Permite la visualización de los incidentes y estadísticas de falla en la plataforma, no sólo desde

la perspectiva de los grupos operativos, sino también desde el punto de vista de los equipos y

sistemas que la integran. Antes de la implementación del sistema, la forma como se manejaba

el repositorio de incidentes dificultaba la obtención de una perspectiva centrada en

componentes.

• Integra la información manejada por el Centro Integral de Monitoreo con los datos

reportados por los Analistas de los Grupos Operativos Solucionadores.

• Proporciona las bases para tener un inventario básico de las aplicaciones y equipos que

integran la plataforma.

• Proporciona una base de conocimiento referente a la obtención de históricos de causas de

fallas y resolución de problemas por cada equipo o sistema.

• Hace posible la obtención de información oportuna y útil para la toma de decisiones, pues

está disponible para todos los usuarios involucrados a través de la intranet de la empresa.

5.3 Aportes a la universidad

Proyectos como el desarrollado permiten crear vínculos estratégicos entre la Universidad de Los

Andes, particularmente, la Escuela de Ingeniería de Sistemas (EISULA) y la industria. Brindando

prestigio a la institución como formadora de profesionales de alto nivel y permitiendo a la comunidad

estudiantil mejorar su formación profesional mediante primeros contactos con el campo laboral.

5.4 Aportes al tesista

Capítulo 5 Conclusiones y Recomendaciones

137

La experiencia adquirida mediante el presente proyecto brinda al tesista una primera idea del trabajo

llevado a cabo dentro de una gran organización como lo es PDVSA, permitiéndole familiarizarse con

sus procesos, lineamientos y con las herramientas que son manejadas en la industria, brindándole a su

vez una idea de la manera como se aplican los conceptos aprendidos durante la carrera a la resolución

de problemas con la presión, exigencias y restricciones del mundo real. El trabajo desarrollado viene

aportando al tesista una experiencia integral que debe permitir su crecimiento profesional,

capacitándolo para abordar los problemas complejos que se le presenten más adelante.

5.5 Recomendaciones

En base a las conclusiones y los resultados obtenidos, es conveniente resaltar algunas recomendaciones

que pudieran extender los resultados del proyecto, o que podrían ser consideradas por los futuros

trabajos que se realicen en el área. En este sentido se recomienda:

� Integrar el Sistema de Gestión de Incidentes de Falla con otros sistemas utilizados por la

Gerencia GDS y la Gerencia MAP: El SINCFA aborda el problema de las fallas en la

plataforma desde el punto de vista de los reportes realizados por los analistas. Una extensión

que se pudiera incorporar al sistema es la integración con el subproceso de mantenimiento

visto desde la perspectiva del usuario que tiene el problema. La Gerencia de Gestión de

Servicio se encarga de llevar control sobre las solicitudes de los usuarios dentro de PDVSA y

actualmente maneja varios sistemas para el apoyo de sus procesos. Estos sistemas han sido

desarrollados dentro de la organización y generan órdenes de mantenimiento para la mayoría

de las solicitudes hechas por los usuarios. Una integración del SINCFA con esos sistemas

impactaría positivamente la gestión de ambas gerencias, pues permitiría integrar la

información manejada por ambas unidades, incorporando aspectos para medir y mejorar la

calidad y continuidad de los servicios de la plataforma.

� Incorporar mecanismos que creen los reportes de falla en el sistema directamente de las

alertas detectadas por Nagios: Se pudieran diseñar procedimientos para que las alertas

detectadas por Nagios creen directamente reportes de incidentes abiertos en el sistema y sus

datos quedarían pendientes por ser completados por parte del analista responsable. Esto

Capítulo 5 Conclusiones y Recomendaciones

138

permitiría que la integración entre la información reunida en los reportes de los analistas de

guardia y la manejada por el sistema Nagios pueda ser aprovechada en una razón aun mayor.

Sin embargo, para lograr este objetivo es necesario terminar de adaptar el sistema Nagios a la

plataforma, haciendo que las alertas que genere sean más precisas y confiables.

� Incorporar módulos al sistema para supervisar el desempeño de los analistas dentro de las

diferentes especialidades de la Gerencia MA: Una primera idea de los mecanismos requeridos

fue incorporada en la fase de ingeniería de requisitos de la segunda versión, los requisitos

fueron descartados por salirse de la delimitación del problema. El control sobre las guardias

de los analistas y sobre su asistencia a las reuniones de incidentes permitiría medir la

efectividad de los grupos y generar indicadores de gestión, tanto para cada uno de ellos, como

para toda la gerencia MAP. Además haría posible diseñar estrategias para medir la

confiabilidad del factor humano.

� Divulgar la importancia y utilidad del sistema entre las diferentes unidades que se pueden

beneficiar de él: La Coordinación de Confiabilidad de la Plataforma fue la unidad principal

dentro de MAP en la que se desarrolló el proyecto. Muchas de las funcionalidades del

SINCFA buscan apoyar y mejorar considerablemente su gestión, permitiendo la integración

de sus actividades con las de las otras coordinaciones y el intercambio de información entre

ellas. Sin embargo, una de las mayores dificultades que podrían enfrentar durante la

transición del sistema sería lograr que los analistas se sientan identificados con él lo

suficientemente como para integrarlo completamente a sus actividades, esto debido a que

muchos de los beneficios que aportará el sistema serán apreciables a largo plazo, cuando se

cuente con un historial de fallas considerable. Es entonces responsabilidad de la Coordinación

de Confiabilidad resaltar los beneficios que incorporará el sistema, de modo que se cuente

con el apoyo y colaboración de las otras unidades.

� Incorporar un catálogo de modos de fallas al sistema: La naturaleza de los equipos y sistemas

que integran la plataforma repercute sobre las diferentes formas en las que pueden ocurrir las

fallas. Muchas veces un componente o grupo de componentes presenta un conjunto reducido

de formas en las que pueden fallar, o puede ocurrir también que varias de las fallas tengan un

mismo diagnóstico o una misma acción a ejecutar. La definición de categorías para los modos

Capítulo 5 Conclusiones y Recomendaciones

139

de falla haría que, al momento de reportar un incidente, el analista escoja la novedad, el

diagnóstico y la acción ejecutada a partir de una lista. Esto agilizaría el llenado de los reportes,

además de optimizar el uso de la base de datos y eliminar la existencia de datos ambiguos,

redundantes y confusos que se presentan con mucha frecuencia cuando se manejan campos de

texto abiertos. Sin embargo, la categorización de los modos de falla de la plataforma implica

un estudio detallado de las características de los equipos que la integran, que se debe lograr en

conjunto con cada uno de los grupos responsables y debe buscar mantenerse vigente ante

cambios que se incorporen en la plataforma.

� Estudiar la factibilidad de modificaciones al método Watch para hacerlo más ligero: A pesar de

que los resultados alcanzados no hubieran sido los mismos sin la aplicación del método,

pudieran realizarse modificaciones a este para hacer que sus resultados se enfoquen más en la

obtención del producto final que en la documentación del mismo, de modo que para

complementar esta última, se puede hacer la participación del cliente en el proceso de

desarrollo más activa. Estas modificaciones harían del Watch un método más adaptable a

cambios en los requisitos del cliente que predictivo en cuanto al tiempo y recursos a utilizar

para cumplir dichos requisitos, ajustando sus actividades a la naturaleza humana de los actores

involucrados y concentrando dichas actividades en la obtención del producto más que en el

proceso necesario para obtenerlo.

Referencias Bibliográficas

140

Referencias Bibliográficas

[1] Sitio Web de PDVSA, http://www.pdvsa.com

[2] Intranet de PDVSA, http://intranet.pdvsa.com

[3] Nachias, J. (1995). Fiabilidad. ISDEFE.

[4] Perez, C. y Moubray, J. (2003). Mantenimiento centrado en confiabilidad: Aplicación e impacto. Actas del Primer Congreso Mexicano de Confiabilidad y Mantenimiento, León, México.

[5] Montilva, J. (2004). Desarrollo de aplicaciones empresariales: El método Watch. Universidad de Los Andes, Mérida, Venezuela.

[6] Object Management Group – UML Resource Page, http://www.uml.org/ [7] Schmal, R. y Cisternas, E. (2000). Sistemas de Información: Una metodología para su

estructuración. Actas de la XXVI Conferencia Latinoamericana de Informática, México. Instituto Tecnológico y de Estudios Superiores de Monterrey.

[8] Muñoz, A. (2003). Sistemas de información en las empresas, http://www.hipertext.net/web/pag251.htm.

[9] Barrios, J (2000), Sistemas de Información, Universidad de Los Andes, Mérida, Venezuela. [10] Mosquera, G. (2000). Estimación de parámetros de confiabilidad y mantenibilidad de sistemas

industriales. Centro de altos estudios gerenciales ISID. [11] Barringer, P. (1996). An overview of reliability engineering principles. Penn Well

Conferences, Houston, TX. [12] Elmasri, R. y Navathe S. (2002). Fundamentos de bases de datos. Tercera Edición. Pearson

Educación, Madrid. [13] Pérez, O. (2005). Bases de datos. Universitat Oberta de Catalunya,

http://republicajoven.org.ve/archivos/software_libre/UOC/Basededatos.pdf [14] Nickul D. (2007). Service Oriented Architecture (SOA) and Specialized Messaging Patterns.

Adobe Systems Incorporated, http://www.adobe.com/enterprise/pdfs/Services_Oriented_Architecture.pdf

[15] Arquitectura Orientada a Servicios (SOA) – Wikipedia, la enciclopedia libre, http://es.wikipedia.org/wiki/Arquitectura_orientada_a_servicios

[16] Modelo de referencia técnico: Lineamientos para la construcción de aplicaciones (2008). PDVSA, Gerencia de Desarrollo e Implementación de Soluciones.

[17] Simple Acces Object Protocol (SOAP) – DesarrolloWeb, http://www.desarrolloweb.com/articulos/1557.php

[18] Comenzando a utilizar NuSOAP – DesarrolloWeb, http://www.desarrolloweb.com/articulos/1884.php

[19] Object Managing Group. Introduction to UML, http://www.omg.org/UML/

Referencias Bibliográficas

141

[20] Lenguaje Unificado de Modelado (UML) – Wikipedia, la enciclopedia libre, http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado

[21] PHP - Wikipedia, la enciclopedia libre, http://es.wikipedia.org/wiki/.php [22] Montilva, J. y Barrios, J (2004). BMM: A Business Modelling Method for Information Systems

Development. CLEI Electronic Journal, Vol 7, Nº 2, Paper 3 [23] Porter, M.E.: Competitive Advantage. The Free Press. New York (1985) [24] Cadena de Valor – Wikipedia, la enciclopedia libre,

http://es.wikipedia.org/wiki/Cadena_de_valor [25] Barrios, J. (2007). Diseño de Software: Programas y Componentes. Apuntes de ingeniería del

software [26] Garret, A. (2006). Simple calendar Widget,

http://www.garrett.nildram.co.uk/calendar/scw.htm

Anexo A Planificación del proyecto

142

Anexo A

Planificación del proyecto

Figura A.1 Planificación inicial del proyecto

Anexo A Planificación del proyecto

143

Figura A.2 Revisión de la planificación del proyecto

Anexo B interfaces Usuario/Sistema Versión 1

144

Anexo B

Interfaces Usuario/Sistema Versión 1

Figura B.1 Pantalla de ingreso de incidentes

Anexo B interfaces Usuario/Sistema Versión 1

145

Figura B.2 Pantalla de Verificación de ingreso del incidente

Figura B.3 Consulta de incidentes reportados por período de tiempo

Anexo B interfaces Usuario/Sistema Versión 1

146

Figura B.4 Reporte de incidentes por período de tiempo

Figura B.5 Reporte exportado a una hoja de cálculo

Anexo B interfaces Usuario/Sistema Versión 1

147

Figura B.6 Cálculo de indicadores operativos de la plataforma

Figura B.7 Consulta de incidentes por grupo operativo

Anexo B interfaces Usuario/Sistema Versión 1

148

Figura B.8 Consulta de incidentes por componente

Figura B.9 Consulta de incidentes y soluciones

Anexo B interfaces Usuario/Sistema Versión 1

149

Figura B.10 Pantalla de eliminación de incidente

Figura B.11 Reporte conjunto de incidentes de falla

Anexo B interfaces Usuario/Sistema Versión 1

150

Figura B.12 Ingreso de componentes al inventario AIT

Figura B.13 Consulta de componentes de inventario AIT

Anexo C interfaces Usuario/Sistema Versión 2

151

Anexo C

Interfaces Usuario/Sistema Versión 2

Figura C.1 Pantalla de ingreso de incidentes

Anexo C interfaces Usuario/Sistema Versión 2

152

Figura C.2 Pantalla de Verificación de ingreso del incidente

Figura C.3 Consulta de incidentes reportados por período de tiempo

Anexo C interfaces Usuario/Sistema Versión 2

153

Figura C.4 Reporte de incidentes por período de tiempo

Figura C.5 Reporte de incidentes por grupo operativo

Anexo C interfaces Usuario/Sistema Versión 2

154

Figura C.6 Cálculo de indicadores para un grupo operativo

Figura C.7 Consulta de incidentes por fecha de minuta

Anexo C interfaces Usuario/Sistema Versión 2

155

Figura C.8 Imprimir minuta

Figura C.9 Reporte de incidentes y soluciones

Anexo C interfaces Usuario/Sistema Versión 2

156

Figura C.10 Pantalla de eliminación de incidente

Figura C.11 Consulta de reportes abiertos

Anexo C interfaces Usuario/Sistema Versión 2

157

Figura C.12 Consulta en conjunto de minutas y Nagios

Figura C.13 Consulta de alertas de Nagios por equipo o aplicación

Anexo C interfaces Usuario/Sistema Versión 2

158

Figura C.14 Pantalla de definición de servicio para monitorear aplicación

Figura C.15 Auditoria del sistema