• No se han encontrado resultados

SISTEMA PARA EL CONTROL DE ACCESO A LA UNIDAD ADOLFO LOPEZ MATEOS

N/A
N/A
Protected

Academic year: 2017

Share "SISTEMA PARA EL CONTROL DE ACCESO A LA UNIDAD ADOLFO LOPEZ MATEOS"

Copied!
103
0
0

Texto completo

(1)

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA

MECANICA Y ELECTRICA

SISTEMA PARA EL CONTROL DE ACCESO A LA UNIDAD ADOLFO

LOPEZ MATEOS

TRABAJO TERMINAL

QUE PARA OBTENER EL TITULO DE:

INGENIERO EN CONTROL Y AUTOMATIZACIÓN

P R E S E N T A N

MENDOZA VALDEZ LUCILA SHARIM

PUEBLA URBINA OSCAR

ASESORES:

ING. LUISA ALEJANDRA PUEBLA URBINA

M. EN. C JUAN ABUGABER FRANCIS

(2)
(3)

2

INDICE

INTRODUCCIÓN ... 5

O

BJETIVO GENERAL

... 6

O

BJETIVOS ESPECÍFICOS

... 6

ANTECEDENTES ... 6

JUSTIFICACIÓN ... 7

PLANTEAMIENTO DEL PROBLEMA ... 8

RESUMEN ... 8

CAPITULO I

Sistemas de Seguridad ... 9

1.1.

S

ISTEMA DE

S

EGURIDAD

... 9

1.1.1. Objetivo de un Sistema de Seguridad ... 10

1.1.2. Evolución de los Sistemas de Seguridad ... 10

1.1.3. Funcionamiento de un Sistema de Seguridad... 11

1.1.4. Características de un sistema de seguridad... 12

1.2.

S

ISTEMA DE

C

ONTROL DE

A

CCESO

... 13

1.2.1. Características del Sistema de Control de Acceso ... 14

1.2.2. Componentes de un Sistema de Control de Acceso ... 15

(4)

3

CAPITULO II

Conceptos fundamentales de las Bases de Datos e Interfaces

Gráficas de Usuario. ... 18

2.1.

B

ASES DE

D

ATOS

... 18

2.1.1. Definición de un sistema de información ... 18

2.1.2 Clasificación de Base de datos ... 19

2.1.3. SQL - Lenguaje Gestor de Bases de Datos ... 20

2.1.4. Definición de Sistema Administrador de Base de Datos ... 21

2.1.5. Modelo Entidad-Relación (E/R) ... 24

2.2.

I

NTERFAZ

G

RAFICA DE

U

SUARIO

... 27

2.2.1. Entorno Integrado de Programación ... 27

2.2.2. Diseño de una interfaz gráfica ... 28

2.2.3. Propiedades de una Interfaz Gráfica ... 28

2.2.4. La interfaz y el usuario ... 29

2.3.

P

ROGRAMA PARA DESARROLLAR INTERFAZ GRAFICAS

-

M

ICROSOFT

V

ISUAL

S

TUDIO

... 29

2.3.1. Herramientas de la interfaz ... 30

2.3.2. Aspecto Visual ... 32

2.3.3. Estándares de diseño ... 32

2.4.

L

ECTOR DE CÓDIGO DE BARRAS

... 33

2.4.1. Lector de pistola ... 33

2.4.2. Código de barras ... 34

CAPITULO III

Desarrollo del Sistema de Control de Acceso... 35

3.1.

D

ISEÑO DE LA

B

ASE DE

D

ATOS

... 35

3.1.1. Diagrama Entidad-Relación (E/R) de la Base IPNSEG ... 35

3.1.2. Definición de los atributos de las Entidades ... 38

3.1.3. Programación de la Base IPNBDAT... 41

3.2.

D

ISEÑO DE LA INTERFAZ

G

RÁFICA

... 51

3.2.1. Ambiente de programación. ... 52

3.2.2. Comunicación de la Interfaz Gráfica con la Base Datos. ... 55

(5)

4

CAPITULO IV

Pruebas al programa. ... 63

4.1.

C

OMUNICACIÓN ENTRE LA

B

ASE DE DATOS Y LA

I

NTERFAZ

G

RÁFICA

63

4.1.1. Introducción y almacenamiento de datos desde SQL Server 2008 ... 64

4.1.2. Introducción y almacenamiento de datos desde la Interfaz ... 65

4.2.

C

ONSULTA DE DATOS DESDE LA

I

NTERFAZ

... 66

CAPITULO V

Análisis de Costos ... 67

5.1.

M

ERCADO ACTUAL

... 67

5.2.

P

RINCIPALES EMPRESAS QUE PARTICIPAN EN EL MERCADO

... 67

5.3.

E

LEMENTOS A CONSIDERAR

... 68

5.4.

A

NÁLISIS DE PRECIOS

... 70

5.4.1. Software ... 70

5.4.2. Hardware ... 70

5.4.3. Costo de ingeniería ... 71

CONCLUSIONES ... 76

CONCLUSIONES PERSONALES ... 77

RECOMENCDACIONES ... 79

CÓDIGO DE PROGRAMACIÓN ... 92

(6)

5

INTRODUCCIÓN

La Unidad Adolfo López Mateos ocupa el mayor índice de inseguridad a nivel institucional. Su vasta extensión y su libre acceso hacen que mantener las instalaciones seguras sea una actividad sumamente complicada.

El objetivo general de este trabajo es desarrollar un sistema de control de acceso a las instalaciones de la Unidad Adolfo López Mateos, el cual se presenta como una opción para ayudar a reducir este conflicto. El trabajo se plantea en tres fases. La primera fase consiste en crear una base de datos utilizando SQL con la finalidad de almacenar la información que posteriormente será consultada por el usuario. En la segunda fase se desarrolla una interfaz grafica en el lenguaje de programación Visual Basic, la cual permitirá tener un acceso amigable a la información almacenada en la base anteriormente creada. Finalmente, en la tercera fase se implementa un lector de código de barras para permitir la captura de la boleta directamente desde las credenciales de la escuela. Cumpliendo con las tres fases se tendrá un sistema de control de acceso compuesto por una base de datos, una interfaz grafica y un lector de código de barras.

(7)

6

Objetivo general

Desarrollar un sistema para controlar el acceso peatonal a las instalaciones Adolfo López Mateos conformado por una base de datos, una interfaz gráfica y la parte de adquisición de datos.

Objetivos específicos

 Crear la base de datos en SQL Server 2008.

 Desarrollar en Visual Studio la interfaz gráfica de usuario.

 Utilizar un lector de código de barras para la adquisición de datos.

 Realizar pruebas de correcto funcionamiento del sistema de control de acceso

 Evaluar los resultados y costos.

ANTECEDENTES

El Instituto Politécnico es fundado en la Ciudad de México en 1936 durante el gobierno del presidente Lázaro Cárdenas del Río. El IPN fue fundado siguiendo los ideales revolucionarios en la reconstrucción del país, buscando dar educación profesional a las clases más desprotegidas en aquel entonces, además de ser un impulso para el desarrollo industrial y económico del país, así como una institución que tuviera una función noble al subsanar las necesidades de la población mexicana.

(8)

7

JUSTIFICACIÓN

Dentro de todas las acciones que ha tomado el IPN en materia de seguridad la más representativa ha sido la creación del COSECOVI (Comisión de Seguridad Contra la Violencia) que se encarga de monitorear y cuidar las buenas costumbres dentro del Instituto. Se ha planteado la implementación de un sistema de seguridad sofisticado el cual integre controles de acceso y credenciales inteligentes aunque por razones económicas no se ha logrado su implementación.

En México, el sector de seguridad ha tenido un gran desarrollo en los últimos veinte años de tal forma que se han establecido numerosas compañías nacionales e internacionales especialistas en este tema brindando soluciones prácticas y tecnológicas a cada una de las necesidades del usuario.

PEMEX es una de las primeras empresas en adoptar un sistema completo de seguridad en México. El sistema fue instalado en la Torre central que se ubica en Marina Nacional a principios de los 90´s. Su objetivo fue garantizar la seguridad dentro de toda la instalación y sobre todo en las zonas más restringidas. El sistema requería ser totalmente automático, por lo que se implemento una gran base de datos que contuviera toda la información relevante de la organización y que a su vez garantizará que solo las personas registradas o con permisos tuvieran acceso a ella. El costo de la implementación del sistema fue demasiado elevado ya que incluyó sistemas de control de acceso, circuitos cerrados, sensores de seguridad, etc.

(9)

8

PLANTEAMIENTO DEL PROBLEMA

Por la extensión y el número de personas que acuden diariamente a las diversas Unidades del IPN se ha registrado un aumento en la inseguridad. De todas las Unidades que forman parte del IPN, es la Unidad Profesional “Adolfo

López Mateos” la que representa el mayor reto en seguridad debido a que es la más extensa en terreno y en donde acuden diariamente más de 10,000 alumnos inscritos en distintos horarios. A pesar de que la seguridad representa para el Instituto una materia de suma importancia y a la que ha destinado un presupuesto elevado en los últimos años, se ha presentado un incremento en los actos delictivos dentro y en la periferias de la Unidad. En números la Unidad tiene una extensión aproximada de 195 hectáreas y un perímetro de 6 kilómetros, el cual cuenta con barreras físicas de protección (rejas) y con 74 accesos, de los cuales 39 vehiculares y 35 peatonales.

RESUMEN

(10)

9

CAPITULO I.

Sistemas de Seguridad

Este capítulo tiene como objetivo proporcionar al lector la información necesaria para que pueda comprender el funcionamiento de un sistema de seguridad y que pueda reconocer los elementos que este incorpora. Además de puntualizar en el alcance del proyecto.

Para definir lo que representa un sistema de seguridad es necesario entender lo que es un en sí un sistema. Un sistema es un conjunto de elementos relacionados entre sí, de forma que realicen la función para la que fueron diseñados.

1.1. Sistema de Seguridad

Es el conjunto de dispositivos colocados estratégicamente en el perímetro de un sitio específico para detectar la presencia, irrupción, o invasión de un desconocido o de un individuo que no posea un acceso permitido. Estos equipos avisarán cuando el sistema fue violado mediante un ruido característico o señal aguda, a su vez, el sistema de seguridad puede estar conectado a una central de vigilancia privada para que al cabo de pocos minutos personal policial se haga presente en nuestra ayuda. A medida que la sociedad evolucionó las causas de la inseguridad se tornaron más complejas lo que conllevó a que se planifiquen sistemas de seguridad más sofisticados.

(11)

10

1.1.1. Objetivo de un Sistema de Seguridad

El objetivo de un sistema de seguridad es la detección de cualquier situación de riesgo que se presente en un determinado ambiente. Estos eventos pueden variar desde la detección de un intruso hasta el reporte del inicio de un incendio. Un sistema de seguridad no cumple únicamente la función de la detección de algún problema determinado, sino que el sistema debe anticiparse y así tomar una estrategia para garantizar la seguridad de la organización.

1.1.2. Evolución de los Sistemas de Seguridad

Los sistemas de seguridad han ido evolucionando conforme se van desarrollando nuevas tecnologías y los usuarios exigen mejores soluciones a sus problemas, con un menor tiempo de respuesta, con mayor eficiencia y con un mínimo de fallas. Los sistemas se dividen en generaciones para poder clasificar su operabilidad.

Existen tres generaciones en la historia de los sistemas de seguridad, clasificados dependiendo de la complejidad que involucran. La primera generación se limitaba únicamente a la implementación de un dispositivo capaz de dar aviso de cualquier violación, como fue el caso de las alarmas sonoras que se accionaban cuando existía una interrupción en el esquema que se tenía determinado. El control muchas veces era manual y el usuario debía de ingresar parámetros para definir la situación.

(12)

11

Por último, en la tercera generación, ya se implementaron medios para poder monitorear todos los eventos que se realicen en un lugar sin que el cliente tenga que estar en la misma ubicación. Esto da flexibilidad al usuario para que al mismo tiempo que realiza otras actividades pueda estar revisando el estado en el que se encuentra la empresa o su hogar.

1.1.3. Funcionamiento de un Sistema de Seguridad

Un sistema de seguridad está diseñado para que funcione en tres niveles de monitoreo y atención:

 El primero es por parte del personal de policía asignado a las organizaciones, empresas o instalaciones, quien en un módulo especial y a través de un monitor son capaces de verificar la identidad de la persona que esté ingresando, de igual manera los controles de acceso cuentan con sistemas de alarma en caso de que estos sean indebidamente manipulados o violados.

 El segundo nivel lo representa el sistema de circuito cerrado que mantiene un monitoreo continuo de lo que ocurre dentro de las instalaciones. Las video cámaras de seguridad serán instaladas en los lugares que representen un mayor riesgo. Para evitar que el monitoreo se haga tedioso y que todo el tiempo una persona se encuentre en los paneles de seguridad se ha optado en los últimos años en realizar la verificación a través de internet y la implementación de mensajes electrónicos que mantienen al personal informado sobre el estado de seguridad dentro de la organización. Lo anterior también permite realizar inspecciones a cualquier hora y desde lugares remotos.

(13)

12

1.1.4. Características de un sistema de seguridad

Por lo general, un sistema de seguridad no es un servicio aislado sino una combinación de elementos físicos y electrónicos o una combinación de ambos. Este sistema debe de ser completamente operables, confiables y que se les pueda proporcionar fácil mantenimiento. Además debe de operar de acuerdo a las tecnologías más recientes para garantizar un mejor servicio al usuario. Es importante también que los sistemas cuenten con una interfaz amigable para el usuario, que sea de fácil manejo y que cuente con las herramientas necesarias.

Al momento de implementar un sistema de seguridad se debe de considerar un sistema de protección para que ninguna persona pueda manipularlo a su conveniencia. Debe de establecerse una serie de protocolos y procedimientos que le permitan al sistema monitorear y responder a cualquier señal de alarma. En la actualidad un sistema completo de seguridad incluye los siguientes elementos y estos se pueden ubicar en la figura 1:

 Un procesador Central de información.  Controles de Acceso.

 Monitoreo a través de cámaras incorporadas a un circuito cerrado.  Radio vigilancia y acceso a teléfonos de emergencia.

 Una base de datos actualizada del Personal.  Fuerzas de auxilio.

 Sistema de sensores y alarmas.

(14)

13

Fig. 1 Configuración de un sistema de seguridad 1

1.2. Sistema de Control de Acceso

Los sistemas de control de acceso le permiten al cliente controlar el acceso al empleado de forma individual en zonas de la empresa donde es necesaria su presencia. Este acceso se realiza, la mayoría de las veces, mediante el uso de una identificación provista de algún elemento que permita almacenar y decodificar la información como lo son los códigos de barras, las bandas magnéticas o las tarjetas de radiofrecuencia.

(15)

14

Los Sistemas de control de acceso también pueden cumplir la función del tradicional reloj checador, ya que permiten controlar la hora de entrada de cada empleado y así brindar mejoras en la puntualidad y el rendimiento. Incluso, las actividades del empleado pueden controlarse fácilmente con los registros y reportes que se pueden generar con el programa del control de acceso.

La mayoría de los sistemas de control de acceso llevan un registro de cuándo y por quién una determinada puerta se abrió. Es importante resaltar que sin el número de identificación o ID el usuario no podrá entrar a las instalaciones. Para este proyecto el sistema de control de acceso lo integrarán: la base de datos, la interfaz gráfica y el lector de las tarjetas ID, como se ilustra en la Fig. 2.

Fig. 2 Control de acceso

1.2.1. Características del Sistema de Control de Acceso

(16)

15

Las opciones para un sistema de control de acceso que incorpora ID pueden ser ilimitadas aunque siempre se recomienda que sea una clave ya existente como lo son el CURP y RFC.

El sistema debe de contar con una Sistema Gestor de información para que garantice la actualización, manejo e intercambio de datos. Este Sistema Gestor de información accede a la información mediante comandos preestablecidos o bien mediante programación. El sistema de control de acceso debe de contar con una Base de Datos Relacional confiable y con personal capacitado para su manejo. El sistema de control de acceso deberá de contar con una interfaz gráfica que permita visualizar que la persona que está haciendo uso de la credencial ID corresponda a la persona que aparece en la fotografía.

La interfaz gráfica representa una gran medida de seguridad porque muchas veces se puede extraviar la credencial o puede ser robada del usuario; para esos casos, el sistema de acceso debe de tener la capacidad de deshabilitar esa tarjeta para que no se le dé mal uso. Es importante señalar que aunque deshabilitar la tarjeta elimina el riesgo, muchas veces no se cuenta con el tiempo o algunas veces el usuario no hace pronto aviso de la situación dejando al sistema vulnerable, por lo que la implementación de la interfaz es de vital importancia.

1.2.2. Componentes de un Sistema de Control de Acceso

(17)

16

Fig. 3 Elementos de control de acceso 1

a) Paneles de control

En la mayoría de sistemas de control de acceso es posible encontrase con un teclado. Los teclados son comúnmente usados para una única puerta y son los mecanismos más económicos del mercado, además, los teclados son del agrado de los usuarios.

b) Lectores

Son muchos los distintos tipos de lectores que se utilizan para controlar puntos de acceso. Los lectores pueden utilizar biométricas para escanear huellas digitales, o emplear tableros para el ingreso de una contraseña, o ser utilizados para leer tarjetas. Los lectores de control, por lo general, no toman decisiones, pero sí transmiten información a un panel de control donde se verifica el nivel de acceso adecuado.

c) Puntos de control

Un punto de control de accesos puede ser una puerta, un torniquete, un elevador, la entrada de un aparcamiento o cualquier otra barrera donde el acceso deba ser autorizado o denegado. La mayoría de los puntos de acceso son puertas y pueden ser controladas por cerraduras eléctricas.

(18)

17

1.3. Diagrama de Flujo para el Control de Acceso dentro de la Unidad

Este diagrama de flujo de la figura 4 muestra la operación del sistema de seguridad de forma general. El sistema contará con un lector de código de barras que permita leer el código de las credenciales de los usuarios y con una Base de Datos actualizada que permita conceder el acceso únicamente a los códigos que se encuentren en su registro. Una vez que haya corroborado la pertenencia del usuario al sistema y con la implementación de una interfaz gráfica se desplegará en pantalla la información y la fotografía de la persona que esté registrada con el IP de la credencial.

(19)

18

CAPITULO II.

Conceptos fundamentales de las Bases de Datos e

Interfaces Gráficas de Usuario.

Este Capitulo pretende proporcionar al usuario los conceptos básicos y forma de funcionamiento de los programas e información que se estará manejando a lo largo del desarrollo de la Tesis. Es importante resaltar que en algunos puntos se redactan criterios para el buen diseño y optimización de los recursos que nuestro sistema manejará.

2.1. Bases de Datos

Es un conjuntos de tablas que contienen información en forma de datos, estos datos están interrelacionados y estructurados de acuerdo a un modelo que sea capaz de recoger el máximo contenido semántico; su finalidad es servir a una o más aplicaciones de la mejor forma posible.

2.1.1. Definición de un sistema de información

Es un sistema computarizado cuya finalidad general es almacenar información y permitir a los usuarios recuperar y actualizar esa información con base en peticiones. Esta información puede ser cualquier cosa que sea de importancia para el individuo o la organización; es decir, todo lo que sea necesario para auxiliarle en el proceso general de su administración. Un sistema de bases de datos contempla los siguientes componentes como se ve en la figura 5:

 La base de datos.

 El Sistema de Gestión de Base de Datos (SGBD, DBMS).

 Programas de Aplicación.

(20)

19

Fig. 5 Sistema de información 10

2.1.2 Clasificación de Base de datos

Los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean métodos para incluir nuevos datos y para modificar o extraer los datos almacenados. Estos datos pueden ser manejados de acuerdo a las características y tipos con los que hayan sido definidos. Dependiendo del tipo e incluso longitud de los datos es como se construirá la base. Por lo anterior es de suma importancia conocer la definición y descripción de los datos, única para cada uno de ellos. En la actualidad los dos modelos más utilizados en bases son el relacional y el orientado a objetos.

a) Base de datos relacional

(21)

20

Estas bases están basadas en el modelo Entidad Relación, el cual es un modelo relacional que representa un sistema información en el cual se establece el enlace entre cada una de las tablas y de esta manera se obtienen consultas de información mucho más rápidas y precisas

b) Base de Datos Orientada a objetos

Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades de nuevas aplicaciones. La orientación a objetos ofrece flexibilidad para el manejo de imágenes y no está limitada por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales.

2.1.3. SQL - Lenguaje Gestor de Bases de Datos

Los orígenes del SQL están ligados al de las bases de datos relacionales. En 1970 E. F. Codd propuso el modelo relacional en el que incluyó un sublenguaje de acceso a los datos. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language). El SEQUEL se convirtió en el predecesor de SQL.

(22)

21

SQL es el estándar de comunicación para el manejo de bases de datos ó consultas de la información que guardan. En la figura 6 se muestra como SQL recibe la petición de los periféricos de la computadora y permite

Fig. 6 SQL lenguaje gestor de bases de datos 11

2.1.4. Definición de Sistema Administrador de Base de Datos

El administrador de base de datos o servidor de base de datos conocido como sistema de administración de base de datos (DBMS) maneja todas las solicitudes de acceso a la base de datos ya sea para agregar y eliminar archivos, recuperar y almacenar datos desde y en dichos archivos. Por lo tanto, una función general que ofrece el DBMS consiste en ocultar a los usuarios de la base de datos los detalles al nivel de hardware.

Es decir, que el DBMS ofrece a los usuarios una percepción de la base de datos que está en cierto modo, por encima del nivel del hardware y que maneja las operaciones del usuario expresadas en términos de ese nivel más alto de percepción. En la figura 7 se muestra como el DBMS sirve de vínculo entre las consultas del usuario y la base de datos.

(23)

22

a) Selección del Programa Gestor de Base de Datos.

Existen muchas bases de datos relacionales, las más difundidas son MySQL, Oracle, SQL Server y PostgresSQL. Cada una de ellas es compatible con el estándar SQL, aunque cada una de ellas tiene un juego de instrucciones propias. SQL es el acrónimo de “Structured Query Language” (Lenguaje de Consulta Estructurado).

Para este proyecto se utilizará SQL Server 2008 en la versión Express para crear la base de datos del Sistema de Control de Accesos de la Unidad. La decisión de seleccionar este programa se debió a las características del sistema y porque es un software gratuito que se puede descargar desde internet. SQL Server Express utiliza la misma tecnología que otras versiones de SQL Server como la 2005, lo que posibilita un alto rendimiento y confiabilidad. Algunas desventajas de trabajar con Microsoft SQL Server 2008 express están totalmente relacionadas a que es la versión gratuita del programa original. Es importante mencionar que estas desventajas no afectan la funcionalidad del proyecto porque con las funciones que permite realizar la versión express se pudo desarrollar sin problemas la Base de datos.

Las desventajas que presenta son las siguientes.

 Algunas funcionalidades corporativas no están soportadas en la versión Express (Conectividad a Internet).

 Limitado a 1 GB de memoria para el buffer pool.

 Las bases de datos pueden tener un tamaño máximo de 4 GB.

b) Instalación de SQL Server 2008

(24)

23

Fig. 8 Microsoft SQL Server 10

Para poder instalar SQL Server 2008 Express se recomienda leer las Notas

de la versión y el archivo Léame antes de instalar SQL Server 2008 Express. Es importante remarcar que este programa solo puede utilizarse en sistemas operativos que manejen Windows; si el equipo con el que se cuenta está orientado a Linux ó MAC se recomienda utilizar otro programa. De manera muy general se pueden definir los siguientes pasos para la instalación de Microsoft SQL Server 2008 Express:

Paso 1: descargar e instalar Microsoft .Net Framework 3.5 SP1. Paso 2: descargar e instalar Windows Installer 4.5.

Paso 3: descargue e instalar SQL Server 2008 Express.

c) Requisitos del Sistema

El sistema operativo usado en este proyecto es Windows Vista de 32-bits en Inglés; a continuación se especifican algunos requerimientos que hay que considerar y tener en cuenta antes de realizar la instalación de SQL Server 2008 Express.

 Sistemas de 32 bits: equipo con procesador Intel o compatible a 1.6 GHz o

superior.

 1 GB de espacio disponible en disco.

(25)

24

d) Características de Microsoft SQL Server 2008

1. Soporte de transacciones.

2. Escalabilidad, estabilidad y seguridad.

3. Soporta procedimientos almacenados.

4. Incluye también un potente entorno gráfico de administración.

5. Permite trabajar en modo cliente-servidor.

2.1.5. Modelo Entidad-Relación (E/R)

Fue propuesto por Peter Chen en 1976 y desde entonces se viene utilizando de una forma muy global. Es una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades. Con este modelo se consigue representar de manera grafica la estructura lógica de una base de datos, en la figura 9 se pueden ver estos elementos. El primer elemento se conoce como entidad y se trata de un objeto del que se recoge información de interés de cara a la base de datos, gráficamente se representan mediante un rectángulo. Las entidades pueden ser fuertes o débiles. Las fuertes son las que no dependen de otras entidades para existir, mientras que las entidades débiles siempre dependen de otra entidad sino no tienen sentido por ellas mismas. El segundo elemento se conoce como relación que es una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del modelo entidad-relación.

(26)

25

Otra característica es el grado de relación, siendo las de grado 1 las que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones que asocian dos entidades distintas, y las de grado 3 que se tratan de relaciones que unen más de dos entidades.

Las relaciones se representan gráficamente con rombos, dentro de ellas se coloca el nombre de la relación. Otra característica es el tipo de correspondencia entre dos relaciones:

 1:1. Uno a uno, a cada ocurrencia de una entidad le corresponde como

máximo una ocurrencia de la otra entidad relacionada.

 1:N. Uno a Muchos, a cada ocurrencia de la entidad A le pueden

corresponder varias de la entidad B.

 N:M. Muchos a muchos, cada ocurrencia de una entidad puede contener

varias de la otra entidad relacionada y viceversa.

El tercer elemento de este modelo se conoce como atributo y se define como cada una de las propiedades de una entidad o relación. Cada atributo tiene un nombre y todos los posibles valores que puede tener. Dentro de una entidad tiene que haber un atributo principal que identifica a la entidad y su valor tiene que ser único. Todos estos elementos conforman un diagrama entidad-relación como se ve en la figura 10.

(27)

26

a) Construcción de la Base de datos aplicando el modelo E/R

El elemento principal de este modelo es la relación. Por lo que se puede decir que una base de datos relacional está compuesta por un conjunto de relaciones. La relación se representa mediante una tabla, esta tabla representa a lo que en el modelo entidad-relación se llama entidad. Esta tabla contiene los atributos (columnas) y las tuplas (filas).

Cada tupla de una tabla tiene que estar asociada a una clave única que permita identificarla y esta no debe de repetirse. Una clave puede estar compuesta por uno o más atributos. Una clave tiene que ser única dentro de su tabla y no se puede descartar ningún atributo de la misma para identificar una fila. Existen dos tipos de claves: claves primarias y claves secundarias.

 Clave primaria (Primary Key): es el valor o conjunto de valores que

identifican una fila dentro de una tabla. Nunca puede ser NULL. Un ejemplo claro de clave primaria seria el CURP, que es único para cada persona y no puede ser NULL.

 Clave ajena (Foreign Key): es el valor o valores de una tabla que

corresponde con el valor de una clave primaria en otra tabla. Esta clave es la que representa las relaciones entre las tablas.

b) Paso del modelo E/R al modelo Relacional

Para pasar a tablas todos los datos sin omitir nada y que las tablas tengan sentido por si solas se tienen que seguir unos pasos:

1. Toda entidad se transforma en una tabla.

2. Todo atributo se transforma en una columna dentro de la tabla a la que pertenece.

3. El identificador de la entidad se convierte en la clave primaria de la tabla.

(28)

27

2.2. Interfaz Grafica de Usuario

La interfaz de usuario, o interfaz gráfica de usuario (Graphic User Interface - GUI), es la forma como aparecen en pantalla los comandos de un programa: por medio de botones, colores, símbolos y ventanas (figura 11). La interfaz tiene dos principales "misiones": la primera es informar al usuario acerca de los elementos que tiene a su disposición y para qué sirven, y la segunda es brindar la posibilidad de elegir entre las distintas opciones.

Fig. 11 Ejemplo de una interfaz grafica de usuario 14

2.2.1. Entorno Integrado de Programación

(29)

28

2.2.2. Diseño de una interfaz gráfica

Una interfaz es la parte externa del programa, lo que el usuario ve. Si está

mal diseñada sacará una pobre impresión de ella aunque funcione perfectamente. Para esto el usuario ha de comprender la mecánica y la operativa que le ofrece la interfaz (sintaxis, órdenes, códigos, abreviaciones e iconos), todo esto supone un trabajo de memorización. Una buena interfaz minimiza el esfuerzo mental que se demanda al usuario.

Con el fin de que esa dificultad se minimice es importante establecer un sistema de ayudas adecuado. Estas ayudas se centrarán en la operación y la aclaración de funciones de los elementos visuales o acústicos. Por otra parte, el diseño de la interfaz supone que el usuario hace un modelo mental. Es importante la coherencia entre las distintas partes para que ese modelo se mantenga. La interfaz facilita la comunicación entre dos sistemas de diferente naturaleza, típicamente el ser humano y una máquina como el computador.

2.2.3. Propiedades de una Interfaz Gráfica

1. Facilidad de aprendizaje y uso.

2. El objeto de interés ha de ser de fácil identificación. 3. Diseño ergonómico.

4. Las interacciones se basarán preferiblemente en acciones físicas sobre elementos de código visual o auditivo (iconos, imágenes y mensajes).

5. Las operaciones serán rápidas, incrementales y reversibles.

6. Como el elemento fundamental es la pantalla del ordenador, entonces se desea cuidar la organización.

7. El tratamiento del color debe contar con una serie de normas tales como luminosidad, saturación, tono, etc.

(30)

29

2.2.4. La interfaz y el usuario

El diseño de la interfaz debe de considerar en todo momento el tipo de usuario del programa. El usuario debe de poder interactuar con facilidad y la interfaz debe de ser amigable. Por lo que un buen diseño no se centra en los deseos del programador sino en las necesidades del usuario.

Para lo anterior existe una herramienta conocida como el test de usabilidad. La forma de realizarlo es sentar a un usuario delante de la máquina con una lista de tareas y pedirle que exprese verbalmente lo que va pensando mientras tanto. Realizando el anterior test se puede ver cuáles son los problemas que se encuentra la gente al realizar esas funciones. Algunos de los factores a considerar que afectan directamente al usuario son los siguientes:

 Características Físicas: Cada persona tiene diferentes características físicas. Hay algunas personas que no les gustan los teclados mientras que a otras sí.  Ambiente: El lugar donde va a ser usado el sistema. Cada interfaz tiene que

adecuarse al lugar.

 Visibilidad: Tomar en cuenta la cantidad de iluminación del lugar.  Personalidad: De acuerdo a la edad, nivel socio-económico, etc.

 Cultura: Este factor es importante si el mercado para el sistema es a nivel internacional.

2.3. Programa para desarrollar interfaz graficas - Microsoft Visual Studio

(31)

30

a) Requisitos del Sistema

Como ya se dijo, el sistema operativo usado en este proyecto es Windows Vista de 32-bits en Inglés; a continuación se especifican algunos requerimientos de Microsoft Visual Studio 2010

 Equipo con procesador más rápido de 1.6 GHz

 3 GB de espacio disponible en disco.

 1 GB de RAM

 Unidad de disco duro de 5400 RPM

 Tarjeta de video para DirectX9 corriendo a 1024x768 o resolución superior

b) Limitaciones de la versión Express

Al ser la versión Express, el programa no cuenta con algunas características como lo son la posibilidad de desarrollo de aplicaciones Web y de aplicaciones para teléfonos. Otra limitante es que solo se puede utilizar Visual Basic como lenguaje de programación.

A pesar de las limitantes anteriormente nombradas, el programa cuenta con las características suficientes para el desarrollo de la interfaz grafica que se requiere puesto que las aplicaciones Web son necesarias cuando se requiere un control a distancia.

2.3.1. Herramientas de la interfaz

(32)

31

Fig. 12 Microsoft Visual Basic

El cuadro de herramientas muestra iconos para los controles y otros elementos que se pueden agregar a los proyectos de Visual Studio. Cada icono se puede arrastrar a una vista de diseño o se puede pegar en un editor de código, cualquiera de las dos acciones agrega código básico para crear instancias del elemento en el archivo de proyecto activo. El cuadro de herramientas solo muestra los elementos correspondientes al tipo de archivo con el que se está trabajando. La colección de controles disponibles depende de la versión con la que se está trabajando.

(33)

32

2.3.2. Aspecto Visual

Una interfaz debe suministrar herramientas de uso sencillo y fácil para que el usuario sepa en todo momento en dónde se encuentra, hacia dónde puede ir y que puede hacer con ellas. Las principales herramientas que se encuentran presentes en una interfaz grafica son:

 Ventanas  Iconos  Menús

 Cuadros de diálogos  Botones de acción

 Barras de desplazamiento  Listas de selección

 Barras de herramientas

2.3.3. Estándares de diseño

Debido a la variedad de posibles diseños en la creación de una interfaz grafica de usuario, se optó por establecer ciertos estándares para su desarrollo. A partir de estos estándares surgió el término de usabilidad el cual es un atributo de calidad en el desarrollo de software.

La ISO (Organización internacional de estandarización) incluyo este término es su apartado de Ingeniería de Software y lo define como la medida en la que un producto se puede usar por determinados usuarios para conseguir objetivos específicos con efectividad, eficiencia y satisfacción en un contexto de uso especifico. Este término ha ido evolucionando, apareció por primera vez en la ISO 9241-10 (1996) y la más reciente fue en la ISO 14925-1 (2002).

(34)

33

A pesar de los diversos estándares, se pueden establecer 3 principales características que son: la estructura, la presentación y la interacción. En cuanto a estructura se refiere a las herramientas presentes en la interfaz grafica como cuadros de texto o ventanas. La presentación se refiere a como la información aparece en la interfaz y en cuanto a interacción se refiere a como se comunica el usuario con la computadora. Estos 3 aspectos serán considerados para crear la interfaz.

2.4. Lector de código de barras

La función de estos equipos es leer por medio de un laser la información codificada en las barras y espacios del símbolo de código de barras y enviarla a un decodificador que a su vez la envía a una computadora o terminal como si la información hubiera sido tecleada. El lector básico está formado por un escáner, un decodificador y un cable que es la interfaz entre el escáner y la computadora.

El escáner proyecta un diminuto punto de luz que cruza el símbolo del código de barras y luego mide el ancho exacto de las barras y los espacios. La medida la determina la reflexión de las barras y los espacios. La señal visual se convierte en digital y se envía a una computadora, la cual decodifica la señal y obtiene el mensaje contenido en ella.

2.4.1. Lector de pistola

Realiza un barrido mediante una luz laser y que genera una señal de alta frecuencia. Esta señal es conocida como HHLC (Hand Held Laser Compatible)

Ventajas: es rápido, puede no requerir decodificador de teclado, puede leer a distancia (estándar 5 a 30 cm)

(35)

34

2.4.2. Código de barras

Existen diversos tipos de códigos de barras con finalidades y usos distintos. Los hay de identificación, los cuales solo guardan números y en algunos casos letras, estos códigos lineales son los más comunes. También hay en dos dimensiones que guardan números, letras y en algunos casos imágenes.

(36)

35

CAPITULO III.

Desarrollo del Sistema de Control de Acceso

Para el desarrollo del sistema de control de acceso se trabajo por etapas: la primer etapa consistió en el diseño y desarrollo de la Base de Datos en Microsoft SQL Server 2008, posteriormente se diseño y programo la Interfaz Gráfica en Visual Studio de tal forma que permitiera realizar las dos tareas principales del sistema que son el manejo datos y el control de acceso. La tercer parte consistió en comunicar la Base de datos con la interfaz Gráfica y finalmente se implemento al sistema el lector de código de barras que permite la adquisición de los datos al leer el código de las credenciales.

3.1. Diseño de la Base de Datos

Una Base de Datos debe de ser planeada antes de que se comience con su programación, el buen diseño de la Base permite que los usuarios comprendan y encuentren la información de una manera rápida y precisa.

La Base de Datos del Sistema de Seguridad para la Unidad se nombro como IPNBDAT. La definición del nombre es un aspecto muy importante porque para programarla se requiere que se indique en todo momento de que base de datos se está obteniendo o consultando la información.

3.1.1. Diagrama Entidad-Relación (E/R) de la Base IPNSEG

(37)

36

El primer paso para comenzar el diseño es establecer el diagrama E/R de la base de datos IPNSEG. En la figura 13 se muestra este diagrama E/R.

Fig. 13 Diagrama general para base de datos IPNBDAT

El diagrama muestra la relación e importancia entre cada una de las entidades. Para la Base IPNBDAT la entidad con más peso se estableció como comunidad puesto que un alumno o un profesor o cualquiera de las otras entidades pasan a ser elementos de una comunidad. La relación que guarda la entidad comunidad con las entidades secundarias se definió como integrante y para fines de programación se nombrará el id_integrante que será un valor con autoincremento que permitirá que ningún campo o registro se repita y así asegurar el buen manejo de memoria y lo que es más importante aún evitará la duplicidad de los valores. SQL Server puede crear variables de tipo ID que se incrementan automáticamente. Los atributos de cada una de las entidades serán definidos más adelante.

Dentro de la entidad Comunidad se definirán propiedades dentro de ella como dirección y clasificación. Esto se hace con fines de optimización de tiempo de consulta porque en lugar de formar parte de la Comunidad atributos como lo son calle, colonia o descripción del integrante estos se integrarán dentro de dos nuevas entidades que se consultarán únicamente cuando se requieran y no cuando se realice cualquier consulta, como se muestra en la figura 14:

Alumno

Profesor

Atributos A

Atributos B

Integrante Comunidad

Atributos X

Usuario Empleado

Atributos C

(38)

37

Fig. 14 Propiedades entidad Comunidad

De las entidades secundarias la única que guarda otras relaciones es la entidad Alumno. Lo anterior con el propósito de conocer más información del alumno. Las entidades que guardarán relación con la entidad Alumno serán nombradas como Carrera, Escuela y Unidad como se muestra en la figura 15:

Fig. 15 Propiedades entidad Alumno

Este diagrama E/R se diferencia con el anterior diagrama E/R de la comunidad porque maneja una estructura recursiva; es decir, por cada alumno que forma parte de la comunidad se tendrá una carrera y por cada carrera se tendrá una Escuela en específico. Es importante que el id_carrera, id_escuela y el id_unidad se definan con autoincremento al momento de crear la variable.

Carrera

Atributos H Tiene Alumno

Atributos A

Escuela

Unidad

Atributos I

Atributos J Tiene

Tiene

Clasificación

Atributos E Forma Comunidad

Atributos X

Dirección

Atributos F Del integrante Comunidad

(39)

38

3.1.2. Definición de los atributos de las Entidades

Los atributos son las características de las entidades aunque no todas las características se deben de tomar como atributos, únicamente pasarán a formar parte de la entidad las características más importantes y que vayan a ser utilizadas al momento de la consulta. La selección de los atributos es importante porque uno de los objetivos de diseño es optimizar recursos tiempo-memoria y al manejar una gran cantidad de atributos el desempeño de la base disminuye. Lo anterior es de suma importancia para bases de gran tamaño que llegan a gestionar miles de datos. Es importante también resaltar que al optimizar la memoria se reducen los gastos por la compra de nuevo equipos o memoria.

Para la selección de los atributos de cada una de las entidades se acudió a la oficina central de seguridad del IPN para recopilar qué información es la más importante en términos de acceso. También se tomaron en cuenta atributos que puedan facilitar la generación de reportes que es otra de las herramientas con las que cuenta un sistema desarrollado en SQL Server, solo es necesario ingresar la consulta para que la base proporcione la información requerida. A continuación se muestran los atributos por cada entidad de la base IPNBDAT:

a) Atributos para la entidad Alumno (figura 16):

Fig. 16 Atributos entidad Alumno

Alumno

Boleta

Promedio Id_alumno

Especialidad

Becario Semestre

Estado Id_carrera Mat_Rep

(40)

39

b) Atributos para las entidades Profesor y Usuario (figura 17):

Fig. 17 Atributos entidad Profesor y Usuario

c) Atributos para las entidades Empleado y Foto (figura 18):

Fig. 18 Atributos entidad Empleado y Foto

d) Atributos para las entidades Carrera y Clasificación (figura 19):

Fig. 19 Atributos entidad Carrera y Clasificación

Carrera

Nombre Id_carrera

Id_escuela No_semestres

Clasificación

Id_clasificacion

Descripción

Empleado

Procedencia Id_empleado

Área No_empleado

Foto

Id_Foto

Imagen N_empleado

Id_empleado Depart

Especialidad

Nivel_acad Estado

Profesor Usuario

Contraseña Id_usuario

(41)

40

e) Atributos para la entidad Dirección (figura 20):

Fig. 20 Atributos entidad Dirección

f) Atributos para la entidad Comunidad (figura 21)

Fig. 21 Atributos entidad Comunidad

Una vez que se tienen los atributos por cada entidad se debe establecer el tipo y tamaño de cada uno de ellos.

Comunidad

Id_integrante

Nombre Id_clasificacion

Id_Direccion Fecha_Nac Telefono

Ap_materno CURP Id_foto

Celular

Ap_paterno E_mail

Dirección

Id_direccion

Num_Ext Calle

Colonia

Num_Int Municipio

Estado CP

(42)

41

3.1.3. Programación de la Base IPNBDAT

Para la programación de bases de datos es necesario contar con un Sistema Administrador de Bases de Datos (DBMS), para este proyecto el DBMS será Microsoft SQL Server 2008 express. Para la instalación del DBMS se debe de cumplir con los requerimientos del sistema y el procedimiento de instalación que se marcan en el Capítulo II en la parte 2.1.4.

Una vez que se ha instalado, el programa solicita al usuario que cree una contraseña única y que la respalde, esto es necesario porque únicamente las personas que conozcan la contraseña tendrán acceso a la programación y bases de datos guardadas en SQL Server. La contraseña del programa es independiente de la seguridad que se programe para cada Base, con seguridad se habla de la instancia Security que permite crear conexiones (Logins), funciones de servicio (Server Roles) y credenciales (credentials).

(43)

42

Fig. 22 Ambiente de Programación de Microsoft SQL Server 2008

El siguiente paso es crear la Base de Datos. Para esto se debe de ubicar la instancia de Bases de datos (Databases) que aparece en la parte izquierda de la figura 22. Se selecciona y se da clic derecho, enseguida aparecerá la opción de nueva base de datos (New DataBase). Una vez que se ha dado clic aparecerá una pantalla que permite nombrar y establecer las características que tendrá la nueva Base. Entre las características que se puede seleccionar son el tamaño de la base y el usuario.

El siguiente paso es crear las tablas que conformarán la base. Las tablas se programarán con los atributos que se escogieron en la parte del diagrama E/R. Con fines prácticos solo se mostrará el código para programar la tabla Comunidad aunque el formato de programación es similar para las demás tablas diferenciándose entre sí por el nombre y los campos que la conformen.

INSTANCIAS

(44)

43

CREATE TABLE [dbo].[alumno]

( [id_integrante] [int] NOT NULL,

[boleta] [int] NOT NULL,

[promedio] [float] NOT NULL,

[semestre] [int] NOT NULL,

[especialidad] [varchar](50) NULL,

[opcion_titulacion] [varchar](20) NULL,

[servicio_social] [varchar](2) NULL,

[estado] [varchar](10) NOT NULL,

[mat_adeudadas] [int] NOT NULL,

[becario] [varchar](2) NULL,

[tipo_beca] [varchar](50) NULL,

[id_carrera] [int] NULL ) ON [PRIMARY]

El código de programación comienza con el comando CREATE TABLE en donde se asigna el nombre de la tabla entre corchetes. SQL Server denomina como dbo a aquellas cuentas de usuario que han creado bases de datos en la instancia. Consecuentemente todas las tablas que se construyan serán automáticamente propiedad de la cuenta dbo de la base, para este proyecto de la base IPNBDAT. Además, gracias a la asignación dbo, se tienen todos los permisos para hacer cualquier cosa en la base de datos y también se les puede asignar a otras cuentas de usuario.

Para programar los campos que formarán parte de la tabla se tiene la siguiente estructura: [Atributo] [tipo de dato] valor. Los atributos se definieron con anterioridad, lo que hace la parte de programación muy sencilla. Se debe de tener un especial cuidado es en la declaración del tipo de valor. Este valor puede ser un entero, un flotante, una cadena de caracteres, etc. Otra ventaja que presenta Microsoft SQL es el manejo de tipos especiales de atributos como lo pueden ser las imágenes y las fechas. En el caso de cadenas de caracteres se debe de establecer la longitud que tendran teniendo en consideración la memoria.

(45)

44

Con nulo se entiende que el campo puede o no ser llenado por el usario y esto no afectará a la compilación del programa. Con no nulo se entiende que el campo debe de ser obligatoriamente llenado. El valor es de gran importancia porque así se evita que el usuario cometa el error u olvide registrar información de suma importancia como puede ser el IP del usuario, el CURP, entre otros.

El siguiente paso es compilar el programa para obtener la tabla con sus respectivas columnas. Una vez hecha la compilación Microsoft SQL desarrollará la tabla de forma gráfica. Se debe de tener en cuenta que los campos listados serán las columnas de la tabla, como se muestra en la figura 23.

Fig. 23 Tabla creada al compilar el programa

Una vez que se desarrolló la tabla Comunidad se continuó con el desarrollo de las tablas restantes que formarán parte de la base IPNBDAT. Después de la programación y compilación de cada una de las tablas se procedió a integrar cada una de ellas.

Campos

(46)

45

Para lo anterior, se debe de ubicar el programador en la instancia System Databases (Sistema de Base de datos) y con clic derecho Microsoft SQL desplegará un menú en el que aparece la opción de Restore Database (Restaurar la Base de Datos) y enseguida aparecerá una ventana la que contendrá cada una de la tablas programadas. Se selecciono todas las tablas y se dio clic en crear. El programa agrupará todas las tablas en la base de datos del proyecto (IPNBDAT), como se ilustra en la figura 24.

El siguiente paso es programar las relaciones entre cada una de la tablas. En el marco teórico se hizo hincapié en el manejo de los ID de datos, como fue en el caso del id_integrante, y se explicaron los conceptos de llave primaria y llave foránea. Es en esta parte de programación cuando se comprende la utilidad de los ID´s y cuando usarlos.

Antes de comenzar a describir el procedimiento para establecer las relaciones entre tablas es importante mencionar que las relaciones se realizan por dos razones, las cuales son por el diseño de la base y por la gestión de sus datos. Cuando se programan las relaciones entre las tablas se habla de una base de datos relacional. Al tener una base de datos relacional se puede obtener una consulta en tiempo real ya que la Base de Datos no tiene que pasar por cada uno de los campos para ubicar la consulta ya que los únicos campos que se van evaluando son los que fueron declarados con valores identificadores o ID´s de programación, esto permite que la consulta se haga de forma dinámica. La principal característica de estos ID es que son únicos para cada uno de los datos; es decir, se evita la redundancia de información. Se pueden tener distintos ID en cada base de datos.

(47)

46

(48)

47

A su vez los campos de las tablas que interactúen con la llave primaria recibirán el nombre de llave foránea, una tabla puede tener una o más llaves foráneas. Gráficamente una llave primaria aparece en color amarillo y la llave foránea en color gris, esto facilita al usuario que no está familiarizado con el aspecto de programación ubicar sus campos. Con fines prácticos solo se mostrará el código para programar una llave primaria y una foránea el formato de programación es similar para las demás llaves diferenciándose entre sí por la ubicación y campos que relacionen.

Primero se ubicó al campo id_integrante de la tabla Comunidad como el campo que interactua con las tablas Alumno, Profesor, Usuario y Empleado. Entonces se decidio programar este campo como una llave primaria. Para la programación se debe de especificar la Base de datos y la tabla de las que forma parte como se muestra en el siguiente código.

USE [IPNBDAT] GO

ALTER TABLE [dbo].[comunidad_ipn] ADD CONSTRAINT

[PK_comunidad_ipn] PRIMARY KEY CLUSTERED

(

[id_integrante] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,

SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF,

ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

(49)

48

Fig. 25 Llave primaria tabla comunidad_ipn

Una vez que se tiene la llave primaria se deben de programar las llaves foráneas que son los campos de las tablas que recibirán el valor del campo id_integrante de la tabla comunidad. En una base de datos relacional se tienen distintos tipos de relaciones, estos tipos se explicaron en el marco teórico. Para el campo id_integrante se tiene una relación de 1:N donde N=4 que es el número de tablas que tendrán relación con la llave primaria. Para programa una llave foránea se tiene el siguiente código.

USE [IPNBDAT] GO

ALTER TABLE [dbo].[alumno] WITH CHECK ADD CONSTRAINT

[FK_comunidad_ipn] FOREIGN KEY([id_alumno])

REFERENCES [dbo].[comunidad] ([id_integrante])

GO

ALTER TABLE [dbo].[alumno]

CHECK CONSTRAINT [FK_ipn_comunidad] GO

La lógica del código anterior funciona de la siguiente manera. Primero se selecciona la base IPNBDAT y las tablas que esta contiene. Enseguida se nombra a la tabla Alumno y se le dice que tome a la llave primaria de la tabla Comunidad como relación al campo id_alumno y que se nombre a esta relación como una llave foránea. La línea de programación que permite realizar lo anterior es:

ALTER TABLE [dbo].[alumno] WITH CHECK ADD CONSTRAINT [FK_comunidad_ipn] FOREIGN KEY([id_alumno])

(50)

49

Cuando se compila y si el programa no tiene ningún error se obtiene la tabla alumno con su llave foránea como se ilustra en la figura 26.

Fig. 26 Llave secundaria entabla alumno

El procedimiento anterior se realiza con cada una de las tablas y con cada llave primaria y foránea que incluyan. El objetivo es obtener una base de datos con las relaciones y atributos como se ve en la figura 27.

(51)

50

(52)

51

3.2. Diseño de la interfaz Gráfica

Una vez que se ha terminado la base de datos relacional es necesario desarrollar el medio de comunicación con el que los usuarios y los administradores interactuarán con el programa. La comunicación debe realizarse de forma natural y rápida permitiendo al usuario encontrar la función que desea realizar sin que requiera memorizar comandos ó procesos complejos. La distribución de los campos debe realizarse de forma clara y precisa sin que el usuario tenga que regresar al comando anterior para comprender lo que sucedió.

Finalmente la interfaz gráfica debe de ser del agrado visual de toda persona que la vea sin exagerar en colores y figuras. Cabe aclarar que la base de datos puede ser modificada y administrada desde Microsoft SQL Server 2010 en donde se pueden agregar campos, datos, tablas y columnas. Lo anterior no es aconsejable porque la base de datos representa el elemento más importante del sistema por lo que se debe de garantizar que únicamente las personas autorizadas y con el conocimiento adecuado puedan tener contacto directo con el programa y evitar el riesgo de modificar la base ó afectar la relación existente entre cada elemento. La interfaz se desarrollará en el programa Visual Studio 2010 y considerará dos opciones: la administración de datos y el control de acceso (figura 28).

Fig. 28 Contenido de la interfaz grafica

(53)

52

3.2.1. Ambiente de programación.

El ambiente de programación en Visual Studio permite desarrollar la interfaz gráfica de una forma muy amigable ya que al ser un programa de Microsoft cuenta con características parecidas a las de Windows. Cuando se programa en Visual se cuenta con un asistente de programación que de forma automática muestra las correcciones de sintaxis del código de programación y al teclear una letra muestra todas las posibles opciones de comandos que comienzan con ella, lo que agiliza la programación al no tener que memorizar exactamente los comandos.

Al comenzar se debe seleccionar el tipo de proyecto que se desarrollará en Visual Basic, para nuestra aplicación se seleccionó la opción de Windows Forms ya que en ella se encuentran los elementos gráficos para diseñar la interfaz como botones, textos, imágenes, etc. La figura 29 muestra la selección de la clase del proyecto para la interfaz.

Fig. 29 Opciones de proyectos que se pueden generar en Visual Studio

(54)

53

Para el control de acceso se contará con una ventana por cada tabla de la base IPNBDAT; es decir, por cada tabla se tendrá una Forma y en ella se programarán las distintas funciones o consultas que se podrán realizar. Cada vez que se agregue una ventana a la interfaz se debe de agregar una Forma, la cual se agrega directamente del botón de Proyecto que se encuentra en la barra de tareas. Cuando se agrega una forma esta aparecerá en el explorador de soluciones que se encuentra en la parte derecha de la pantalla como se muestra en la figura 30. Cada forma se programa agregando los elementos por los que estará compuesta y posteriormente se desarrolla el código.

Fig. 30 Explorador de soluciones

Para programar una Forma lo primero que se debe de hacer es seleccionar los elementos que contendrá y nombrarlos de acuerdo a la función que realizarán en la interfaz. Los elementos que contenga la Forma tendrán propiedades y eventos.

(55)

54

Las propiedades son las características que tienen los elementos como nombre, color y tamaño. Las propiedades pueden relacionar imágenes que interactúen con cada uno de los elementos para que funcionen como íconos, lo que permite construir un ambiente más gráfico. Los eventos son las funciones que se realizarán cuando los elementos sean activados por el usuario.

Las propiedades y eventos aparecen en la parte inferior derecha de la ventana de Visual Basic y se pueden modificar directamente desde ahí, como se ilustra en la figura 31.

Fig. 31 Menú de propiedades

Menú de Propiedades

(56)

55

Después de seleccionar las propiedades y eventos se puede comenzar a programar la Forma. Para programarla se da doble clic sobre la nueva ventana lo que abrirá el programa principal de la Forma. Cada elemento agregado a la Forma aparecerá como un sub programa en donde se desarrollarán las funciones y se establecerán los valores que aparecerán en la interfaz. Una vez desarrollada la programación se compila. Si el programa tiene algún error aparecerá un mensaje que indique donde y de qué tipo es. Si el programa no tiene errores aparecerán las ventanas tal y como el usuario las verá cuando use el programa y se podrá interactuar con cada una de sus funciones.

3.2.2. Comunicación de la Interfaz Gráfica con la Base Datos.

Para programar en Visual Studio se debe de abrir un nuevo proyecto y establecer de donde se importarán los datos que se manejarán. Para lo anterior se debe de programar una conexión entre la interfaz de Visual Studio y en este caso la Base de datos IPNBDAT que se desarrolló en Microsoft SQL Server. Para programar es necesario comprender lo que es una clase, una clase es el resultado de enfocar la programación a los datos más que a las funciones. Para realizar la conexión se declara una clase pública, con pública se refiere a que es accesible desde cualquier parte del programa. El siguiente código muestra el código de la clase pública.

(57)

56

que estas variables pueden usarse en las funciones que pertenecen a la clase. La variable Conexión se declara como una conexión a SQL y las demás variables como cadenas de caracteres. Para las variables que se declaran como cadenas se genera una subclase dentro de la clase ConexionBD esto con el propósito de convertir a las cadenas de caracteres en un valor y facilitar el manejo de datos durante la compilación del programa, lo anterior se realiza con el comando ByVal dentro de la clase Sub New. Estas nuevas variables se declaran con el mismo nombre de las variables privadas diferenciándose entre ellas por la letra g en el comienzo de su sintaxis, como se muestra en el siguiente código.

Posteriormente de que se declaran las variables por valor se debe de establecer cuál será el valor que tomen y esto se logra mediante el desarrollo de una subclase por cada una de las variables. En esta clase se establece que el valor de la cadena de la variable privada sea tomada como valor, como se muestra en el comando Set (ByVal value) del siguiente código.

(58)

57

conexión. El armador será declarado como una variable Dim dado a que permite declarar el tipo de estructura o interfaz que se ejecutará la variable, para la interfaz del proyecto la conexión se realizará con el Sytem.Data.SqlClient como se muestra en el siguiente código.

Finalmente con el constructor declarado se puede conectar o desconectar la interfaz gráfica de la base de datos de acuerdo a las necesidades del usuario. La interfaz desarrollada en Visual al estar conectada con la base de datos de SQL Server estará agregando y modificando los datos introducidos por el usuario administrador directamente a la base IPNBDAT. La información permanecerá almacenada en la memoria de la computadora y al cerrar la interfaz gráfica no se perderán las actualizaciones o cambios realizados durante esa sesión de trabajo. Lo anterior representa una gran ventaja en la industria porque genera un registro histórico y asegura el manejo correcto de datos.

3.2.3. Interfaz Gráfica para la administración de la Base de Datos IPNBDAT

a) Lógica de programación

(59)

58

la lógica de programación empleada para resolver un problema mediante el uso de figuras geométricas y líneas, son empleados cuando se requiere comprender al proceso para poderlo automatizar.

En estos diagramas se representan con rectángulos las actividades que se realizan, con cuadrados las etapas del programa, con una pequeña línea cruzada las condiciones para comenzar una actividad y un cuadrado enmarcado para marcar el inicio del programa.

Con fines prácticos solo se mostrará el desarrollo de la programación para las ventanas de las tablas de Direcciones y Fotos, con sus respectivos diagramas de transición. Dado a que la metodología es similar para las demás ventanas diferenciándose entre sí por los campos, eventos y propiedades por las que estén integradas el lector solo tendrá que seguir la metodología y pasos para poder diseñar su propia ventana.

(60)

59

usuario. Finalmente el usuario verificará los resultados en pantalla y el ciclo volverá a comenzar.

Si la opción que se selecciono después de abrir la ventana de Direcciones fue la de Datos el usuario administrador podrá escoger una de las dos funciones que pertenecen a la opción que son: Agregar y Actualizar (referido a recuperar los últimos valores introducidos).

Si los valores no corresponden a los deseados se procede a la siguiente etapa en la que la acción a realizar es eliminar el campo y el usuario podrá verificar los resultados en pantalla y el ciclo volverá a comenzar. En la figura 32 se muestra el diagrama del procedimiento descrito.

Fig. 32 Diagrama lógico de la ventana de direcciones

(61)

60

Para la ventana de Fotos se agrega una tercera opción que corresponde a la Imagen. Las opciones de Archivos y de Datos corresponden a los descritos anteriormente aunque con algunas excepciones. La primera etapa del diagrama marca el comienzo de la función, posteriormente el usuario podrá seleccionar alguna opción para comenzar a trabajar, para este ejemplo se seleccionará la opción de Foto. La siguiente etapa corresponde a la selección de la función a realizar, que pueden ser: Examinar o Limpiar.

Cualquiera de las funciones anteriores generará un registro en la base de datos, la cual podrá ser verificada por el usuario administrador en pantalla. El ciclo volverá a comenzar una vez que se haya finalizado la consulta. La lógica del programa se muestra en la figura 33.

Fig. 33 Diagrama lógico de la ventana de fotografía

Figure

Fig. 3 Elementos de control de acceso 1
Fig. 4 Diagrama de flujo del sistema de control de acceso
Fig. 6 SQL lenguaje gestor de bases de datos 11
Fig. 10 Ejemplo diagrama entidad-relación
+7

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

• El monumento debió ser visible desde la ciudad dada la ubicación general en El Espinillo, un Mo- numento Conmemorativo y planteado en paralelo a otro en la barranca, debió

La relevancia de esta investigación se concentra en la importancia que tiene en la práctica un Sistema de control y monitoreo del acceso para la Universidad de la Ciencias

De todas formas, en este caso se trata fundamentalmente de una transmisión vía radio, pues es así como se distribuye la señal que previamente ha producido la emisora (captar la

Descripción: Este método recibe el nombre de un grupo y devuelve una instancia de la clase Grupo con todos los datos que posee en la base de datos.

Para la implantación del sistema de Control Interno Informático, se tienen que definir algunos elementos, como son la gestión de sistema de información: políticas, pautas y