UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA DIFUSIÓN DE VARIACIONES DE PRECIOS DE SERVICIOS PÚBLICOS, INVESTIGACIONES Y CAPTACIÓN DE DEMANDAS A TRAVÉS DE UN SITIO WEB DISEÑADO PARA EL CENTRO PARA LA DEFENSA DEL CONSUMIDOR TRABAJO DE GRADUACIÓN PARA OPTAR AL TITULO DE INGENIERO EN CIENCIAS DE LA COMPUTACION PRESENTADO POR: ASMITIA MARROQUIN, AIDA ANEL FLORES AYALA, JUANITA ELIZABETH VIANA DE GONZALEZ, SONIA MARIBEL ABRIL DE 2002 EL SALVADOR CENTRO AMERICA INDICE INTRODUCCIÓN 1 CAPITULO I. PLANTEAMIENTO DEL PROBLEMA 1.1 Objetivos 4 1.1.1Objetivo general 4 1.1.2 Objetivo específicos 4 1.2 Alcances y limitaciones 5 1.3 Antecedentes del problema 6 1.4 Definición del problema 7 1.5 Importancia y justificación del problema 7 1.6 Proyección social 8 CAPITULO II. INVESTIGACIÓN PRELIMINAR 2.1 Situación actual 10 2.1.1 Diagrama de flujo de datos 12 2.2 Estudio de factibilidad 14 2.2.1 Factibilidad técnica 14 2.2.2 Factibilidad económica 17 2.2.3 Factibilidad operativa 19 2.3 Metodología 21 CAPITULO III. MARCO TEORICO 3.1 Sistema operativo 24 3.2 Servidor Web 27 3.3 Manejador de base de datos 30 3.4 Lenguaje de programación 41 3.5 Herramientas para el desarrollo en el Web 43 CAPITULO IV. PLAN DE SOLUCION 4.1 Resumen del plan de solución 48 4.2 Diagrama de flujo de datos del sistema propuesto 49 4.3 Diccionario de datos 51 4.4 Diseño y construcción de la base de datos 61 4.4.1 Diagrama entidad relación 61 4.4.2 Descripción de la base de datos 65 4.5 Árbol de opciones del sistema 73 4.5.1 Descripción del árbol de opciones del sistema 75 4.6 Entradas y salidas del sistema 78 4.7 Diseño del sitio Web 95 4.7.1 Diagrama del sitio Web 96 4.7.2 Descripción del sitio 98 CAPITULO V. SEGURIDAD 5.1 Seguridad 103 CONCLUSIONES RECOMENDACIONES GLOSARIO TÉCNICO FUENTES DE INFORMACIÓN BIBLIOGRAFICA ANEXOS ANEXO 1 Organigrama del Centro para la Defensa del Consumidor ANEXO 2 Formularios de servicio jurídico del CDC ANEXO 3 Costo de implementación del proyecto con un servidor Web ANEXO 4 Comparaciones para la elección del software MANUAL DEL OPERADOR MANUAL DEL USUARIO 114 115 116 121 122 123 125 128 133 INTRODUCCIÓN En la actualidad los sistemas de Información mecanizados son indispensables para agilizar los procesos y lograr mayor eficiencia, calidad y cobertura de los servicios que ofrecen las instituciones a sus usuarios. Cuando una empresa cuenta con un sistema de información se le facilita el acceso y transferencia de los datos que pueden ser requeridos dentro de la institución como por los usuarios que demanden algún servicio de esta. Esta información que el usuario necesita puede ser proporcionada por medio de Internet, debido a esto las empresas ven la necesidad de tener un sitio web, por medio del cual se puede facilitar el acceso a los servicios de una institución desde cualquier parte del mundo. En el presente trabajo se ha desarrollado una base de datos para que el Centro para la Defensa del Consumidor (CDC) pueda almacenar su información en forma sistematizada y así pueda brindar esta información por medio de un Sitio Web y hacerla accesible a los consumidores. El desarrollo del trabajo parte desde la creación de una base de datos, creación de un sistema para el mantenimiento de la base de datos y finalmente el diseño y desarrollo de un sitio Web donde la Institución publicará información y brindará el servicio de captación de demandas de los consumidores. En el primer capítulo se presenta el Planteamiento del problema, donde se conocen los antecedentes de la Institución, se define la importancia, justificación del tema y su proyección social. Así como los objetivos, alcances y limitaciones del proyecto. En el capitulo 2 se hace una descripción de la situación actual de la Institución, los procesos que desarrolla para proporcionar los servicios y se define el alcance del trabajo en relación a los diferentes servicios que presta el CDC. En el capitulo 3 se presenta cada una de las herramientas informáticas a utilizar para el desarrollo del proyecto. En el capitulo 4 se establece el plan de solución seguido para el desarrollo del proyecto, como lo es el diseño y construcción de la base de datos, diseño y construcción de la interfaz para el mantenimiento y diseño del sitio Web. Finalmente en el capítulo 5 se describe la seguridad que se implemento desde la instalación del sistema operativo, configuración de cuentas de usuarios, grupos, definición de políticas y configuración del Internet Information Server (IIS). 4 1.1 OBJETIVOS 1.1.1 OBJETIVO GENERAL Crear un sitio Web por medio del cual el Centro para la Defensa del Consumidor (CDC) pueda proyectarse a la población para informarla, apoyarla y orientarla en materia de consumo. 1.1.2 OBJETIVOS ESPECIFICOS  Crear un sitio Web que contenga información de las variaciones de precios de servicios públicos, investigaciones y captación de demandas realizadas por los consumidores y el CDC.  Construir los mecanismos necesarios para el mantenimiento de una base de datos que contendrá la información útil para los consumidores.  Dar a conocer por medio del sito Web información acerca de la institución, el trabajo que realiza e información que ayude a mantener informada y educada a la población en materia de consumo. 5 1.2 ALCANCES Y LIMITACIONES 1.2.1 ALCANCES  Reducción del tiempo utilizado para la búsqueda de información, tanto por parte de los empleados del CDC como de los consumidores que visitan la institución.  Evitará la duplicidad de procesamiento de la información.  Proyectar al CDC hacia la población con el propósito de obtener más reconocimiento y apoyo de la sociedad civil.  Las distancias y ubicación geográfica del CDC no serán obstáculos para recibir aporte de organizaciones y personas de fuera de nuestras fronteras.  Dar a conocer los resultados de los estudios y las investigaciones que se realizan en la institución.  El sitio Web será un apoyo para aumentar la red de consumidores en acción.  Proporcionar un medio a través de Internet para que los consumidores ingresen sus demandas y sean asesorados por la institución. 1.2.2 LIMITACIONES  El personal de la institución que proporcionará la información requerida para el desarrollo del proyecto dispone de poco tiempo para brindar la información.  Al momento de implementar el proyecto no se cuente con el software requerido, por falta de recursos financieros de la institución. 6 1.3 ANTECEDENTES DEL PROBLEMA El Centro para la Defensa del Consumidor es una de las instituciones que vela por el cumplimiento de los derechos de los consumidores en nuestro país. Su trabajo es importante ya que actualmente existe una problemática económica que se ha visto agudizada en los últimos años. Los incrementos en los precios y la supresión de los limitados subsidios de los servicios públicos son considerables; así mismo el aumento de los precios en los productos de consumo. El CDC surgió en 1991 como una Organización No Gubernamental (ONG), cuando diferentes organismos sociales consideraron importante la creación de una institución sin fines de lucro que tuviera como objetivo principal la promoción y defensa de los derechos de los y las consumidoras salvadoreñas. Se constituyó legalmente el 20 de noviembre de 1992 como Fundación, y su personería jurídica le fue otorgada a mediados de 1995. En junio de 1997, asumió las disposiciones de la “Ley de Asociaciones y fundaciones sin fines de lucro”, y reformó los estatutos que ahora lo definen como una Asociación1. Desde 1995 el CDC es miembro de Consumers International (CI), organismo internacional que agrupa a más de 300 organizaciones de consumidores alrededor del mundo. Esta organización ha crecido rápidamente y es reconocida como la voz del movimiento internacional de consumidores en materia de consumo, de regulación internacional de comercio y de servicios públicos. En la actualidad es necesario que El CDC posea un espacio propio en Internet donde se proyecte a este sector que está creciendo rápidamente. Para cubrir este grupo se llevará a cabo el proyecto de creación de un sitio Web donde se pueda mantener informados a todos los consumidores y consumidoras que accedan a la red. 1 Estatutos de la Asociación CDC, capítulo 1, artículo 3 7 1.4 DEFINICION DEL PROBLEMA “DIFUSIÓN DE VARIACIONES DE PRECIOS DE SERVICIOS PÚBLICOS, INVESTIGACIONES Y CAPTACIÓN DE DEMANDAS A TRAVÉS DE UN SITIO WEB DISEÑADO PARA EL CENTRO PARA LA DEFENSA DEL CONSUMIDOR.” El CDC es una Organización No Gubernamental que vela por el cumplimiento de los derechos de los consumidores de nuestro país y desea publicar a través del sitio Web información actualizada de las tarifas de los servicios públicos, consulta de las investigaciones realizadas sobre temas diversos donde se vean involucrados los derechos de los consumidores. También por medio de este sitio los consumidores efectuarán sus demandas para que el CDC les proporcione asesoría jurídica. 1.5 IMPORTANCIA Y JUSTIFICACIÓN DEL PROBLEMA El desconocimiento que posee la población acerca de sus derechos como consumidora y de instituciones que velan por el cumplimiento de estos, así como el tiempo limitado con que disponen las personas para trasladarse a una institución, son factores que permiten que los consumidores no estén informados y sus derechos no sean reconocidos. Con el sitio Web el CDC se podrá proyectar a la población e informar a los consumidores de algunos aspectos que la institución considere necesarios; permitiendo que las personas se den cuenta de la existencia del CDC como una institución sin fines de lucro de El Salvador que vela por el cumplimiento de sus derechos. Dentro de los principales aportes que tendrá el sitio Web para el beneficio de los consumidores están:  Realizar consultas sobre las diferentes investigaciones que el CDC ha realizado.  Información de tarifas y precios de los diferentes servicios.  Información de los salarios y de la canasta básica.  Captación de demandas a través del sitio. 8  Consulta de las gestiones que se realicen para cada caso demandado, donde el interesado podrá efectuar esa consulta introduciendo su contraseña.  Información Institucional.  Información de proyección de la institución hacia la población consumidora. 1.6 PROYECCIÓN SOCIAL El CDC promueve la organización de los consumidores y trabaja por la defensa y respeto pleno de sus derechos, que legítimamente poseen, los cuáles merecen y necesitan una pronta y oportuna atención a la problemática que les aqueja. Los consumidores son la razón principal de la creación del sitio Web, este contribuirá grandemente a la difusión y conocimiento de los derechos que poseen, proporcionará también información clara y detallada en beneficio de la población, indistintamente del lugar geográfico. La población salvadoreña será la más beneficiada ya que hoy en día muchas personas tiene acceso a Internet, y les bastará con acceder a la mayor red de comunicación en el mundo para poder realizar sus demandas, conocer sus derechos establecidos en la Ley de Protección al Consumidor, estar informados, etc. Y todo lo podrá efectuar sin necesidad de trasladarse a las instalaciones del CDC. 9 10 2.1 SITUACIÓN ACTUAL El Centro para la Defensa del Consumidor está estructurado por áreas de trabajo, las cuales son: Asistencia y Asesoría Jurídica, Participación Ciudadana e Incidencia Política (ver organigrama en Anexo1). Actualmente no cuenta con un sistema computarizado que le permita almacenar su información ordenadamente. La unidad de Asistencia y Asesoría Jurídica es la única que procesa la información de las denuncias que reciben de la población y los seguimientos de estas denuncias a través de tres tablas hechas en Access 97, de las cuales dos de ellas están relacionadas y la otra es independiente, no tienen integridad referencial y además poseen campos duplicados; éstas fueron creadas por los empleados de la institución que han sido capacitados en el uso de Office. Estas tablas tienen entradas de datos pero no poseen informes ni consultas de la información. Estos informes los generan cuando los necesitan, siguiendo procedimientos no programados. El resto de los procesos de las demás unidades no cuenta con un sistema computarizado, algunos de ellos no tienen ni siguiera una forma de registrarlos manualmente. Entre los procesos que realiza el CDC están:  Asistencia para las demandas que realiza la población y el seguimiento de la asesoría jurídica. Asesoría: Esta inicia cuando las personas llegan al CDC a efectuar una demanda; primeramente llenan el formulario de asesoría jurídica donde con sus datos 2personales y la explicación de su problema; en este paso se le brinda al consumidor la asesoría necesaria para que resuelva su problema (ver Anexo2). Asistencia: Cuando el caso no es resuelto por medio de la asesoría brindada, el consumidor puede llegar otra vez al CDC para que este intervenga legalmente, gestionando con la institución o empresa demandada para solucionar el problema. En este proceso el consumidor llena otro formulario de asistencia jurídica, con los datos personales, datos de la empresa, ámbito de la empresa, descripción del problema, monto de la demanda (ver Anexo2). 11  Las investigaciones que se realizan en diferentes temáticas. Las investigaciones que el CDC efectúa son de acuerdo a las problemáticas que se den en el país, donde se vean afectados los consumidores. Y también recopila investigaciones sobre la misma temática, realizadas por otras instituciones.  Control de las variaciones de precios de los servicios públicos como son la electricidad, telefonía, agua, canasta básica, salarios. Los datos de los servicios son recolectados de las publicaciones que las empresas proveedoras proporcionan al público. El CDC recopila esta información para establecer variaciones o efectuar comparaciones entre las diferentes empresas proveedoras del servicio y luego darla a conocer a los consumidores.  Promover el conocimiento y ejercicio de los derechos del consumidor. Esto se hace por medio de capacitaciones en centros escolares e instituciones en distintas partes del país; además se crean e incentivan grupos de consumidores, para que de forma colectiva puedan promocionar y defender sus derechos.  Propuestas de ley a la asamblea legislativa. Se formulan y se gestionan propuestas jurídico políticas que fortalezcan el marco jurídico de protección al consumidor. 2.1.1 DIAGRAMA DE FLUJO DE DATOS ACTUAL El diagrama DFD se ha contemplado para evaluar los procesos que realiza la institución; siendo el único el de captación de demandas dentro de las áreas contempladas del proyecto. 12 DFD DEL SISTEMA ACTUAL Formulario de asesoría o asistencia Documento 0 Ejecutar una demanda Consumidor Consumidor Asesor Asesoría Da Asesoría Figura 2.1 Diagrama de Flujo de Datos nivel Cero 13 Consumidor Hoja de Asesoría Asesoría Informe sobre gestiones D2 Almacén Asistencia D1 Almacén Asesoría 1.1 Exponer el caso 1.2 Brindar Asistencia Consumidor Asesor 1.3 32 Realizar Gestiones Documento Datos del caso Da asesoría Da asistencia Formulario de asesoría o asistencia Formulario de asistencia Formulario de asistencia Figura 2.2 Diagrama de flujo de datos nivel uno. 14 2.2 ESTUDIO DE FACTIBILIDAD Este estudio tiene como finalidad determinar si es posible la implementación de un sitio Web para el CDC, tomando en cuenta los recursos económicos y técnicos con los que cuenta la institución. Para la implementación de este proyecto se consideró dos alternativas para el alojamiento del sitio Web. La primera contratar los servicios de un Web Hosting y la segunda alojar el sitio en un servidor propio, concluyendo que para iniciar el proyecto es más conveniente para la institución los servicios de un Web Hosting, debido a que la inversión es menor (Ver Anexo 3). El estudio de factibilidad que se ha realizado consta de varias etapas diseñadas para proveer información relevante y precisa para determinar el potencial del proyecto:  Factibilidad Técnica.  Factibilidad Económica.  Factibilidad Operativa. 2.2.1 FACTIBILIDAD TÉCNICA Para que el proyecto se lleve a cabo se necesita contar con la tecnología de hardware y software necesarios para la implementación y mantenimiento del sitio Web. Actualmente el CDC cuenta con 14 computadoras, y la más avanzada es la que posee las características siguientes: 4GB de disco duro, 128 MB de RAM, procesador Intel Celeron MMX a 300MHz de Velocidad. Esta computadora no cumple con los requisitos mínimos para que el proyecto se implemente. La institución necesita una computadora que funcione como servidor de base de datos con los requerimientos necesarios para el alojamiento de los datos. El Hardware que se necesitará adquirir se detalla en la tabla 2.1. 15 Tabla 2.1 Hardware a adquirir. Hardware Cantidad Descripción Computadora 2 Procesador Pentium IV 1.5 GHz, 40 GB en Disco duro, 256 MB en RAM. Equipo de Protección de Voltaje 1 500VA Actualmente el CDC posee el software que se describe en la tabla 2.2. Tabla 2.2 Software que poseen las computadoras de la institución. Software Computadoras Windows Millenium y Microsoft Office 2000 1 Windows 98 y Microsoft Office 97 13 El sistema operativo que posee la institución no cuenta con las herramientas de seguridad y de administración para servir de plataforma para un servidor de base de datos y el manejador de base de datos de Microsoft Office (Access) es una aplicación para uso personal que no cumple con las capacidades y ventajas que ofrece un servidor de base de datos. Para la elección del Software se efectuaron comparaciones (Ver Anexo 4) entre software similares así poder seleccionar los más adecuados para el proyecto; se tomó en cuenta las características y el tamaño de la institución. El software que se escogió se describe en la tabla 2.3. Aunque también se ha pensado en la cantidad de usuarios que los usaran, se ha considerado uno para cada área de la institución que necesita utilizar el sistema: el área de jurídico, de incidencia ciudadana, de capacitaciones y otro será la persona que se hará cargo del mantenimiento o seguimiento del proyecto en la institución. 16 Tabla 2.3 Software a adquirir en el proyecto. Software Microsoft Windows 2000 Server, 5 usuarios Microsoft SQL Server 2000, 5 usuarios Para la publicación en Internet del sitio Web se necesitara una empresa que ofrezca los servicios de Web Hosting, este servicio deberá brindar el alojamiento del sitio Web con acceso a base de datos. La información de la base de datos, que la institución presentará en el sitio como son: los servicios públicos, salarios, canasta básica, e investigaciones; no aumentará en la misma proporción que la información de las demandas ya que estas crecen diariamente y las anteriores mensualmente. En la tabla 2.4 se describen las características del servicio de Web hosting que se ha seleccionado y que es prestado por una empresa externa. Tabla 2.4 Descripción del servicio Web hosting. Características Descripción Alojamiento 200MB Capacidad en Base de Datos 50MB Transferencia de datos 10,000MB Cuentas de correo 20 cuentas Fuente: Integra PYMES. 17 2.2.2 FACTIBILIDAD ECONÓMICA En este estudio se detallan los precios y las cantidades de cada uno de los elementos necesarios para la implementación del sistema. Para determinar el costo del proyecto se presentan los elementos necesarios para su implementación, los cuales se han agrupados en inversión inicial (tabla 2.5) y mantenimiento del proyecto (tabla 2.6). Costo de inversión inicial Tabla 2.5 Inversión inicial del proyecto Concepto Cantidad Precio ¢ Precio $ Compra de computadora 2 30,000 3428.57 Licencia de Microsoft Windows 2000 Server para 5 clientes. 7253.75 829.00 Licencia de Microsoft SQL Server 2000 para 5 clientes. 1 11803.75 1349.00 Licencia de Microsoft Windows 2000 Profesional 1 2791.25 319.00 Instalación y configuración de Windows 2000 Server 2000.00 228.57 Instalación y configuración de SQL Server 2000 2500.00 285.71 Costo de publicación del sitio Web 900.00 102.86 Equipo de Protección de Voltaje 1 1,300.00 148.57 TOTAL 58548.75 6691.28 18 Costo del Mantenimiento de la Base de Datos y del Sitio Web Costo de Personal Para el mantenimiento de la Base de Datos y del Sitio Web se requerirá de los servicios de un profesional en Computación. Sueldo mensual ¢4,000.00 Consumo de energía eléctrica El cálculo se ha efectuado considerado el consumo de energía eléctrica de una computadora y de un UPS, en promedio de uso de 8 horas diarias para obtener su consumo mensual. Computadora 1 computadora consume 140 watts/hora equivalente a 0.14 Kw/h. 1Kw/h vale ¢0.698. 8 horas/día x 30 días = 240 horas. 0.14 Kw/hora x 240 horas = 33.6 Kw de consumo por mes. 33.6 Kw x ¢0.698 = ¢23.45 por computadora UPS 1 UPS consume 310 watts/hora equivalente a 0.31 Kw/h 0.31 Kw/hora x 240 horas = 74.4 Kw de consumo por mes. 0.74 Kw x ¢0.698 = ¢51.93 consumo por mes Consumo total de energía eléctrica = ¢23.45 + ¢51.93= ¢75.83 Costo de Web Hosting Costo mensual ¢393.31 El costo total del mantenimiento de la base de datos y del sitio Web se puede ver en la tabla 2.6, en la cual se muestran los costos de mantenimiento mensual y anual del proyecto. 19 Tabla 2.6 Costo de mantenimiento de la base de datos y del sitio Web. Concepto Costo Mensual Costo Anual Precio ¢ Precio $ Precio ¢ Precio $ Costo de Personal 4,000.00 457.14 48,000 5,485.68 Costo de Electricidad 75.38 8.61 904.56 103.32 Costo de Web hosting 393.31 44.95 4719.72 539.39 Total 4468.69 510.70 53624.28 6128.39 Para que el CDC pueda lanzar su primer sitio en Internet con acceso a base de datos es más conveniente, por ahora, el alquiler de un Web Hosting debido a que la inversión que se haría en un servidor propio es mayor y que la institución no cuenta con los recursos económicos para invertir en este inmediatamente. 2.2.3 FACTIBILIDAD OPERATIVA El sitio Web beneficiará a la población brindando un nuevo medio para efectuar sus demandas y un lugar donde puedan realizar consultas e informarse en cuanto a consumo se refiere. También el CDC tendrá un nuevo medio de difusión ya que el sitio dará a conocer al CDC como institución pionera en El Salvador en la defensa de los derechos del consumidor. Con la implementación del proyecto se logrará un avance tecnológico ya que la aplicación en Visual Basic será la base para el desarrollo de un sistema de información computarizado. Al realizar el estudio de factibilidad operativa es necesario considerar que los cambios que se darán con la implementación del proyecto serán: 20 1. Contratar una persona para dar mantenimiento a la base de datos y al sitio Web. Actualmente el CDC no posee ninguna persona capacitada para darle mantenimiento a la base de datos y al sitio Web, por lo que es necesario contratar a una persona de forma permanente en la institución. El perfil de la persona a contratar será el siguiente:  Egresado o estudiante de último año de Ingeniería o Licenciatura en Ciencias de la computación.  Sólidos conocimientos en aplicaciones en Web (ASP, HTML, JavaScript).  Conocimiento en administración de Windows 2000 Server y SQL Server 2000.  Lenguaje de programación Visual Basic 6.0.  Buena presentación.  Conocimientos de Inglés técnicos.  Acostumbrado a trabajar en base a objetivos y metas. 2. Asignar a una persona del área de jurídico para que dé seguimiento a las demandas. Será necesario disponer de una persona que se encargue de responder las demandas recibidas a través del sitio Web. Esta persona puede ser un asesor jurídico con que cuenta la institución. 3. Capacitar al personal para el uso de la aplicación que da mantenimiento a la base de datos. La capacitación se dará a 4 personas en un tiempo de 3 horas. 4. Será necesario clasificar las investigaciones que se tienen, para poder ingresarlas al sistema. La institución no tiene clasificadas las investigaciones y para poderlas ingresar en la base de datos se deberá ordenar esa información. 21 2.3 METODOLOGÍA 1. Recopilación de datos. Observación: Conocer el desarrollo de los procesos que serán útiles para los mantenimientos de la base de datos que alimentará al sitio Web. Bibliografía: Revisión de folletos, boletines, revistas, afiches, y documentación institucional pertenecientes al CDC. Tesis y libros de texto relacionados al tema del proyecto. Investigación: Visitas de sitios Web de instituciones, con sede en otros países, relacionadas con la defensa de los consumidores. Se accedió a sitios Web de donde se obtuvo información de los diferentes software a utilizar en el presente proyecto. Reuniones: Se trabajó con una persona, asignada por la institución, que apoyaría y proporcionaría la información necesaria para el desarrollo. 2. Análisis de la información. Se estudiaron los procesos que realizan las diferentes áreas de la institución y se seleccionaron los que son más demandados por la población y los de mayor beneficio. Luego se analizó la información, examinando los pasos desde el inicio hasta llegar a su finalización, evaluando si es la forma óptima de realizarlos y proponiendo una nueva metodología dependiendo de la información a procesar. Para la representación de este análisis se utilizó un diagrama de flujo de datos para el proceso de captación de demandas. Posteriormente se determinaron las entidades y atributos para diseñar el diagrama entidad relación de la base de datos que almacenará la información. 22 3. Diseño propuesto. Se hizo el diseño de la base de datos que contendra la información previamnete analizada, se realizará una interfaz en visual basic por medio de la cual se dará mantenimiento a la base de datos, para luego mostrarla a la población por medio de un sitio Web. 4. Documentación. Se plasmó por escrito en este documento lo realizado en el proyecto. 24 3.1 SISTEMA OPERATIVO WINDOWS 2000 SERVER Para el desarrollo e implementación del presente trabajo se ha elegido el sistema operativo de Microsoft Windows 2000 ya que éste incluye numerosas mejoras que resaltan la confiabilidad y disponibilidad, este proporciona robustas herramientas que permiten un diagnóstico integral y una rápida recuperación de las fallas; también facilita el desarrollo de un código de modo de kernel, estable y confiable, reduce el número de casos en los que una actualización requiere reiniciar el sistema. Este sistema operativo proporciona una avanzada infraestructura Cliente- Servidor que disminuye los costos y brinda un ambiente accesible. Características  Mayor confiabilidad y escalabilidad.  Menor Costo Total de Propiedad (TCO).  Servicios completos de Internet y aplicaciones. Mayor confiabilidad y escalabilidad Su plataforma brinda una solución segura debido a:  Una arquitectura de sistema más confiable. Estas mejoras incluyen la protección de memoria avanzada para kernel.  Reducción de los reinicios necesarios. Un gran número de tareas administrativas que requieren el reinicio de sistema de Windows NT Server 4.0 ya no será necesario con Windows 2000 Server. Esto ayuda a aumentar la disponibilidad total del sistema para los usuarios finales, los clientes; ya que estos no perderán la comunicación con el servidor.  Mayor escalabilidad. Está diseñado para escalarse desde grupos de trabajo pequeños, hasta grandes implementaciones de centros de datos. 25 Menor costo Total de Propiedad más bajo Proporciona mayor control sobre las redes e infraestructura cliente-servidor; reduce los costos relacionados con la administración de los sistemas actuales y los hace más sencillos.  IntelliMirror: Es una herramienta que combina las ventajas de una computadora centralizada con la ejecución y flexibilidad de una computadora distribuida. Con esta tecnología de administración se obtiene un control total sobre los datos, aplicaciones y configuraciones del sistema de sus clientes.  Amplio soporte de la herramienta de administración: provee un medio para crear herramientas personalizadas para administrar computadoras de forma local y remota con una simple interfaz.  Interfaz ajustada: Facilita la productividad, ya que la interfaz del usuario ha sido ajustada para permitir un acceso más fácil a la información que hay en su sistema con menús personalizados y amplio uso de las listas de archivos recientes en todas las tareas.  Se puede utilizar inversiones existentes: Este sistema operativo está diseñado para trabajar con sistemas existentes de cliente, redes y aplicaciones. Por ejemplo, las aplicaciones como Microsoft Office 97 en el cliente y Microsoft Exchange 5.5 en el servidor, así como otras aplicaciones existentes pueden seguir operando en este ambiente. Servicios completos de Internet y aplicaciones Los estándares de Internet como Protocolo de Transferencia de Hipertexto (HTTP), Sistema de Nombre de Dominio (DNS), Protocolo de Control/Protocolo Internet de Transmisión (TCP/IP) y el Protocolo de Acceso a Directorio Ligero (LDAP) soporta protocolos nativos para Windows 2000 Server. La plataforma integra los servicios de aplicación Web más recientes y avanzados, como es el software de exploración Microsoft Internet Explorer 5, Internet Information Server 5.0, Active Server Pages y servicios de componentes a través del cliente-servidor y más. 26 Seguridad en Windows 2000 Server Cuando se instala Windows 2000 se puede elegir entre instalarlo como sistema de archivo FAT X o NTFS. Con NTFS implementa seguridad a nivel de archivo, cada archivo o directorio posee su Lista de Control de Acceso (ACL) y sabe en todo momento quien tiene derecho sobre él. FAT carece totalmente de gestión de seguridad, una vez que un usuario entra en el sistema, todos los archivos del sistema estarían a su alcance. Para proporcionar administración e información de seguridad completas, el conjunto de herramientas de configuración de seguridad le permite configurar y analizar lo siguiente:  Políticas de cuentas. Puede establecer políticas de acceso, que incluyen las políticas de contraseña local o de dominio, la política de bloqueo de cuentas locales o de dominio y la política de Kerberos para el dominio.  Políticas locales. Puede configurar la política de auditoria local, la asignación de derechos de usuario y diversas opciones de seguridad, como el control de la unidad de disquete, la unidad de CD-ROM, etc.  Grupos restringidos. Puede asignar la pertenencia a grupos a aquellos que estén integrados, como administradores, operadores de servidor, operadores de copia de seguridad, usuarios avanzados, etc., así como cualquier otro grupo específico que desee configurar. No se debe utilizar como herramienta de administración general; se debe utilizar sólo para controlar la pertenencia de grupos específicos que tienen asignadas capacidades confidenciales.  Uso compartido de archivos o carpetas. Puede configurar las opciones para el Sistema de archivos (NTFS) y el servicio Redirector. Entre estas opciones se incluyen desactivar el acceso anónimo y habilitar las firmas de los paquetes y la seguridad cuando se tiene acceso a diversos recursos compartidos de archivos de red.  La política de auditoria. Le permite configurar qué sucesos de seguridad se establecen en el registro de seguridad de ese equipo.  La asignación de derechos y privilegios de usuario. Le permite controlar a quién se conceden derechos y privilegios en un sistema dado. 27 3.2 SERVIDOR WEB INTERNET INFORMATION SERVER (IIS) IIS es el software estándar que soporta comunicaciones Internet en Windows. Su importancia es enorme al haberse convertido en uno de los más extendidos. Es especialmente ventajoso en su utilización en redes Intranet debido a la compatibilidad y posibilidades de uso conjunto con los productos de la familia Microsoft (Word, Access, ODBC, etc.). IIS viene incluido en Windows 2000 Server y una de las principales ventajas es el soporte nativo de páginas ASP. Con IIS se pueden construir servidores World Wide Web para mostrar documentos, gráficos, sonidos e incluso videos. Además de mostrar estos servicios Web, IIS proporciona servicios FTP, Correo y NEWS. A través de IIS se puede enlazar una base de datos de un servidor, y proporcionar la información que sea necesaria y de forma dinámica. Ventajas  Admite variedad de protocolos y lenguajes de programación.  Toma ventajas de las cualidades de seguridad originales de Windows 2000 Server, lo que le permite controlar fácilmente el acceso a áreas susceptibles de información, al mismo tiempo que hace que la información esté disponible de manera sencilla a aquellos usuarios que la necesiten.  IIS admite el ActiveX estándar creado por Microsoft. ActiveX permite a los componentes de software interactuar con computadoras clientes de distintos sistemas operativos, sin reparar en el lenguaje o sistema operativo en el que se creó el objeto.  También admite el Servidor de Interfaz de Programación de Aplicaciones Internet (ISSAPI), que proporciona una rapidez significativa y conexiones más versátiles que el Interfaz de pasarela común (CGI, Common Gateway Interface). 28 Seguridad La seguridad de un sitio Web es especialmente importante, debido a la necesidad de garantizar su utilización por usuarios remotos. IIS utiliza la seguridad de Windows 2000 y en algunos casos la amplía. Se recomienda el uso del sistema de archivos NTFS por su mayor seguridad. Windows 2000 basa su seguridad en el sistema de usuarios y contraseñas, el uso adecuado de estas contribuye a mantener el equipo seguro. La mayor parte de las peticiones de páginas Web realizadas por clientes anónimos, en este caso, el servidor Web se encarga de suplantar al usuario real, mediante el uso de la cuenta del usuario anónimo. Mecanismo de seguridad en una petición: 1. Comprobación de la dirección IP del cliente por IIS. 2. Comprobación de usuario y contraseña. 3. Comprobación de los permisos de acceso a archivos establecidos en el sistema NTFS. Si cualquiera de estas comprobaciones es errónea, la petición no tendrá éxito. Administración de la cuenta de usuario anónimo Cuando se instala IIS se crea automáticamente el usuario anónimo con el nombre IUSR_Nombre del equipo y con la misma contraseña aleatoria que en IIS y el derecho de inicio de sesión en Local. Conviene revisar los derechos que tienen los grupos a los que pertenece el usuario anónimo. Para que el usuario anónimo funcione correctamente debemos activar “Permitir Anónimos” en las propiedades del servicio Web. Si se desea, se puede restringir la utilización de los servicios Web de tal forma que únicamente los clientes que proporcionan un nombre de usuario y una contraseña válidos, puedan acceder a las páginas solicitadas. En IIS existen 2 formas de autenticación:  Autenticación Básica. El usuario y la clave se transmiten sin cifrar.  Autentificación Desafío/Respuesta de Windows 2000. El usuario y la clave se transmiten cifrados; el usuario debe de estar dado de alta en el dominio de la 29 computadora que ejecuta IIS y tener derechos de acceso al equipo desde la red. Generalmente se permiten simultáneamente anónimos y mecanismos de autenticación, en este caso en primer lugar se usa el usuario anónimo y si se produce un error por falta de permisos de acceso a un recurso, el cliente recibe una ventana de dialogo solicitándole las credenciales. Establecimiento de permisos en los directorios y ficheros de un sitio Web (aspectos básicos). De forma genérica, un sitio Web reside en:  Un directorio particular.  Los subdirectorios que parten del particular.  Los directorios virtuales. Cada uno de los elementos anteriores, en caso de existir, deberá poseer los suficientes permisos para que el sitio Web funcione correctamente; pero con las restricciones adecuadas para que el equipo este seguro. Una buena metodología consiste en agrupar los ficheros según su naturaleza y de forma jerárquica; de manera que tengamos separadas distintas aplicaciones en distintos directorios, con sus documentos en subdirectorios. La asignación general de permisos sigue la siguiente estructura:  Programas CGI, ISAPI, etc. Permiso de ejecución.  Páginas ASP. Permisos de lectura y ejecución.  Documentos estáticos HTML, imágenes, etc. Permiso de lectura.  Bases de datos, ficheros auxiliares, etc. Permisos de lectura y escritura. Se debe tener en cuenta que desde IIS se pueden establecer permisos de lectura y ejecución, y cualquier permiso implementado en NTFS. En caso de discrepancia se toma la opción más restrictiva. 30 3.3 MANEJADOR DE BASE DE DATOS SQL SERVER 2000 Es un sistema de administración de base de datos relacional para los sistemas basados en Microsoft Windows NT Server; para construir soluciones escalables de comercio electrónico y de línea de negocios. Un ejemplo es el uso de SQL para los sistemas de reportes de finanzas y administración en donde los usuarios consultan un servidor SQL para conocer datos financieros. Características de SQL Server 2000 1. Administración de base de datos. 2. Escalabilidad. 3. Seguridad. 4. Manejabilidad. 5. Programabilidad. Administración de base de datos Las bases de datos se pueden optimizar para obtener un rendimiento óptimo para el usuario final. Dado que no existe una única forma correcta de hacerlo que satisfaga a todos los usuarios, por lo general las bases de datos se optimizan de modo que coincidan con los patrones de uso específico de los datos. El reto más grande con el que se enfrenta un Administrador de Base de Datos (DBA) en esta área, es que los patrones de uso de los datos cambian con frecuencia a medida que nuevos usuarios y nuevas herramientas obtienen acceso a los datos de formas distintas. Esto puede dificultar a los DBA, si no efectúa el mantenimiento de la base de datos periódicamente. SQL Server realiza varias operaciones para mantenerse optimizado. Los algoritmos dinámicos se basan en la respuesta adaptativa para optimizar de forma dinámica el uso del espacio en disco y la memoria de gran tamaño. Además proporciona a los administradores de bases de datos las herramientas para 31 supervisar las circunstancias en las que ocurren tareas de administración automatizadas, como cambios en los archivos de datos y archivos de registro. Escalabilidad Escala hasta 64 Gigabytes (GB) de RAM y 32 CPU. Esto se puede utilizar en combinación con técnicas de escalado externo, como las vistas con particiones distribuidas, para manejar los más grandes conjuntos de datos y cargas transaccionales. Efectúa más operaciones en paralelo para aprovechar al máximo el hardware de Multiprocesamiento Simétrico (SMP, Symmetric Multiprocessing) cada vez más común en la ejecución de procesos como: creación de índices y replicación. En cuanto a la adaptación a equipos personales, se ha mejorado el tiempo de arranque, la velocidad y la memoria mínima necesaria para funcionar. Seguridad SQL Server 2000 se instala con un nivel de seguridad predeterminado mucho más alto, ya que aprovecha la seguridad integrada de Windows 2000 de forma inmediata. De esta forma, el bloqueo del servidor en los entornos de producción es más rápido y sencillo. Una gran mejora en la gestión de auditoria es que SQL Profiler se ha dividido en dos sistemas: SQL Trace y SQL Profiler. SQL Trace es el motor de auditoria mismo, mientras que SQL Profiler es la interfaz de usuario. Un problema común viene del hecho de que SQL Profiler, en la versión 7.0, no garantiza el rastreo del 100% de las instrucciones enviadas a SQL Server, ya que no fue diseñado como una herramienta de auditoría. Una característica de SQLTrace es la posibilidad de dividir el archivo de eventos en trozos dinámicamente, permitiendo la realización de copias de seguridad dinámicas de los trozos ya cerrados. Es decir cuando el archivo de eventos llega a tener un tamaño prefijado, éste se cierra y se abre un nuevo archivo, de modo que el archivo anterior queda disponible para su transferencia a otro medio de almacenamiento. 32 Se ha enriquecido enormemente la cantidad de sucesos que se pueden auditar: 1. Asignación, modificación, eliminación, utilización y denegación de permisos. 2. Creación, modificación, eliminación de roles en bases de datos. 3. Sucesos de copia de seguridad y recuperación de bases de datos. 4. Creación, modificación y eliminación de logins y usuarios. 5. Cada evento contiene una gran cantidad de información sobre el suceso, usuario que lo ha producido, nombre del servidor, fecha y hora, nombre de la aplicación, número de proceso, texto de la consulta enviada, etc. Al instalarse SQL fuerza, en cierto modo, la asignación de una contraseña al Administrador del Sistema (System Administrator, SA), si el instalador decide no asignar una contraseña, el programa de instalación le lanzará la correspondiente advertencia. Por otro lado, todos los componentes, archivos y directorios, y entradas en el registro, están sujetos a seguridad de acceso. Permitiendo solucionar un vacío de seguridad común entre servidores. SQL 2000 soporta Kerberos como mecanismo de seguridad, lo cual permite delegación de autentificación, simplificando la utilización de IIS en combinación con SQL Server en diferentes servidores. Manejabilidad Posee similitud de parte del entorno de gestión con el de Access 2000, ambos productos comparten ciertas herramientas de los Visual Database Tools, pero la creación gráfica de tablas, por ejemplo, ha adoptado el modo convencional de Access. Además brinda la posibilidad de asignar permisos a columnas desde Enterprise Manager. Programabilidad Se ha introducido la declaración de integridad referencial en cascada. Para las actualizaciones y borrados en cascada, ya no se tendrá que diseñar triggers(disparadores) para obtener esta funcionalidad. 33 Se puede definir el tipo de orden (Sort Order), idioma (Locale ID) y ordenación de Unicode (Unicode Collation) a nivel de columna, lo que facilita enormemente el desarrollo de aplicaciones multilingües. Este tipo de opciones se decidían a nivel de servidor en el momento de la instalación y su modificación suponía regenerar las bases de datos del sistema. Se pueden crear funciones definidas por el usuario. Estas funciones pueden utilizarse en cualquier parte de cualquier consulta, como si se tratara de funciones proporcionadas por el sistema. Existe la posibilidad de definir funciones escalares (que devuelven un único valor) o tabulares (que devuelven un conjunto de registros), las cuales incluso pueden utilizarse tras la cláusula FROM. Se puede asignar seguridad de acceso a estas funciones definidas por el usuario del mismo modo que se asignan permisos a tablas, vistas y procedimientos almacenados. Tiene nuevos tipos de datos:  Bigint es un entero de 64 bits, que en muchos casos sustituirá al tipo de dato Numeric, ya que se podrán almacenar enteros hasta de 19 dígitos (+/- 4.611.686.014.132.420.609).  Sql_variant es un tipo similar al variant de Visual Basic, pero no puede almacenar objetos, sólo tipos de datos convencionales. El propósito de este tipo de dato es proporcionar compatibilidad a cierto tipo de aplicaciones creadas en Visual Basic donde se desea disponer de tipos de datos variables. El estándar ADO 2.5 se ha mejorado para soportar más procesadores y más transacciones por segundo. La versión de ADO suministrada con SQL 2000 es la 2.6. Ventajas de SQL Server 2000 1. Estabilidad para el servidor Web. Si utilizamos bases de datos mdb y recibimos muchas visitas o la base de datos crece mucho, existen riesgos de inestabilidad para el servidor Web, debido a que el motor Jet sobrecarga el servidor Web. Por el contrario, SQL Server reside en una computadora distinta al servidor Web, y está preparado para admitir cualquier número de visitas y tamaño de bases de datos. Utilizando SQL Server liberamos al 34 servidor Web de las tareas relacionadas con los datos con lo que mejorará notablemente su rendimiento y estabilidad. 2. Acceso directo a los datos. Con SQL Server es posible obtener un DNS en nuestro equipo local que apunte a una base de datos del servidor. Después se puede utilizar Access o aplicaciones propias en Visual Basic para acceder directamente a las tablas del servidor. La característica cliente-servidor se manifiesta de esta forma: es posible acceder a la base de datos del servidor utilizando un cliente en una computadora conectada a Internet. 3. Integración con el sistema operativo Windows 2000 Server. Puede integrar la seguridad de SQL Server con la seguridad de Windows 2000 Server, lo que permite que la aplicación se beneficie de las características de autenticación de usuarios de Windows. Protocolos de red de SQL Server Al configurar SQL Server, los protocolos de red elegidos afectan la manera de integrar SQL Server con IIS. SQL Server funciona con una gran variedad de protocolos, entre los más comunes, sockets TCP/IP, Canalizaciones con nombre y Multiprotocolo. La elección del protocolo depende de si la aplicación necesita las características de la seguridad integrada de SQL Server. La seguridad integrada permite que el cliente utilice una cuenta de inicio de sesión única en vez de necesitar una cuenta de inicio de sesión de Windows y otra de inicio de sesión de SQL Server. Con la seguridad integrada, la aplicación aprovecha las características de seguridad de Windows, entre las que se encuentran el nombre del usuario, contraseñas, antigüedad de contraseñas y administración de usuarios en todo el dominio. La seguridad integrada de SQL Server permite el acceso a la base de datos, basándose únicamente en la validación de Windows. Una vez que se ha conectado a la base de datos, el acceso a objetos de SQL (como tablas, vistas y procedimientos almacenados) se controla mediante permisos de acceso estándar de SQL Server. 35 Para utilizar la seguridad integrada de SQL Server, se debe elegir Canalizaciones con nombre o Multiprotocolo con canalizaciones con nombre. Puede configurar los protocolos de red de SQL Server con la Utilidad de configuración de clientes de SQL Server. Sockets TCP/IP Los sockets TCP/IP son un protocolo no autenticado. Esto significa que las conexiones no se autentican y que las conexiones y los niveles de acceso sólo se determinan con el nombre de usuario y la contraseña proporcionados durante la conexión. Los sockets TCP/IP requieren más administración que las Canalizaciones con nombre, puesto que se debe definir el permiso de acceso de cada usuario en SQL Server. Los sockets TCP/IP son una buena elección para el protocolo de red si su aplicación no necesita la seguridad integrada de SQL Server. Canalizaciones con nombre Es un protocolo autenticado, sto significa que siempre que el usuario intente abrir una conexión con SQL Server mediante Canalizaciones con nombre, se producirá el proceso de autenticación de Windows. Es importante recordar esto porque las Canalizaciones con nombre también son el protocolo predeterminado al instalar SQL Server. Se necesitan Canalizaciones con nombre para admitir la opción de seguridad integrada de SQL Server. También es importante tener en cuenta que establece la conexión más rápido que los otros protocolos. Las Canalizaciones con nombre son una excelente elección para el protocolo de red si su aplicación pretende utilizar la seguridad integrada de SQL Server y no necesita otros protocolos para establecer conexiones remotas. 36 Multiprotocolo Esta opción permite que un cliente se conecte con cualquier computadora que posea SQL Server, mediante cualquier protocolo de Windows. Esto proporciona una ventaja con respecto a las Canalizaciones con nombre: con Multiprotocolo se podrá conectar a distintos servidores mediante diferentes protocolos (entre los que se incluye Canalizaciones con nombre) simultáneamente. No obstante, si la aplicación se va a ejecutar sobre una red homogénea, configurada con un único protocolo, el Multiprotocolo no le proporcionará ninguna ventaja. A veces este protocolo puede ser un problema debido a la forma de asignar los nombres de servidor a direcciones de red. Cada protocolo de red que pueda utilizar esta opción tiene un método distinto para identificar el nombre del servidor. El problema es que un solo equipo puede tener un nombre NetBIOS y otro nombre WINS. Dependiendo de qué protocolo realice la consulta, la resolución de nombres puede ser diferente. Este problema no existe si los dos nombres son idénticos. Multiprotocolo es una buena elección para el protocolo de red si su aplicación debe tener acceso a servidores remotos con varios protocolos distintos. Donde el protocolo de red sea Canalizaciones con nombre, su aplicación puede utilizar la opción de seguridad integrada; sino, el cliente necesitará tanto la cuenta de inicio de sesión de Windows como la de SQL Server. Esto requiere administración adicional para definir las cuentas de inicio de sesión del usuario de SQL Server. Seguridad de SQL Server Puede restringir el acceso individual a cada base de datos y, dentro de cada una de ellas, se podrá determinar a qué usuarios se les permite ver o modificar las distintas tablas, columnas, vistas, procedimientos almacenados y reglas. También concede permisos de acceso de forma individual o dentro del contexto de grupos de acceso a datos. Para entender la seguridad básica de SQL Server y cómo funciona con Windows 2000 Server, se deben conocer los siguientes conceptos:  Modos de seguridad de SQL Server.  Estrategias de seguridad de SQL Server. 37 Modos de seguridad de SQL Server El servidor SQL ofrece tres modos diferentes de seguridad para validar la información de inicio de sesión. Tabla 3.1 Modos de seguridad de SQL Server. Modo de seguridad Descripción Seguridad estándar La aplicación debe proporcionar el nombre de usuario y su contraseña de SQL Server. No se ha intentado utilizar la identificación de clientes de Windows 2000. Seguridad integrada de Windows 2000 El nombre de usuario de SQL Server siempre se toma del nombre de usuario y la contraseña del dominio de Windows. Seguridad mixta A menos que el cliente proporcione un nombre de usuario y una contraseña, se toma el nombre de usuario de SQL Server del nombre de usuario y la contraseña del dominio de Windows. Seguridad estándar La seguridad estándar es la opción de instalación predeterminada para SQL Server. Proporciona el modelo de seguridad más sencillo, porque la seguridad existe independientemente del modelo de dominio de Windows 2000. Se controla el nivel de acceso que tiene un usuario a la base de datos y sus objetos mediante la configuración de las opciones de seguridad dentro de SQL Server. Seguridad estándar significa que SQL Server utiliza su propio proceso de validación para comprobar todas las cuentas de inicio de sesión. Con esta seguridad estándar, cada usuario proporciona un nombre de inicio de sesión y una contraseña válidos de SQL Server. Cada inicio de sesión de SQL Server especifica el acceso permitido a cada base de datos y a sus objetos (tablas, vistas, procedimientos 38 almacenados y reglas). Las cuentas de inicio de sesión se consideran válidas si aparecen en la tabla de syslogins cifrados. La autenticación consiste en comparar el nombre de usuario y la contraseña proporcionados con una información similar que se conserva en la base de datos de SQL Server. Este es el modelo de seguridad más fácil de integrar con IIS. Deberá utilizar la seguridad estándar si no utiliza Canalizaciones con nombre o Multiprotocolo. La seguridad estándar funciona con todas las configuraciones de red. Con la seguridad estándar, SQL Server no tiene en cuenta el dominio que utilizan las cuentas de inicio de sesión de red y también ignora el esquema de nombres de usuario y contraseñas de Windows. La seguridad estándar es la mejor elección si su aplicación utiliza IIS. Una parte importante de esta configuración consiste en si se utilizará un protocolo autenticado o no. Seguridad integrada de Windows 2000 Server Con la seguridad integrada, SQL Server aprovecha la autenticación de Windows para validar las cuentas de inicio de sesión de SQL Server. Esto permite que el usuario pase por alto el proceso de inicio de sesión estándar de SQL Server. Con esta aproximación, un usuario de la red puede tener acceso a una base de datos de SQL Server sin suministrar un nombre o contraseña de inicio de sesión distinta, ya que SQL Server obtiene la información de usuario y la contraseña del proceso de seguridad de la red de Windows. La seguridad integrada funciona con todas las conexiones fiables y requiere Canalizaciones con nombre o Multiprotocolo (con Canalizaciones con nombre). Las conexiones fiables pueden proceder de otra estación de trabajo de Windows 98 o Windows 2000 para Trabajo en grupo, y también de Microsoft LAN Manager en ejecución bajo MS-DOS o clientes de Microsoft Windows. Las aplicaciones de SQL Server con seguridad integrada aprovechan todas las características de seguridad de Windows. Incluyen las cuentas de usuario de todo el dominio, contraseñas cifradas, antigüedad de la contraseña, auditoria de inicio de sesión y administración general de usuarios. La seguridad integrada requiere el 39 trabajo conjunto con el administrador de la red para conceder los permisos de acceso necesarios de acuerdo con el modelo de seguridad de la aplicación. Si la aplicación utiliza IIS, probablemente no tendrá que utilizar la seguridad integrada de SQL Server. Si se implementa la seguridad integrada, se crean varios grupos de seguridad de Windows y se concede a cada grupo los permisos de acceso a datos necesarios. Independientemente del modo de seguridad de inicio de sesión de SQL Server, las aplicaciones cliente ODBC y DB-Library se pueden configurar de forma que siempre soliciten una conexión fiable del servidor. Seguridad mixta El modo de seguridad mixta permite la validación mediante el uso de modos de seguridad integrada o estándar. Con el modo de seguridad mixta, SQL Server utiliza la seguridad integrada para todas las conexiones fiables. Por ejemplo, para una conexión con un origen ODBC fiable, la autenticación tiene lugar mediante el proceso de autenticación de Windows. Si la autenticación del modo integrado falla, se utiliza el modo de seguridad estándar; para ello, se requiere la entrada de información válida de inicio de sesión de SQL Server. Estrategias de seguridad de SQL Server Puede utilizar las características de SQL Server para implementar varias estrategias útiles de seguridad de acceso a datos:  Eliminar el inicio de sesión Invitado. Quitar el inicio de sesión Invitado de los permisos de acceso a la base de datos.  Identificar los grupos de trabajo comunes. Identificar los grupos de trabajo comunes con los requisitos de permiso comunes de la base de datos y crear un perfil de seguridad basado en grupos.  Proporcionar una cuenta de inicio de sesión Anónimo para el dominio. Si IIS está en un servidor independiente y va a tener acceso a otros recursos remotos desde ese equipo con IIS, la mejor solución suele ser convertir la cuenta de inicio de sesión Anónimo en una cuenta de dominio. Esto significa que siempre que sea 40 necesaria una autenticación, la cuenta estará disponible para que otros servidores de la red la validen. La ventaja más evidente es que se satisface la autenticación de las Canalizaciones con nombre de SQL Server.  Utilizar la seguridad estándar para aplicaciones IIS. Si la aplicación IIS utiliza SQL Server, use el modo de seguridad estándar. Esto le proporcionará la máxima flexibilidad para desplegar la aplicación en estaciones de trabajo de la red.  Utilizar vistas. Restringir el acceso a datos; para ello, se desarrollan vistas únicas que limiten la cantidad de datos que un usuario pueda ver o modificar. Por ejemplo, puede permitir el acceso a algunas columnas de una tabla pero restringirlo para otras columnas que contengan datos confidenciales. El acceso a estas vistas se regula mediante esquemas de permisos del servidor de SQL. Esta solución proporciona el grado más alto de seguridad y es el más fácil de implementar.  Utilizar procedimientos almacenados. Si el acceso a datos tiene que ser muy seguro, se considera utilizar sólo procedimientos almacenados para ver y modificar datos.  Restringir las herramientas de consulta. Si algunos usuarios utilizan herramientas de consulta, se asignará a cada usuario dos cuentas de inicio de sesión: una cuenta de inicio de sesión principal para consultas y una cuenta de inicio de sesión de aplicación para utilizar su aplicación. La cuenta de inicio de sesión de consulta principal debe ser la identificación de usuario de Windows y estar restringida a sólo lectura. Así, cuando el usuario ejecute la herramienta de consulta, ésta recibirá los permisos de la cuenta de inicio de sesión de Windows y estará limitada a sólo lectura para los objetos y bases de datos permitidos. La segunda cuenta de inicio de sesión es para la aplicación, donde se controlará el acceso a datos con los procesos y métodos integrados en la misma.  Construir una pista de auditoría. Se puede realizar fácilmente el acceso a datos; para ello, se crean desencadenantes que se ejecutan automáticamente cada vez que se modifique una tabla. Los permisos de usuario no son necesarios para ejecutar un desencadenante. 41 3.4 LENGUAJE DE PROGRAMACION MICROSOFT VISUAL BASIC 6.0 Visual Basic es un lenguaje de programación que nació del BASIC (Beginner´s All-purpose Symbolic Instruction Code) y fue creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar. Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como Visual Basic. Este lenguaje combina la sencillez del BASIC con un poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos programas de 32 bits para Windows. Visual Basic facilita la puesta en marcha de cualquier nuevo proyecto de programación, ya que es un lenguaje de desarrollo para Windows. Características  Visual Basic es la herramienta más productiva para crear soluciones rápidas que puedan ser ejecutadas en Windows. Un ambiente de desarrollo integral ayuda a que los desarrolladores creen e instalen aplicaciones cliente-servidor, además permite programar para Internet utilizando sus propias técnicas y herramientas de desarrollo.  Mediante Visual Basic, el desarrollo de aplicaciones se hace más sencillo y rápido cuando se utilizan las herramientas incluidas de este, o herramientas creadas por el usuario.  En la mayoría de los lenguajes, si comete un error al escribir el código, el compilador intercepta este error cuando comience a compilar la aplicación. Debe encontrar y corregir el error y comenzar de nuevo con el ciclo de compilación, repitiendo el proceso para cada error encontrado. Visual Basic interpreta el código a medida que lo escribe, interceptando y resaltando la mayoría de los errores de sintaxis en el momento. 42  Además, para interceptar errores sobre la marcha, Visual Basic también compila parcialmente el código según se escribe. Cuando esté preparado para ejecutar y probar la aplicación, tardará poco tiempo en terminar la compilación. Si el compilador encuentra un error, quedará resaltado en el código. Puede corregir el error y seguir compilando sin tener que comenzar de nuevo.  A causa de la naturaleza interactiva de Visual Basic, se puede probar los efectos del código según se escriban en lugar de esperar a compilarlo más tarde.  En una aplicación controlada por eventos, el código no sigue una ruta predeterminada; ejecuta distintas secciones de código como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicación. La secuencia de estos eventos determina la secuencia en la que se ejecuta el código, por lo que la ruta a través del código de la aplicación es diferente cada vez que se ejecuta el programa.  Sólo se necesitan unos minutos para crear una aplicación con Visual Basic. Puede crear la interfaz de usuario "dibujando" controles, como cuadros de texto y botones de comando, en un formulario. Después se establecen las propiedades del formulario y los controles para especificar valores como el título, el color y el tamaño. Finalmente, se escribe el código para dar funcionalidad a la aplicación.  Visual Basic proporciona un alto grado de flexibilidad, permitiendo configurar el entorno de trabajo que mejor se adapte al estilo del programador. Se puede elegir entre una interfaz de documentos simple o múltiple, y ajustar el tamaño y la posición de varios elementos del Entorno Integrado de Desarrollo (Integrated Development Environment, IDE). Productividad y rendimiento  Desarrollo rápido de aplicaciones de alto rendimiento.  Es posible optimizar la velocidad y el tamaño de las aplicaciones, así como mejorar aún más el rendimiento.  Realiza conexiones en aplicaciones y componentes sin necesidad de seguir una administración de conexión manual. 43  Se pueden crear fácilmente una amplia variedad de componentes basados en COM (Component Object Model), incluyendo los Controles ActiveX. 3.5 HERRAMIENTAS PARA EL DESARROLLO EN WEB HTML (HIPER TEXT MARKUP LANGUAGE) Es un lenguaje de etiquetas que en español significa Lenguaje de Marcado de Hipertexto(Hiper Text Markup Language), no es un lenguaje de programación, es como su nombre lo dice un "lenguaje de marcado" para estructurar documentos, los cuales pueden ser mostrados por los navegadores de páginas Web en Internet, como Netscape, Mosaic o Microsoft Internet Explorer. Básicamente el HTML consta de una serie de ordenes o etiquetas, que indican al navegador la forma de representar los elementos (texto, gráficos, etc.) que contenga el documento. Los documentos de HTML se pueden crear en cualquier editor que tengan la capacidad de guardar los archivos como solo de texto (o formato ASCII), por ejemplo: WordPad, Word, Notepad, etc. Además existen aplicaciones o herramientas de desarrollo que facilitan el trabajo de escribir el código, por ejemplo FrontPage, Dreamweaver y otros. En el diseño del sitio Web se utilizó HTML como parte primordial de dicho diseño. Siendo este un lenguaje estándar de gran facilidad, permite moldear o delimitar la estructura interna del sitio, utilizándolo para la creación de tablas, formatos de letras, colores, fondos, viñetas, frames, etc. JAVASCRIPTS JavaScripts es un lenguaje multiplataforma orientado a eventos con manejo de objetos cuyo código se incluye directamente en el mismo documento. Es usado para el desarrollo de aplicaciones Cliente-Servidor en página HTML. Las principales características:  Es simple, no hace falta tener unos amplios conocimientos de programación para poder hacer un programa en JavaScript. 44  Es dinámico, responde a eventos que son producidos por el propio usuario y él reacciona a ellos en tiempo real. Por ejemplo, se puede cambiar totalmente el aspecto de una página Web al gusto del usuario, ó hacer cálculos en base a variables cuyo valor es determinado por el usuario.  Está orientado a objetos de forma limitada ya que no maneja los conceptos como herencia, métodos. Pero se puede definir un objeto dentro una página Web y sobre ese objeto definir diferentes eventos que producirán una salida. Entre las principales aplicaciones de JavaScript se mencionan:  Responde a eventos locales dentro de la página, como pulsar un botón.  La realización de cálculos en tiempo real.  Validación de formularios dentro de una página Web.  La personalización de la página por el usuario, que permita tener una página Web a la medida.  La inclusión de datos del propio sistema, como son la hora y la fecha. ACTIVE SERVER PAGES (ASP) Active Server Pages (ASP) es una tecnología creada por Microsoft, destinada a la creación de sitios Web. No se trata de un lenguaje de programación en sí mismo (ya que los ASP se pueden programar en VBScript, JavaScript, PerlScript o en varios otros lenguajes), sino de un marco sobre el cual construir aplicaciones basadas en Internet. La tecnología ASP apareció por primera vez (versión 1.0) con el servidor Internet Information Server 3.0 de Microsoft en Diciembre de 1996. La versión 4.0 de IIS (el Option Pack para NT 4.0) incluye la versión 2.0 de ASP, y la versión 5.0 de IIS, distribuida con Windows 2000, incluye ASP 3.0. En el dominio de la red, los lenguajes del lado del servidor más ampliamente utilizados para el desarrollo de páginas dinámicas son el ASP, PHP y PERL. El ASP (Active Server Pages) es un lenguaje derivado del Visual Basic desarrollado por Microsoft. Evidentemente su empleo se realiza sobre plataformas funcionando bajo sistema Windows NT o Windows. 45 Este lenguaje resulta bastante útil para la explotación de bases de datos y su aprendizaje es accesible. Es una opción ideal a la hora de hacer evolucionar un sitio Web realizado en HTML. Active Server Pages es una parte integrada del sistema operativo y no necesitan ser compilada; cuando usted cambia un archivo de ASP y lo guarda, la escritura se compila automáticamente la próxima vez que se pide. Esto significa que cuando se desarrolle una aplicación Web con ASP, se puede almacenar la página e inmediatamente puede verse en un browser. Si se quiere acceder a una base de datos, se puede usar una conexión ODBC, una conexión OLE-DB, o una ruta física. MICROSOFT VISUAL INTERDEV 6.0 La sintaxis de ASP es implementada en código ASCII, por lo que para poder crear, editar y modificar dicho código, sólo es necesario utilizar un simple editor de textos. Existe dentro de los programas de desarrollo DevStudio, una aplicación específica para administración y creación de proyectos Web, denominada Visual InterDev. Microsoft Visual InterDev 6.0, es el sistema de programación en Web que incluye todas las herramientas necesarias para crear aplicaciones Web dinámicas con acceso base de datos para Internet e Intranets. Contiene herramientas visuales de programación. Las nuevas características que se describen a continuación proporcionan a las aplicaciones Web rapidez, riqueza y solidez.  Entorno de datos. La creación y modificación de objetos enlazados a datos tiene lugar en una sola ubicación: el entorno de datos gráfico. En él pueden arrastrarse y colocarse objetos en las páginas ASP para crear automáticamente controles en tiempo de diseño enlazados a datos.  Controles en tiempo de diseño enlazados a datos. Proporciona una interfaz de edición más visual para crear páginas que contienen datos. Estos controles hacen que sea fácil incorporar secuencias de comandos a las páginas ASP o HTML para interactuar con bases de datos. 46  Modelo de objetos de secuencias de comandos. El modelo de objetos de secuencias de comandos simplifica la programación de aplicaciones Web al proporcionar un modelo orientado a objetos y reduce en gran medida la complejidad y cantidad de comandos necesarios para crear aplicaciones dirigidas al cliente (explorador) y al servidor.  Diseñador de sitios Web. Se utiliza para realizar prototipos de sitios Web y desarrollarlos rápidamente, mediante una interfaz de arrastrar y colocar.  HTML dinámico. Admite HTML Dinámico (DHTML) en Microsoft Internet Explorer 4.0. El editor de Visual InterDev permite crear secuencias de comandos para objetos y eventos DHTML.  Herramientas de depuración. Incluye un depurador que permite comprobar y depurar secuencias de comandos y componentes Java. El depurador puede utilizarse con Microsoft Visual Basic, Scripting Edition (VBScript) y Microsoft JScript.  Distribución. Incluye funciones de distribución de componentes de servidor COM de nivel medio. Las funciones nuevas facilitan la creación y distribución de aplicaciones Web basadas en componentes, incluida la integración con Microsoft Transaction Server para crear aplicaciones Web sólidas que pueden adaptarse y que están destinadas a las organizaciones. DREAMWEAVER Es una herramienta para el desarrollo de sitios Web que contiene una variedad de recursos que ayudan a crear sitios y páginas rápidamente. Una de las ventajas que ofrece es que genera código nativo de HTML que facilita la modificación del código fuente, en cualquier editor de texto. 48 4.1 RESUMEN DEL PLAN DE SOLUCION Consiste en el desarrollo de una interfaz cliente servidor que alimentará parte de la información que contendrá el sitio Web del Centro para la Defensa del Consumidor. La información que se manejará en la interfaz serán las captación de demandas, investigaciones, tarifas de servicios públicos, salarios y canasta básica. El plan de solución incluye:  Diagrama de Flujo de Datos (DFD) propuesto: muestra el proceso que se seguirá en las demandas con la creación del sistema.  Diccionario de Datos: recopila y describe los datos de que se usarán en el sistema.  Diseño y construcción de la base de datos: contiene el diagrama entidad-relación de la base de datos que se utilizará en el sitio Web; descripción de cada una de las tablas con su respectivas relaciones.  Diseño y construcción de la interfaz para el mantenimiento de la base de datos: se explica en forma breve la forma de cómo se desarrolló el mantenimiento de la base de datos y el esquema de la interfaz.  Estructura del sitio Web: contiene el esquema del sitio Web donde se muestra la estructura que tiene el sitio y su descripción. 49 4.2 DIAGRAMA DE FLUJO DE DATOS DEL SISTEMA PROPUESTO Dentro de la información incluida para el sitio Web se tiene el proceso de captación de demandas, del cual se presenta el Diagrama de Flujo de Datos propuesto en la figuras 4.1 el nivel 0 y en la figura 4.2 el nivel 1; mostrando así como debe de ser el flujo de los datos entre los procesos. Formulario de asesoría o asistencia Documento 0 Ejecutar una demanda Consumidor Consumidor Asesor Asesoría Da Asesoría Figura 4.1 Diagrama de Flujo de Datos nivel cero. 50 D1 Almacén Asesor D2 Almacén Asistencia D4 Almacén Asesoría D3 Almacén Persona Asesoría Consumidor Informe sobre gestiones Hoja de Asesoría Consumidor Documento Asesoría Datos de la persona caso Datos de la persona caso Asesor Da asesoría Da asistencia Asesoría o asistencia Asistencia Datos del Asesor 1.3 32 Realizar Gestiones Asistencia Asistencia 1.1 Exponer el caso 1.2 Brindar Asistencia Datos del caso Figura 4.2 Diagrama de flujo de Datos del nivel uno 51 4.3 DICCIONARIO DE DATOS Dentro del análisis y diseño del sistema se ha elaborado un Diccionario de Datos donde se describen los atributos de cada entidad que se identificado para el almacenamiento de datos. Para el formato de entrada se ha considerado usar la letra X para indicar que la entrada es alfanumérico, un número 9 si la entrada es un valor numérico y cuando se usa una letra Z la entrada puede ser un número entero pero sin incluir el cero. Descripción de los atributos de Gestión Nombre Tipo de Dato Longitud Formato Entrada Descripción Código_asistencia Alfanumérico 8 XX999999 Código por cada asistencia realizada. Fecha Fecha 8 99/99/Z999 Fecha en que se realizo la gestión. Hora Hora 8 99:99:99 Hora en que se realizo la gestión Descripcion Alfanumérico 150 Descripción de la gestión realizada. Resolucion Alfanumérico 15 Resolución o resultado de la gestión que se realizo. Descripción de los atributos de Asesoría Nombre Tipo de Dato Longitud Formato Entrada Descripción Codigo Alfanumérico 7 Código que identifica a cada asesoría. Codigo_persona Alfanumérico 7 Código que identifica a la persona que realiza la demanda. Cuantia_litigada Moneda 8 Cantidad de dinero que la persona apela su valor en la demanda. 52 Ambito Alfanumérico 7 Área en que se realiza la demanda, donde puede ser publico o privado. Tipo_servicio Alfanumérico 10 Palabra que identifica el tipo de servicio que se le brindo al consumidor. Tipo_infraccion Alfanumérico 25 Nombre que identifica el tipo de infracción que se le cometió al consumidor. Asesor Alfanumérico 4 Nombre del asesor que atiende el caso demandado. Descripcion_probl ema Alfanumérico 200 Detalle del caso sucedido por el cual el consumidor quiere establecer una demanda Descripción de los atributos de Asistencia Nombre Tipo de Dato Longitud Formato Entrada Descripción Expediente Alfanumérico 8 XX999999 Código que identifica a cada expediente de cada caso asistido Resolucion Alfanumérico 4 Nombre de resolución tomada después de haber evaluado el caso asistido. Codigo_Asesoria Alfanumérico 7 Código de la asesoría realizada. Codigo_Institucio n_demandada Alfanumérico 7 Código de la institución demandada Fecha Fecha 8 99/99/Z999 Fecha en que se realiza la asistencia jurídica Hora hora 8 99:99:99 Hora en que se inicia la asistencia jurídica Petición Alfanumérico 100 Descripción de lo que el consumidor desea que se le resuelva del caso demandado 53 Descripción de los atributos de Resolución Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica a cada resolución que se tenga para las demandas. Resolución Alfanumérico 15 Nombre de la resolución. Descripción de los atributos de Institución_Demandada Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 7 Código que identifica a cada institución demandada. Nombre Alfanumérico 40 Nombre de la institución demandada. Contacto Alfanumérico 40 Nombre de la persona que será el contacto para la comunicación entre el CDC y la empresa demandada. Dirección Alfanumérico 60 Dirección de la empresa demandada. Teléfono Alfanumérico 8 Número de teléfono de la institución demandada. Descripción de los atributos de Persona Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 7 Código que identifica a cada persona que efectúa una demanda. Apellidos Alfanumérico 25 Apellidos de la persona que realiza la demanda. Nombres Alfanumérico 25 Nombre de la persona que realiza la demanda. Edad Numérico 2 Edad de la persona. Sexo Alfanumérico 1 Sexo al cual pertenece la persona que realiza la demanda. 54 Codigo_Profesi on Alfanumérico 4 Código de la profesión de la persona. Calle_casa Alfanumérico 40 Nombre de la calle y numero de la casa de residencia de la persona. Colonia_barrio Alfanumérico 40 Nombre de la colonia o barrio de la persona. Codigo_munici pio Alfanumérico 4 Nombre del municipio donde reside la persona. Teléfono Alfanumérico 8 Z99-9999 Número de teléfono donde se pude contactar a la persona. Email Alfanumérico 40 Dirección de la cuenta de correo electrónico de la persona. Descripción de los atributos de Profesión Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica la profesión y oficio de la persona que efectúa la demanda. Profesión Alfanumérico 25 Nombre o profesión u oficio de la persona. Descripción de los atributos de Municipio Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica a cada municipio. Municipio Alfanumérico 30 Nombre del municipio. Departamento Numérico 2 identificador del departamento. 55 Descripción de los atributos de Documento Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica el documento presentado por el consumidor. Nombre Alfanumérico 30 Nombre del documento. Descripción de los atributos del Descripcion_Documento Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica a cada documento. Código_persona Alfanumérico 7 Código que identifica a cada persona que realizó una asesoría. Número_de_docu mento Alfanumérico 20 Numero que identifica a la persona en el documento presentado. Fecha_de_expedi ción Fecha 8 99/99/Z999 Fecha en que se le extendió el documento presentado. Lugar_de_expedi ción Alfanumérico 30 Lugar donde se saco en documento presentado en la demanda. 56 Descripción de los atributos del Asesor Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica a cada asesor que brinda sus servicios en el CDC. Nombre Alfanumérico 25 Nombre del asesor del caso. Apellido Alfanumérico 25 Apellidos del asesor del caso. Dirección Alfanumérico 60 Dirección del asesor. teléfono Alfanumérico 8 Z99-9999 Teléfono del asesor. Descripción de los atributos de Canasta_Básica Nombre Tipo de Dato Longitud Formato Entrada Descripción Codigo_Rubro Alfanumérico 6 XXXX99 Código que identifica a un elemento de la canasta básica. Mes Numérico 2 99 Contiene el mes del valor del índice. Año Alfanumérico 4 Z999 El año del valor del índice. Indice Numérico 8 Indicador de la canasta básica. Descripción de los atributos de Rubro Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 6 XXXX99 Código que identifica a un elemento de la canasta básica. Nombre Alfanumérico 30 Nombre de un elemento de la canasta básica. 57 Descripción de los atributos de Salario Nombre Tipo de Dato Longitud Formato Entrada Descripción Zona Alfanumérico 1 Contiene las zonas si es Rural o Urbana. Año Alfanumérico 4 Z999 El año del salario mínimo. Salario Numérico 8 Valor del salario mínimo. Descripción de los atributos de Costo_por_Servicios Nombre Tipo de Dato Longitud Formato Entrada Descripción Codigo_Servicio Alfanumérico 6 XXXX99 Código que identifica al servicio. Codigo_Empresa Alfanumérico 6 XXXX99 Código que identifica a la empresa que da el servicio. Parametro Alfanumérico 30 Define una variable del servicio que ofrece la empresa. Tipo_de_Dato Alfanumérico 1 Contiene si el cobro es fijo o variable. Tipo_de_Cobro Alfanumérico 1 Contiene si el dato que se introduce en el cobro es un porcentaje o variable. Cobro Numérico 8 Cantidad o porcentaje del cobro por el servicio. Fecha Fecha 8 99/99/Z999 Indicador de la canasta básica. Descripción de los atributos de Servicios_Públicos Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 6 XXXX99 Contiene todos los códigos de los servicios públicos. Nombre Alfanumérico 50 Nombre de los servicios. 58 Descripción de los atributos de Empresa_Servicios Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 6 XXXX99 Contiene todos los códigos de las empresas que dan los servicios. Nombre Alfanumérico 50 Nombre de las empresas que dan los servicios. Descripción de los atributos de Investigación Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 8 XXXX9999 Código que identifica a cada Investigación. Investigador Alfanumérico 6 XXX999 Persona que realiza la investigación. Sub_Categoría Alfanumérico 6 XXXX99 Identifica a que clasificación pertenece la Investigación. Fecha Fecha 8 99/99/Z999 Fecha de la investigación. Titulo Alfanumérico 300 Titulo de la investigación. Descripción Alfanumérico 500 Descripción breve de la investigación. Descripción de los atributos de Palabra Clave Nombre Tipo de Dato Longitud Formato Entrada Descripción Código_Palabra _Clave Alfanumérico 6 XX9999 Código que identifica a cada palabra clave. Palabra_Clave Alfanumérico 30 Nombre de la palabra clave. 59 Descripción de los atributos de Palabra Clave por Investigaciones Nombre Tipo de Dato Longitud Formato Entrada Descripción Código_Palabr a Clave Alfanumérico 6 XX9999 Código que identifica a cada palabra clave. Código_Investi gación Alfanumérico 8 XXXX9999 Código que identifica a cada Investigación. Descripción de los atributos de Categoría Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 4 XX99 Código que identifica a cada palabra categoría. Nombre Alfanumérico 40 Nombre de la categoría, la cual es una forma de clasificar las investigaciones. Descripción de los atributos de Sub_Categoría Nombre Tipo de Dato Longitud Formato Entrada Descripción Categoría Alfanumérico 4 XX99 Código que identifica a cada categoría. Codigo_Sub Categoría Alfanumérico 6 XXXX99 Código que identifica a cada sub categoría. Nombre_Sub Categoría Alfanumérico 40 Nombre de la sub categoría, a la que pertenecen las investigaciones. 60 Descripción de los atributos de Institución Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 6 XXX999 Código que identifica a cada Institución. Nombre Alfanumérico 40 Nombre de la institución. Email Alfanumérico 40 Correo electico de la institución. Teléfono Alfanumérico 8 Z99-9999 Número telefónico. Dirección Alfanumérico 60 Dirección de la Institución. Descripción de los atributos del Investigador Nombre Tipo de Dato Longitud Formato Entrada Descripción Código Alfanumérico 6 XXX999 Código que identifica a cada Investigador. Nombre Alfanumérico 40 Nombres del Investigador. Apellido Alfanumérico 40 Apellidos de la persona que realiza la investigación. Email Alfanumérico 40 Correo electrónico del investigador. Cargo Alfanumérico 40 Cargo que desempeña el investigador Código_Instituc ión Alfanumérico 6 XXX999 Código de la institución donde trabaja el investigador. 61 4.4 DISEÑO Y CONSTRUCCIÓN DE LA BASE DE DATOS 4.4.1 Diagrama Entidad-Relación En la figura 4.3 se muestra el siguiente diagrama que describe la estructura de cada una de las tablas y sus respectivos campos, las cuales forman la base de datos, así como las relaciones entre las mismas. En el diagrama Entidad – Relación se tiene la siguiente simbología: Relación de Uno Varios Donde la llave representa la relación de Uno y el símbolo de infinito la relación Varios; y la en la tabla representa que el campo es una llave primaria. La nomenclatura que se siguió para la creación de las tablas y sus campos se ha retomado de sugerencias que se encuentran en libros de base de datos y se han retomado éstas para la nomenclatura a seguir, la cual es la siguiente: Tablas: los nombres inician con letras Tbl, seguido del nombre representativo de la tabla. Campos: los nombres de estos son representativos del dato que almacenan; los campos llaves se identifican al inicio, con las letras Pk para las llaves primarias, las llaves foráneas con las letras Fk, y los campos que son llaves primarias y foráneas a la vez inician con Pk y luego Fk; luego llevan un identificador de la tabla a la que pertenecen los cuales se detallan en la tabla 4.1 y al final el nombre representativo del campo. 62 Tabla 4.1 Identificadores de las tablas en los campos. Nombre de la Tabla Identificador en los campos TblMunicipio TblProfesion TblPersona TblDescripDoc TblDocumento TblGestion TblResolucion TblAsistencia TblAsesoria TblInstDemandada TblAsesor TblRubro TblCanastaBasica TblSalario TblServicio TblEmpresaServicio TblParametro TblInvestigador TblInstitucion TblInvestigaciones TblPClaveInv TblPalabraClave TblCategoria TblSubCategoria Mun Prof Pna DDoc Doc Ges Res Acia Aria IDem Asor Rbo CBas Sal Ser ESer Para Ivg Ins Inv PCI PC Cat SCat 63 64 Figura 4.3Diagrama Entidad - Relación 65 4.4.2 Descripción de la Base de Datos Tabla: TblMunicipio Almacena los nombres de los municipios existentes en El Salvador. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkMunCod PK NN,U CHAR 4 MunNom NN VARCHAR 30 MunCodDepto NN CHAR 2 Tabla: TblProfesion Almacena todas las profesiones u oficios. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkProfCod PK NN,U CHAR 4 ProfNom NN VARCHAR 25 Tabla: TblPersona Almacena todos los datos personales de cada usuario que establezca una demanda. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkPnaCod PK NN,U CHAR 7 PnaApell NN VARCHAR 25 PnaNom NN VARCHAR 25 PnaEdad NN NUMERIC 2 PnaSexo NN CHAR 1 FkProfCod FK NN CHAR 4 PnaCalle NN VARCHAR 40 Pnacolonia NN VARCHAR 40 66 FkMunCod NN VARCHAR 4 PnaTelef CHAR 8 PnaEmail VARCHAR 40 Tabla: TblDescripDoc Guardará la información que describe al documento de identificación de cada persona. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkFkDocCod PK, FK NN,U CHAR 4 PkFkPnaCod PK, FK NN,U CHAR 7 DDocNumDocum NN VARCHAR 20 DDocFechaExped NN DATETIME 8 DDocLugarExped NN CHAR 30 Tabla: TblDocumento Almacena los nombres de los documentos. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkDocCod PK NN,U CHAR 4 DocNom NN VARCHAR 30 67 Tabla: TblInstDemandada Guarda los datos referentes a la empresa demandada. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkIDemCod PK NN,U CHAR 7 IdemNom NN VARCHAR 40 IDemContacto NN VARCHAR 40 IdemDir NN VARCHAR 60 IdemTele NN CHAR 8 Tabla: TblGestion Almacena los datos acerca de cada gestión que se realice por cada asistencia. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkFkAciaCod PK,FK NN,U CHAR 8 PkGesFecha PK NN,U DATETIME 8 PkGesHora PK NN,U DATETIME 8 GesDescrip NN VARCHAR 150 GesResolucion NN VARCHAR 15 Tabla: TblAsistencia Guarda los datos en relación a la asistencia jurídica que se efectúa por cada caso asesorado. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkAciaCod PK NN,U CHAR 8 FkResCod FK NN CHAR 4 FkAriaCod FK NN CHAR 7 FkIDemCod FK NN CHAR 7 68 AciaFecha NN DATETIME 8 AciaHora NN DATETIME 8 AciaPeticion NN VARCHAR 100 Tabla: TblAsesoria Almacena información referente a la asesoría jurídica que se realiza de un determinado caso. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkAriaCod PK NN,U CHAR 7 FkPnaCod FK NN CHAR 7 AriaCuantia NN MONEY 8 AriaAmbito NN CHAR 7 AriaTipoServicio NN VARCHAR 10 AriaTipoInfraccion NN VARCHAR 25 FkAsorCod FK NN CHAR 4 AriaDescriProblem NN VARCHAR 200 Tabla: TblResolucion Almacena la resolución o acuerdo al que se llega al efectuar una demanda. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkResCod PK NN,U CHAR 4 ResNom NN VARCHAR 15 69 Tabla: TblAsesor Guarda los datos relacionados con el asesor. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkAsorCod PK NN,U CHAR 4 AsorNom NN VARCHAR 25 AsorApell NN VARCHAR 25 AsorDir NN VARCHAR 60 AsorTelef NN CHAR 8 Tabla: TblRubro Esta contiene los diferentes indicadores de la canasta básica. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkRboCod PK NN,U CHAR 6 RboNom NN VARCHAR 30 Tabla: TblCanastaBasica Almacenará los datos de la canasta básica en diferente tiempo. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkFkRboCod PK,FK NN CHAR 6 PkCBasAnno PK NN CHAR 4 PkCBasMes PK NN CHAR 2 CBasIndice NN REAL 4 70 Tabla: TblSalario Guardara el control de los diferentes salarios que se han tenido en el tiempo en las zonas rural y urbana de nuestro país. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkSalZona PK NN CHAR 1 PkSalAnno PK NN CHAR 4 SalMinimo NN MONEY 8 Tabla: TblServicio Tendrá los diferentes servicios a los que la población tiene acceso. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkSerCod PK NN,U CHAR 6 SerNom NN VARCHAR 50 Tabla: TblEmpresaServicio Almacenará la información de las diferentes empresas que prestan los servicios públicos. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkESerCod PK NN,U CHAR 6 ESerNom NN VARCHAR 50 71 Tabla: TblParametro Contendrá información de los diferentes cobros que realizan las empresas en los servicios públicos que prestan a la población. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkFkSerCod PK,FK NN CHAR 6 PkFkESerCod PK,FK NN CHAR 6 PKParaParam PK NN VARCHAR 30 ParaTipoDato N CHAR 1 ParaTipoCobro N CHAR 1 ParaCosto NN REAL 4 ParaFecha NN DATETIME 8 Tabla: TblInvestigador Almacena información sobre las personas que realizan las investigaciones. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkIvgCod PK NN CHAR 6 IvgNom NN VARCHAR 40 IvgApell NN VARCHAR 40 IvgEmail VARCHAR 40 IvgCargo VARCHAR 30 FkInsCod CHAR 6 72 Tabla: TblInstitucion Almacena información de todas las instituciones que realizan Investigaciones. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkInsCod PK NN CHAR 6 InsNom NN VARCHAR 40 InsEmail VARCHAR 40 InsTelefono VARCHAR 8 InsDir VARCHAR 60 Tabla: TblInvestigaciones Almacena toda la información sobre los documentos de Investigaciones. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkInvCod PK NN CHAR 8 InvFecha DATETIME 8 FkSCatCod FK NN CHAR 6 FkCod FK NN CHAR 6 FkIvgCod FK NN CHAR 6 InvTitulo VARCHAR 300 InvDescripcion VARCHAR 500 Tabla: TblPClaveInv Almacena todas las palabras claves que contienen los documentos de investigaciones. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkFkPCCod PK,FK NN,U CHAR 6 PkFkInvCod PK,FK CHAR 8 73 Tabla: TblPalabraClave Almacena todas las palabras claves que contienen los documentos de investigaciones. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkPCCod PK NN,U CHAR 6 PCNom VARCHAR 30 Tabla: TblCategoria Tabla que almacena los tipos de categoría en que se dividen las investigaciones. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud PkCatCod PK NN,U CHAR 4 CatNom VARCHAR 40 Tabla TblSubCategoria Almacena datos que se subdividen de las categorías. Nombre campo Tipo llave Nulo/unicidad Tipo dato Longitud FkCatCod NN CHAR 4 PkSCatCod PK NN,U CHAR 6 SCatNom VARCHAR 40 4.5 ARBOL DE OPCIONES DEL SISTEMA Para la creación de la interfaz del usuario se hizo el diseño de la estructura de las diferentes opciones que poseerá el sistema, como se muestra en la figura 4.4. 74 Salir Archivo Categoria Sub Categoria Palabra clave Institucion Investigador Investigaciones Servicios Publicos Empresas de servicio Asesor Documento Municipio Profesion Resolucion Demandas Rubros de la canasta basica Mantenimiento Investigaciones Consulta Investigaciones Servicios Asesoria Asistencia Gestion Demandas Canasta Basica Salarios Procesos Ayuda ... Acerca de ... Ayuda Sistema MISD Figura 4.4 Arbol de opciones del sistema MISD. 75 4.5.1 DESCRIPCIÓN DEL ARBOL DE OPCIONES DEL SISTEMA Archivo Este menú presenta la opción para salir del sistema de mantenimiento.  Salir Se sale del sistema MISD. Mantenimiento La opción de Mantenimiento contiene formularios donde se permite introducir y manipular los datos que se necesita desplegar en los diferentes formularios de las opciones del Menú Procesos.  Investigaciones Presenta un menú desplegable con las opciones de Categoría, Sub Categoría, Palabra Clave, Institución, Investigador e Investigaciones. Categoría: Categoría a la que pertenece la investigación, por ejemplo agua, electricidad, alimentos, etc Palabra Clave: Por medio de esta ventana se almacena la información de palabras claves y se le da el mantenimiento a la tabla en la base de datos. Institución: Ventana que almacena información acerca de las diferentes instituciones que realizan investigaciones. Investigador: Ventana a través de la cuál se almacena información de las personas que han realizado investigaciones que la institución ha recopilado.  Servicios Públicos Presenta el formulario para efectuar el mantenimiento de los servicios públicos de la base de datos.  Empresas de Servicios Públicos Presenta el formulario para efectuar el mantenimiento de las empresas que dan servicios públicos. 76  Demandas Opción que presenta los formularios que le darán el mantenimiento a las tablas de asesor, documento, municipio, profesión y resolución que servirán para mostrar dicha información almacenada en el proceso de asesoría y asistencia jurídica. Asesor: Se efectúa el mantenimiento para los asesores que dan servicio jurídico. Documento: Se efectúan el mantenimiento de los documentos que presentan los consumidores cuando efectúan una demanda. Municipio: Se lleva el registro de los municipio por departamentos. Profesión: Presenta el formulario para el mantenimiento de las profesiones u oficios que se utilizarán en las asesorías. Resolución: Se lleva el mantenimiento de las palabras que identifican el estado actual de las demandas.  Rubros de la Canasta Básica Presenta el formulario para efectuar el mantenimiento de los diferentes de rubros que conforman la canasta básica de la base de datos. Proceso La opción Proceso de la barra del menú se creó con el fin de dar mantenimiento a los formularios que contendrán los diferentes datos que la institución procesa y desea mostrar en el sitio Web, Las opciones del menú Procesos son: Investigaciones, Servicios, Demandas, Canasta Básica y Salarios.  Investigaciones Contiene dos opciones para las investigaciones. Investigaciones: Presenta un formulario donde se ingresan los datos necesarios para almacenar la información referente a la investigación, tales como: código, palabra clave, subcategoría, código del Investigador, título y un resumen del estudio. 77 Consultas: En esta opción se efectúan búsquedas de investigaciones, las cuales pueden ser por palabra clave, categoría y por año.  Servicios En la opción de Servicios se ingresan los costos de los diferentes servicios que prestan las empresas, en una fecha determinada.  Demandas Aquí se reúnen las opciones necesarias para efectuar las demandas y sus gestiones. Asesoría : Ventana que tiene como fin darle mantenimiento a las asesorías jurídicas que realice el CDC; llevando almacenados los datos de la persona e información necesaria para poder asesorar al consumidor sobre el caso presentado. Asistencia: Una vez realizada la asesoría jurídica y la persona (consumidor) no ha solucionado el problema; es el CDC el que interviene legalmente en el caso; esta opción retoma los datos del formulario de Asesoría y adiciona nuevos datos para completar la información y darle seguimiento al caso demandado. Gestiones: Al llenar el formulario de asistencia jurídica, el CDC puede intervenir legalmente, efectuando una o varias gestiones con el fin de resolver el caso. Da mantenimiento a las gestiones que se realizan, para cada expediente o caso a resolver.  Canasta Básica Ingresa el costo de la canasta básica para determinados rubros que la conforman.  Salarios Se lleva el registro del salario mínimo en las distintas zonas (rural y urbana) del país. 78 AYUDA  Ayuda de ... Presenta información al usuario referente al uso del sistema.  Acerca de ... Presenta información referente al sistema. 4.6 ENTRADAS Y SALIDAS DEL SISTEMA Las ventanas que se muestran a continuación están presentadas en el orden según corresponden en el árbol de opciones del sistema que se muestra en el capítulo 4 sección 4.5 y las descr