“SICAB” Sistema de Información para Central de Alarmas de

Anuncio
UNIVERSIDAD DE MAGALLANES
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA
EN COMPUTACIÓN
“SICAB”
Sistema de Información para Central de
Alarmas de Bomberos
Alexi Isabel Mandiola Godoy
Alfonso Ircano Díaz Muñoz
2003
UNIVERSIDAD DE MAGALLANES
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA
EN COMPUTACIÓN
“SICAB”
Sistema de Información para Central de
Alarmas de Bomberos
Trabajo de titulación presentado en conformidad a los
requisitos para obtener el título de Ingeniero(a) de
Ejecución en Computación e Informática.
Profesor Guía
Patrocinante
: Roberto Uribe Paredes
Ingeniero
de
Ejecución
en
Computación e Informática
: Cuerpo de Bomberos de Puerto
Natales
Alexi Isabel Mandiola Godoy
Alfonso Ircano Díaz Muñoz
2003
La presente memoria de titulación ha sido aprobada con la siguiente calificación:
Alumna Alexi Isabel Mandiola Godoy
Memoria
:
Examen de título
:
Nota Final
:
Alumno Alfonso Ircano Díaz Muñoz
Memoria
:
Examen de título
:
Nota Final
:
Sr. Carlos Arias Méndez
Director Departamento
De Ingeniería En Computación
29 de Agosto de 2003
i
AGRADECIMIENTOS
Los autores del presente informe desean en esta sección agradecer en primer término a los
Oficiales y Bomberos del Cuerpo de Bomberos de Puerto Natales quienes, han entregado las
facilidades necesarias para que se desarrolle este trabajo de titulación. Sin la disposición de ellos,
no habría sido posible cumplir con el objetivo del proyecto, considerando el tiempo que demando
la toma de requerimientos de la información necesaria para llevarla cabo
Por otra parte se desea agradecer al Profesor Guía, Señor Roberto Uribe Paredes, quién pese a sus
responsabilidades y obligaciones como docente del Departamento de Ingeniería en Computación,
de la Facultad de Ingeniería de la Universidad de Magallanes, ha demostrado una excelente
disposición en cuanto a la orientación que se le debía dar al tema propuesto, para llevarlo a buen
término.
ii
RESUMEN
SICAB es un sistema administrativo que opera bajo el ambiente Windows y que permite el
ingreso, almacenamiento y mantención de información relevante para el funcionamiento de los
Cuerpos de Bomberos, tanto en su funcionamiento Administrativo como Operativo.
Está compuesto por módulos que permiten la administración de datos que dicen relación con el
inventario, documentación y datos personales e institucionales(lo que se conoce comúnmente con
el nombre de Hojas de Vida) de los bomberos que integran a estas instituciones.
Además, sirve como herramienta de apoyo gráfico para la parte operativa del Cuerpo de
Bomberos, toda vez que facilita información referente a los accesos a lugares en que deben
eventualmente intervenir los medios materiales y humanos de la Institución ante la ocurrencia de
una emergencia o servicio especial en que tengan que actuar.
Consta de una Base de Datos Relacional, diseñada en Microsoft Access 2000, la cual es
administrada a través de una aplicación creada en Visual Basic 6.0.
El sistema está complementado con la utilización del Sistema de Información Geográfica
Arcview, el cual permite mostrar el plano urbano de la ciudad de Puerto Natales, visualizando los
caminos mínimos que deben seguir las unidades motorizadas del Cuerpo de Bomberos, al
momento de dirigirse a una emergencia.
En su ejecución, se pusieron en práctica conceptos que permiten una eficiente y rápida
gestión de datos y la aplicación de algoritmos diseñados para manejar grafos dirigidos
que permiten dar respuesta a la necesidad de contar con herramientas de apoyo al
servicio bomberil, sobre todo en lo que se refiere a emergencias.
iv
CAPITULO I. INTRODUCCION
iv
1 Introducción
El fuerte y acelerado avance de la tecnología de información, ha llevado a que muchas
instituciones de servicio público hayan tenido que, sin necesidad de perder su objetivo principal,
adecuarse a ellas para lograr una gestión de información de una manera más segura, rápida y
eficiente.
Lo anterior ha llevado a que los autores del presente trabajo, en conjunto con el Cuerpo de
Bomberos de Puerto Natales, hayan tenido que hacer un estudio de los procesos aplicados a la
administración y gestión de información que se realiza en la institución antes mencionada, sobre
todo basándose en la necesidad de contar con procedimientos o sistemas que permitan acceder a
los datos de una manera más eficiente y rápida en lo que se refiere a los entes Administrativos y
Operativos de dicha Institución.
Es así como nace la necesidad de contar con un software capaz de permitir el ingreso,
almacenamiento y mantención de los datos y/o información relacionada con los inventarios,
documentación y del personal que integra el Cuerpo de Bomberos. Pero además de lo anterior,
que permita las mismas funciones para aquellos datos que nacen de las actividades que le dieron
origen hace ya más de siglo y medio: se habla entonces de las emergencias y servicios especiales
a los que acuden en ayuda de la comunidad.
Lo anterior resulta en el nacimiento de SICAB(Sistema de Información para Central de Alarmas
de Bomberos), una aplicación cuyo objetivo principal es permitir la gestión de información
administrativa y operativa del Cuerpo de Bomberos de Puerto Natales, disminuyendo tiempo
considerable ocupado hasta entonces por personal, quienes además de las funciones propias del
iv
servicio bomberil(de carácter cien por ciento voluntario en Chile), deben cumplir con
obligaciones de tipo laboral y familiar, las que sin lugar a dudas tiene un carácter prioritario por
sobre las anteriores.
Como consecuencia de todo lo anterior, el desarrollo del presente informe muestra los pasos
realizados para diseñar un sistema que se ajusta en su fondo a cualquier Institución Bomberil del
país, y que sirve de base para la ejecución de otros proyectos similares que apunten a su
mejoramiento y/o complementación.
iv
CAPITULO II. ESPECIFICACION DEL
PROBLEMA Y TOMA DE REQUERIMIENTOS
iv
2 Especificación del problema y
Toma de Requerimientos
En lo sucesivo del presente documento, se tendrán en cuenta las técnicas preescritas en lo que se
refiere a los procesos para desarrollos de Sistemas de Información Administrativas.
2.1
IDENTIFICACION DEL PROBLEMA
Como se explicó en el CAPITULO I. INTRODUCCION, la necesidad de contar con
herramientas informáticas para automatizar, apoyar y complementar los procesos administrativos
del Cuerpo de Bomberos de Puerto Natales, hicieron posible que se pusiera en marcha el
proyecto SICAB, el cual da respuesta a estas necesidades.
2.2
MEDIO AMBIENTE DE OPERACIÓN
El sistema SICAB trabajará bajo un ambiente de Sistema Operativo Windows, en en computador
de tipo Personal de Escritorio, con su configuración de hardware para tales efectos. Deberá contar
con impresoras para la entrega de informes.
Los usuarios directos del sistema serán el personal de radiooperadoras(es) que la Institución
designe para tales efectos, los que deberán contar con conocimientos de computación
básicos(nivel usuario), más las correspondientes capacitaciones que se realicen una vez instalado
el sistema.
Este sistema interactúa con los equipos de radiocomunicaciones y telefonía, por lo que se debe
considerar una instalación eléctrica especial, o dentro de las posibilidades económicas de la
iv
institución, la adquisición de una Unidad de Respaldo de Energía(UPS) compatible con el tipo de
computador que se esté utilizando.
2.3
ESPECIFICACION Y TOMA DE REQUERIMIENTOS
La estructura orgánica y funcional del Cuerpo de Bomberos de Puerto Natales(así como la de la
gran mayoría de los Cuerpos del País), funciona con dos líneas de mando: una Línea de Mando
Administrativa, a cargo del Superintendente, quién es además el representante legal de la
Institución; y una Línea de Mando Operativa, a cargo del Primer Comandante, quien asume el
mando total y absoluto de todas y cada una de las operaciones de emergencias o servicios
especiales en los que participe material logístico y humano.
Lo anterior hace necesario dividir la toma del sistema en dos partes, una para cada área de
funcionamiento.
Para los requerimientos del área administrativa, se entrevistaron a los Oficiales Administrativos y
personal administrativo rentado. Por otra parte, para los requerimientos del área operativa, se han
entrevistado a los Oficiales Operativos de Cuerpo y Compañía, personal Administrativo y
Operadoras Centrales de Alarma y Despacho.
Los requerimientos que a continuación se describen, definen desde ya los datos de entrada que
tendrá el sistema para su funcionamiento.
2.3.1.
ESPECIFICACIONES Y TOMA DE REQUERIMIENTOS PARA EL SISTEMA
ADMINISTRATIVO
El mando administrativo del Cuerpo de Bomberos de Puerto Natales(CBPN), es la encargada de
llevar el control de las siguientes áreas:
•
Registro del personal que integra la institución, en las calidades de ACTIVO y
COOPERADOR, premios obtenidos, sanciones, cursos realizados, cargos ocupados,
actividades realizadas, todos con sus respectivas observaciones.
iv
•
Control del inventario administrativo y operativo, tanto del CBPN como de cada una de las
Compañías que lo conforman.
•
Control del movimiento de documentación entrada a la Institución y salida de la misma.
Conforme lo descrito anteriormente, el software del sistema administrativo debe contar con
cuatro módulos, que se denominarán:
•
PERSONAL
•
CONTROL DE INVENTARIO
•
DOCUMENTOS
2.3.1.1. REQUERIMIENTOS PARA EL MODULO “PERSONAL”
Este módulo será el encargado de llevar los registros correspondientes a cada uno de los
bomberos, tanto cooperadores como activos.
Los datos básicos que se manejarán para tales efectos son:
•
Número de registro general.
•
Número de folio.
•
Compañía.
•
Apellido Paterno
•
Apellido Materno
•
Nombres
•
Calidad(activo, cooperador)
iv
•
Fecha de incorporación
•
Estudios (básica incompleta o completa, media incompleta o completa, superior incompleta o
completa)
•
Nacionalidad
•
Profesión y/o actividad
•
Fecha de nacimiento.
•
Lugar de Nacimiento.
•
Domicilio particular(calle, población, número, teléfono(s))
•
RUN.
•
Estado civil.
•
Número de registro de compañía.
•
Grupo sanguíneo.
•
Lugar de Trabajo(Nombre de la empresa y/o dirección, teléfono(s)).
•
Fecha de baja.
•
Causa de baja.
•
Servicio militar(si/no, año, unidad)
Además debe incluir el ingreso de los siguientes ítem:
iv
•
Premios y/o sanciones obtenidas, en donde se debe registrar además: el documento que
acredita el premio o sanción, la fecha del documento, el tipo de premio o sanción, y el
motivo de la misma.
•
Cargos o actividades desempeñadas en su carrera como bombero, incluyendo la fecha o
fechas entre las cuales ocupó dicha actividad o cargo, y las observaciones necesarias.
•
Cursos o talleres realizados, considerando la fecha, el nombre del curso, situación de
aprobación, entidad que impartió el curso, observaciones.
Este módulo debe ser capaz de entregar un informe actualizado de los datos correspondientes a
cada bombero, separados en:
•
Informe de datos personales e institucionales.
•
Informe de premios y/o sanciones obtenidas.
•
Informe de cargos o actividades desempeñadas.
•
Informe de cursos realizados.
También debe entregar un listado de bomberos por categoría(activo, cooperador, honorario,
aspirante, etc.)
Por otra parte este módulo debe ser capaz de calcular e informar, si corresponde entregar o no,
premios de constancia por años de servicio a algún miembro de la institución. Estos premios se
entregan cada cinco años de servicios, contados desde la fecha de ingreso a la Compañía, para lo
cual se toma como referencia el día y mes de fundación del CBPN, que es el 20 de JULIO.
2.3.1.2. REQUERIMIENTOS PARA EL MODULO “CONTROL DE INVENTARIO”
A éste modulo le corresponde la función de mantener un efectivo control de inventario, en el que
una vez ingresadas las especies y cada uno de los datos que corresponden a ellas, puedan ser
iv
objeto de un efectivo y a la vez fácil mantenimiento en cuanto a lo que alta(ingreso) o baja del
activo fijo(especie) se refiere.
Para dar cumplimiento a lo anterior, es necesario clasificar estos activos fijos, en los siguientes
grupos:
•
Bienes raíces.
•
Instalaciones.
•
Vehículos motorizados.
•
Material motorizado.
•
Material menor.
•
Vestuario y equipo.
•
Muebles de oficina.
•
Artículos eléctricos o electrónicos.
•
Artículos computacionales.
•
Equipos de radiocomunicaciones y telecomunicaciones.
•
Otros equipos.
•
Otros activos fijos.
Conforme a lo anterior, cada una de las especies que se ingresen al inventario, debe ser
identificada por un código de grupo y un código de especie. El código de grupo estará dado por la
clasificación anterior, y que tiene relación con los grupos de activos fijos, y el código de especie
será un número correlativo para cada especie dentro de un grupo.
iv
En un contexto general, la presentación de las especies de inventario debe contemplar para cada
una de ellas, los siguientes datos:
•
Cantidad de la especie.
•
Código de la especie
•
Nombre de la especie.
•
Valor monetario(en pesos).
•
Observaciones.
•
Compañía en la que se encuentra asignada.
•
Dependencia en la que se encuentra ubicada, dentro de la Compañía.
•
Tipo de inventario(administrativo u operativo).
•
Fecha de alta y/o baja de la especie.
•
Número y fecha del documento de alta o baja.
Este módulo debe ser capaz de entregar los siguientes tipos informes:
•
Listados de especies:
¾ General del Cuerpo.
¾ Por grupo.
¾ Por compañía.
¾ Por dependencia.
iv
¾ Por tipo de inventario(administrativo u operativo).
•
Informe patrimonial; que corresponde a una sumatoria de los valores monetarios de cada una
de las especies, agrupadas según los siguientes criterios:
¾ General del Cuerpo.
¾ Por grupo.
¾ Por compañía.
¾ Por dependencia.
¾ Por tipo de inventario(administrativo u operativo).
En el caso de los valores monetarios de las especies, se debe permitir la modificación de estos, ya
que con el paso del tiempo, exceso de uso, reparaciones y la consiguiente pérdida de vida útil, las
especies en cuestión de devalúan, y por consiguiente en patrimonio físico de la Institución
disminuye.
Para las fechas de alta de una especie al inventario, se considerará como criterio de asignación a
este dato, la fecha de incorporación al servicio para en cual fue adquirido.
2.3.1.3. REQUERIMIENTOS PARA EL MODULO “DOCUMENTOS”
Se tendrá en cuenta que cada documento está definido por un grupo al cual pertenece.
Para lo anterior, se clasifican los tipos de documentos que se manejan en la institución. Estos son:
•
Oficio conductor.
•
Circular.
•
Solicitud.
iv
•
Certificado.
•
Informe Técnico.
•
Acta.
•
Orden del Día.
El manejo de este tipo de documentos, involucra tanto a aquellos que salen de la institución,
como a aquellos que llegan a la misma.
Para cada uno de los oficios salidos se debe llevar un registro con la siguiente información:
•
Nro. De documento.
•
Fecha.
•
Destino
•
Resumen del contenido o materia.
•
Observaciones.
•
De igual manera, los documentos que llegan a la institución deben tener un registro con el
siguiente detalle:
•
Nro. De documento.
•
Fecha del documento.
•
Fecha de recepción del documento.
•
Procedencia.
•
Glosa del contenido o materia.
iv
•
Observaciones.
Con lo anterior, este módulo debe ser capaz de entregar informes acumulativos, separados en
documentación recibida y despachada.
Lo anterior significa que además debe permitirse la entrega de información dado un rango de
fechas.
2.3.2.
ESPECIFICACIONES Y TOMA DE REQUERIMIENTOS DEL SISTEMA PARA
INGRESO DE FORMACION DE SERVICIOS DE EMERGENCIAS
Básicamente este módulo permitirá manejar en forma automática, toda la información que pueda
emanar de una emergencia, y lograr de esta manera tener acceso rápido a datos estadísticos, como
por ejemplo: cantidad de emergencias por tipo, referencias rápidas a informes técnicos de
emergencias, personal que acudió y/o estuvo a cargo de instituciones de apoyo, entre otro tipo de
información.
Por otro lado, este sistema debe trabajar paralelamente con un sistema que permita manejar
información gráfica del área en la que están interviniendo los medios bomberiles. Es decir, un
sistema que muestre el área geográfica en que ocurren las emergencias, en el plano local de la
ciudad.
Se asume que inicialmente la base da datos debe disponer en sus registros de los datos que
establecen el número de Compañías existentes, los vehículos y condición operativa de los
mismos, actualizada.
Para lograr una buena comprensión en los requerimientos de este módulo, se explicará la
secuencia desde el inicio del llamado(es decir, cuando se recibe un aviso de emergencia ), hasta
la finalización del servicio(cuando se retira la última unidad del área de intervención).
iv
2.3.2.1. RECEPCIÓN DEL LLAMADO
El aviso de una emergencia se puede realizar por los siguientes medios:
•
Vía telefónica: a la central(teléfono 132) o a algún cuartel(a un teléfono de cuartel).
•
Radial: ingresando a la frecuencia VHF bomberil.
•
Aviso personal: cuando la persona avisa directamente de la ocurrencia de una emergencia.
Cuando se hace la recepción del llamado, se debe ingresar:
•
Nro. Telefónico.
•
Nombre completo, RUN y dirección de la persona que da la alerta.
•
Hora del llamado.
•
Ubicación(rural o urbana, calle, número, esquina más cercana, kilómetro, ruta o camino)
Aunque esta información es recomendable que se obtenga con los procedimientos establecidos,
no es vital(salvo contadas excepciones) para la información estadística o los informes finales, por
lo que puede ser ingresada en el momento del llamado o posteriormente, una vez que este haya
finalizado. En algunos casos, hay datos que no son necesarios ingresar, y que se explicarán en lo
sucesivo del presente informe.
Conforme a la información que se obtiene del llamado respecto a la emergencia, esta se clasifica,
para despachar posteriormente a las unidades que según los procedimientos de la institución,
atenderá más eficientemente la situación, de acuerdo al tipo de emergencia y a la ubicación
geográfica.
A continuación se procede a detallar la clasificación de los tipos de servicios:
•
EMERGENCIAS
iv
•
-
Principio de incendio estructural
-
Incendio declarado estructural
-
Incendios en vehículos
-
Incendio en pastizal
-
Incendio forestal
-
Incidente HAZMAT
-
Falsa alarma de ...
-
Rescate convencional
-
Rescate vehicular
-
Apoyo a vehículos volcados y otros
-
Emanación de gas
-
Anegamiento de vivienda y otros
-
Salvataje de animales
-
Recuperación de cadáver
-
Emergencia por viento
ESPECIALES
-
Abastecimiento de agua, riego a SS.PP. y particulares
-
Apoyo a SS.PP. y particulares en trabajos de altura
iv
•
•
•
•
-
Otras prestaciones a Instituciones y/o particulares
-
Peritaje de incendio
-
Labores internas de compañía
INSPECCION Y VISITAS
-
Charlas de seguridad a establecimientos educacionales
-
Visitas e inspecciones a Brigada contra incendios de la Comuna Torres del Payne
-
Revisión de seguridad de edificios
CAPACITACION
-
Academias y/o instrucción a otras instituciones
-
Cursos a personal de fuera de la ciudad
-
Ejercicios instrucción teórico/práctica al personal
-
Academias y/o charlas al personal
APOYO
-
Apoyo de seguridad SSEI
-
Apoyo recolección de ropa, enseres, víveres para damnificados
-
Apoyo competencias automovilísticas, pedestres y otras.
REUNIONES Y OTROS
-
Reuniones generales y consejos de oficiales
iv
-
Reuniones D.E.T.
-
Desfiles y/o ceremonias, con medios humanos y material mayor
OBSERVACIONES:
2.3.2.2. DESPACHO DE LAS UNIDADES
Una vez que se ha clasificado el llamado de emergencia y se tiene clara el área de intervención,
se procede al despacho de las máquinas y personal que debe concurrir hasta el lugar. Para ello se
debe considerar tener en el sistema la presentación de cada una de las máquinas existentes en el
parque automotriz, considerando su estado actual de operación, el que puede ser descrito por el
mismo sistema de claves que se utiliza en la institución.
2.3.2.3. INFORMACION DEL SERVICIO
En esta sección se debe permitir el ingreso del máximo de información del servicio al que se está
concurriendo, a fin de poder obtener los datos para los registros que permitirán concluir informes
técnicos, estadísticas, recuperación de información histórica, y otros datos de interés para la
institución.
La información y datos que el sistema debe permitir ingresar en esta sección se detalla a
continuación:
•
Día, Mes, Año y hora de comienzo y termino del servicio.
•
Identificación y hora de retirada de la última unidad del lugar.
•
Horas trabajadas.
•
Oficial o Bombero a cargo del servicio.
iv
•
Concurrencia de organismos de apoyo(Hospital, Carabineros, Gasco, etc.)
•
Total de Bomberos que asistieron.
•
Tipo de emergencia: debe considerar inicialmente el tipo de emergencia con la que se
clasificó el llamado. Este puede ser cambiado, ya que en muchas oportunidades se sale para
un tipo de emergencia y se llega a confirmar otra muy distinta.
•
Identificación de propietario y/o ocupante(Nombre completo y RUN, Domicilio).
•
Origen probable.
•
Causa probable.
•
Categoría probable(accidental, natural, intencional, otra)
•
Magnitud(grande, mediana, pequeña, no trabajo)
•
Daños a otros edificios(identificación del lugar, y si fue afectado por agua, fuego, labores
propias del servicio, explosión, humo).
•
Cantidad de ocupantes(mayores y menores de edad).
•
Personas rescatadas y/o atendidas.
•
Número de Bomberos lesionados.
•
Seguros comprometidos(nombre aseguradora, número de póliza, fecha de termino vigencia)
•
Persona entrevistada(nombre, RUT, dirección)
Cabe considerar que cada llamado(o tipo de servicio prestado) tendrá un código correlativo que
debe estar compuesto por un número correlativo y el código correspondiente al grupo de servicio
al que pertenece(para efectos de informes históricos).
iv
Se debe considerar la posibilidad de realizar un formulario distinto para los casos de accidente
vehicular, que debe considerar los siguientes ítem:
•
Tipo de accidente vehicular(colisión, choque, volcamiento, atropello, caída, otro).
•
Breve descripción del trabajo realizado.
•
Datos de los vehículos involucrados(si los hay):número, marca, modelo, patente, color,
nombre y RUT del propietario y conductor, número de ocupantes, aseguradora, número de
póliza y fecha de término vigencia.
•
Número de personas fallecidas.
•
Persona entrevistada(nombre, RUT, dirección)
•
Personas rescatadas y/o atendidas.
iv
CAPITULO III. DISEÑO DE LA BASE DE DATOS
iv
3 Diseño de la Base de Datos
Una vez establecidos los requerimientos del sistema, tanto para el área administrativa como para
el área operativa, se procede al análisis de los datos, y el diseño de las tablas que contendrán la
información de la base de datos.
3.1
DISEÑO DE LA BASE DE DATOS PARA EL AREA ADMINISTRATIVA
Dada la cantidad de información que se maneja en el sistema, es necesario contar con una base
datos sólida y diseñada de tal manera que permita adaptarse a los requerimientos del usuario, sin
la necesidad de optar por la contratación de personal especialista en informática para hacer
cambios en el sistema, salvo situaciones excepcionales que impliquen un cambio en las políticas
de administración de los datos.
Al momento de diseñar la base de datos se tuvieron en cuenta dos factores fundamentales, que se
describen a continuación.
El primero de ellos tiene relación con uno de los objetivos propuesto al momento de diseñar el
proyecto, cual es el de dar satisfacción a la necesidad de las instituciones Bomberiles o Cuerpos
de Bomberos, de contar con sistemas computacionales que le permitieran manejar su información
de una manera más rápida, cómoda y segura.
El segundo factor tiene que ver con la autonomía de los Cuerpos de Bomberos. Si bien es cierto,
como se ha explicado anteriormente, estas instituciones están optando por normalizar(de manera
interna) la gran mayoría de sus procedimientos administrativos y operacionales, no es menos
iv
cierto que siguen siendo legalmente instituciones autónomas y que adoptan políticas propias. Por
esto el sistema y la base de datos debe ser capaz de adaptarse a los cambios internos de la
institución.
Con respecto al segundo factor, y para lograr clarificar el concepto, se grafica el siguiente
ejemplo.
“Supongamos que existe una tabla de la base de datos que almacene la información relativa al
personal(tabla PERSONAL), en la cual, uno de los campos definidos en el del cargo actual que
desempeña el bombero(campo Cargo). Por la estructura de la organización puede existir uno o
más bomberos que ostenten un mismo cargo o responsabilidad: por ejemplo, el cargo de
maquinista.
Lo anterior supone que si por razones de orden institucional, la nomenclatura del cargo
maquinista, es cambiada por la de conductor, en la tabla PERSONA, se deben recorrer todos los
registros existentes y editar aquellos que tienen en el campo Cargo, el dato maquinista,
cambiándolo por el de conductor.”
El ejemplo anterior, se traduce en un diseño poco eficiente desde el punto de vista de la
administración de los datos informáticos, por lo que se tuvo que pensar en una solución general,
que permita un buen mantenimiento de los datos, no solo para el contexto de este ejemplo, sino
también para todos aquellos problemas que puedan ocurrir al administrar los datos.
Como consecuencia de lo anterior, se diseño un módulo destinado al mantenimiento de los datos.
Este módulo de Mantenimiento, viene a ser la columna vertebral del sistema, ya que permite un
real y eficiente control en el ingreso y mantención de los datos fundamentales en la
administración de los registros del sistema.
El diseño de la base de datos se realizó en Microsoft Access 2000, y para tratar los datos que se
encuentran en esta base de datos, se utilizó la herramienta ODBC, disponible en el Panel de
Control del sistema operativo Microsoft Windows.
iv
3.2
DISEÑO DE LA BASE DE DATOS PARA EL AREA OPERATIVA Y LA
ADMINISTRACION DEL SISTEMA GEOGRAFICO(PLANO DE LA CIUDAD)
3.2.2.
PLANTEAMIENTO
Una parte de este proyecto consiste en que dada una emergencia se pueda obtener un apoyo para
la(s) Compañía(s) de Bomberos que acude(n) al lugar de la emergencia. Esto consiste en obtener
un “camino mínimo” desde el cuartel donde se encuentran las máquinas, hasta el lugar de la
emergencia.
Para dar satisfacción a lo anterior, se implementará el Algoritmo de Dijkstra que consiste en
calcular los costos mínimos
de un
nodo a
otro pertenecientes a un grafo. Para su
implementación se deben obtener los vértices que conforman el grafo y sus relaciones entre ellos
(arcos) con sus respectivos costos(pesos). Estos datos estarán almacenados en tablas de la base
de datos que conforma el sistema.
Una vez obtenido el “camino mínimo” deberá ser visualizado gráficamente en el plano de la
ciudad y mostrar información adicional como por ejemplo, caminos de costo mínimo y los
estados de los grifos que existen en el lugar de la emergencia.
Para poder implementar esta parte del sistema se deben tener en cuenta los conocimientos y
contenidos que se proceden a resumir a continuación.
3.2.3.
ESTRUCTURA DE LA BASE DE DATOS
Los detalles de las estructuras de las tablas y los campos definidos en cada una de ellas, se
pueden observar en el ANEXO A. DISEÑO DE TABLAS DE LA BASE DE DATOS.
iv
CAPITULO IV. DISEÑO DE LA INTERFAZ
GRAFICA Y PANTALLAS
iv
4 Diseño de la Interfaz Gráfica y Pantallas
En el desarrollo del presente capítulo se detallan los pasos adoptados para la implementación del
sistema, pasando por el diseño de pantallas y aspectos relevantes de la codificación.
En primer término, se recuerda que las tablas que contienen los datos del sistema, han sido
diseñadas y configuradas en Microsoft Access 2000.
Para la construcción del sistema se ha optado por el gestor de base de datos Microsoft Visual
Basic versión 6.0, Edición profesional.
El fundamento de las anteriores elecciones tiene que ver con:
•
Conocimiento previo de algunos aspectos generales de cada uno de los software.
•
Facilidad en la adaptación a los equipos computacionales disponibles en el Cuerpo de
Bomberos de Natales, y en la mayoría de sus similares del país.
•
Posibilidad de construir interfaces gráficas amigables y conocidas por la mayoría de los
usuarios.
•
Ahorro de tiempo y en la instrucción y/o capacitación, al adaptar otras plataformas de
trabajo, como por ejemplo LINUX, en lo que se refiere a la recuperación del sistema ante
una posible falla, que sea posible de solucionar a nivel usuario.
Para efectos prácticos de la construcción de la aplicación, se adoptó una estrategia que permitiera
utilizar el reciclaje de código, estableciéndose de esta manera la construcción en primer término
de un módulo completo(módulo MANTENIMIENTO), para posteriormente, y en base a este
iv
módulo, construir los siguientes, utilizando los procedimientos y funciones ya estudiados y
probados.
A continuación se muestran las imágenes que describen el diseño y presentación de cada una de
las pantallas y/o formularios que permiten la administración del sistema y de los datos que allí se
manejan, entregando de esta manera la estructura del sistema y los componentes de cada uno de
ellos.
4.1
MENU PERSONAL
La opción Ingreso/Mantención Datos Personales permite pueden administrar los datos
personales de los integrantes de la Institución(ver Figura 4.1).
Figura 4.1. Pantalla para ingreso y mantenimiento de datos
personales
iv
La opción Ingreso/Mantención de Cursos ofrece, a través de su diseño la administración de los
cursos que realiza el personal de bomberos(ver Figura 4.2).
Figura 4.2. Pantalla para el ingreso y mantención de cursos
del personal.
iv
La opción Hoja de Vida permite operar los datos relativos a la hoja de vida del personal, en lo
que se refiere a los premios y sanciones obtenidas(ver Figura 4.3).
Figura 4.3. Pantalla para el ingreso y mantención
de datos de la Hoja de Vida del Personal
La Cargos desempeñados, permite administrar los registros que tienen que ver con los cargos
que desempeña(o ha desempañado) cada bombero.(ver Figura 4.4).
Figura 4.4. Pantalla para el ingreso y mantención cargos y
actividades desarrolaladas por el personal
iv
4.2
MENU DOCUMENTOS
La opción de Ingreso/Mantención doctos. salidos. Salidos permite la administración de la
documentación que despecha la Institución a otros estamentos internos o también externos(ver
Figura 4.5).
Figura 4.5. Pantalla para el ingreso y
mantención de documentos salidos
iv
Por otra parte la opción Ingreso/Mantención doctos. llegados. Llegados permite la
manipulación de los datos relativos a los documentos que llegan desde otros estamentos internos
y/o externos, hacia la Secretaría General de la Institución(ver Figura 4.6)
Figura 4.6. Pantalla para el ingreso y mantención de
documentos llegados.
4.3
MENU INVENTARIO
La opción Ingreso/Mantenimiento de inventario permite la administración de los datos
relativos a las especies de inventario se manejan en una sola pantalla o formulario, a través de la
opción(ver Figura 4.7).
iv
Figura 4.7. Pantalla para el ingreso y mantención de especies
de inventario
4.4
MENU MANTENIMIENTO
La Figura 4.8 muestra la vista de una de las opciones del menú Mentenimiento.
Figura 4.8. Vista de una de las opciones
correspondientes al menú Mantenimiento
iv
A continuación se detallan los submenús de la opción Mantenimiento del sistema.
•
Opción Del Personal: Permite ingresar datos claves en la administración de registros que
tienen que ver con el personal de la Institución tales como nacionalidades, estados civiles,
nivel de estudio, calidad de ingreso, cargos, grupo de sangre, cursos(organizaciones de
capacitación, nombre de cursos, estados de aprobación), premios/sanciones.
•
Opción Emergencias: Permite ingresar datos claves en la administración de registros que
tienen que ver con la información que se maneja en alguna emergencia, tales como servicios,
categorías de siniestros, daños, magnitud, persona(actividad que desarrolla en la emergencia),
instituciones de apoyo, accidentes, tipos de llamados.
•
Opción Inventario: Permite ingresar datos claves en la administración de registros que tienen
que ver con la información que se maneja para las especies del inventario. Básicamente
permite en el ingreso de los nombres de los grupos de activos y los nombres de los tipos de
dependencias existentes.
•
Opción Documentos: Permite ingresar datos claves en la administración de registros que
tienen que ver con la información que se maneja para los documentos, específicamente la
descripción de los tipos de documentos.
•
Opción Compañías/Brigadas: permite en ingreso de los datos de las diferentes compañías o
brigadas que forman parte de la Institución.
•
Opción Máquinas: permite en ingreso de los datos de las diferentes máquinas que forman
parte de la Institución y que están a cargo de alguna compañía o brigada.
4.5
MENU SERVICIOS
iv
La Figura 4.9 muestra el formulario de presentación de los servicios en una grilla de datos, desde
donde se puede seleccionar uno de ellos, para posteriormente editar o borrar el registro de esa
emergencia(o servicio especial) y todos los registros asociados.
Figura 4.9. Vista de la grilla de datos de servicios
registrados en el sistema y botones de opción para
ingresar, editar y borrar.
iv
La Figura 4.10 muestra el formulario principal para el ingreso y edición de datos relacionados
con la emergencia o servicio especial que se esté ingresando.
Figura 4.10. Pantalla para el ingreso y edición de datos de servicios
iv
CAPITULO V. TRABAJANDO CON ARCVIEW
iv
5 Trabajando con ArcView 3.1
El GIS ArcView es un potente software de Sistema de Información Geográfica(GIS) y trazado
de mapas para computadores personales. Brinda la capacidad de visualizar, explorar, consultar y
analizar datos en forma espacial.
5.1
¿QUÉ SE PUDE HACER CON ARCVIEW?
Este programa trae un conjunto útil de datos preparados para utilizarse de inmediato, a fin de
crear con ellos centenares de mapas diferentes. Pidiéndolos a ESRI, a otras organizaciones y a
través de Internet se consiguen datos adicionales. Es posible emplear ArcView para acceder a
datos almacenados en el formato de archivos de formas del programa, en el formato de
ARC/INFO y en muchos otros. También se puede servir de ArcView
para crear datos
geográficos propios.
Una vez que se haya trazado el mapa deseado, resulta fácil añadirle datos en forma de tablas,
tales como archivos de dBase y los suministros por servidores de bases de datos, a fin de que se
los pueda visualizar, consultar, resumir y organizar geográficamente.
5.2
COMENZANDO A TRABAJAR CON ARCVIEW
Se creará un proyecto(nom_proyecto.apr), el cual contendrá todas las vistas, tablas, gráficos
estadísticos, las composiciones de mapa y los scripts que se utilizan para la determinada
aplicación.
iv
Una vista es un mapa interactivo que permite visualizar, explorar, consultar y analizar los datos
geográficos en ArcView. Una vista se compone de capas de información geográfica acerca de un
área o lugar, las cuales se llaman “temas”.
En la tabla de materias de una vista se enumeran todos los temas que esta contiene. La tabla de
materias muestra también los símbolos empleados para trazar los elementos en cada tema.
La casilla de verificación junto a cada tema indica si está o no “marcado”, es decir, si se
encuentra o no trazado en el mapa. También importa el orden en que se enumeran los temas en la
tabla de materias. Los que figuran más arriba en la tabla son trazados por encima de los que
aparecen debajo.
5.3
¿SE GUARDAN CON EL PROYECTO LOS DATOS ESPACIALES QUE SE
HAN AÑADIDO AL MAPA?
Un archivo de proyecto de ArcView no contiene los datos espaciales y datos en forma de tablas
que uno añade a los mapas. En cambio, almacena referencias al lugar donde se conservan las
fuentes de los datos en disco. De esta forma, pueden emplearse los mismos datos en una serie de
proyectos sin duplicación y, si los datos cambian, las actualizaciones se reflejarán en todos los
proyectos donde sean utilizados esos datos.
Cuando se abre un proyecto existente, ArcView verifica todas las referencias a datos espaciales y
datos en forma de tablas que contiene. Si ArcView no encuentra alguno de los datos, presentará
un cuadro de dialogo donde le preguntará dónde están los que no puede localizar. Este proceso se
llama reparación de proyectos.
5.4
CARGAR DATOS EN FORMA DE TABLAS DESDE BASES DE DATOS
Utilizando la característica de conexión SQL de Arc View, es posible conectar con un servidor de
bases de datos y ejecutar una consulta SQL para recuperar registros del mismo. Los registros a
los que acceda se convierten en una tabla dentro del proyecto.
iv
Para cargar datos mediante un conexión con una base de datos
1.
Se activa la ventana del proyecto
2.
Desde el menú proyecto, se elige Conectar SQL
3.
En el cuadro de diálogo que aparece, la lista conexión muestra todas las conexiones con
bases de datos que están disponibles. Se elija la base de datos cuyos datos desea cargar en
ArcView y se pulsa el botón Conectar. Esto permite iniciar la conexión con la base de datos
seleccionada.
4.
La lista tablas muestra todas la tablas disponibles en la base de datos con la que se está
conectado. Se puede hacer clic en una tabla para que se enumeren las columnas (campos)
que contiene. Se utilizan las listas tablas y columnas para componer una consulta SQL,
especificando qué columnas de qué tablas se desea traer a ArcView. Al hacer doble clic en el
nombre de una columna, se añade al cuadro “Select:” , mientras que si se hace doble clic en
el nombre de una tabla, se añade al cuadro “from:” .
5.
Si se desea que los registros que se van a recuperar se limiten a un subconjunto específico, se
teclea una expresión de selección en el cuadro “where”.
6.
En el cuadro Tabla resultado, se especifica un nombre para la tabla que creará ArcView a fin
de almacenar allí estos datos.
7.
5.5
Se pulse el botón consulta
PRESENTACION DE LOS VERTICES DE CALLES GRAFICADOS EN EL
MAPA(ANTES Y DESPUES DE DIJSKTRA) PARA EL SISTEMA SICAB
Después de la ejecución del algoritmo de Dijkstra sobre los datos de los vértices que se
encuentran en la base de datos, la aplicación es capaz de cargar un plano, abriendo la Aplicación
GIS ArcView.
iv
La visualización del plano de la ciudad en la pantalla del equipo en la que se encuentra el sistema
SICAB, constituye una de las principales salidas del sistema, transformándose desde ese
momento en la principal herramienta de apoyo a las operaciones de emergencia o servicios
especiales en los que participan las unidades operativas(material motorizado y humano) del
Cuerpo de Bomberos.
Como se puede ver en la Figura 5.1, los vértices(correspondientes a las intersecciones de calles),
se muestran con círculos de color azul, antes de la ejecución de Dijsktra(Las estrellas rojas,
indican la ubicación de las Compañías).
Figura 5.1. Vista de una sección del plano de la ciudad de Natales, antes del
cálculo del Algoritmo de Dijsktra realizado por SICAB
iv
Después de ingresadas las direcciones(calle de la emergencia y la intersección más cercana), la
presentación del mapa en ArcView cambia(como se aprecia en la Figura 5.2), marcando los
vértices que forman el camino mínimo con color rojo.
Figura 5.2. Vista de una sección del plano de la ciudad de Natales, después del
cálculo del Algoritmo de Dijsktra ejecutado por SICAB
De esta manera, el operador de la central de alarmas, puede indicar al personal de servicio que
atiende la emergencia, que camino tomar para llegar más rápido a ella.
Datos suficientes y necesarios para el funcionamiento del cálculo del camino mínimo realizado
por la implementación del Algoritmo de Dijkstra, son la calle de la emergencia y su intersección
más próxima. SICAB es capaz de determinar si las calles ingresadas constituyen o no una
intersección en el plano de la ciudad. Realizada esta verificación y una vez que se ha determinado
iv
que si constituyen una intersección, Dijkstra calcula el camino mínimo para que el operador(a)
despache a las unidades. En caso que la verificación arroje un resultado negativo, se le comunica
al usuario mediante un mensaje de información, para que este determine los pasos a seguir,
aplicando los criterios relacionados con verificación y/o confirmación de llamados por posibles
falsas alarmas.
iv
CAPITULO VI. CONCLUSIONES
iv
6 Conclusiones
En el presente trabajo se han descrito los principales pasos que han permitido obtener como
resultado el “Sistema de Información para Central de Alarmas de Bomberos, SICAB”.
Con lo anterior se a logrado obtener un prototipo de sistema que puede ser aplicado a cualquier
Cuerpo de Bomberos del país, con una funcionalidad que nace de la base de una detallada toma
de requerimientos y un cuidadoso análisis y diseño, basados en las estructuras funcionales
administrativas y operativas de una Institución que por años se ha mantenido en una constante
evolución profesional y técnica.
Uno de los resultados destacables, es el de lograr hacer trabajar a dos aplicaciones distintas(la
aplicación administrativa creada en Microsoft Visual Basic 6.0 y el plano que se visualiza en
ArcView), sobre una misma base de datos creada en Microsoft Access 2000.
Además, en el desarrollo de la presente documentación se han establecido las bases para lograr
complementar o automatizar aún más el sistema SICAB, sobre la base de que se trata de una
aplicación que, conforme al avance y desarrollo de los procedimientos, técnicas y trabajos
realizados por las Instituciones Bomberiles, debe irse adaptando para ser cada vez más eficiente.
Es así como podemos pensar en una ampliación del sistema que permita a los usuarios, ir
actualizando los planos, agregando nuevas poblaciones, o cambiar direcciones de calles, opciones
que el actual prototipo no presenta, pero que en base al diseño del sistema, son posibles de
realizar, sirviendo incluso como nuevos desafíos para futuros alumnos memoristas de las carreras
que tienen relación con el área de la computación e informática de la Universidad de Magallanes
iv
Desde el punto de vista de las técnicas relacionadas con el desarrollo de Sistemas de Información
Administrativa se pueden destacar los siguientes aspectos:
•
En el desarrollo del código fuente del programa se utilizaron los elementos necesarios de tal
manera de hacer fácil y entendible su comprensión a programadores que quieran realizar
modificaciones y/o actualizar el sistema.
•
PORTABILIDAD Y REUSABILIDAD: El sistema es absolutamente modificable. Como se
sabe, esta es una característica que hace que sistema sea portable. Además el diseño del
sistema hace que tanto su código fuente, como también sus formularios y pantallas sean
reutilizadas para futuras modificaciones, incluso para estructurar nuevas aplicaciones que
se relacionen con Sistemas de Información Administrativa o administración de base de
datos relacionandas con sistemas gráficos.
•
Se han establecido criterios para lograr que el sistema sea inmune a algunos errores
comunes de utilización por parte de los usuarios. También se han establecido las rutinas de
validación de datos necesarias para evitar la inconsistencia en la Base de Datos.
Es importante destacar que aún cuando el sistema fue diseñado para una institución específica, es
posible utilizarlo para otras instituciones u organismos que requieren de apoyos para el
desplazamiento de sus medios o la toma de decisiones, como por ejemplo Policía, Servicios de
Urgencia, Radio taxis, Dirección de Tránsito, Oficinas Provinciales o Comunales de Emergencia,
entre otras.
iv
ANEXOS
iv
ANEXO A. DESCRIPCION DE TABLAS Y DATOS DE LA BASE
DE DATOS SICAB DISEÑADA EN MICROSOFT ACCESS 2000
Tabla ACCIDENTE
Almacena los registros de aquellas situaciones que provocan lesiones, y que son informadas y/o
confirmadas al personal de bomberos, y que pueda sufrir tanto personal de bomberos o civiles.
Nombre del campo
CodAcci
Acci
Tipo de Dato
Numérico
Texto
Descripción
Código de la lesión
Descripción de la lesión (VOLCAMIENTO, ATROPELLO,
CHOQUE, CAIDA DE ALTURA, CAIDA DE VEHICULO
EN MOVIMIENTO, SUMERSION, QUEMADURA,
ELECTROCUCION, etc.)
Tabla ACTIVIDAD
Almacena la información correspondiente a cada una de las funciones que el personal ejerza
dentro de la Institución, como por ejemplo, cargos de Oficial de Cuerpo o Compañía, integrante
del Depto. De Estudios Técnicos, comisiones de servicio especiales, etc.
Nombre del campo
Run
FecIni
FecTer
CodCargo
Tipo de Dato
Texto
Texto
Texto
Numérico
Obs
CodCia
Texto
Numérico
Descripción
Rol Único Nacional
Fecha de inicio de la actividad
Fecha de término de la actividad
Código que identifica el tipo de cargo desempeñado entre
las fechas indicadas anteriormente
Si acaso corresponde alguna, producto de su desempeño
Código de la compañía a la que pertenece el bombero
iv
Tabla APOYO
Guarda la información referente aquellas instituciones concurrieron a la emergencia, y que
formaron parte del equipo que actuó para solucionarla.
Nombre del campo
Folio
Idservicio
Idllamado
CodInst
Acargo
Cargo
Obs
Tipo de Dato
Numérico
Numérico
Numérico
Numérico
Texto
Texto
Texto
Descripción
Corresponde al último llamado por subtipo de servicio
Tipo de servicio realizado
Sub tipo de servicio realizado
Identifica a la Institución que concurrió al lugar
Nombre de la persona que estuvo a cargo de la Institución
Cargo o puesto que desempeña la persona en la Institución
Si son necesarias de acuerdo al tipo de apoyo o actividad que
desempeñaron
Tabla APROV
Encargada de almacenar los registros correspondientes a los códigos de situación de
aprobación(APROBADO, REPROBADO, EXAMEN PENDIENTE, ETC.) del personal que
realiza cursos, y las correspondientes descripciones de esos códigos.
Nombre del campo
CodAprov
Aprov
Tipo de Dato
Numérico
Texto
Descripción
Código de aprobación del curso para un bombero
Descripción de la situación de aprobación, correspondiente al
código anterior
iv
Tabla AUTOS
Es la encargada de llevar los registros de los vehículos involucrados en emergencias de
accidentes vehiculares y a los que se solicita la concurrencia de bomberos.
Nombre del campo
Folio
Idservicio
idllamado
Marca
Modelo
Patente
Color
CIProp
NomProp
CICond
NomCond
NroOcup
NomAseg
NroPol
FecTerVig
Tipo de Dato
Numérico
Numérico
Numérico
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Texto
Numérico
Texto
Texto
Texto
Descripción
Corresponde al último llamado por subtipo de servicio
Tipo de servicio realizado
Sub tipo de servicio realizado
Marca del vehículo
Modelo del vehículo
Patente del vehículo
Color de la carrocería
RUN del propietario
Nombre del propietario
RUN del Conductor
Nombre del conductor
Número de ocupantes del móvil
Nombre de la compañía de seguros
Número de la póliza
Fecha de término de vigencia de la póliza
Tabla CALIDAD
Almacena los códigos que establecen la calidad de los integrantes de la Institución. Estas
calidades pueden ser: ACTIVO, COOPERADOR, HONORARIO DE CUERPO, HONORARIO
DE COMPAÑÍA, ETC., permitiendo ingresar otras calidades de integrantes, que puedan irse
generando según sea el desarrollo de la Institución.
Nombre del campo
CodCali
Cali
Tipo de Dato
Numérico
Texto
Descripción
Código para cada una de las calidades
Nombre de la calidad correspondiente al código.
iv
Tabla CARGOS
Registra los códigos y descripciones correspondientes de cada uno de los cargos o actividades
que haya desempeñado el personal.
Nombre del campo
CodCargo
Cargo
Tipo de Dato
Numérico
Texto
Descripción
Código del cargo o actividad que desempeña el personal
Descripción del cargo o actividad asociada al código antes
descrito
Tabla CATEG
La tabla contiene los códigos y descripciones de las posibles categorías atribuibles a las
emergencias. Estas pueden ser NATURALES, INTENCIONALES, ACCIDENTALES, etc.
Nombre del campo
CodCateg
Categ
Tipo de Dato
Numérico
Texto
Descripción
Código de la categoría
Descripción de la categoría asociada al código
Tabla CIA
Esta tabla guarda la información que identifica a cada una de las Compañías, permitiendo
establecer para este módulo en particular la Unidad a la que pertenece un integrante de la
Institución. Además sirve para indicar(en el módulo inventario) a que unidad operativa pertenece
una especie determinada.
Nombre del campo
Cia
CodCia
NomCia
DirCia
FonoCia
Bomba
Tipo de Dato
Numerico
Texto
Texto
Texto
Texto
Texto
Descripción
Almacena el código de Compañía.
Identificación convencional de la Compañía
Almacena el nombre de la Compañía.
Almacena la dirección de la Compañía.
Almacena el(los) teléfonos de la Compañía
Almacena el nombre distintivo de la Compañía
iv
Tabla CURSOS
Lleva los registros correspondientes a los Cursos que haya realizado el personal, tanto por
entidades Bomberiles, como por organizaciones externas.
Nombre del campo
Run
FecIni
FecTer
CodCur
CodAprov
Tipo de Dato
Texto
Texto
Texto
Numérico
Numérico
Obs
Texto
Cia
Texto
Descripción
Rol Único Nacional
Fecha de inicio del curso
Fecha de término del curso.
Código del curso.
Código que identifica la situación de aprobación del
participante
Si acaso corresponde alguna, producto de su participación
en dicho curso
Código que identifica la compañía a la que pertenece el
bombero
Tabla CURSOS1
Esta tabla es la encargada de almacenar los registros correspondientes a los nombres de cursos
que se realizan en institución, la organización que imparte el curso, la que está referenciada por el
código de la organización
Nombre del campo
CodCur
NomCur
CodOrg
Tipo de Dato
Numérico
Texto
Numérico
Descripción
Código del curso o taller realizado
Nombre que describe el curso o taller realizado
Código de la institución que imparte el curso
Tabla DANOS
Contiene los códigos y descripciones de los daños estimados a la estructura siniestrada.
Nombre del campo
CodDano
Dano
Tipo de Dato
Numérico
Texto
Descripción
Código del daño
Descripción del daño asociado al código anterior(MENORES,
MADIANA CONSIDERACIÓN, MAYORES, TOTALES)
iv
EMERGENCIAS1
La tabla lleva los registros de datos básicos para los distintos tipos de llamados.
Nombre del campo
Folio
servicio
llamado
fecha_ini
hora_ini
fecha_term
hora_term
Calle
Nro
inters_calle
Tipo de Dato
Numérico
Numérico
Numérico
Texto
Texto
Texto
Texto
Numérico
Texto
Numerico
Descripción
Corresponde al último llamado por subtipo de servicio
Tipo de servicio realizado
Sub tipo de servicio realizado
Fecha de inicio del servicio
Hora de inicio del servicio
Fecha de término del servicio.
Hora de término del servicio
Código de la calle de emergencia
Numero que identifica la casa de la calle de la emergencia
Código que identifica la calle de intersección más próxima
EMERGENCIAS2
La tabla lleva los registros de datos básicos para los distintos tipos de llamados.
Nombre del campo
Folio
idservicio
idllamado
Origen
Causa
CodCateg
CodMagni
CodDano
Tipo de Dato
Numérico
Numérico
Numérico
Texto
Texto
Numérico
Numérico
Numérico
Porcen
NomAseg
NroPol
FecTerVig
UltUni
TotBomb
OcupMay
OcupMen
PerAten
Numérico
Texto
Texto
Texto
Texto
Numérico
Numérico
Numérico
Numérico
PerFall
CodAcci
Fono
Obs
Numérico
Numérico
Texto
Texto
Descripción
Corresponde al último llamado por subtipo de servicio
Tipo de servicio realizado
Sub tipo de servicio realizado
Descripción del probable origen del siniestro
Descripción de la probable causa del siniestro
Código que identifica la categoría probable del siniestro
Código que identifica la magnitud de la emergencia
Código que identifica los daños estimados a la estructura
siniestrada
Estimación del porcentaje de daño y/o destrucción
Nombre de la entidad que asegura la estructura
Número de la póliza
Fecha del término de vigencia de la póliza
Ultima unidad móvil que se retiró del lugar
Total de Bomberos que asistieron
Número de ocupantes mayores de edad
Número de ocupantes menores de edad
Personas atendidas en el lugar por parte de personal de la
Institución
Personas fallecidas en el lugar
Código que identifica el tipo de accidente, si lo hubo.
Número de teléfono desde donde se dio aviso de la emergencia
Si corresponden al llamado
iv
Tabla DATPEREMER
Guarda los registros de personas que intervinieron en algún llamado, realizando alguna actividad.
Nombre del campo
Folio
Servicio
Llamado
CodActiv
NomPer
Run
Tipo de Dato
Numérico
Numérico
Numérico
Numérico
Texto
Texto
Descripción
Corresponde al último llamado por subtipo de servicio
Tipo de servicio realizado
Sub tipo de servicio realizado
Código de la actividad que desarrolla la persona en el llamado
Nombre que identifica a la persona
Rol Único Nacional de la persona
Tabla DEPEND
Encargada de llevar los registros de los códigos y nombre asociados a cada una de las
dependencias que existen en los Cuarteles(incluidas las máquinas).
Nombre del campo
CodDep
Dep
Tipo de Dato
Numérico
Texto
Descripción
Código de la dependencia
Nombre que identifica a la dependencia
Tabla DOCLLEG
Almacena los datos correspondientes a la documentación llegada al Cuerpo de Bomberos, desde
otras Instituciones o personas.
Nombre del campo
CodDoc
Tipo de Dato
Texto
CodTipo
NroDoc
FecDoc
Numérico
Texto
Texto
FecRecep
Proced
Cont
Obs
Texto
Texto
Texto
Texto
Descripción
Identifica a un documento en particular, dado por el ultimo
correlativo de su tipo.
Identifica el tipo de documento que se esta recibiendo
El número que identifica al documento
Fecha de emisión del documento(la que viene impresa en el
mismo).
Fecha en que se recibe el documento
Breve descripción de la persona o institución que envía el docto
Breve descripción del contenido del documento
Si corresponde, conforme al documento que se emite.
iv
Tabla DOCSAL
Tabla encargada de almacenar los datos correspondientes a la documentación salida desde el
Cuerpo de Bomberos hacia otras Instituciones o personas.
Nombre del campo
CodDoc
Tipo de Dato
Texto
CodTipo
FecEmi
Dest
Cont
Obs
Numérico
Texto
Texto
Texto
Texto
Descripción
Identifica a un documento en particular, dado por el ultimo
correlativo de su tipo.
Identifica el tipo de documento que se está despachando
Corresponde a la fecha de emisión del documento
A que Institución o persona va dirigida
Breve descripción del contenido del documento
Si corresponde, conforme al documento que se emite.
iv
Tabla ESPECIE
Almacena la información que identifica a cada especie ingresada en el inventario.
Nombre del campo
CodEsp
Tipo de Dato
Numérico
Cant
NomEsp
ValMone
Obs
Numérico
Texto
Numérico
Texto
CodDep
CodInv
Numérico
Texto
FecAlt
CodDocAlt
Texto
Texto
FecBaj
Texto
CodDocBaj
Texto
Est
Texto
Cia
CodGrup
Texto
Numérico
Descripción
Es el número con el que se identifica a las diferentes especies, el
cual debe estar dado por el campo Correl de la tabla
GRUPACTIV
Cantidad de elementos que corresponden a la especie
Nombre que identifica a la especie
Valor monetario asignado a la especie
Si corresponden, debido a la naturaleza, estado o características
de la especie
Identifica la dependencia a la que está asignada la especie
Identifica si corresponde a un inventario de tipo OPERATIVO o
ADMINISTRATIVO
Fecha en que la especie es ingresada oficialmente al inventario
Identifica al documento que oficializa el ingreso de la especie al
inventario
Fecha en que la especie es dada de baja oficialmente del
inventario
Identifica al documento que oficializa la dada de baja de la
especie al inventario
Identifica si la especie está en BUENAS, MALAS O
REGULARES condiciones
Identifica la compañía a la que pertenece la especie
Código que identifica al grupo de activos al que pertenece
Tabla ESTCIVIL
Guarda los códigos que identifican cada uno de los posibles estados civiles que tiene el personal.
Estos pueden ser: SOLTERO(A), CASADO(A), SEPARADO(A), VIUDO(A), otros que puedan
ser ingresados al sistema.
Nombre del campo
CodEstCiv
EstCiv
Tipo de Dato
Numérico
Texto
Descripción
Código para cada uno de los estados civiles
Descripción del estado civil correspondiente al código
iv
Tabla GRUPACTIV
Es la tabla encargada de guardar los registros correspondientes a los diferentes grupos activos,
dentro de los cuales se pueden clasificar cada una de las diferentes especies inventariadas.
Nombre del campo
CodGrup
Grup
Tipo de Dato
Numérico
Texto
Descripción
Código del grupo de activos
Nombre correspondiente al grupo de activos
Tabla HOJAVIDA
Leva el(los) registro(s) por el cual es posible mantener la trayectoria del personal, en cuanto a los
premios y/o sanciones que este recibe en el transcurso de su permanencia como bombero.
Nombre del campo
CodDoc
Tipo de Dato
Texto
FecPreSan
Motivo
Texto
Texto
Run
CodPreSan
Cia
Texto
Numérico
Texto
Descripción
Identifica el tipo de documento que respalda o hace oficial el
premio a sanción. Este campo se refiere a una tabla del módulo
DOCUMENTOS, que se describirá más adelante
Fecha en que recibe el premio o sanción
Descripción del motivo por el cual se hace acreedor al premio o
sanción
Rol Único Nacional
identifica el código del premio o sanción
Identifica el código de la compañía
Tabla INST
Encargada de llevar los registros correspondientes a los códigos y nombres de las instituciones
que eventualmente prestan apoyo o trabajan en conjunto con personal bomberil.
Nombre del campo
CodInst
Inst
Tipo de Dato
Numérico
Texto
Descripción
Código de la Institución
Nombre de la Institución
iv
Tabla LLAMADO
Guarda información relativa al tipo de llamado, asociada a una clasificación de servicio. Por
ejemplo, para los tipo de servicios de EMERGENCIAS hay llamados de RESCATES,
INCENDIOS, MATERIALES PELIGROSOS, EMENACIONES DE GASES, etc.
Nombre del campo
CodServ
CodLlam
Llam
Tipo de Dato
Numérico
Numérico
Texto
Ultimo
Numérico
Descripción
Identifica el código del servicio
Código del tipo de llamado
Descripción del tipo de llamado, conforme a la clasificación del
tipo de servicio
Corresponde al último llamado que se ha recibido de esa
clasificación
Tabla MAGNI
Contiene los códigos y descripciones de las posibles magnitudes que alcancen las emergencias.
Nombre del campo
CodMagni
Magni
Tipo de Dato
Numérico
Texto
Descripción
Código de la magnitud
Descripción de la magnitud asociada al código(PAQUEÑA,
MEDIANA CONSIDERACIÓN, GRANDE, OTRA)
Tabla MAQLLAM
Guarda los registros con la clave de llamado y las unidades que asistieron a ese llamado.
Nombre del campo
Folio
servicio
llamado
CodMaq
Tipo de Dato
Numérico
Numérico
Numérico
Numérico
Descripción
Corresponde al último llamado por subtipo de servicio
Tipo de servicio realizado
Sub tipo de servicio realizado
Código de la máquina que asistió al llamado
iv
Tabla MAQUINA
Guarda los registros con los datos de las máquinas existentes en la institución, y su código
correspondiente.
Nombre del campo
Cia
Tipo de Dato
Texto
NomMaq
CodMaq
Id
Disponible
Texto
Numérico
Texto
Sí/No
Descripción
Código que identifica a la compañía a la cual esta destinada la
máquina
Nombre de fábrica de la máquina
Código que identifica a la máquina
Nomenclatura de identificación
Estado de disponibilidad de la máquina
Tabla NACIÓN
Encargada de guardar los códigos que identifican la nacionalidad de origen de cada Bombero.
Nombre del campo
CodNac
Nac
Tipo de Dato
Numérico
Texto
Descripción
Código para cada una de las nacionalidades
Descripción de la nacionalidad correspondiente al código
Tabla NIVELESCOLAR
Esta tabla es la encargada de almacenar la información relativa a los diferentes niveles escolares
que puede tener un integrante de la institución, y que se identifica con su código correspondiente.
Nombre del campo
CodNivEsc
Nivel
Tipo de Dato
Numérico
Texto
Descripción
Código que identifica al nivel escolar respectivo
Descripción del nivel escolar correspondiente
Tabla ORG
Lleva los registros de las organizaciones han prestado o están prestando servicios de capacitación
a la institución.
Nombre del campo
CodOrg
Org
Tipo de Dato
Numérico
Texto
Descripción
Código de la organización que imparte el curso
Nombre de la organización asociada al código anterior
iv
Tabla OTROEDIF
Cumple la función de almacenar los registros relacionados con los daños que se pudieron
ocasionar a otras estructuras o edificios, y que no son consecuencia directa del siniestro.
Nombre del campo
Folio
Idservicio
Idllamada
Dir
Porcen
CodDano
Tipo de Dato
Numérico
Numérico
Numérico
Texto
Numérico
Numérico
Obs
Texto
Descripción
Identifica al ultimo llamado dentro de tipo de servicio
Identifica el tipo de servicio al que pertenece el llamado
Identifica al tipo de llamado.
Dirección de la estructura afectada
Estimación del porcentaje de daño y/o destrucción
Código que identifica los daños estimados a la estructura
siniestrada
Observaciones adicionales que correspondan
Tabla PERSONA
Almacena los registros de los códigos de actividad y sus correspondientes descripciones
asociadas, y que tienen relación con aquella función que haya realizado en el lugar del siniestro.
Nombre del campo
CodActiv
Activ
Tipo de Dato
Numérico
Texto
Descripción
Código de la actividad que realizó la persona
Descripción de la actividad que le tocó realizar, o que se le
realizó en la emergencia, como por ejemplo: BOMBERO A
CARGO, BOMBERO ACCIDENTADO(NO ATENDIDO,
ATENDIDO POR BOMBEROS, ATENDIDO POR OTRA
INSTITUCION), etc.
iv
Tabla PERSONAL
Es la encargada de almacenar todas los datos personales de los integrantes de la Institución.
Nombre del campo
RegGral
Tipo de Dato
Numérico
NroFolio
Numérico
Cia
ApePat
ApeMat
Nombres
CodCali
Texto
Texto
Texto
Texto
Numérico
FecIng
CodNivEsc
CodNac
Profesion
Texto
Numérico
Numérico
Texto
FecNac
LugNac
DirDom
FonoDom
Run
CodEstCiv
RegCia
Texto
Texto
Texto
Texto
Texto
Numérico
Numérico
CodSangre
LugTrab
DirTrab
FonoTrab
FecBaj
CauBaja
ServMil
CodCargo
ObsMed
Numérico
Texto
Texto
Texto
Texto
Texto
Sí/No
Numérico
Texto
Descripción
Este campo guarda la información correspondiente al número de
registro general que el Bombero tiene en dicho libro
Correspondiente al número de folio con el que se identifica a la
hoja del Registro General en el que se encuentran los datos
personales
Código con el que se identifica la compañía de pertenencia
Apellido paterno
Apellido materno
Nombre(s).
Código con el que se identifica la calidad de socio dentro de la
Institución
Fecha de ingreso a la Compañía
Código con el que se identifica el nivel de escolaridad
Código con el que se identifica la nacionalidad
Descripción de la profesión o actividad que ejerce en su vida
laboral particular
Fecha de nacimiento
Lugar de nacimiento
Dirección del domicilio particular
Teléfono(s) particular. Debe incluir los códigos de área.
Rol Único Nacional
Código que identifica el estado civil del Bombero
Corresponde al número de registro de Compañía que tiene dentro
de la misma
Código que identifica el grupo de sangre
Descripción del lugar donde desempeña sus actividades laborales
Dirección laboral
Teléfono(s) del lugar de trabajo
Fecha de baja de la Institución
Breve descripción por la cual se le otorgó la baja
Si realizó o no el servicio militar
Código del cargo actual
Observaciones médicas del bombero(enfermedades,
medicamentos contraindicados.
iv
Tabla PRESAN
Esta tabla guarda los códigos y descripciones correspondientes de cada uno de los premios y
sanciones a que se hace acreedor el personal. Para ello se establecen los siguientes campos:
Nombre del campo
CodPreSan
PreSan
Inicial
Tipo de Dato
Numérico
Texto
Texto
Descripción
Código del premio a sanción
Descripción correspondiente al premio a sanción
Identifica si el registro que se asocia a CodPreSan, corresponde a
un premio o una sanción.
Tabla SANGRE
La tabla SANGRE es la encargada de guardar la información correspondiente al grupo de sangre
de cada uno de los integrantes de la Institución.
Nombre del campo
CodSangre
Grupo
Tipo de Dato
Numérico
Texto
Descripción
Código del grupo de sangre
Descripción del grupo de sangre correspondiente al código
Tabla SERVICIO
Almacena la información correspondiente a los códigos de servicios y cada una de sus
descripciones. Estas pueden ser: EMEREGENCIAS, ESPECIALES, VISITAS/INSPECCIONES,
etc.
Nombre del campo
CodServ
Serv
Tipo de Dato
Numérico
Texto
Descripción
Código del servicio.
Descripción del Tipo de Servicio
Tabla SERVMIL
Encargada de guardar los registros correspondientes a información concerniente al servicio
militar del personal, en caso de que este lo haya realizado.
Nombre del campo
Run
Ano
Unidad
Tipo de Dato
Texto
Numérico
Texto
Descripción
Rol Único Nacional
Corresponde al año en que realizó el servicio militar
Unidad militar en que sirvió
iv
Tabla TIPDOCTO
Esta tabla cumple la función de guardar la información relativa a los códigos y descripciones de
cada uno de los tipo de documentos ingresados.
Nombre del campo
CodTipo
NomTipo
Tipo de Dato
Numérico
Texto
CorrelSal
CorrelLleg
Numérico
Numérico
Descripción
Código del tipo de documento
Descripción del nombre que recibe el tipo de
documento(CIRCULAR, ORDEN DEL DIA, OFICIO
CONDUCTOR, SOLICITUD, CERTIFICADO, otros definidos
por el usuario.)
Ultimo correlativo utilizado para los documentos salidos
Ultimo correlativo utilizado para los documentos llegados
Tabla ULTIMOINV
Almacena un solo registro, que le da el orden a la ultima especie de inventario ingresada al
sistema.
Nombre del campo
Ultimo
Tipo de Dato
Numérico
Descripción
Ultima especie ingresada al inventario de la institución
Tabla OTROSERVICIO
Almacena los registros correspondientes a aquellas actividades Bomberiles o servicios que no
corresponden a emergencias
Nombre del campo
Folio
Tipo de Dato
Numerico
idservicio
idllamada
FecIni
HrIni
FecTer
HrTer
UltUni
TotBomb
Obs
Lugar
Descrip
Numerico
Numérico
Texto
Texto
Texto
Texto
Numérico
Numérico
Texto
Texto
Texto
Descripción
Corresponde al ultimo llamado del tipo de servicio
correspondiente(ultimo correlativo por subtipo)
Corresponde al código del servicio
Corresponde al código de tipo de llamado
Fecha inicio del llamado
Hora inicio del llamado
Fecha término del llamado
Hora término del llamado
Código de la última máquina que se retiro del lugar
Total de Bomberos que asistieron
Si corresponden al llamado
Lugar o Institución a quien se realizó la emergencia
Descripción del trabajo realizado
iv
Tabla CALLES
Tabla que se encarga de almacenar los registros de calles con sus respectivos códigos.
Nombre del campo
Codigo
Nombre
Tipo de Dato
Numérico
Texto
Descripción
Código que identifica a una calle
Nombre de la calle
Tabla VERTICES
Tabla que almacena los registros de los pares de calle que forman intersecciones, es decir, que se
cortan una a la otra en algún punto de plano.
Nombre del campo
Codigo
Inters1
Tipo de Dato
Numérico
Numérico
Inters2
PosX
Numérico
Numérico
PosY
Numérico
Descripción
Código identificador de un vértice(intersección de calles).
Identificador de una calle (código de una calle que en
conjunto con otro darán la intersección formando el vértice.
Inters1∩Inters2 = Vértice)
Identificador de una calle(ídem al campo anterior)
Almacena posición x de un punto en un plano de
coordenadas
Almacena posición y de un punto en un plano de
coordenadas
Tabla VERTCIAS
Tabla que almacena los vértices de salida(o intersecciones de salida) de los carros de una
Compañía determinada.
Nombre del campo
Codigo
Tipo de Dato
Numérico
Inters1
Inters2
CodCia
Numérico
Numérico
Numérico
Descripción
Almacena el vértice de las salidas que pueden tener las
compañías de Bomberos.
Primera calle que conforma la intersección
Segunda calle que conforma la intersección
Almacena el código de la compañía
iv
Tabla ARCO
Almacena los datos del arco existente entre dos vértices.
Nombre del campo
Vértice1
Vértice2
Cabeza1
Tipo de Dato
Numérico
Numérico
lógico
Cabeza2
lógico
Peso
numérico
Descripción
Identifica primer vértice del arco
Identifica segundo vértice del arco
Identifica si vertice1 es cabeza del arco formado por los
vértices( V1 ← V2)
Identifica si vertice2 es la cabeza del arco formado por los
vértices( V1 → V2)
NOTA: Con los campos Cabeza1 y Cabeza2 podremos
determinar los sentidos de los vectores, es decir, V1→V2;
V1←V2 o V1↔V2
Peso de Arco(Tiempo)
Tabla TEMPCAMINO
Guarda los registros temporales en los cuales se almacenan los vértices de van conformando el
camino mínimo.
Nombre del campo
Vértice
Posx
Tipo de Dato
Numerico
Numerico
Posy
Numerico
Descripción
Identificador de un vértice
Almacena posición x de un punto en un plano de
coordenadas
Almacena posición y de un punto en un plano de
coordenadas
iv
ANEXO B. ODBC Y LA MANIPULACIÓN DE LOS DATOS DEL
SISTEMA
B.1.
ACCESO A DATOS MEDIANTE CONECTIVIDAD ABIERTA DE BASES DE
DATOS (ODBC)
La Conectividad abierta de bases de datos (ODBC) proporciona una interfaz de programación de
aplicaciones (API) de conectividad universal de bases de datos que permite a las aplicaciones
tener acceso a una amplia gama de bases de datos propietarias. Basada en la especificación
X/Open SQL Access Group's Call Level Interface (CLI), ODBC es una manera abierta,
independiente de proveedor, de tener acceso uniforme a datos almacenados en diferentes
formatos y con diferentes motores de base de datos.
ODBC es la interfaz más utilizada para datos relacionales. También es muy rápida, pero puede
pagar el acceso rápido con código de aplicación complejo.
Las características generales de ODBC son:
•
Rendimiento muy eficaz.
•
Dificultad de programación.
•
Requisitos de memoria razonables.
•
Compatibilidad con tecnologías existentes de base de datos.
•
Portabilidad entre muchas plataformas de sistemas operativos.
•
Un modelo de conexión que admite diferentes redes, sistemas de seguridad y opciones de
base de datos.
iv
Como interfaz estándar para datos relacionales, ODBC permite a una aplicación tener acceso a
una gran cantidad de datos. Sin embargo, ODBC requiere que los datos parezcan una base de
datos relacional, por lo que no siempre es la mejor manera de exponer datos. Si no se tiene una
base de datos relacional, puede ser muy difícil escribir un controlador ODBC para exponer los
datos porque se tiene que escribir un motor relacional sobre la estructura de datos existente.
B.2.
DESCRIPCIÓN DE LA ARQUITECTURA ODBC
La arquitectura ODBC consta de cuatro componentes, como se describe en la lista siguiente.
•
Interfaz de programación de aplicaciones (API). Llama a las funciones de ODBC para
conectar con un origen de datos, enviar y recibir datos y desconectar.
•
Administrador de controladores. Proporciona información a una aplicación (como una
lista de orígenes de datos disponibles), carga controladores dinámicamente cuando sean
necesarios y proporciona comprobación de argumentos y transiciones de estados.
•
Controlador Procesa llamadas de funciones de ODBC y administra todos los
intercambios entre una aplicación y una base de datos relacional especifica. En caso de que sea
necesario, el controlador puede traducir la sintaxis estándar SQL a SQL nativo del origen de
datos de destino.
•
Origen de datos Consta de los datos y su motor de base de datos asociado.
Su aplicación utiliza la API de ODBC para conectar con un origen de datos, enviar instrucciones
SQL, buscar datos y desconectar. Un administrador de controladores está entre la aplicación y los
controladores ODBC, decide qué controlador se debe cargar y administra las comunicaciones a
medida que se llama a funciones del controlador. Finalmente, los controladores implementan las
funciones de la API de ODBC para la base de datos. El dibujo siguiente muestra como
interactúan estas funciones.
iv
La arquitectura ODBC significa para una aplicación poder tener acceso a diferentes orígenes de
datos ODBC, en ubicaciones diferentes, mediante las mismas llamadas de función disponibles en
la API de ODBC. Cuando se tenga código para tener acceso a un origen de datos relacional, el
código se puede extender fácilmente para tener acceso a otros orígenes de datos.
B.3.
ACCESO A DATOS MEDIANTE ODBC
ODBC proporciona una API uniforme para tener acceso a todos los orígenes de datos
relacionales. Como ODBC ofrece amplia compatibilidad con proveedores de aplicaciones y bases
de datos, el resultado es una única API que proporciona toda la funcionalidad que necesitan los
programadores de aplicaciones. Esta arquitectura de acceso a datos uniforme asegura la
interoperabilidad y una aproximación común al acceso a datos para los muchos orígenes de datos
relacionales diferentes.
Una aplicación utiliza las siguientes llamadas de función y procesos para tener acceso a un origen
de datos mediante la utilización de la API de ODBC.
•
Asignar controlador de entorno. Identifica la ubicación en la memoria para datos
globales e información de estado para las conexiones definidas.
•
Asignar conexión. Identifica la ubicación en la memoria para datos sobre una conexión
determinada.
•
Conectar. Especifica información de autorización de conexión (como el nombre del
origen de datos, la identificación del usuario y la contraseña).
•
Asignar instrucción. Asocia una instrucción SQL a una conexión. Pueden asociarse a
una conexión muchas instrucciones SQL diferentes, pero solo una cada vez.
•
Ejecutar instrucción SQL. Procesa la instrucción SQL con el motor de base de datos.
iv
•
Buscar conjunto de resultados. Recibe los resultados de la instrucción SQL (como todas
las filas, o sólo la primera, la última, la siguiente o la anterior) y también obtiene información
acerca de los resultados (como el número de filas o el número de columnas).
•
Liberar instrucción. Elimina la instrucción de la conexión. Ahora puede asociar alguna
otra instrucción SQL a la misma conexión.
•
Desconectar. Quita de la conexión el nombre del origen de datos e información de
autorización.
•
Liberar conexión. Elimina la conexión.
•
Liberar controlador de entorno. Elimina los datos globales y libera toda la memoria
asociada.
Al programar con la API de ODBC, se puede crear código independiente de la base de datos que
se adapte automáticamente a una gran variedad de bases de datos. Sin embargo, existe una
consideración importante al adoptar esta aproximación. Mientras cualquier controlador ODBC
específico puede aprovechar las funciones de origen de datos únicas, puede que otros
controladores no admitan las mismas funciones. Si su aplicación se ha diseñado para su uso a
través con varias bases de datos, debe usar con cuidado estas funciones ampliadas o no usarlas.
B.4.
¿CUÁNDO SE DEBE UTILIZAR ODBC?
Varios factores influyen en la elección de la aproximación ODBC. Incluyen la necesidad de alto
rendimiento, más control granular sobre la interfaz y una pequeña huella.
iv
La API de ODBC(Figura B.1) es considerablemente más difícil de programar que las interfaces
basadas en objetos, pero proporciona un control más sensible del origen de datos. A diferencia de
otras tecnologías de acceso a datos (como ADO, RDO u ODBCDirect), la API de ODBC no está
hecha "a prueba de balas". Aunque es bastante fácil producir errores de ODBC durante la
programación,
la
API
del
ODBC
proporciona un control de errores excelente
con mensajes de error detallados. En
general, programar, depurar y dar soporte a
una aplicación basada en la API de ODBC
requiere muchos conocimientos, experiencia
y muchas líneas de código. Como regla
general, los programadores prefieren tener
acceso a datos mediante la utilización de una
interfaz de objetos de más alto nivel y más
Figura B.1. Arquitectura ODBC
sencilla, como ADO.
ODBC no es apropiado para datos no relacionales, como ISAM (Indexed Sequential Access
Method) porque no tiene interfaces para buscar registros, establecer intervalos o examinar
índices. ODBC no se ha diseñado para tener acceso a datos de tipo ISAM. Aunque puede utilizar
el controlador ODBC de Microsoft Jet para controlar datos de ISAM y datos nativos del motor
Microsoft Jet, lo que realmente pasa es que el motor de base de datos Microsoft Jet convierte los
datos de ISAM a datos relacionales y proporciona funcionalidad limitada de tipo ISAM. El
rendimiento en esta situación es lento debido a la capa adicional impuesta por el motor Microsoft
Jet.
Si su aplicación requiere un acceso muy rápido a datos ODBC existentes y desea escribir muchas
líneas de código complejo (o ya tiene un lote de código ODBC disponible para reutilizarlo),
ODBC es una buena elección.
iv
B.5.
RECORDSET (OBJETO)
Para la administración de los datos a nivel del código fuente del programa, se optó por la
utilización de los objetos RECORDSET, debido a las características que se proceden a describir.
Un objeto Recordset representa los registros de una tabla de
base de datos Microsoft Jet o los registros que se generan al
ejecutar una consulta.
Se utilizan los objetos Recordset para manipular datos en
una base de datos a nivel de registro. Cuando utiliza objetos
de acceso de datos, interactúa con los datos prácticamente
Figura B.2. El Objeto Recordset
utilizando objetos Recordset. Todos los objetos Recordset se construyen utilizando registros
(filas) y campos (columnas). Existen tres tipos de objetos Recordset:
•
Recordset de tipo Table - una representación en código de una tabla base que puede
utilizarse para añadir, cambiar o eliminar registros desde una única tabla de base de datos
(sólo espacios de trabajo Microsoft Jet).
•
Recordset de tipo Dynaset - el resultado de una consulta cuyos registros pueden
actualizarse. Un objeto Recordset de tipo Dynaset es un conjunto dinámico de registros que
puede utilizarse para añadir, cambiar o eliminar registros desde una tabla o tablas
subyacentes de una base de datos. Un objeto Recordset de tipo Dynaset puede contener
campos de una o más tablas de una base de datos. Este tipo corresponde a un cursor de tipo
keyset ODBC.
•
Recordset de tipo Snapshot - una copia estática de un conjunto de registros que puede
utilizar para encontrar datos o generar informes. Un objeto Recordset de tipo Snapshot puede
iv
contener campos de una o más tablas de una base de datos pero no se puede actualizar. Este
tipo corresponde a un cursor de tipo static ODBC.
•
Recordset de tipo Forward-only - idéntico a un tipo Snapshot excepto que no se
proporciona ningún cursor. Sólo puede avanzar en los registros. Esto mejora el rendimiento
en situaciones donde sólo necesita hacer una pasada sencilla en el conjunto de resultado. Este
tipo corresponde a un cursor de tipo forward-only ODBC.
•
Recordset de tipo Dynamic - un conjunto de resultado de una consulta de una o más tablas
base en las que puede agregar, cambiar o eliminar registros de una consulta que devuelve
filas. Además, también aparecen en el objeto Recordset los registros que agregan, eliminan o
modifican otros usuarios en la tablas base. Este tipo corresponde a un cursor de tipo dynamic
ODBC (sólo espacios de trabajo ODBCDirect).
Se puede elegir el tipo de objeto Recordset que se quiere crear usando el argumento tipo del
método OpenRecordset.
En un espacio de trabajo Microsoft Jet, si no especifica un tipo, DAO intenta crear el tipo de
objeto Recordset con la mayor funcionalidad disponible, comenzando con tabla. Si no está
disponible este tipo, DAO intenta un Dynaset, después un Snapshot y por último un objeto
Recordset de tipo Forward-only.
En un espacio de trabajo ODBCDirect, si no especifica un tipo, DAO intenta crear el tipo de
objeto Recordset con la respuesta de consulta más rápida, comenzando con Forward-only. Si no
está disponible este tipo, DAO intenta un Snapshot, después un Dynaset y por último un objeto
Recordset de tipo Dynamic.
Cuando se crea un objeto Recordset utilizando un objeto TableDef no adjunto, se crean objetos
Recordset de tipo Table. Sólo pueden crearse Recordset de tipo Dynaset o Snapshot con tablas
adjuntas o tablas de bases de datos externas ODBC.
iv
Cuando abre el objeto se agrega automáticamente un nuevo objeto Recordset a la colección
Recordsets y se elimina automáticamente cuando lo cierra.
NOTA: Si se utiliza variables para representar un objeto Recordset y el objeto Database que
contiene el conjunto de registros, compruebe que las variables tengan el mismo alcance o
duración. Por ejemplo, si establece una variable global que representa un objeto Recordset, debe
asegurarse de que la variable que represente la base de datos que contiene el conjunto de registros
también sea global o se encuentra en un procedimiento Sub o Function con la palabra clave
Static.
En la aplicación se puede crear tantas variables objeto Recordset como se necesiten. Un objeto
Recordset puede hacer referencia a una o más tablas o consultas y los campos sin conflictos.
Los Recordset de tipo Dynaset y Snapshot se almacenan en la memoria local. Si no hay suficiente
espacio en la memoria local para almacenar los datos, el motor de base de datos Microsoft Jet
guarda los datos adicionales en el disco TEMP. Si este espacio está agotado, se producirá un
error.
La colección predeterminada de un objeto Recordset es la colección Fields y la propiedad
predeterminada de un objeto Field es la propiedad Value. El código puede simplificarse
utilizando estos valores predeterminados.
Cuando se crea un objeto Recordset, el registro activo se coloca como primer registro si existen
varios registros. Si no hay registros, el valor de la propiedad RecordCount será 0 y los valores de
la propiedad BOF y EOF serán True.
Se pueden utilizar los métodos MoveNext, MovePrevious, MoveFirst y MoveLast para volver a
establecer el registro activo. Los objetos Recordset de tipo Forward-only sólo admiten el método
MoveNext. Cuando se utilizan los métodos Move para moverse entre los registros (o "andar" a
través del objeto Recordset), se puede utilizar las propiedades BOF y EOF para comprobar el
inicio o el fin del objeto Recordset.
iv
Con los objetos Recordset de tipo Dynaset y Snapshot en un espacio de trabajo Microsoft Jet,
también se pueden utilizar los métodos Find, como FindFirst, para localizar un registro específico
basado en un criterio. Si no se encuentra el registro, la propiedad NoMatch se establece a True.
Para objetos Recordset de tipo Table, se pueden buscar registros utilizando el método Seek.
La propiedad Type indica el tipo de objeto Recordset creado y la propiedad Updatable indica si
puede cambiar los registros del objeto.
La información acerca de la estructura de la tabla base, como los nombres y los tipos de datos de
cada objeto Field y cualquier objeto Index, se almacenan en un objeto TableDef.
Para hacer referencia a un objeto Recordset en una colección por su número de orden o por el
valor de la propiedad Name, se utiliza cualquiera de los formatos de sintaxis siguientes:
Recordsets(0)
Recordsets("nombre")
Recordsets![nombre]
NOTA: Se puede abrir un objeto Recordset del mismo origen de datos o base de datos más de
una vez creando nombres duplicados en la colección Recordsets. Se deben asignar objetos
Recordset a variables de objeto y hacer referencia a ellos por el nombre de variable.
iv
ANEXO C. GRAFOS
Un grafo se compone de un conjunto de puntos llamados
“vértices o nodos” y líneas que unen estos puntos llamados
“aristas o arcos”.
Cada arco de un grafo se especifica
mediante un par de vértices o nodos. Además, en un grafo
pueden haber 1, 2 o n nodos.
Ejemplo:
Figura C.1. Grafos
El conjunto de nodos para el grafo de la Figura C.1 es: {A, B, C, D, E, F, G, H} y el conjunto de
arcos serían todos aquellos pares que estén unidos: {(A,B); (A,C); (B,G); (B,D); (C,D); (E,F);
(A,A); etc.}
Un grafo G = (V, E) es una “estructura algebraica” en la cual V es un conjunto finito no vacío de
vértices o nodos y E es la relación sobre V, que satisface las propiedades:
1.- Irreflexiva (V E V)
2.- Simétrica (V E W) ⇒ (W E V) ∀ v, w ∈ V
Dado que la relación E es un subconjunto de V x V (E ⊆ VxV), podemos decir que el par (v,w)
∈ E. Luego v y w son adyacentes.
Los pares (v,w) que pertenecen a E son pares no ordenados los que llamaremos aristas o arcos, es
decir, E ⊂ VxV = { (v,w) / v≠w ∧ (v,w) = (w,v) }
D.1.
MATRIZ DE ADYACENCIA
Sea V el conjunto de vértices de un grafo, donde V={v1, v2, v3, v4, ..., vn} y supongamos que E
la representaremos en forma de matriz, E(ei,j), entonces:
iv
ei,j = 1 si (vi,wj) ∈ E ∨
ei,j = 0 si (vi,wj) ∉ E
Para la Figura C.1, la matriz de adyacencia correspondiente sería la siguiente(ver Figura C.2):
Figura C.2. Matriz de adyacencia del
Grafo de la Figura C.1.
D.2.
CAMINOS
A) Camino
Sea el grafo G=(V,E) un camino del nodo v0→ vk es un conjunto de aristas o arcos del tipo (v0,
v1) (v1, v2) (v2, v3)... (vk-1, vk), donde vi ∈ V y (vi-1, vi) ∈ E.
B) Camino Simple
Se llamará camino simple si todas las aristas o arcos del camino son diferentes. Si no se repite
ningún nodo se llamará camino elemental.
iv
D.3.
GRAFOS DIRIGIDOS O DIGRAFOS
Los dígrafos son aquellos en que los arcos o aristas tienen una dirección, es decir:
<M,N> ; M = cola del arco, N = cabeza del arco
“N” es adyacente a “M” ssi ∃ arco de “M”a “N”. (Figura C.3)
Figura C.3. Grafo dirigido donde el
Nodo N es adyacente a M
D.4.
PSEUDO CODIGO DEL ALGORITMO DE DIJKSTRA
V = {1,2,3,...,n} (Vertices)
S = {1}(Nodo Inicial)
Paso 1(Para el ejemplo)
For i = 2 to n
Paso 2
D[i] = C(1,i)
Donde C(i,j) pertenece a la matriz de adyacencia. Se
calculan los caminos directos desde el nodo Inicial al
resto de los nodos pertenecientes al grafo
For i = 1 to n-1
{
Elegir un vertice w en V-S (D[w] es mínimo)
Agregar w a S
For (cada vertice v en V-S)
Paso 4
Paso 3
iv
D[v] = minimo ( D[v] , D[w] + C[w,v] )
}
Ejemplo:
OBSERVACION : Para el siguiente ejemplo en que explica el funcionamiento del Algoritmo de
Dijkstra para calcular el camino mínimo de un grafo Dirigido, téngase presente el Digrafo de la
Figura C.4.
Figura C.4. Dígrafo de nodos A, B, C, D,
E
Paso 1:
S = {A} ( es el conjunto que contiene al nodo inicial A ); V - S = {B, C, D, E}
Paso 2:
De acuerdo a la matriz de adyacencia se obtiene la relación entre los nodos, es decir el camino
directo de un nodo al resto de los nodos del grafo. Para el caso del nodo inicial A, se tiene:
D[B] = C(A, B) = 20 (D[w] es mínimo)
D[C] = C(A, C) = -1 (considerado como infinito)
D[D] = C(A, D) = 50
iv
D[E] = C(A, E) = -1 (considerado como infinito)
Paso 3:
W = B ⇒ S = {A, B}; V = {C, D, E}
Paso 4:
D[C] = mínimo(D[C],D[B] + C(B, C))
= mínimo(-1, 20 + -1)
= -1 (infinito)
D[D] =mínimo(D[D], D[B] + C(B, D))
=ínimo(50, 20 + 10)
= 30
D[E] = mínimo(D[E], D[B] + C(B, E))
= mínimo(-1, 20 + -1)
= -1 (infinito)
Luego, el siguiente w será el vértice D.
Entonces S = {A, B, D} y V – S = {C, E}
repetir desde el Paso 3.
La tabla resumen se aprecia en la Figura C.5.
Figura C.5. Tabla resumen del algoritmo de
Dijkstra, aplicado al dígrafo de la Figura
C.4.
iv
ANEXO D. TRABAJANDO EN VISUAL BASIC 6.0
D.1.
MATRICES
D.1.1
CARACTERÍSTICAS AVANZADAS DE MATRICES
Aunque las matrices se usan normalmente para almacenar grupos de variables, hay otros casos en
los que las matrices son útiles: se puede asignar el contenido de una matriz a otra, crear funciones
que devuelvan matrices y crear propiedades que devuelvan matrices. En muchos casos estas
técnicas pueden mejorar el rendimiento de la aplicación.
D.1.2
ASIGNAR MATRICES
De la misma forma que se puede asignar el contenido de una variable a otra, por ejemplo strA =
strB, también se puede asignar el contenido de una matriz a otra. Imagínese, por ejemplo, que se
quiere copiar una matriz de bytes de una ubicación a otra. Se puede hacer copiando un byte cada
vez, de la siguiente manera:
Sub ByteCopy(oldCopy() As Byte, newCopy() As Byte)
Dim i As Integer
ReDim newCopy (Lbound(oldCopy) To UBound(oldCopy)
For I = Lbound(oldCopy) To Ubound(oldCopy)
newCopy(i) = oldCopy(i)
Next
End Sub
Una forma mucho más eficiente es asignar una matriz a otra:
Sub ByteCopy(oldCopy() As Byte, newCopy() As Byte)
newCopy = oldCopy
End Sub
Con la asignación de matrices hay ciertas reglas que se deben tener en cuenta. Por ejemplo,
aunque se puede asignar una variable creada como Integer a una variable declarada como Long
iv
sin ningún problema, asignar un Long a un Integer puede producir fácilmente un error de
desbordamiento. Además de los tipos de datos, la asignación de matrices tiene reglas adicionales
que tienen que ver con el número de dimensiones, el tamaño de las dimensiones y si la matriz es
fija o dinámica.
La instrucción ReDim se utiliza para asignar o cambiar el tamaño de una matriz dinámica que ya
se ha declarado formalmente mediante las instrucciones Private, Public o Dim con paréntesis
vacíos (sin subíndices de dimensiones).
Se puede utilizar la instrucción ReDim repetidamente para cambiar el número de elementos y
dimensiones de una matriz. Sin embargo, no se puede declarar una matriz de un tipo de datos y
luego usar ReDim para cambiar la matriz a otro tipo de datos, a menos que la matriz esté
contenida en una Variant. Si la matriz está contenida en una Variant, el tipo de los elementos se
puede cambiar mediante una cláusula As tipo, a menos que esté utilizando la palabra clave
Preserve, en cuyo caso no se permiten cambios al tipo de datos.
Si se utiliza la palabra clave Preserve sólo se puede cambiar el tamaño de la última dimensión de
la matriz y no es posible cambiar el número de dimensiones. Por ejemplo, si la matriz sólo tiene
una dimensión, se puede cambiar el tamaño de esa dimensión porque es la última y única
dimensión. Sin embargo, si la matriz tiene dos o más dimensiones, sólo se puede cambiar la
dimensión de la última y todavía conservar el contenido de la matriz. El ejemplo siguiente
muestra cómo se puede aumentar el tamaño de la última dimensión de una matriz dinámica sin
borrar ninguno de los datos existentes contenidos en la matriz.
ReDim X(10, 10, 10)
...
ReDim Preserve X(10, 10, 15)
De modo parecido, cuando se utiliza el argumento Preserve se puede cambiar el tamaño de la
matriz sólo cambiando el límite superior; cambiar el límite inferior produce un error.
iv
Si hace que una matriz sea más pequeña de lo que era, se perdern los datos de los elementos
eliminados. Si se transfiere una matriz a un procedimiento por referencia, no se puede cambiar el
tamaño de la matriz dentro del procedimiento.
Cuando se inicializan las variables, una variable numérica se inicializa a 0, una cadena de
longitud variable se inicializa a una cadena de longitud cero ("") y una cadena de longitud fija se
rellena con ceros. Las variables Variant se inicializan a Empty. Cada elemento de una variable de
un tipo definido por el usuario se inicializa como si fuera una variable distinta. A una variable
que se refiere a un objeto se le debe asignar un objeto existente mediante la instrucción Set antes
de que se pueda usar. Hasta que se asigna a un objeto, la variable de objeto declarada tiene el
valor especial Nothing, el cual indica que no se refiere a ninguna instancia en particular de un
objeto.
Precaución: La instrucción ReDim actúa como una instrucción declarativa si la variable que
declara no existe en el nivel de módulo o nivel de procedimiento. Si más tarde se crea otra
variable con el mismo nombre, incluso con un alcance mayor, ReDim hará referencia a la creada
más tarde y no causará necesariamente un error de compilación, incluso aunque Option Explicit
esté en efecto. Para evitar estos conflictos, ReDim no se debe utilizar como una instrucción
declarativa, sino sólo para cambiar el tamaño de las matrices.
NOTA: Para cambiar el tamaño de una matriz contenida en una Variant, se debe declarar
explícitamente la variable Variant antes de intentar cambiar el tamaño de una matriz.
D.2.
COLECCIONES DE OBJETO
Un objeto Collection es un conjunto ordenado de elementos a los que se puede hacer referencia
como una unidad.
El objeto Collection permite hacer referencia de forma sencilla a un grupo de elementos
relacionados como un único objeto. Los elementos o miembros de una colección sólo tienen que
iv
estar relacionados por el hecho de existir en la colección. Los miembros de una colección no
tienen que compartir el mismo tipo de dato.
Los objetos Collection se pueden crear de la misma forma que el resto de los objetos. Por
ejemplo:
Dim X As New Collection
Una vez creado un objeto Collection, se le pueden agregar miembros con el método Add y
quitárselos con el método Remove. Pueden obtenerse miembros específicos del objeto Collection
con el método Item, y hacer una iteración sobre la colección completa con la instrucción For
Each (objeto) In (colección)... Next.
Ejemplo del objeto Collection:
En este ejemplo se crea un objeto Collection (MisClases), y luego se crea un cuadro de diálogo
en el que los usuarios pueden agregar objetos a la colección. Para ver cómo funciona, se elije el
comando Módulo de clase en el menú Insertar y se declara una variable pública llamada
NombreInstancia al nivel del módulo de Clase1 (se escribe Public NombreInstancia). Esta
variable guardará los nombres de cada instancia. Se deja el nombre predeterminado Clase1. Se
copia y pega el código siguiente en la sección General de otro módulo, y luego se inicializa con la
instrucción DenominadorClase desde otro procedimiento. (Este ejemplo sólo funcionará con
aplicaciones principales que admitan clases)
Sub DenominadorClase()
Dim MisClases As New Collection
Dim Num
'Crea un objeto Collection.
'Contador de claves
'individuales.
Dim Msj As String
'Variable para cadena de petición.
Dim ElNombre, MiObjeto, NombreLista ' Variables de información.
Do
Dim Inst As New Clase1
' Crea nueva instancia de Clase1.
Num = Num + 1
' Incrementa Num, y obtiene un nombre.
Msj = "Escriba un nombre para el objeto." & Chr(13) _ & "Presione
Cancelar para ver los nombres de la colección."
ElNombre = InputBox(Msj, "Nombre los elementos de la colección ")
Inst.NombreInstancia = ElNombre 'Nombrar la instancia del objeto
iv
' Si se ha especificado un nombre, lo agrega a la colección.
If Inst.NombreInstancia <> "" Then
' Agrega el objeto con nombre a la colección.
MisClases.Add item := Inst, key := CStr(Num)
End If
' Borra la referencia actual para preparar la siguiente.
Set Inst = Nothing
Loop Until ElNombre = ""
For Each MiObjeto In MisClases
' Crea lista de nombres.
NombreLista = NombreLista & MiObjeto.NombreInstancia & Chr(13)
Next MiObjeto
' Muestra la lista de nombres en un cuadro de mensaje.
MsgBox NombreLista, 'Nombres de instancias de la colección
'MisClases
For Num = 1 To MisClases.Count
Quita un nombre de la colección.
MisClases.Remove 1 'Como las colecciones se reindexan
automáticamente,se quita el primer miembro en cada iteración.
Next
End Sub
D.3.
EL ALGORITMO DE DIJKSTRA IMPLEMENTADO EN VISUAL BASIC
Public Sub Dijkstra(inicial As Variant)
Dim Cont, Menor, Band, V, W, Peso As Integer
Fila = 0
Columna = 0
Paso = 0
Anterior = inicial
Inicializar_Objetos
'Inicializamos las colecciones de objetos
'Insertar los vértices a una colección de objetos (oList - Inicial)
'Se tomarán los índices del grafo que contienen los vert. (no
necesariamente
correlativos)
For Fila = 1 To UBound(aGrafo, 2)
If aGrafo(Fila, 0) <> inicial Then
Set oNodo = New clsNodo
oList.Add oNodo
Set oNodo = Nothing
Else
'obtenemos el índice del vértice en el grafo
indice = Fila
End If
Next
For Columna = 1 To vbNodos
Set oDj = New clsCamino
oD.Add oDj
'
iv
Set oDj = Nothing
Next
For Each oDj In oD
If oDj.Vertice = inicial Then
oDj.Marca = 1
End If
Next
While oList.Count > 1
Band = 0
'Obtener el indice(vertice) de Peso mínimo " Sólo los que quedan
en oList"
For Each oDj In oD
If oDj.Peso <> -1 And oDj.Marca = 0 Then
If Band = 0 Then
W = oDj.Vertice
Menor = oDj.Peso
Band = 1
Else
If oDj.Peso <= Menor Then
W = oDj.Vertice
Menor = oDj.Peso
End If
End If
End If
Next
For Each oDj In oD
If oDj.Vertice = W Then
oDj.Marca = 1
End If
Next
'Sacar de oList el indice de Peso mínimo
Cont = 1
For Each oNodo In oList
If oNodo.Dato = W Then
oList.Remove (Cont)
Exit For
End If
Cont = Cont + 1
Next
For Each oNodo In oList
V = oNodo.Dato
For Each oDj In oD
If oDj.Vertice = V Then
Peso = oDj.Peso
oDj.Peso = Minimo(oDj.Peso, Menor, aGrafo(W, V))
If oDj.Peso <> Peso Then
oDj.Ant = W
End If
Exit For
End If
Next
iv
Next
Wend
frmEmergencia1.cmdSalir.SetFocus
End Sub
iv
BIBLIOGRAFIA
iv
DATOS BIBLIOGRÁFICOS
[1] Pressman, Roger S., “Ingeniería de Software: un enfoque práctico”, Editorial Mc Graw Hill,
1988
[2] Murdick, Robert G., “Sistemas de Información Administrativa”, Editorial Prentice Hall, 1988
[3] Aho, Alfred V., “Estructuras de datos y algoritmos”, Editorial Sistemas Técnicos de edición,
1988
[4] Ayuda en Línea de Microsoft Visual Basic 6.0
[5] Ayuda en Línea de GIS ArcView 3.11
[6] Manual de Procedimientos MultiInstitucional ” ABC” (Ambulancia, Bomberos, Carabineros).
[7] Apuntes de Sistemas de Información Administrativa, Asignatura SIA I y SIA II, de la Carrera
de Ingeniería de Ejecución en Computación e Informática de la Universidad de Magallanes.
iv
INDICE
CAPITULO I. INTRODUCCION......................................................... 1
CAPITULO II. ESPECIFICACION DEL
PROBLEMA Y TOMA DE REQUERIMIENTOS........... 4
2.1
IDENTIFICACION DEL PROBLEMA.......................................................................... 5
2.2
MEDIO AMBIENTE DE OPERACIÓN......................................................................... 5
2.3
ESPECIFICACION Y TOMA DE REQUERIMIENTOS............................................... 6
2.3.1.
ESPECIFICACIONES Y TOMA DE REQUERIMIENTOS PARA EL SISTEMA
ADMINISTRATIVO .................................................................................................................. 6
2.3.1.1.
REQUERIMIENTOS PARA EL MODULO “PERSONAL”.................................. 7
2.3.1.2.
REQUERIMIENTOS PARA EL MODULO “CONTROL DE INVENTARIO”.... 9
2.3.1.3.
REQUERIMIENTOS PARA EL MODULO “DOCUMENTOS” ........................ 12
2.3.2.
ESPECIFICACIONES Y TOMA DE REQUERIMIENTOS DEL SISTEMA PARA
INGRESO DE FORMACION DE SERVICIOS DE EMERGENCIAS .................................... 14
2.3.2.1.
RECEPCIÓN DEL LLAMADO............................................................................ 15
2.3.2.2.
DESPACHO DE LAS UNIDADES ...................................................................... 18
2.3.2.3.
INFORMACION DEL SERVICIO ....................................................................... 18
CAPITULO III. DISEÑO DE LA BASE DE DATOS . 21
3.1
DISEÑO DE LA BASE DE DATOS PARA EL AREA ADMINISTRATIVA............. 22
3.2
DISEÑO DE LA BASE DE DATOS PARA EL AREA OPERATIVA Y LA
ADMINISTRACION DEL SISTEMA GEOGRAFICO(PLANO DE LA CIUDAD)............... 24
3.2.2.
PLANTEAMIENTO ................................................................................................. 24
3.2.3.
ESTRUCTURA DE LA BASE DE DATOS ............................................................ 24
CAPITULO IV. DISEÑO DE LA INTERFAZ
GRAFICA Y PANTALLAS........................................................................ 25
4.1
4.2
4.3
4.4
4.5
MENU PERSONAL...................................................................................................... 27
MENU DOCUMENTOS............................................................................................... 30
MENU INVENTARIO.................................................................................................. 31
MENU MANTENIMIENTO ........................................................................................ 32
MENU SERVICIOS...................................................................................................... 33
CAPITULO V. TRABAJANDO CON ARCVIEW ......... 36
iv
5.1
¿QUÉ SE PUDE HACER CON ARCVIEW?............................................................... 37
5.2
COMENZANDO A TRABAJAR CON ARCVIEW .................................................... 37
5.3
¿SE GUARDAN CON EL PROYECTO LOS DATOS ESPACIALES QUE SE HAN
AÑADIDO AL MAPA?............................................................................................................ 38
5.4
CARGAR DATOS EN FORMA DE TABLAS DESDE BASES DE DATOS............ 38
5.5
PRESENTACION DE LOS VERTICES DE CALLES GRAFICADOS EN EL
MAPA(ANTES Y DESPUES DE DIJSKTRA) PARA EL SISTEMA SICAB ....................... 39
CAPITULO VI. CONCLUSIONES .................................................. 43
ANEXOS ........................................................................................................................... 46
ANEXO A. DESCRIPCION DE TABLAS Y DATOS DE LA BASE
DE DATOS SICAB DISEÑADA EN MICROSOFT ACCESS 2000 ... 47
ANEXO B. ODBC Y LA MANIPULACIÓN DE LOS DATOS DEL
SISTEMA ............................................................................................................................ 65
B.1. ACCESO A DATOS MEDIANTE CONECTIVIDAD ABIERTA DE BASES DE
DATOS (ODBC) ....................................................................................................................... 65
B.2. DESCRIPCIÓN DE LA ARQUITECTURA ODBC .................................................... 66
B.3. ACCESO A DATOS MEDIANTE ODBC ................................................................... 67
B.4. ¿CUÁNDO SE DEBE UTILIZAR ODBC?.................................................................. 68
B.5. RECORDSET (OBJETO) ............................................................................................. 70
ANEXO C. GRAFOS .................................................................................................... 74
D.1. MATRIZ DE ADYACENCIA ...................................................................................... 74
D.2. CAMINOS..................................................................................................................... 75
D.3. GRAFOS DIRIGIDOS O DIGRAFOS ......................................................................... 76
D.4. PSEUDO CODIGO DEL ALGORITMO DE DIJKSTRA ........................................... 76
ANEXO D. TRABAJANDO EN VISUAL BASIC 6.0 ............................... 79
D.1. MATRICES ................................................................................................................... 79
D.1.1
CARACTERÍSTICAS AVANZADAS DE MATRICES ......................................... 79
D.1.2
ASIGNAR MATRICES ............................................................................................ 79
D.2. COLECCIONES DE OBJETO ..................................................................................... 81
D.3. EL ALGORITMO DE DIJKSTRA IMPLEMENTADO EN VISUAL BASIC ........... 83
BIBLIOGRAFIA ..................................................................................................... 86
DATOS BIBLIOGRÁFICOS ..................................................................................................... 87
Descargar