Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sistema de control, secuencia y termino

1,139 views

Published on

  • Be the first to comment

  • Be the first to like this

Sistema de control, secuencia y termino

  1. 1. UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO INSTITUTO DE CIENCIAS BÁSICAS E INGENIERÍA SISTEMA DE CONTROL, SECUENCIA Y TÉRMINO DE LOS INGRESADOS EN CENTROS DE READAPTACIÓN SOCIAL DEL ESTADO DE HIDALGO TESIS QUE PARA OBTENER EL TÍTULO DE LICENCIADO EN SISTEMAS COMPUTACIONALES PRESENTA: P.L.S.C CÉSAR ANDRÉS MENDOZA MARTÍNEZ ASESOR: I.S.C. EDGAR OLGUÍN GUZMÁN
  2. 2. ÍNDICEINTRODUCCIÓN .............................................................................................................. VIPLANTEAMIETO DEL PROBLEMA .............................................................................. VIIIOBJETIVOS........................................................................................................................ IXJUSTIFICACIÓN................................................................................................................ XHIPÓTESIS ........................................................................................................................ XICAPÍTULO 1 MARCO TEÓRICO.................................................................... 11.1 INTRODUCCIÓN A LAS TECNOLOGÍAS DE INFORMACIÓN ........................... 1 1.1.1 Definición de un sistema de información ....................................................... 21.2 ARQUITECTURA CLIENTE / SERVIDOR, UNA VISIÓN GLOBAL........................................................................................................ 3 1.2.1 Concepto de arquitectura................................................................................ 3 1.2.2 Arquitectura Cliente / Servidor ...................................................................... 3 1.2.2.1 Componentes de la arquitectura Cliente / Servidor ......................... 4 1.2.2.2 Ventajas de la arquitectura Cliente / Servidor ................................. 5 1.2.2.3 Desventajas de la arquitectura Cliente / Servidor............................ 6 1.2.2.4 Segmentación de aplicaciones ......................................................... 7 1.2.2.5 Factores de desarrollo de la arquitectura Cliente / Servidor ............................................................................ 7 1.2.2.6 Herramientas para el desarrollo de aplicaciones Cliente / Servidor ............................................................................ 8 1.2.3 Características del Cliente .............................................................................. 9 1.2.3.1 Funciones comunes del Cliente ....................................................... 9 1.2.4 Características de los Servidores .................................................................... 9 1.2.5 Tipos comunes de Servidores......................................................................... 9 1.2.5.1 Funciones comunes del servidor...................................................... 9 1.2.6 Red de comunicación ..................................................................................... 10 1.2.6.1 Características de la comunicación.................................................. 101.3 INTRODUCCIÓN A LAS BASES DE DATOS.......................................................... 11 1.3.1 Concepto de base de datos.............................................................................. 11 1.3.2 Tipos de bases de datos .................................................................................. 12 I
  3. 3. 1.3.2.1 Bases de datos jerárquicas .............................................................. 12 1.3.2.2 Bases de datos simples o planas ...................................................... 14 1.3.2.3 Bases de datos en red ....................................................................... 14 1.3.2.4 Bases de datos relacionales.............................................................. 16 1.3.2.5 Bases de datos orientadas a objetos ................................................. 191.4 METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS DE INFORMACIÓN.................................................................................................... 20 1.4.1 Metodología Modelo en Cascada ....................................................... 21 1.4.1.1 Un proceso iterativo........................................................... 21 1.4.1.2 Prototipo ............................................................................ 22 1.4.2 Métodos Ágiles ................................................................................... 23 1.4.2.1 Extreme Programing (XP) ................................................. 23 1.4.2.2 Microsoft Solution Framework (MSF).............................. 24CAPÍTULO 2 MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.0 ...................................................................... 262.1 INTRODUCCIÓN A ACCESS 2000 ........................................................................... 26 2.1.1 Tablas ............................................................................................................. 29 2.1.2 Propiedades de las tablas y campos................................................................ 30 2.1.3 Descripción del módulo general..................................................................... 33 2.1.4 Expresiones válidas en Access ....................................................................... 33 2.1.5 Clave principal de una tabla ........................................................................... 33 2.1.6 Índices............................................................................................................. 34 2.1.7 Formularios y páginas de acceso a datos........................................................ 34 2.1.8 Informes.......................................................................................................... 35 2.1.9 Consultas ........................................................................................................ 35 2.1.10 Programación................................................................................................ 352.2 ENTORNO GENERAL DE VISUAL BASIC ............................................................. 36 2.2.1 Introducción.................................................................................................... 36 2.2.2 Visual Basic.................................................................................................... 36 2.2.2.1 Características de Visual Basic........................................................ 36 2.2.3 Entorno integrado de desarrollo de Microsoft Visual Basic (IDE) ......................................................................................... 37 2.2.4 Tecnología orientada a objetos y Visual Basic............................................... 38 II
  4. 4. 2.2.5 Tiempo de desarrollo en Visual Basic............................................................ 40 2.2.6 Partes del entorno de Visual Basic ................................................................. 42 2.2.7 Controles más usados del cuadro de herramientas de Visual Basic.................................................................................................... 43 2.2.8 Aplicaciones basadas en datos........................................................................ 49 2.2.8.1 Activex Data Objects (ADO)........................................................... 49CAPÍTULO 3 ANÁLISIS DEL SISTEMA DE CONTROL, SECUENCIA Y TÉRMINO DE LOS INGRESADOS EN CENTROS DE READAPTACIÓN SOCIAL DEL ESTADO DE HIDALGO................................................... 513.1 OBJETIVO GENERAL DE LA D.G.P. y R.S.............................................................. 513.2 OBJETIVO PARTICULAR.......................................................................................... 513.3 ANÁLISIS FUNCIONAL DEL SISTEMA..................................................................52 3.3.1 Requerimientos de la organización ...................................................................... 52 3.3.2 Descripción de reglas del negocio........................................................................ 52 3.3.3 Definición de los distintos tipos de clasificación jurídica.................................... 53 3.3.4 Definición de los distintos tipos de fuero............................................................. 53 3.3.5 Informes necesarios para la organización ............................................................ 543.4 DEFINICIÓN DE MÓDULOS..................................................................................... 55 3.4.1 Módulo internos.............................................................................................. 55 3.4.2 Módulo administrador .................................................................................... 55 3.4.3 Módulo reportes.............................................................................................. 56 3.4.4 Módulo ayuda................................................................................................. 563.5 FUNCIONES ................................................................................................................ 56 3.5.1 Funciones básicas ........................................................................................... 56 3.5.1.1 Funciones del módulo internos........................................................ 56 3.5.1.2 Funciones del módulo administrador............................................... 56 3.5.1.3 Funciones del módulo reportes........................................................ 57 3.5.2 Funciones extras ............................................................................................. 57 III
  5. 5. CAPÍTULO 4 DISEÑO Y DESARROLLO DEL SISTEMA DE CONTROL, SECUENCIA Y TÉRMINO DE LOS INGRESADOS EN CENTROS DE READAPTACIÓN SOCIAL DEL ESTADO DE HIDALGO ............................................................. 594.1 DISEÑO DE LA BASE DE DATOS DEL SISTEMA................................................. 59 4.1.1 Nomenclatura de tipo de datos ....................................................................... 59 4.1.2 Diagrama Entidad – Relación de la Base de Datos “CERESO.mdb” ............................................................................................. 604.2 MODELO RELACIONAL ........................................................................................... 634.3 DICCIONARIO DE DATOS........................................................................................ 644.4 DISEÑO DE PANTALLAS DEL SISTEMA............................................................... 67 4.4.1 Estándares en la nomenclatura de controles y objetos ................................... 67 4.4.2 Módulo de acceso al sistema .......................................................................... 67 4.4.3 Módulo principal ............................................................................................ 68 4.4.4 Módulo ingresos ............................................................................................. 72 4.4.5 Pantalla de posibles homónimos .................................................................... 76 4.4.6 Módulo avanzado ........................................................................................... 76 4.4.6.1 Funciones del menú herramientas en el módulo avanzado.......................................................................................... 77 4.4.7 Módulo de modificación de datos .................................................................. 78 4.4.8 Herramientas administrativas del sistema ...................................................... 79 4.4.9 Módulo de delitos y modalidades................................................................... 80 4.4.10 Módulo usuarios ........................................................................................... 80 4.4.11 Módulo información incompleta .................................................................. 814.5 DISEÑO DE ENTRADAS Y SALIDAS (REPORTES) .............................................. 82 4.5.1 Pantalla de informe por clasificación jurídica ................................................ 83 4.5.2 Pantalla de informe por fuero ......................................................................... 83 4.5.3 Pantalla de informe por mes ........................................................................... 84 4.5.4 Reporte de porcentaje compurgado ................................................................ 84 4.5.5 Reporte para el Registro Nacional de Identificación...................................... 854.6 CRYSTAL REPORTS 5.0 ............................................................................................ 85 4.6.1 Reporte por clasificación jurídica................................................................... 88 4.6.2 Reporte por fuero............................................................................................ 89 IV
  6. 6. 4.6.3 Reporte por fecha de ingreso.......................................................................... 90 4.6.4 Reportes por porcentaje compurgado............................................................. 90 4.6.5 Reportes para Registro Nacional de Identificación ........................................ 914.7 DESARROLLO DEL SISTEMA ................................................................................. 92CAPÍTULO 5 PRUEBAS E IMPLEMENTACIÓN DEL SISTEMA DE CONTROL, SECUENCIA Y TÉRMINO DE LOS INGRESADOS EN CENTROS DE READAPTACIÓN SOCIAL DEL ESTADO DE HIDALGO................................................... 945.1 DESCRIPCIÓN DE LA FASE DE PRUEBAS............................................................ 94 5.2 PRUEBAS AL SISTEMA ..................................................................................... 96 5.2.1 Pruebas unitarias............................................................................................. 96 5.2.2 Pruebas integrales ........................................................................................... 96 5.2.3 Pruebas de volumen........................................................................................ 97 5.2.4 Pruebas de usuario .......................................................................................... 975.3 IMPLEMENTACIÓN DEL SISTEMA ....................................................................... 102 5.3.1 Requerimientos mínimos de Software y Hardware........................................ 102 5.3.2 Instalación del sistema.................................................................................... 1035.4 BENEFICIOS DEL SISTEMA .................................................................................... 105CONCLUSIONES .............................................................................................................. 107SIGLARIO .......................................................................................................................... 109GLOSARIO......................................................................................................................... 110BIBLIOGRAFÍA................................................................................................................. 114REFERENCIAS ELECTRÓNICAS ................................................................................... 115ANEXO 1............................................................................................................................ 117ANEXO 2............................................................................................................................ 120 V
  7. 7. INTRODUCCIÓNUna de las principales funciones de la Dirección General de Prevención y Readaptación Social,(D.G.P. y R.S.) es llevar un correcto seguimiento en la rehabilitación de las personas, que seencuentran recluidas en algún Centro de Readaptación Social, (CE.RE.SO.) perteneciente a estadependencia y cuya sentencia emitida por un Juez sea condenatoria.De igual manera existen varios tipos de beneficios legales, a los cuales puede tener derechocualquier interno dependiendo de su proceso de rehabilitación, para lo cual la D.G.P. y R.S. debeconocer la pena que habrá de cumplir cada interno en el CE.RE.SO y la fecha en que ingresa.Un interno puede ser puesto en libertad condicional antes de haber cumplido la totalidad de lapena; este proceso depende de varios factores, incluyendo, la gravedad del delito y elcomportamiento observado dentro del CE.RE.SO., un tipo de beneficio puede ser el de extinciónde la pena por remisiones parciales, este se da cuando la persona cumple cierto tiempo de lasentencia impuesta, es decir, por cada día que trabaja un interno, equivale a dos días desentencia.La realización de este trabajo de investigación, es enfocado hacia la elaboración de un sistema deinformación que ayude en la administración, que se lleva en la organización con respecto a laspersonas que se encuentran privadas de su libertad, por haber cometido algún delito dentro delárea jurisdiccional, ya sea Federal o Estatal.Se mencionan de forma global las tecnologías de información y su importancia en lasorganizaciones; una de las más fuertes para la manipulación de datos que generan los sistemasde información es la arquitectura Cliente / Servidor.Se definen cinco tipos de bases de datos que existen para manipular la información en unaorganización que son: Simples o Planas, Jerárquicas, Red, Relacionales y Orientadas a Objetos;de esta forma se pretende introducir al lector de manera concreta y sencilla al mundo de las basesde datos.Se indica en forma general las herramientas que ofrece la familia Microsoft, en primer término,Access 2000, que funciona como Sistema Gestor de Base de Datos del “Sistema de control,secuencia y término de los ingresados en Centros de Readaptación Social del Estado deHidalgo”. VI
  8. 8. Así mismo, se analizan las características y la funcionalidad de Visual Basic 6.0 y se definen loscomponentes más utilizados para la realización de aplicaciones.Para la fase de análisis de requerimientos, en primer término se especifica la metodología autilizar para el desarrollo de la aplicación, dado que es un elemento clave e importante que nopuede ser omitido en cualquier desarrollo de un sistema. También, se plantean los requerimientosde la organización, reglas del negocio y tipo de información que será manipulada.El diseño de la base de datos incluye: El estándar de nomenclatura para nombres y tipos de datos. El diseño del sistema en forma detallada por cada módulo a desarrollar. Las funciones operativas y administrativas que éste realiza. La importancia de establecer políticas de usuario y llenado de datos que evitan redundancia en la información.Es imprescindible mencionar la fase de las pruebas realizadas sobre el sistema y las posiblessoluciones que pudieran aplicarse a los errores, esto con la finalidad de que los procesos de tomade decisiones sean efectuados de manera concreta y concisa; en otro enfoque, se visualizan lospasos a seguir para la implementación de la aplicación.Por último y no menos importante, es considerado que en todo sistema debe existir el manualoperativo del usuario, el cual apoya a las personas que tienen acceso a la aplicación, esto con lafinalidad de que la información sea llevada en forma correcta, cabe mencionar, que este proyectoes un trabajo que tiene el fin de obtener un grado profesional y para el beneficio de la D.G.P. yR.S., en pro de una administración de justicia y a favor del sentenciado(a). VII
  9. 9. PLANTEAMIENTO DEL PROBLEMALa problemática detectada en esta organización, es tener conocimiento a tiempo de las personasque pueden tener algún beneficio de libertad y así pueda ser analizado jurídicamente cada caso;derivando de esto un posible proceso de prelibertad, ya que actualmente la poblaciónpenitenciaria en el Estado de Hidalgo a llegado a ser de 2100 internos aproximadamente, ademásde que no se cuenta con un sistema de información que pueda tener un control eficiente de losprocesos ejecutivos y administrativos; dada esta problemática, se ha considerado que en lamayoría de los casos el tiempo de trámite no es cumplido; por otra parte, los directivos yadministrativos frecuentemente solicitan informes de las personas que pueden alcanzar unbeneficio durante el año en curso y es muy tardado buscar de forma manual en los expedientes.El procedimiento para llevar un control de internos comienza con la integración del expediente,llevando este, información general y situación penal, además de la ficha dactiloscópica1;posteriormente, cuando la persona resulta jurídicamente responsable de la comisión de un delito,su proceso de rehabilitación comienza a ser llevado a cabo. Durante este transcurso, la D.G.P yR.S. debe velar por que dicha readaptación sea llevada conforme a múltiples estudios realizadosa la persona y que esta pueda ser integrada nuevamente al entorno social.1 Es el conjunto de características y particularidades que hace que una persona defina su propia personalidad y sediferencía de toda otra.http://www.mseg.gba.gov.ar/superintendencia/dap/SDA/SDA.htm VIII
  10. 10. Objetivo GeneralDesarrollar un sistema de información que permita automatizar las operaciones relacionadas conpersonas que se encuentran en calidad de internos, en un CE.RE.SO del Estado de Hidalgo, conel fin de mejorar y controlar de manera eficaz los procesos administrativos de la D.G.P. y R.S.;incluyendo a la planeación, la organización, la dirección y el control, apoyando así al proceso detoma de decisiones. Objetivos Particulares Analizar los requerimientos de la organización relacionados con información de los internos. Desarrollar una base de datos que almacenará información de internos en CE.RE.SO. del Estado de hidalgo. Diseñar una interfaz gráfica que tenga facilidad de uso y cumpla con normas y estándares basados en aplicaciones y herramientas que son utilizadas en la organización. Codificar los procesos y reglas de negocio que permitan mantener un óptimo desempeño en la información contenida en el sistema. IX
  11. 11. JUSTIFICACIÓNActualmente, el sistema penitenciario está conformado por doce CE.RE.SO y cinco CárcelesMunicipales en el Estado de Hidalgo, los cuales dependen jurídicamente de la D.G.P y R.S.,teniendo esta última como objetivo principal el atender las peticiones relacionadas con lasituación penal de las personas recluidas en dichos centros, por lo anterior, resulta necesariocontar con información veraz y oportuna que permita facilitar las funciones administrativaspropias de la organización.Las tecnologías de información combinadas con la administración de bases de datos, estánsiendo utilizadas con mayor frecuencia en organizaciones e instituciones, debido a que son unaexcelente herramienta de apoyo para el proceso de toma de decisiones, es por ello que, elDepartamento de informática de la D.G.P y R.S. del Estado de Hidalgo tiene la necesidad deestablecer un sistema de información, referente a personas que se encuentran recluidas en losCE.RE.SO y Cárceles municipales que tiene a su cargo.Desde su inicio, el personal que labora en la D.G.P y R.S., ha utilizado expedientes archivadosque contienen información de todo el proceso penal; con la realización de este sistema deinformación y el llenado correcto de datos, los usuarios podrán contar rápidamente coninformación útil de cualquier interno, sin tener la necesidad de buscar el expediente paraposteriormente sacar los datos solicitados.De la misma forma se apoyará a los empleados de la organización, con herramientasinformáticas útiles y capaces de satisfacer las necesidades de los mismos, además será unaaplicación que permitirá generar información ejecutiva para el óptimo desempeño de funciones,siempre con el objetivo de mejorar los tiempos y procesos de la organización. X
  12. 12. HIPÓTESISImplementando un sistema de información que lleve el control y seguimiento, de la situaciónjurídica de personas recluidas en los CE.RE.SO del Estado de Hidalgo; se podrá proporcionarinformación rápida y eficaz para el proceso de toma de decisiones y de esta forma se reduciránlos tiempos de entrega de beneficios legales a internos. Esto bajo las condiciones de llevar lainformación actualizada a diario y que ésta sea 100% veraz. XI
  13. 13. CAPÍTULO 1 MARCO TEÓRICO1.1 INTRODUCCIÓN A LAS TECNOLOGÍAS DE INFORMACIÓN.Actualmente, las empresas de gran alcance económico en el campo de la computación, requierende un trabajo fuertemente individualizado. Una pequeña muestra está dada por la crecienteimportancia que han adquirido en las últimas dos décadas los derechos de propiedad intelectual.2Las tecnologías de información permiten que las distintas formas y tipos de información seanprocesadas, transmitidas, manipuladas, almacenadas y recuperadas con rapidez, seguridad yeficiencia.3Las tecnologías de información agrupan cuatro áreas tecnológicas que convergen: La Microelectrónica: Basa su actividad en el diseño de circuitos integrados, cada vez de mayor capacidad y velocidad de transmisión. La Computación: Dedicada a la fabricación de hardware, permite el almacenamiento y proceso de los datos. La Informática: Dedicada al software, sistemas informáticos que reúnen una serie de procedimientos, orientados a solucionar actividades específicas relacionadas con el procesamiento de la información.2 www.ucm.es/info/multidoc/revista/num9/general/olaya.htm3 Cohen, D. y Asin, “Sistemas de información para los negocios”
  14. 14. 1. MARCO TEÓRICO Las Telecomunicaciones: Una gigantesca industria dados sus alcances y avances, son las que posibilitan la integración de los sistemas mediante el uso de redes locales, amplias o mundiales4.1.1.1 Definición de un sistema de información.Sistema de información es el conjunto de elementos interrelacionados que recoge datos, losprocesa y convierte en información que almacena, para posteriormente distribuirse entre sususuarios. Como todo sistema, incluye un ciclo de retroalimentación a manera de mecanismo decontrol, mediante el cual se puede saber si se cumple con las expectativas y requerimientos delos usuarios.5Los sistemas de información tienen tres objetivos primordiales: Automatizar los procesos operativos. Proporcionar información que apoye en el proceso de toma de decisiones. Lograr ventajas competitivas a través de su uso.En la Figura 1.1 se explica la forma en que fluye la información dentro de una organización ycómo se van incorporando las funciones a través de los sistemas, comenzando por elprocesamiento de operaciones, (Sistemas Transaccionales), llegando hasta la administración delos sistemas estratégicos de la empresa. Administración estratégica Flujo vertical de la información Administración táctica Administración de operaciones Procesamiento de operaciones y transacciones Flujo horizontal de la información Figura 1.1 Flujo de la información en la empresa4 Cohen, D. y Asin, “Sistemas de información para los negocios”5 Garza, Marín David. Jiménez, Pérez Hugo, “Windows 2000 Server Activo” 2
  15. 15. 1. MARCO TEÓRICO Administración estratégica. Determinación de objetivos y planes a largo plazo, acciones a emprender y asignación de los recursos.6 Administración táctica. Es un esquema específico que emplea los recursos dentro de una estrategia general.7 Administración de operaciones. Es el área dedicada a la investigación y ejecución de todas aquellas acciones tendientes a generar el mayor valor agregado, mediante la planificación, organización, dirección y control en la producción, tanto de bienes como servicios.81.2 ARQUITECTURA CLIENTE / SERVIDOR, UNA VISIÓN GLOBAL.Considerando la importancia de las tecnologías de información, (TI’s) mencionadasanteriormente se deriva una infraestructura tecnológica basada en componentes; la arquitecturaCliente / Servidor, ofrece gran utilidad y funcionalidad en el uso de las TI’s, a través de doscapas de trabajo, brinda una alternativa más de comunicación y optimización de tiempos,información y recursos, sin desprenderse del uso de TI’s y sin hacer a un lado que la arquitecturaCliente / Servidor es un elemento clave en las organizaciones.1.2.1 Concepto de arquitectura.Una arquitectura es un conjunto de reglas, definiciones, términos y modelos que se emplean paraproducir un producto.1.2.2 Arquitectura Cliente / Servidor.Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir eltratamiento de la información y los datos por todo el sistema informático, permitiendo mejorar elrendimiento del sistema global de información.9La arquitectura Cliente / Servidor agrupa conjuntos de elementos que efectúan procesosdistribuidos y cómputo cooperativo.6 www.getiopolis.com/canales/gerencial/articulos/no%2012/admonest.htm7 Chiavenato, Idalberto, “Introducción a la Teoría General de la Administración”8 Render, & Heizer, “Principios de Administración de Operaciones”9 www.pcm.gob.pe/portal_ongei/Cultura2.asp 3
  16. 16. 1. MARCO TEÓRICOComo se muestra en la Figura 1.2. Cliente Cliente Cliente Servidor Procesos Back/End Transacciones Generador de peticiones Generador de peticiones (Procesos Front/End) (Procesos Front/End) Figura 1.2 Arquitectura Cliente / ServidorExisten dos tipos de procesos en la arquitectura Cliente / Servidor. Procesos pesados: Back/End, están del lado del Servidor, abarcan principalmente a transacciones del tipo delete, insert y update. Procesos ligeros: Front/End, están del lado del Cliente, comprende las transacciones y abarca las consultas (sentencias Select), validaciones y reglas del negocio.1.2.2.1 Componentes de la arquitectura Cliente / Servidor. Cliente. Es cualquier recurso de cómputo, dedicado a responder los requerimientos del usuario; los servidores pueden estar conectados a los clientes, a través de redes LANs o WANs, para proveer de múltiples servicios tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc.10 Servidor. Es el que inicia un requerimiento de servicio; el requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN. La ubicación de los datos o aplicaciones, es totalmente transparente para el cliente. Proceso distribuido. Es un modelo de sistemas y/o de aplicaciones, en el cual las funciones y los datos pueden estar distribuidos a través de múltiples recursos de cómputo, conectados en un ambiente de redes LAN o WAN. Sistema abierto. Es un ambiente en el cual los sistemas y productos de cómputo de diferentes proveedores, son capaces de trabajar conjuntamente para proveer una solución aplicativa a cualquier requerimiento de la organización. También se refiere a la10 www.pcm.gob.pe/portal_ongei/Cultura2.asp 4
  17. 17. 1. MARCO TEÓRICO posibilidad de transportar aplicaciones y/o datos desde cualquier sistema de cómputo a otro. Infraestructura de comunicaciones. Componentes Hardware y Software que permiten la comunicación y su gestión, entre los clientes y los servidores. La arquitectura Cliente / Servidor es el resultado de la integración de dos culturas. Por un lado, la del servidor que aporta capacidad de almacenamiento, integridad y acceso a la información y, por el otro, la computadora que aporta facilidad de uso, bajo costo, presentación atractiva y una amplia oferta en productos y aplicaciones.111.2.2.2 Ventajas de la arquitectura Cliente / Servidor. 1. Uno de los aspectos que más ha promovido el uso de sistemas Cliente / Servidor, es la existencia de plataformas de hardware cada vez más baratas. Esta constituye a su vez una de las más palpables ventajas de este esquema, la posibilidad de utilizar máquinas considerablemente más baratas que las requeridas por una solución centralizada, basada en sistemas grandes. Además, se pueden utilizar componentes, tanto hardware como software de varios fabricantes, lo cual contribuye considerablemente a la reducción de costos y favorece la flexibilidad en la implantación y actualización de soluciones. 2. El esquema Cliente / Servidor facilita la integración entre diferentes sistemas y comparte información, permitiendo por ejemplo, que las máquinas ya existentes puedan ser utilizadas, pero usando interfaces más amigables al usuario. De esta manera, se pueden integrar computadoras con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operacional. 3. Al favorecer el uso de interfaces gráficas interactivas, los sistemas construidos bajo este esquema, tienen mayor interacción intuitiva con el usuario. El esquema Cliente / Servidor, presenta la ventaja con respecto a uno centralizado, de que no siempre es necesario transmitir información gráfica por la red, pues ésta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red. 4. Una ventaja adicional del uso del esquema Cliente / Servidor, consiste en la rapidez de mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las herramientas existentes, por ejemplo, los servidores de SQL12 o las herramientas de más bajo nivel, como las llamadas a procedimientos remotos (RPC)13.11 www.pcm.gob.pe/portal_ongei/Cultura2.asp12 Structured Query Lenguaje (Lenguaje Estructurado de Consulta)13 Remote Procedure Calls 5
  18. 18. 1. MARCO TEÓRICO 5. La estructura inherentemente modular, facilita además la integración de nuevas tecnologías y el crecimiento de la infraestructura computacional, favoreciendo así, la escalabilidad de las soluciones. 6. El esquema Cliente / Servidor, contribuye además, a proporcionar a los diferentes departamentos de una organización, soluciones locales, pero permitiendo la integración de la información relevante a nivel global. 7. Un aspecto directamente relacionado con lo anterior, es el cómo distribuir los datos en la red. En el caso de una organización, por ejemplo, éste puede ser hecho por departamentos, geográficamente, o de otras maneras. Hay que tener en cuenta que en algunos casos, por razones de confiabilidad o eficiencia, se pueden tener datos replicados, y que puede haber actualizaciones simultáneas.141.2.2.3 Desventajas de la arquitectura Cliente / Servidor. 1. Se cuenta con muy escasas herramientas para la administración y ajuste del desempeño sistemas. 2. Es importante que los clientes y los servidores, utilicen el mismo mecanismo, lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas. 3. Hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos. La seguridad de un esquema Cliente / Servidor es otra preocupación importante, por ejemplo, se deben hacer verificaciones en el cliente y en el servidor. También se puede recurrir a otras técnicas como el encriptamiento. 4. El desempeño, es otro aspecto que se debe tener en cuenta en el esquema Cliente / Servidor. Problemas de este estilo pueden presentarse por congestión en la red, dificultad de tráfico de datos, etc.La replicación de datos, permite que la información de la base de datos sea almacenada en másde un sitio, su principal utilidad consiente en aumentar la disponibilidad de los datos y mejorar elfuncionamiento de las consultas globales en la base de datos.1514 www.pcm.gob.pe/portal_ongei/Cultura2.asp15 Elmasri, R y Navathe, S. B., “Fundamentals of database systems” 6
  19. 19. 1. MARCO TEÓRICO1.2.2.4 Segmentación de aplicaciones.Dentro de los procesos que son manejados en una arquitectura Cliente / Servidor, se tienen 3elementos básicos que son, el cliente, el servidor y la interfaz de usuario, los cuales deben serdistribuidos entre si. Como se muestra en la Figura 1.3 Interfaz de usuario Preparar datos capturados para ser enviados Petición Respuesta Envío de los datos (Aplicación) (Paquetes) (Base de Procesos datos) Cliente Procesos Servidor Figura 1.3 Segmentación de aplicaciones1.2.2.5 Factores de desarrollo de la arquitectura Cliente / Servidor.Los factores que están apoyando el desarrollo de la arquitectura Cliente / Servidor, responden aun conjunto de fuerzas presentes en el mercado y que se concretan en: 1. Una fuerte demanda de interfaces fáciles y de sistemas orientados a eventos. 2. El modelo aporta mayor atractivo visual, consistencia, productividad y menos errores. 3. Una mayor rentabilidad. En base al equilibrio precio / rendimiento, en plataformas personales y servidor, acompañado de una clara optimización del hardware y software. 4. Demanda de mejor acceso a datos de soporte a las actividades del negocio y la toma de decisiones. 5. Mejorar el posicionamiento tecnológico. LAN Server, interface SQL, herramientas 4GL específicas para Cliente / Servidor, modularidad de sistemas, etcétera.1616 www.pcm.gob.pe/portal_ongei/Cultura2.asp 7
  20. 20. 1. MARCO TEÓRICO1.2.2.6 Herramientas para el desarrollo de aplicaciones Cliente / ServidorTienen inicialmente el aspecto de una solución tradicional, aunque existen diferencias básicas,asociadas a una Tecnología Orientada a Objetos que subyacen en ellas, así como la existencia decuatro tipos de APIs específicos, lo que en conjunto da una nueva alternativa para el desarrollorápido de determinadas clases de software. A continuación se muestran tan solo algunasherramientas que permiten el manejo de bases de datos y el desarrollo de aplicaciones Cliente /Servidor. Microsoft NT Server UNIX Informix Online Dynamic Server Oracle 7 Server Sybase System 11 Microsoft SQL Server 6.0 Netscape Enterprise Server Netscape Proxy Server Power Builder Enterprise Visual Basic Professional Erwin Data modeling Microsoft C++ Java Applets Java Script OLE Servers OLE Controls Microsoft AccessPara el desarrollo de este trabajo de investigación será utilizado Visual Basic 6.0 y MicrosoftAccess 2000 como herramientas tecnológicas. La primera se basa en el desarrollo deaplicaciones gráficas compatibles con Windows 98 en adelante, la segunda es un gestor de basesde datos con amplio criterio de seguridad en la información y que no genera un costo adicionalya que es de la familia Microsoft Office. Ambas herramientas han sido elegidas en base a que setiene mayor conocimiento de ellas; por otra parte se considera que su utilidad satisface lasnecesidades de la organización y mantienen en forma la seguridad de la información. 8
  21. 21. 1. MARCO TEÓRICO1.2.3 Características del Cliente. 1. El cliente oculta el servidor en la red 2. Dedicado a la sesión del usuario (Inicia… Termina). 3. El método más común por el que se solicitan los servicios es a través del RPC.1.2.3.1 Funciones comunes del Cliente. 1. Mantener y procesar todo el diálogo con el usuario. 2. Manejo de pantallas. 3. Menús e interpretación de comandos. 4. Entrada de datos y validación. 5. Procesamiento de ayudas. 6. Recuperación de errores.1.2.4 Características de los servidores 1. Confiabilidad y eficiencia. 2. Infraestructura. 3. Monitoreo permanente. 4. Espacio en disco duro. 5. Gran capacidad de memoria RAM.1.2.5 Tipos comunes de Servidores. 1. Servidor de archivos FTP (File Transfer Protocol). 2. Servidor de bases de datos (SQL, CBASE, ORACLE, INFORMIX). 3. Servidor de comunicaciones. 4. Servidor de impresión. 5. Servidor de terminal. 6. Servidor de aplicaciones.1.2.5.1 Funciones comunes del servidor. 1. Acceso, almacenamiento y organización de datos. 2. Actualización de datos almacenados. 3. Administración de recursos compartidos. 4. Ejecución de toda la lógica para procesar una transacción. 9
  22. 22. 1. MARCO TEÓRICO 5. Procesamiento común de elementos del servidor (datos, capacidad de CPU, almacenamiento en disco, capacidad de impresión, manejo de memoria y comunicación).1.2.6 Red de comunicación.Es todo aquel conjunto de elementos basados en hardware y software que permite establecer unenlace entre los clientes y los servidores, se clasifican por su tamaño LAN (Local AreaNetwork), MAN (Metropolitan Area Network), WAN (Wide Area Network), GAN (Global AreaNetwork).1.2.6.1 Características de la comunicación. 1. A través de este medio, el cliente debe localizar e iniciar la comunicación con el Servidor. 2. No se utiliza la metodología de compartición de archivos, ya que todos los accesos a la información se llevan a cabo a través de peticiones por medio de comunicación. 3. Debido a que los programas de manejo y control de información, archivos y bases de datos solo envían y reciben resultados de las operaciones, es decir, el tráfico es igual a datos leídos o escritos. 4. Debido a la flexibilidad de establecer sesiones con múltiples servidores y manejo de información en varias bases de datos en sitios remotos, es requerido el uso de estilos transaccionales y cooperativos.17Específicamente en el desarrollo de este trabajo, se requerirá de la infraestructura basada en unared tipo LAN ya que serán conectadas 4 computadoras Cliente y un Servidor.La conexión entre el cliente y la base de datos será por medio de un controlador llamado “OpenData Base Connectivity” (ODBC), que por sus siglas en español quiere decir “ConectividadAbierta a Bases de Datos”. El ODBC es un servicio estándar que realiza conexiones a bases dedatos desde cualquier plataforma basada en Windows; por ejemplo, si se tiene un programa queaccede información en la base de datos de SQL Server, ODBC permite utilizar el mismoprograma para acceder a la información de una base de datos de Visual Fox Pro. Así la base dedatos puede estar en un solo equipo y acceder a ella desde varios equipos en forma remota.1817 www.itlp.edu.mx/publica/tutoriales/sistsdist1/u1parte6.htm18 Garza, Marín David. Jiménez, Pérez Hugo, “Windows 2000 Server Activo”, 10
  23. 23. 1. MARCO TEÓRICOLa ventana de administrador de orígenes de datos se muestra en la Figura 1.4. Figura 1.4 Ventana Administrador de orígenes de datos ODBC1.3 INTRODUCCIÓN A LAS BASES DE DATOS.1.3.1 Concepto de base de datos.Es una colección de archivos interrelacionados, son creados con un Sistema Manejador de Basede Datos (DBMS). El contenido de una base de datos engloba a la información concerniente(almacenadas en archivos) de una organización, de tal manera que los datos estén disponiblespara los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menosminimizarla. Los tres componentes principales de un sistema de base de datos son el hardware, elsoftware DBMS y los datos a manejar, así como los usuarios encargados de la manipulación delsistema.19Antes de diseñar una base de datos se debe establecer un proceso partiendo del mundo real, demanera que sea posible plasmar éste mediante una serie de datos. La imagen que se obtiene delmundo real se denomina modelo conceptual y consiste en una serie de elementos que definenperfectamente lo que se quiere modelar en la base de datos.De esta manera se pueden extraer las siguientes consideraciones.1. Se trata de una colección de datos relacionados: a diferencia de los sistemas clásicos de almacenamiento que las organizaciones manejan en una base de datos, los archivos no son independientes entre si, la base de datos puede ser vista como un único depósito en el cual se almacena toda la información correspondiente al dominio de un problema.19 www.itlp.edu.mx/publica/tutoriales/basedat1/tema1_1.htm 11
  24. 24. 1. MARCO TEÓRICO2. En estos archivos se encuentra almacenada tanto la representación abstracta en el dominio del problema, es decir, la visión física, lógica y cada una de las visiones externas de la información, como los datos conocidos acerca del mismo en un momento dado.3. Tanto la representación como los datos están sujetos a una serie de restricciones implica: 1. Que las restricciones innatas al problema están representadas. Restricciones acerca de las propiedades de las entidades, datos y relaciones existentes en el dominio del problema. 2. Que el acceso de la información almacenada está sujeto a una serie de restricciones que garantizan la integridad de la misma. Estas restricciones impiden que algún procedimiento viole las reglas que vinculan los datos entre los diferentes niveles de representación.201.3.2 Tipos de bases de datos.Las bases de datos pueden ser diseñadas de distintas formas, dependiendo de los requerimientosorganizacionales y la complejidad de la información, por esta razón se mencionan varios tipos debases de datos.1.3.2.1 Bases de datos jerárquicas.Son bases de datos que, como su nombre indica, almacenan su información en una estructurajerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés),en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres sele conoce como raíz, y a los nodos que no tienen hijos se les conoce como hojas.Una de las principales limitaciones de este modelo, es su incapacidad de representareficientemente la redundancia de datos.21Una base de datos jerárquica está compuesta por una secuencia de bases de datos físicas, demanera que cada base de datos física se compone de todas las ocurrencias de un tipo de registrodeterminado.Una ocurrencia de registro es una jerarquía de ocurrencias de segmento.Cada ocurrencia de segmento esta formada por un conjunto de ocurrencias o instancias de loscampos que componen el segmento.20 Luque, Ruiz Irene, Gómez, Nieto Miguel Ángel, López, Espinosa Enrique, Cerruela, García Gonzalo, “Bases deDatos desde Chen hasta Codd con Oracle”, páginas 14 y 1521 Es.wikipedia.org/wiki/Base_de_Datos 12
  25. 25. 1. MARCO TEÓRICOPor ejemplo en la Figura 1.5 se tiene una ocurrencia del tipo de registro Curso, de manera quecomo cabeza principal tenemos una instancia del segmento curso, de la cual dependen una ovarias instancias de los segmentos Requisito y Oferta; y a su vez de ésta última dependen otrosque son Profesor y Estudiante.Cabe distinguir en este punto que, entre el concepto de tipo de registro y ocurrencia o instanciade registro. El tipo define la estructura general que debe poseer, o sea, los campos de cada uno desus segmentos, y la estructura jerárquica entre ellos. Una instancia es un valor de un tipo deregistro. Para que quede más claro, un tipo de registro es como un tipo de persona (blanco,negro, amarillo, aceitunado, etc), mientras que una instancia es una persona concretaperteneciente a uno de estos tipos (Pablo Picasso, Nelson Mandela, Mao Tse Tung, ToroSentado, etc) 22 Figura 1.5 Ejemplo de tipo de registro.Problemas del modelo jerárquico. 23 Duplicidad de registros. No se garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos "clave". Es decir, no se puede avalar que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos. Integridad referencial. No existe garantía de que un registro hijo esté relacionado con un registro padre válido. Es posible borrar un nodo padre sin eliminar antes los nodos hijo, de manera que éstos últimos están relacionados con un registro inválido o inexistente.22 www.aceproject.org/main/españolet/etg03.htm23 http://es.wikipedia.org/wiki/Bases_de_datos_jer%C3%A1rquicas 13
  26. 26. 1. MARCO TEÓRICO Desnormalización. Las bases de datos jerárquicas no tienen controles que impidan la desnormalización de una base de datos, es decir, no existe el concepto de campos clave o campos únicos.1.3.2.2 Bases de datos simples o planas.Las bases de datos simples son aquellas que están formadas por una sola tabla de datos. Este tipode bases de datos son muy fáciles de crear y utilizar; cubren la mayoría de necesidades de losparticulares. Por ejemplo para crear y gestionar una agenda telefónica como se muestra en latabla 1-1 id_nombre s_nombre s_apellidos s_notas s_direccion s_poblacion 4 Vicente Aranda Es un Calle Desideria S/N Turquia director 11 Juan Benet Es un Calle Puerto Madrid viajante escondido 126 7 Juan Borbón Es un Calle Republica 23 Barcelona personaje 8 Aureliano Buendía Es un militar Calle Cementerio del Barcelona Carmen 300 1 George Cloney Es un actor Calle Estación 56 solaris 9 Paul Deckard Es un policia Calle Progreso 120 San fco 2 Frank Herbert Es un Calle Rakis 10 Dune escritor Tabla 1-1 Ejemplo de una base de datos simple.1.3.2.3 Bases de datos en red.Se puede considerar al modelo de bases de datos en red como de una potencia intermedia entre eljerárquico y el relacional. Su estructura es parecida a la jerárquica aunque bastante máscompleja, con lo que se consiguen evitar, al menos en parte, los problemas del modelojerárquico.Los conceptos fundamentales que debe conocer el administrador para definir el esquema de unabase de datos en red son los siguientes:Para ilustrar el concepto de conjunto se tiene el ejemplo de un tipo de registro de clientes, y untipo de registro de vuelos de avión; se quieren asociar ambas informaciones, de manera quepara cada vuelo se quiere saber cuales son los pasajeros que viajan en él. La forma de hacerlo esa través de un conjunto. El primero relaciona dos tipos de registro. Uno de ellos es el propietariodel conjunto, y el otro es el miembro. 14
  27. 27. 1. MARCO TEÓRICOComo se muestra en la Figura 1.6 Figura 1.6 Diagrama de BachmanCada tipo de conjunto, posee a su vez, una serie de ocurrencias de conjunto, donde cadaocurrencia está formada por una instancia del tipo propietario, y una, varias o ninguna instanciadel tipo miembro. Como se muestra en la tabla 1-2 IB-763 Málaga Helsinki 27/8/97 17:00 33387698-K Juan Linares 83698637-H Pedro Hernández 24885764-G Luis Caro 64653627-J Pablo Mármol Tabla 1-2 Ejemplo de ocurrencia.Una restricción bastante importante de este modelo, es que una ocurrencia de registro miembropuede pertenecer como máximo a una sola instancia de un determinado conjunto, aunque puedeparticipar en varios tipos de conjuntos distintos.El modelo de red es más potente que el modelo jerárquico, ya que el jerárquico puede simularse,aplicando una jerarquía de conjuntos en varios niveles.Por otro lado, en un conjunto concreto, el tipo de registro propietario no puede ser, a su vez, elmismo que el tipo de registro miembro, o sea, un mismo tipo de registro no puede intervenir enel mismo conjunto como propietario y como miembro a la vez.2424 Es.wikipedia.org/wiki/Base_de_Datos 15
  28. 28. 1. MARCO TEÓRICOComo se muestra en la Figura 1.7 Figura 1.7 Comparación entre el modelo de red y el jerárquico.1.3.2.4 Bases de datos relacionales.Este modelo intenta representar la base de datos como un conjunto de tablas aunque las tablasson un concepto simple e intuitivo, existe una correspondencia directa entre el conceptoinformático de una tabla, y el concepto matemático de una relación, lo cual es una gran ventaja,pues permite efectuar formalizaciones de una manera estricta mediante las herramientasmatemáticas asociadas, como puede ser el álgebra relacional en el ámbito de las consultas.Los conceptos básicos del modelo relacional son: Registro. Es cada una de las fichas que componen una tabla. 25 Tabla. Conjunto de registros (fichas) que tienen una cierta homogeneidad. Dominio. Un dominio es el conjunto de valores que puede tomar cada uno de los atributos. Relación. Asociación entre tablas.26Las bases de datos relacionales desgranan la información entre varias tablas más especializadas.Una base de datos relacional puede ser estructurada físicamente de múltiples formas, larepresentación física deberá satisfacer y representar, de alguna forma las relaciones yrestricciones lógicas del esquema relacional.El modelo relacional propone una representación de la información que: 1. Origine esquemas que representen fielmente la información, los objetos y relaciones entre ellos existentes en el dominio del problema.25 http://www.ctisa.com/diccionario.htm26 Malpica, Jaime, Vargas Villazon Americo, “Introducción a los sistemas de bases de datos” 16
  29. 29. 1. MARCO TEÓRICO 2. Pueda ser entendida fácilmente por los usuarios que no tienen una preparación previa en esta área. 3. Haga posible ampliar el esquema de la base de datos sin modificar la estructura lógica existente y, por tanto sin transformar los programas de aplicación. 4. Permita la máxima flexibilidad en la formulación de los interrogantes previstos, y no previstos, sobre la información mantenida en la base de datos.27En la tabla 1-3 se muestra un ejemplo de una base de datos de tipo relacional en la cual indicaque se tiene una entidad “alumno” con distintas propiedades; en específico el alumno tiene comopropiedad una colonia de residencia, esta “colonia” tiene a su vez otra propiedad como es laciudad en donde está establecida y se convierte en una entidad, luego entonces, existe unarelación de uno a muchos entre la entidad “colonia” y “alumno”TB_ALUMNO M s_cuenta s_nombre s_paterno s_materno s_domicilio s_codigo id_colonia id_grupo C. EMILIANO 042520 JULIO GONZALEZ CAMARGO 42030 3 0 ZAPATA 120 094206 CESAR MENDOZA MARTNEZ AV 2 #24 46521 1 0TB_COLONIA 1 id_colonia id_ciudad s_colonia 1 1 PLUTARCO ELIAS CALLES 2 1 ROJO GOMEZ 3 1 MORELOS 4 1 DOCTORES Tabla 1-3 Ejemplo de una base de datos relacionalConceptos del diagrama entidad - relación. Entidad. Es un tipo de objeto definido en base a la agregación de una serie de atributos. Las entidades tienen como los conjuntos, intenciones y extensiones. La intención de una entidad es denominada tipo de entidad y representa el posible conjunto de objetos definidos en base a la agregación de un mismo conjunto de atributos. La extensión de un tipo de entidad es denominada conjunto de entidades y se corresponde con todos los27 Luque, Ruiz Irene, Gómez, Nieto Miguel Ángel, López, Espinosa Enrique, Cerruela, García Gonzalo, “Bases deDatos desde Chen hasta Codd con Oracle”, página 61 17
  30. 30. 1. MARCO TEÓRICO valores que en un momento dado están asociados con cada atributo que define el tipo de entidad.28 Una entidad es un objeto concreto o abstracto que presenta interés para el sistema y sobre el que se recoge información la cual va a ser representada en un sistema de base de datos. La mayoría de las entidades modelan objetos o eventos del mundo real, por ejemplo, clientes, productos o llamadas de pedidos.29 Relación. Asociación entre entidades.30 Atributo. Es una unidad básica e indivisible de información acerca de una entidad o una relación y sirve para identificar y describir a las mismas. Por ejemplo el atributo edad considerada en un determinado problema en el que se trate la edad de una serie de objetos (personas).31 Llave. Se usan para identificar las tuplas de esa relación, no toda relación tendrá una llave primaria de un solo atributo; sin embargo, cada relación llevará alguna combinación de atributos que, tomados en conjunto, tienen la propiedad de la identificación única.32En la Figura 1.8 se muestra la representación gráfica de atributo, entidad y relación. Nombre Uno a muchos Nombre Edad 1 M Alumno tiene Asignatura No. Cuenta Créditos Atributo Entidad Relación Entidad Atributo Figura 1.8 Concepto de relaciónLos rectángulos representan entidades, los rombos relaciones y los óvalos propiedades. Losdiagramas E/R representan estados. El tipo de relación entre dos entidades se representamediante 1’s y M’s (también el símbolo o n).28 Luque, Ruiz Irene, Gómez, Nieto Miguel Ángel, López, Espinosa Enrique, Cerruela, García Gonzalo, “Bases deDatos desde Chen hasta Codd con Oracle”, página 4129 www.itlp.edu.mx/publica/tutoriales/basedat1/tema1_1.htm30 Malpica, Jaime, Vargas Villazon Americo, “Introducción a los sistemas de bases de datos”31 Ibidem32 Ibidem 18
  31. 31. 1. MARCO TEÓRICO1.3.2.5 Bases de datos orientadas a objetos.Las bases de datos orientadas hacia objetos tienen atributos similares a las relacionales. Sinembargo, se utilizan estructuras de información más complejas llamadas "objetos". Estas basesde datos son las más flexibles.33Actualmente, la creación de programas más grandes y complejos, ha hecho avanzar los métodosde programación hacia nuevas formas que permiten el trabajo en equipo de una forma eficaz y enla que se disminuyen los problemas de coordinación. Uno de estos métodos consiste en laProgramación Orientada a Objetos (POO), que trata los problemas desde un punto de vistarealista, y modelando cada uno de ellos como si se tratase de un conjunto de elementos u objetosque se interrelacionan entre sí para solucionar el problema.Conceptos fundamentales. Clase. Un tipo de datos definido por el usuario que especifica un conjunto de objetos que comparten las mismas características. Cuando hay varios objetos semejantes, pueden agruparse en una clase. De hecho, todo objeto debe pertenecer a una clase, que define sus características generales. Por ejemplo un reloj posee varios engranajes que son diferentes puesto que cada uno de ellos posee un diámetro y un número de dientes distinto, además de ser o no helicoidal. Pero al fin y al cabo todos son engranajes. De esta manera cada engranaje pertenece a la misma clase, a pesar de tener unas características particulares que lo diferencian de los demás. Estado. Son las características propias de cada objeto. Siguiendo con el caso de los engranajes, su estado puede ser el número de dientes, el tamaño, etc. El estado se utiliza especialmente para guardar la situación del objeto que varía con el tiempo. En este caso se almacenará la situación en un espacio tridimensional, y la posición o postura en que se encuentra. Encapsulación. Cada objeto es consciente de sus propias características. El engranaje <<sabe>> que si recibe una fuerza en uno de sus dientes, debe girar, y lo sabe por que obedece a unas leyes físicas. En el caso de un programa, es el programador el que debe indicarle al objeto como comportarse ante cada estímulo del exterior o de otro objeto. Los demás objetos simplemente se limitan a indicarle al engranaje la fuerza que le hacen, y ya sabrá el engranaje para donde se ha de mover, y a que otros objetos modificar.33 www.aceproject.org/main/espanol/et/etg03.htm 19
  32. 32. 1. MARCO TEÓRICO Mensaje. Es cada uno de los estímulos que se envía a un objeto. Herencia. Para facilitar la programación, se puede establecer toda una jerarquía de tipos o clases. Por ejemplo se puede declarar una clase Engranaje con las características básicas de éstos. De ellas podemos derivar otras tres: Eng. Fijo, cremallera, y Eng. Helicoidal. Cada una de estas clases especializa la clase general, con la ventaja de que las características comunes a los tres tipos de engranajes solo hay que decirlas una vez.En la Figura 1.10 se muestra un esquema de clases para almacenar información sobre coches queejemplifica una base de datos con modelo orientado a objetos.34 Figura 1.10 Ejemplo de bases de datos orientado a objetos.1.4 METOLOGÍAS PARA EL DESARROLLO DE SISTEMAS DEINFORMACIÓN.Dentro del desarrollo de sistemas de información es necesario el seguimiento de unametodología que enfoque los requerimientos que las organizaciones demanden. A continuación34 Es.wikipedia.org/wiki/Base_de_Datos 20
  33. 33. 1. MARCO TEÓRICOse definen tres metodologías que se han considerado aptas a seguir en el desarrollo del sistemade información que este trabajo profesional mostrará.1.4.1 Metodología modelo en cascada.Las actividades de la metodología en cascada deben ser específicamente consideradas durante eldesarrollo, incluyen: Establecer clara y concretamente los requerimientos que la organización establece. Crear un diseño claro a partir de los requerimientos. Implementar el diseño. Realizar pruebas a la implementación.Originalmente se propuso como un modelo lineal, con poca o ninguna retroalimentación; en lapráctica el modelo no es realista.35El modelo en cascada puede ser entendido como se muestra en la Figura 1.11 Establecer requisitos Generar diseño Implementar código Probar el sistema Figura 1.11 Modelo en cascada1.4.1.1 Un proceso iterativo.Esencialmente es el modelo en cascada con retroalimentación que permite al desarrollador iterara través de las diferentes etapas del desarrollo, la retroalimentación no debe intentar usarse comouna ayuda continua, se debe usar como una técnica de la que el desarrollador dispone para tratarcon problemas inesperados que vayan apareciendo.3635 www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/heterodox.asp#436 Ibidem 21
  34. 34. 1. MARCO TEÓRICOEn la Figura 1.12 se muestra el proceso iterativo del desarrollo. Establecer Crear Implementar Probar el requisitos diseño código sistema Figura 1.12 Proceso iterativo de desarrollo1.4.1.2 Prototipo.Es un programa creado para explorar un concepto determinado, más útil y efectivo en tiempo yesfuerzo que meramente actuar sobre una suposición que puede fallar posteriormente.37 Como semuestra en la Figura 1.13 Requisitos del Sistema Alcance del Requisitos del Software Prototipo Diseño Preliminar del Software Análisis del Prototipo Análisis Diseño del Prototipo Diseño del Programa Codificación Codificación del Prototipo Prueba Prueba del Prototipo Operaciones Uso del Prototipo Figura 1.13 Proceso iterativo mejoradoEl modelo en cascada es el enfoque metodológico que ordena rigurosamente las etapas del ciclode vida del software, de forma tal que el inicio de cada etapa debe esperar a la finalización de lainmediata anterior.Los pasos para una metodología de desarrollo en cascada son: Análisis de requisitos. Diseño.37 www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/heterodox.asp#4 22
  35. 35. 1. MARCO TEÓRICO Programación. Prueba. Implantación. Mantenimiento.De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamenteal rediseño y nueva programación del código afectado, aumentando los costes del desarrollo. Lapalabra “cascada” sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzonecesario para introducir un cambio en las fases más avanzadas de un proyecto.381.4.2 Métodos ágiles.Los métodos ágiles son estrategias de desarrollo de software que promueven prácticas que sonadaptativas en vez de predictivas, centradas en la gente o en los equipos, iterativas, orientadashacia prestaciones y hacia la entrega, de comunicación intensiva, y que requieren que el negociose involucre en forma directa.39Dos tipos de metodologías ágiles son: Extreme Programing (XP). Microsoft Solution Framework (MSF).1.4.2.1 Extreme Programing (XP).Es una de las metodologías de desarrollo de software más utilizadas en la actualidad paraproyectos de corto plazo, equipo y cuyo plazo de entrega era ayer. La metodología consiste enuna programación rápida o extrema, cuya particularidad es tener como parte del equipo, alusuario final, pues es uno de los requisitos para llegar al éxito del proyecto.40La metodología XP se conforma por cuatro fases como se muestra en la Figura 1.14 Figura 1.14 Fases de la metodología XP38 www.wikipedia.org/wiki/Desarrollo_en_cascada39 www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/heterodox.asp#440 www.informatizate.net/articulos/metodologias_de_desarrollo_de _software_07062004.html 23
  36. 36. 1. MARCO TEÓRICOLas características de la metodología XP son: Pruebas Unitarias: se basa en las pruebas realizadas a los principales procesos, de tal manera que avanzando hacia el futuro, se puedan hacer pruebas de las fallas que pudieran ocurrir. Refabricación: se basa en la reutilización de código, para lo cual se crean patrones o modelos estándares, siendo más flexible al cambio. Programación en pares: una particularidad de esta metodología es que propone la programación en pares, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estación de trabajo. Cada miembro lleva a cabo la acción que el otro no está haciendo en ese momento. Es como el chofer y el copiloto: mientras uno conduce, el otro consulta el mapa.411.4.2.2 Microsoft Solution Framework (MSF).Esta es una metodología flexible e interrelacionada con una serie de conceptos, modelos yprácticas de uso, que controlan tres fases para el desarrollo de sistemas de información. MSF secentra en los modelos de proceso y de equipo dejando en un segundo plano las eleccionestecnológicas.42 Como se muestra en la Figura 1.15 Planificación. Desarrollo. Gestión de proyectos tecnológicos. Figura 1.15 Fases de desarrollo en la metodología MSFMSF tiene las siguientes características: Adaptable: es parecido a un compás, usado en cualquier parte como un mapa, del cual su uso es limitado a un específico lugar. Escalable: puede organizar equipos tan pequeños entre 3 o 4 personas, así como también, proyectos que requieren 50 personas a más. Flexible: es utilizada en el ambiente de desarrollo de cualquier cliente.41 www.informatizate.net/articulos/metodologias_de_desarrollo_de _software_07062004.html42 Ibidem 24
  37. 37. 1. MARCO TEÓRICO Tecnología Agnóstica: porque puede ser usada para desarrollar soluciones basadas sobre cualquier tecnología.43MSF se compone de varios modelos encargados de planificar las diferentes partes implicadas enel desarrollo de un proyecto: Modelo de Arquitectura del Proyecto, Modelo de Equipo, Modelode Proceso, Modelo de Gestión del Riesgo, Modelo de Diseño de Proceso y finalmente elmodelo de Aplicación. Modelo de Arquitectura del Proyecto: Diseñado para acortar la planificación del ciclo de vida. Este modelo define las pautas para construir proyectos empresariales a través del lanzamiento de versiones. Modelo de Equipo: Este modelo ha sido diseñado para mejorar el rendimiento del equipo de desarrollo. Proporciona una estructura flexible para organizar los equipos de un proyecto. Puede ser escalado dependiendo del tamaño del proyecto y del equipo de personas disponibles. Modelo de Proceso: Diseñado para mejorar el control del proyecto, minimizando el riesgo, y aumentar la calidad acortando el tiempo de entrega. Proporciona una estructura de pautas a seguir en el ciclo de vida del proyecto, describiendo las fases, las actividades, la liberación de versiones y explicando su relación con el Modelo de equipo. Modelo de Gestión del Riesgo: Diseñado para ayudar al equipo a identificar las prioridades, tomar las decisiones estratégicas correctas y controlar las emergencias que puedan surgir. Este modelo proporciona un entorno estructurado para la toma de decisiones y acciones valorando los riesgos que puedan provocar. Modelo de Diseño del Proceso: Diseñado para distinguir entre los objetivos empresariales y las necesidades del usuario. Proporciona un modelo centrado en el usuario para obtener un diseño eficiente y flexible a través de un enfoque iterativo. Las fases de diseño conceptual, lógico y físico proveen tres perspectivas diferentes para los tres tipos de roles: los usuarios, el equipo y los desarrolladores. Modelo de Aplicación: Diseñado para mejorar el desarrollo, el mantenimiento y el soporte, proporciona un modelo de tres niveles para diseñar y desarrollar aplicaciones software. Los servicios utilizados en este modelo son escalables, y pueden ser usados en un solo ordenador o incluso en varios servidores.4443 www.informatizate.net/articulos/metodologias_de_desarrollo_de _software_07062004.html44 Ibidem 25
  38. 38. 2. MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.0 CAPÍTULO 2 MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.02.1 INTRODUCCIÓN A ACCESS 2000.Access es un programa utilizado para la gestión de bases de datos que viene integrado con elpaquete Office de Microsoft. Ofrece un entorno desde el que se pueden desarrollar aplicacionesorientadas a bases de datos, hasta otorgar la posibilidad de crear formularios e informes sinnecesidad de acudir a herramientas externas o a programación. Es adecuado para aplicacionessencillas y bases de datos de tipo pequeño/mediano45.Access será utilizado para gestionar la información del “Sistema de control, secuencia y términode los ingresados en Centros de Readaptación Social del Estado de Hidalgo” que este trabajoprofesional mostrará, por ello se considera necesario introducir al lector en este tipo deaplicación.Para ser calificado como sistema de bases de datos relacionales (RDBMS), debe realizar cuatrofunciones básicas, cada una de ellas con su propia presentación para el usuario46.45 http://www.unizar.es/ice/rec-info/access.PDF46 Ibidem 26
  39. 39. 2. MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.0 La organización de datos. Implica la creación y manipulación de tablas que contienen datos en un formato convencional y tabular, llamado “vista hoja de datos” por Access. La vinculación de tabla y la extracción de datos. Vincula múltiples tablas por relaciones de datos con el fin de crear tablas temporales, almacenadas en la memoria de la computadora o en archivos de disco temporales. Access utiliza consultas para enlazar tablas y elegir los datos a almacenar en una tabla temporal llamada objeto recordset, éste objeto está compuesto por los datos resultantes de la ejecución de la consulta y son denominados también tablas virtuales. La introducción y modificación de datos. Requiere el diseño y la implementación de formularios como alternativa a la presentación tabular para introducir, modificar y mostrar datos. Un formulario permite controlar el modo en que se presentan los datos. La presentación de datos. Requiere la creación de informes que pueden resumir la información de los recordsets que se pueden ver, imprimir o publicar47.Las cuatro funciones básicas de Access que se implementan como vistas se organizan en laestructura de aplicación. Como se muestra en la Figura 2.1 Tabla Tabla Tabla Macro Módulo Consulta Seguridad Formulario Informe Impresión Figura 2.1 Funciones básicas y de soporte de AccessCinco funciones de soporte se aplican a todas las funciones básicas de Access: Las macros. Son secuencias de acciones que automatizan operaciones repetitivas a bases de datos. Una macro se crea en Access eligiendo a partir de una lista de acciones disponibles. Se puede usar por ejemplo, para abrir un informe,47 http://www.unizar.es/ice/rec-info/access.PDF 27
  40. 40. 2. MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.0 imprimirlo y luego cerrarlo. En Access 2000 se usa Visual Basic de Aplicaciones (VBA) para automatizar las acciones de las bases de datos. Los módulos. Son funciones y procedimientos escritos en lenguaje de programación de VBA. Las funciones VBA se usan para realizar cálculos que son más complejos que los que se pueden expresar fácilmente por una serie de símbolos matemáticos convencionales o para realizar cálculos que requieren tomar decisiones. La seguridad. Está formada por funciones disponibles como opciones de menú y a través de subprocedimientos VBA. Con las funciones de seguridad en un entorno multiusuario, se puede permitir que otras personas utilicen la base de datos. Se puede otorgar el acceso a los grupos de usuarios y a usuarios individuales, y se puede restringir la capacidad de ver o modificar todas o una porción de las tablas de la base de datos. La impresión. Permite imprimir prácticamente todo lo que se puede ver en el modo de ejecución de Access. Las funciones de publicación. Facilitan la distribución de información por intranets corporativas y la intranet pública como páginas Web. Access 2000 añade DAP (Data Access Pages, Páginas de Acceso a Datos), que permiten construir aplicaciones para mostrar y actualizar los datos en páginas que aprovechan el HTML dinámico (DHTML) y el lenguaje de marcado de hipertexto (XML).48En la Figura 2.2 se muestra el despliegue básico de Access 2000 para tablas. Ventana Base de Datos Botones de modo en la barra de herramientas de la ventana Base de Datos Accesos directos a objetos Barra de Objetos Figura 2.2 Pantalla de inicio48 Roger, Jennings. “Microsoft Access 2000” 28
  41. 41. 2. MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.0El programa está dividido en la barra de menús, la barra de herramientas y el resto de la pantallaes área de trabajo, donde la ventana que permite el acceso a tablas, consultas, formularios, etcpermanece siempre mientras se trabaja.Dependiendo de la opción que se tenga pulsada en esta pantalla, las opciones del menú y losbotones de la barra de herramientas pueden cambiar. Por ejemplo, si se pulsa sobre "Consultas" yse crea una nueva consulta en la pestaña de “diseño”, se añadirá la opción "Consulta" al menúprincipal y los botones "Tipo de consulta" y "Mostrar tabla" a la barra de herramientas49.2.1.1 Tablas.Almacenan elementos de datos en un formato fila-columna que es parecido al que utilizan lasaplicaciones de hoja de cálculo. Una base de datos de Access puede incluir hasta 32,768 objetos(la combinación de tablas, formularios, informes, consultas, etc.), y se pueden abrir hasta 1,024 ala vez si se disponen de los recursos suficientes50.En Access la tablas poseen la propiedad de introducir en ellas datos de distintos tipos, como loson: Texto, Memo, Numérico, Fecha/hora, Moneda, Autonumérico, Si/No, Objeto OLE eHipervínculo, lo cual ayuda a mantener la integridad de la tabla y sus registros51.Para crear una tabla se tiene que escoger la opción "Tablas" de la pantalla principal y pulsarsobre "Crear una tabla en vista Diseño". Hecho esto, la aplicación muestra la pantalla de laFigura 2.3 Figura 2.3 Crear una tabla49 http://www.unizar.es/ice/rec-info/access.PDF50 Roger, Jennings. “Microsoft Access 2000”51 http://www.unizar.es/ice/rec-info/access.PDF 29
  42. 42. 2. MARCO TECNOLÓGICO, ACCESS 2000 & VISUAL BASIC 6.02.1.2 Propiedades de las tablas y campos.En Access se aplican como un todo. Las propiedades de las tablas se introducen en los cuadrosde texto de la ventana propiedades de la tabla que aparece al hacer clic en el botón propiedadesde la barra de herramientas en la vista diseño de la tabla. A continuación se exponen diezpropiedades básicas de las tablas de Access, todas ellas opcionales52. Descripción. Es una explicación de texto que también es útil como un diccionario de datos, que se usa para documentar aplicaciones de bases de datos. Regla de validación. Una expresión opcional (fórmula), que se usa para establecer reglas de integridad de dominio para más de un campo de la tabla. La regla de validación que se introduce aquí, se aplica a la tabla como un todo, en lugar de un solo campo. Texto de validación. Una propiedad opcional que especifica el texto del cuadro de mensaje que se abre si se viola la expresión de regla de validación de una tabla. Filtro. Un valor de propiedad opcional, especifica que se aplica una restricción a la tabla siempre que ésta es abierta. Los filtros restringen el número de registros que van a aparecer, en base a los criterios de selección que se proporcionen. Ordenar por. Un valor de propiedad opcional, especifica que se aplica un orden de clasificación a la tabla siempre que es abierta. Hoja secundaria de datos. Un valor opcional que determina como las hojas secundarias de datos muestran los datos de los registros relacionados. El valor predeterminado es automático, que agrega automáticamente hojas secundarias de datos de los registros vinculados de las tablas relacionadas. Vincular campos secundarios. Si se proporciona un nombre de hoja secundaria de datos, esta opción especificará el nombre del campo vinculado de la tabla relacionada (subordinada) cuyo registro aparezca en la hoja secundaria de datos. Vincular campos principales. Si se proporciona un valor hoja secundaria de datos, vincular campos principales especificará el nombre del campo vinculado de la tabla de la hoja de datos u hoja secundaria de datos superior. Alto de hoja secundaria. Especificará el alto máximo de la hoja secundaria de datos. Hoja secundaria expandida. Esta propiedad controlará el despliegue inicial de la hoja secundaria de datos.52 Roger, Jennings. “Microsoft Access 2000” 30

×