Repositorio Institucional de la Universidad Veracruzana

Anuncio
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
CAMPUS COATZACOALCOS
“SISTEMA DE CONTROL DE ACCESO Y DE SERVICIOS DEL
CENTRO DE CÓMPUTO DE SISTEMAS COMPUTACIONALES
ADMINISTRATIVOS BAJO EL ENFOQUE DE PROGRAMACIÓN”
TESINA
QUE PARA ACREDITAR
LA EXPERIENCIA RECEPCIONAL
DEL PROGRAMA EDUCATIVO DE:
LICENCIADO EN SISTEMAS COMPUTACIONALES
ADMINISTRATIVOS
PRESENTA
SOFÍA LUIS LÓPEZ
DIRECTOR DE TRABAJO RECEPCIONAL:
MTRA. PATRICIA MARTÍNEZ MORENO
COATZACOALCOS VER., A 3 DE ENERO DE 2012
DEDICATORIA
A Dios, a mis padres Miguel y Catalina a quienes amo infinitamente, dedico la
siguiente tesina por todo el apoyo incondicional que me han brindado, por amarme,
y confiar en mí siempre.
AGRADECIMIENTOS
Agradezco a Dios por todas las cosas maravillosas que me ha regalado .A mis
padres, hermanos, por todo el amor y apoyo que he recibido de ellos. A mis maestros
y compañeros de carrera por los conocimientos y apoyo motivación y cariño que me
proporcionaron.
A la maestra Patricia Martínez Moreno asesor de tesina por la paciencia el apoyo, y
conocimientos brindado.
¡MUCHAS GRACIAS!
ÍNDICE
CAPÍTULO I ............................................................................................................................................... 7
INTRODUCCIÓN ........................................................................................................................................ 7
1.1 PLANTEAMIENTO DEL PROBLEMA ..................................................................................................... 9
1.2 JUSTIFICACIÓN.................................................................................................................................. 10
1.3 OBJETIVO GENERAL .......................................................................................................................... 11
1.4 OBJETIVOS ESPECÍFICOS .................................................................................................................. 11
1.5 LIMITACIONES .................................................................................................................................. 12
1.6 DELIMITACIONES .............................................................................................................................. 12
CAPÍTULO II ............................................................................................................................................ 12
2.- SISTEMA DE CONTROL DE ACCESO Y DE SERVICIOS DEL CENTRO DE CÓMPUTO DE SISTEMAS
COMPUTACIONALES ADMINISTRATIVOS BAJO EL ENFOQUE DE PROGRAMACIÓN. ............................. 14
INTRODUCCIÓN ...................................................................................................................................... 14
2.1 SISTEMAS DE INFORMACIÓN ........................................................................................................... 15
2.1.1 COMPONENTES DE UN SISTEMA DE INFORMACIÓN ................................................................ 16
2.1.2 TIPOS DE SISTEMAS ................................................................................................................... 17
2.1.2.1 Sistemas de Procesamiento de Transacciones................................................................... 17
2.1.2.2 Sistemas de automatización de la oficina y sistemas de trabajo del conocimiento .......... 17
2.1.2.3 Sistemas de información gerencial .................................................................................... 18
2.1.2.4 Sistemas de apoyo a la toma de decisiones ....................................................................... 18
2.1.2.5 Sistemas expertos e inteligencia artificial .......................................................................... 18
2.1.2.6 Sistemas de apoyo a ejecutivos ......................................................................................... 18
2.2 CICLO DE VIDA DEL DESARROLLO DE SISTEMAS (CVDS) .................................................................. 19
2.2.1 Identificación de problemas, oportunidades y objetivos.......................................................... 20
2.2.2 Determinación de los requerimientos de información ............................................................. 20
2.2.3 Análisis de las necesidades del sistema .................................................................................... 21
2.2.4 Diseño del sistema recomendado ............................................................................................. 21
2.2.5 Desarrollo y documentación del software ................................................................................ 22
2.2.6 Prueba y mantenimiento del sistema ....................................................................................... 22
2.2.7 Implementación y evaluación del sistema ................................................................................ 23
2.3 PROGRAMACIÓN ............................................................................................................................. 23
2.3.1 Historia de la programación ...................................................................................................... 23
2.3.2 Definiciones .............................................................................................................................. 24
2.3.3 Objetivos de la programación ................................................................................................... 24
2.4 ESTRUCTURA GENERAL DE UN PROGRAMA.................................................................................... 26
2.4.1 Partes principales de un programa ........................................................................................... 26
2.4.2 Clasificación de las instrucciones ............................................................................................. 27
2.5 ELEMENTOS AUXILIARES DE UN PROGRAMA .................................................................................. 28
2.5.1 Contadores ................................................................................................................................ 28
2.5.2 Acumuladores ........................................................................................................................... 29
2.6 ERRORES ........................................................................................................................................... 29
2.7 CALIDAD DE LOS PROGRAMAS ......................................................................................................... 30
2.8 TIPOS DE PROGRAMAS ..................................................................................................................... 31
2.9 LENGUAJES DE PROGRAMACION .................................................................................................... 32
2.9.1 Evolución de los Lenguajes de Programación ........................................................................... 32
2.9.2 Clasificación de los Lenguajes de Programación ...................................................................... 33
2.9.2.1 Según su parecido con el lenguaje natural ........................................................................ 33
2.9.2.2 Según el paradigma de programación ............................................................................... 34
2.10 HERRAMIENTA NECESARIA ............................................................................................................ 35
2.10.1 Microsoft Visual Studio 2008 Professional Edition ................................................................. 35
2.10.1.2 Antecedentes .................................................................................................................. 36
2.10.1.3 .NET FRAMEWORK ........................................................................................................... 38
2.10.3 .NET FRAMEWORK 3.5 ........................................................................................................ 38
2.11 BASE DE DATOS .............................................................................................................................. 39
2.11.1 Componentes de SQL ............................................................................................................. 39
2.11.2 Sistema Gestor de base de datos (SGBD) ............................................................................... 43
2.11.3 Objetivos de un SGBD ............................................................................................................. 43
2.11.4 SQL server................................................................................................................................ 44
Desventajas ........................................................................................................................................ 45
2.12 EJEMPLOS DE CODIFICACIÓN ........................................................................................................ 46
CAPÍTULO III ......................................................................................................................................... 116
3.-CONCLUSIONES Y RECOMENDACIONES............................................................................................. 68
INTRODUCCIÓN .................................................................................................................................. 68
3.1 CONCLUSIONES ............................................................................................................................ 69
3.2 RECOMENDACIONES .................................................................................................................... 70
3.3 PROPUESTAS ................................................................................................................................ 71
BIBLIOGRAFÍA ......................................................................................................................................... 72
GLOSARIO ............................................................................................................................................... 74
ANEXOS .................................................................................................................................................. 76
ÍNDICE DE DIAGRAMAS
Diagrama 1. Modelo general de un sistema) .................................................................................. 15
Diagrama 2: Las 7 fases del ciclo de vida del desarrollo de sistemas ........................................ 19
ÍNDICE DE TABLAS
Tabla 1: Comandos DLL ................................................................................................................... 40
Tabla 2: Comandos DML .................................................................................................................. 40
Tabla 3: Cláusulas ............................................................................................................................... 41
Tabla 4: Operadores Lógicos ............................................................................................................ 41
Tabla 5: Operadores de Comparación ............................................................................................. 42
Tabla 6: Funciones de Agregado ...................................................................................................... 42
CAPÍTULO I
INTRODUCCIÓN
El presente capitulo describe de manera detallada la problemática que enfrenta el
Centro de Cómputo de la Licenciatura de Sistemas Computacionales Administrativos
(LSCA) de la Universidad Veracruzana campus Coatzacoalcos, en cuanto al control
de servicios como son: el préstamo del equipo e impresiones que se le otorgaran a
los estudiantes de la carrera de Sistemas Computacionales Administrativos (LSCA).
Con la finalidad de fortalecer la formación de los estudiantes de Sistemas
Computacionales Administrativos y de evitar la problemática antes mencionada,
sirvió como base para plantear cuatro elementos fundamentales como son: la
justificación, objetivo general, delimitaciones y limitaciones que van enfocados a la
realización e implementación de un sistema que lleve el control de acceso y de
servicios, así como otras actividades que realizan los prestadores de servicio para el
buen funcionamiento de los equipos de cómputo que se ofrecen en el Centro de
Cómputo LSCA
En el capítulo se discuten estos elementos, para tener una perspectiva previa
de ¿Que se requiere?, ¿Con que fin se va a realizar?, ¿Qué beneficios se va a
obtener?, ¿Qué se quiere lograr?, y ¿Qué limitaciones puede generarse en el
sistema?,
para después de obtener este análisis pasar a la construcción e
implementación del sistema.
1.1 PLANTEAMIENTO DEL PROBLEMA
El Centro de Cómputo LSCA tiene la importante misión de apoyar el desarrollo
académico, para que los alumnos puedan ampliar y practicar sus conocimientos para
que se complementen con el uso de la tecnología informática.
La construcción de este Centro de Cómputo es de gran beneficio tanto para
profesores de sistemas que imparten clases, como para los estudiantes de Sistemas
Computacionales Administrativos (LSCA), ya que es donde realizar sus prácticas de
laboratorio. También se brindan servicios de préstamo de equipo e impresiones a
dichos estudiantes; es por tal motivo que se carece de un software para elaborar el
registro de las actividades que los estudiantes llevan a cabo en dicho lugar, por lo
que la información que se genera, no se encuentra disponible en el momento en que
se requiere, lo que implica perder información y tiempo, lo cual no permite actualizar
los datos que se solicita.
Actualmente el registro de los alumnos que utilizan algún equipo de cómputo,
se realizan por medio de una hoja de cálculo (Excel), en la cual se anota el nombre
del estudiante, la hora ingreso y salida, entre otros datos, así como el monto total a
pagar por las impresiones realizadas, pero es una actividad inquietada para los
encargados del registro, llenar todos los datos a la hora de que el alumno solicite un
equipo o realice alguna impresión.
Por tal motivo aprovechando la tecnología que brinda Visual Basic Studio
2008, se ha decidido desarrollar un sistema para el control del servicios que presta
del Centro de Cómputo LSCA, para poder cubrir las necesidades que demanda este
sitio tan importante para los estudiantes.
Este sistema ayudará a mejorar sus procesos de registro y mantener un
control de los servicios de impresión y préstamo de equipo que los estudiantes
soliciten, mientras que los maestros podrán reservar el centro de cómputo para
impartir su experiencia educativa. También contará con un historial para generar
reportes que ayudaran a mantener el centro de cómputo en óptimas condiciones.
9
1.2 JUSTIFICACIÓN
Ha aumentado el número de estudiantes de la carrera de LSCA y debido a la
construcción del Centro de Cómputo LSCA en donde actualmente se imparten clases
y se brindan servicios de cómputo, los encargados de dicho centro de cómputo se
ven con la necesidad de requerir un software en donde realicen los registros de los
estudiantes y lleven el control de los servicios que se prestan.
Es así que se llegó a la conclusión de desarrollar e implementar un sistema que
lleve el control de acceso y de servicios que se brindan, el cual contara con los
siguientes beneficios:
a) Control de acceso de los registros de alumnos, el cual sea capaz de procesar
la información almacenada para generar los reportes de las transacciones
realizadas durante el día, además de mostrar de manera rápida y precisa los
reportes de las rentas de equipos de cómputo.
b) Tener un control de los usuarios (prestadores de servicios), los cuales llevaran
el registro de los estudiantes y de las actividades que realicen el en centro de
cómputo.
c) Se tendrá mayor confiabilidad, reducirá la carga de trabajo del usuario del
sistema, se agilizar el proceso de recopilación de información y disminuirá el
tiempo en la realización del usuario del sistema.
d) Con esta herramienta la productividad informática obtendrá un mejor
aprovechamiento en los recursos tecnológicos y desarrollo de nuevas
expectativas para el aprendizaje de los estudiantes.
e) Mejora de la comunicación y calidad de la información
f) Prevención de problemas en cuanto a los equipos de cómputo, ya que se
desarrollara un apartado enfocado a visualizar que equipos de cómputo están
en mal estado, cuales requieren mantenimiento o algún programa de
instalación que los profesores requieran en los equipos.
10
Para este sistema se ha planteado un conjunto de métodos para el análisis,
desarrollo, diseño e implementación del sistema, el cual va desde el desarrollo del
análisis por UML y el desarrollo del sistema por el programa Visual Basic Studio
2008.
Con ese sistema se obtendrá una buena organización, eficiencia y será una
herramienta fácil y útil para los usuarios que la utilicen.
1.3 OBJETIVO GENERAL
Desarrollar un sistema para el control de acceso y de servicios en las etapas de
análisis, desarrollo e implementación para el centro de cómputo de sistemas
computacionales administrativos, con el fin de automatizar las diferentes tareas que
se realizan.
1.4 OBJETIVOS ESPECÍFICOS
 Realizar el análisis del sistema bajo el lenguaje de modelado unificado (UML),
que permitirá un análisis completo, detallado y fácil de comprender.
 Desarrollar y diseñar el sistema en una plataforma flexible, adecuada y fácil
de realizar, para lograr un buen sistema, utilizando los recursos con los que
cuenta la Universidad Veracruzana.
 Documentar e Implantar el sistema de control de acceso y de servicios, con el
fin de lograr las expectativas deseadas y lograr cubrir las necesidades del
centro de cómputo de sistemas computacionales administrativos.
11
1.5 LIMITACIONES
A) Se pretende desarrollar el sistema en un tiempo que comprende a los
cuatro meses en sus diferentes etapas.
B) La investigación precisa la metodología del desarrollo del sistema así como
su estructura y documentación.
C) Este trabajo se basara en el desarrollo del sistema en sus tres etapas, la
de análisis, desarrollo e implantación, cada etapa será desarrollada y
revisada de manera específica, para poder obtener los resultados
deseados.
1.6 DELIMITACIONES
A) Se utilizara todos los recursos con los que cuenta la universidad, para
poder realizar el sistema y este pueda ser utilizado por los usuarios.
B) Los conocimientos aplicados
serán todos los. Adquiridos en las
experiencias educativas cursadas a lo largo de la carrera LSCA.
12
CAPÍTULO II
2.- SISTEMA DE CONTROL DE ACCESO Y DE SERVICIOS DEL
CENTRO DE CÓMPUTO DE SISTEMAS COMPUTACIONALES
ADMINISTRATIVOS BAJO EL ENFOQUE DE PROGRAMACIÓN.
INTRODUCCIÓN
Hoy en día los sistemas de información son muy importantes dentro de las
organizaciones ya que permiten tener organizada toda la información que se genera
a diario en los centros de trabajo, sin embargo para que el sistema desarrollado
cumpla con su propósito es necesario presentarle al usuario final un sistema claro y
que presente los datos ordenados de tal manera que el usuario puedan interactuar
fácilmente con el sistema.
Por tal motivo en este capítulo se muestra el prototipo de la interfaz gráfica de
usuario del sistema
Sistema de control de acceso y de servicios del centro de
cómputo de Sistemas Computacionales Administrativos como requisito para poder
comprender a través de la interfaz gráfica las necesidades de los usuarios finales y
así poder obtener un sistema capaz de cumplir con los requerimientos que el usuario
final demande.
Para llevar a cabo la codificación del software la aplicación que se utilizó es
la aplicación Visual Studio 2008, que también se contempla en este capítulo,
mostrando la evolución de los lenguajes de programación, así como también una
breve historia sobre visual Basic Studio que es la herramienta que se utilizó para el
desarrollo del sistema ya mencionado. Por último se muestra el condigo del sistema
desarrollado.
2.1 SISTEMAS DE INFORMACIÓN
De acuerdo a la definición de Vicenç Fernández Un sistema de información es un
conjunto de elementos que inteccionan entre sí para alcanzar un objetivo común,
pueden representarse a través de un modelo que integra los cinco bloques básicos
como los elementos entradas, elementos de salidas, sección de transformación
mecanismos de control y objetivos.1
Objetivos
Mecanismos de
control
Entradas
Transformación
Salidas
Diagrama 1. Modelo general de un sistema (Elaboración propia)
Como se muestra en el diagrama 1 los recursos acceden al sistema a través
de las entradas, son transformados, y a través del mecanismo de control se verifica
que se lleve a cabo correctamente la transformación para obtener una salida de
acuerdo al objetivo establecido.
1
Desarrollo de sistemas de información una metodología basada en el modelado Vicenç Fernández,
2006 pág.11
15
2.1.1 COMPONENTES DE UN SISTEMA DE INFORMACIÓN
Un sistema de información requiere de la información que el usuario le provee para
llevar a cabo las actividades de entrada, proceso, salida, almacenamiento y control
de datos generando información para satisfacer las necesidades de los usuarios.
Los componentes de un sistema de información son:
Personas: Son todos individuos que están involucrados en el sistema, usuarios
finales, profesionales, y directivos.
Los profesionales son las personas que se encargan de analizar
el sistema y
proponer las modificaciones pertinentes al sistema, los desarrolladores son los
encargados de codificar el sistema con base en los datos que el analista le entrega,
los administradores del sistema controlan el funcionamiento del sistema para verificar
que el sistema opere de manera adecuada, y los capacitadores son los encargados
de apoyar a los usuarios para que utilicen correctamente el software.
Hardware: Son los equipos y dispositivos que conforman la plataforma física,
mediante el cual el sistema de información es operado.
Software: Son la parte lógica del sistema de información.es decir las instrucciones
que lo conforman.
Datos: es la unidad de información que es almacenada y son obtenidas a través de
las actividades que la organización realiza. Los datos son almacenados en una base
de datos y son recuperados cuando el usuario lo solicite para apoyar en la toma de
decisiones.
16
2.1.2 TIPOS DE SISTEMAS
2.1.2.1 Sistemas de Procesamiento de Transacciones
Los sistemas de procesamiento de transacciones (Transaction Processing Systems,
TPS) son sistemas de información computarizada creados para procesar volúmenes
de datos relacionados con transacciones rutinarias de negocios, como las nóminas y
los inventarios.
Un TPS elimina el fastidio que representa la realización de transacciones
operativas innecesarias y reduce el tiempo que una vez fue requerido para realizarlas
manualmente, sin embargo aún es necesario que los usuarios introduzcan datos en
los sistemas computarizados.
2.1.2.2 Sistemas de automatización de la oficina y sistemas de trabajo
del conocimiento
Existen dos clases de sistemas en el nivel del conocimiento de una organización. Los
sistemas de automatización de la oficina [Office Automation Systems, OAS] apoyan a
los trabajadores de datos, sin esperar que generen nuevos conocimientos, puesto
que solo transforman la información y permiten compartirlos con las personas que lo
soliciten dentro de la organización y fuera de esta.
Como Ejemplos comunes de un OAS están el procesamiento de texto, las
hojas de cálculo, la autoedición, la calendarización electrónica y las comunicaciones
mediante correo de voz, correo electrónico y videoconferencia.
Los sistemas de trabajo del conocimiento (Knowledge Work Systems, KWS)
sirven de apoyo a los trabajadores profesionales, como los científicos, ingenieros y
médicos, en sus esfuerzos de creación de nuevo conocimiento permitiéndoles
compartir los nuevos conocimientos en la sociedad.
17
2.1.2.3 Sistemas de información gerencial
Los sistemas de información gerencial ( Management Information Systems, MIS)
tiene como propósito contribuir a la correcta interacción entre los usuarios y las
computadoras, apoyando a las organizaciones. Para acceder a la información, los
usuarios de estos sistemas acceden a una base de datos común, y producen
información importante para la gerencia al momento de tomar decisiones.
2.1.2.4 Sistemas de apoyo a la toma de decisiones
Los sistemas de apoyo a la toma de decisiones (Decisión Support Systems, DSS)
constituyen una clase de alto nivel de sistemas de información computarizada. Los
DSS al igual que los sistemas de información gerencial dependen de una base de
datos para obtener los datos necesarios para trabajar.
Sin embargo, difieren en que el DSS pone énfasis en el apoyo a la toma de
decisiones en todas sus fases, aunque al final la decisión definitiva
es
responsabilidad exclusiva de las personas encargadas de tomar decisiones.
2.1.2.5 Sistemas expertos e inteligencia artificial
La inteligencia artificial ( Artificial Intelligence, AI) se puede considerar como el
campo general para los sistemas expertos. La motivación principal de la AI ha sido
desarrollar máquinas que tengan un comportamiento inteligente
. Dos de las líneas de investigación de la AI son la comprensión del lenguaje
natural y el análisis de la capacidad para razonar un problema hasta su conclusión
lógica. Los sistemas expertos utilizan las técnicas de razonamiento de la AI para
solucionar los problemas que les plantean los usuarios de negocios (y de otras
áreas)
2.1.2.6 Sistemas de apoyo a ejecutivos
Las computadoras son de gran utilidad para los ejecutivos, le permiten mostrar
información relacionadas con el entorno externo a través de gráficas y de
comunicaciones, que en la mayoría de los casos se localizan en el área de juntas u
oficinas.
18
Gran parte de esta información son generados por los sistemas de apoyo a
ejecutivos (Executive Support Systems, ESS) ayudan a estos últimos a organizar sus
actividades, tan solo brindan apoyo a los ejecutivos, Los ESS amplían y apoyan las
capacidades de los ejecutivos al darles la posibilidad de comprender sus entornos.
2.2 CICLO DE VIDA DEL DESARROLLO DE SISTEMAS
(CVDS)
El CVDS es un enfoque para el desarrollo de sistemas de información Las siete
fases que lo integran son utilizadas pero la gran mayoría de los analistas de sistemas
a pesar de la ausencia de un estándar que defina el número exacto de fases que
debería contener el CVDS.2 A continuación se explican las siete fases del diagrama 2
que comprende el ciclo de vida.
Diagrama 2: Las 7 fases del ciclo de vida del desarrollo de sistemas (Elaboración propia)
2
Kendall E., Kenneth & Kendall E., Julie (2005). Análisis y diseño de sistemas. Pearson Education Pág. 10
19
2.2.1 Identificación de problemas, oportunidades y objetivos
En esta fase del ciclo de vida del desarrollo de sistemas, el analista se ocupa de
identificar problemas, oportunidades y objetivos. En esta etapa
el analista debe
concentrar toda su atención ya que el buen resultado del proyecto, depende del
éxito obtenido en esta primera etapa. El trabajo que realiza el analista en esta fase
es observar de manera objetiva lo que ocurre en el negocio, Determinar que
problemas son los que ocurren en repetidas ocasiones, visualiza también las
oportunidades que considera importantes y
que proporcionarían ventajas
competitivas a la organización al implantar un sistema de información .
La identificación de objetivos también es una parte importante de esta primera
fase. En primer lugar, el analista debe averiguar lo que la empresa trata de
conseguir. Después, podrá determinar si al contar con un sistema de información la
organización alcanzara sus objetivos aplicándolas a problemas u oportunidades
específicos. Los usuarios, los analistas y los administradores de sistemas que
coordinan el proyecto son los involucrados en la primera fase.
Las actividades de esta fase consisten en realizar entrevistas
a los
encargados de coordinar a los usuarios, sintetizar el conocimiento obtenido, estimar
el alcance del proyecto y documentar los resultados. El resultado de esta fase es un
informe de viabilidad que incluye una definición del problema y un resumen de los
objetivos. Posterior a esto, quien decide si se lleva a cabo o no el proyecto es la
administración.
2.2.2 Determinación de los requerimientos de información
La siguiente fase que enfrenta el analista es determinar qué información es la que se
requiere. Entre las herramientas que se utilizan para determinar los requerimientos
de información se encuentran métodos interactivos como las entrevistas, los
muestreos.
20
La investigación de datos impresos y la aplicación de cuestionarios; utiliza
también métodos que no interfieren con el usuario como observar el comportamiento
de las personas que laboran en el área de trabajo y de los encargados de tomar
decisiones al igual que métodos como la elaboración de prototipos.
En esta fase, el analista se esfuerza por comprender la información que
necesitan los usuarios para llevar a cabo sus actividades ,Es necesario que el
analista de sistemas mantenga buena comunicación con los usuarios ,para conocer
todos los detalles y funciones del sistema actual y determinar si es necesario llevar a
cabo una reingeniería o mejorar los procedimientos para que al finalizar la fase el
analista cuente con toda la información completa sobre el funcionamiento de la
organización, las personas, los objetivos, los datos y todos los proceso implicados.
2.2.3 Análisis de las necesidades del sistema
La siguiente fase al que se enfrenta el analista de sistemas es el de análisis de las
necesidades del sistema En esta fase el analista se
apoya también en las
herramientas y técnicas especiales auxilian Una de estas herramientas es el uso de
diagramas de flujo de datos, el analista grafica las entradas, los procesos y las
salidas de las funciones de la organización. Para el análisis del sistema del centro de
cómputo LSCA se utilizó el lenguaje unificado de modelado (UML)
2.2.4 Diseño del sistema recomendado
En esta fase de diseño del ciclo de vida del desarrollo de sistemas, el analista utiliza
la información. Que obtuvo en las primeras fases para realizar el diseño lógico del
sistema de información. El analista plantea procedimientos precisos para la captura
de datos que aseguran que los datos que ingresen al sistema de información sean
correctos. Además, el analista facilita la entrada eficiente de datos al sistema de
información mediante técnicas adecuadas para el diseño de formularios y pantallas.
La interfaz de usuario forma parte del diseño lógico del sistema de
información. Para que el usuario interactúe con el sistema es necesario diseñar
21
correctamente La interfaz, de esta manera el usuario aprovechará las ventajas de
contar con un sistema de información en su área de trabajo.
En esta fase se diseña también la base de datos que almacenan los datos
que son generados por el sistema y son indispensables para la tomar las decisiones
en la organización. Una base de datos bien organizada es la base de un sistema de
información eficiente.
2.2.5 Desarrollo y documentación del software
En esta fase el analista o analistas y los programadores se encuentran en constante
comunicación a través de herramientas como
diagramas de estructura, los
diagramas de Nassi-Shneiderman y el pseudocódigo. El analista utiliza más de una
de estas herramientas para comunicarle al programador los requisitos que el
software debe contener.
Otra de las actividades del analista en esta fase es la documentación, ahora
la comunicación constante se da con el usuario, para desarrollar manuales de
procedimientos, ayuda en línea y sitios Web que incluyan respuestas a preguntas
frecuentes (FAQ, Frequently Asked Questions) en archivos "Léame" que se
integrarán en el nuevo software. La documentación es importante para que el usuario
final, resuelva sus dudas con respecto al software, y también para dale el uso
adecuado al sistema.
2.2.6 Prueba y mantenimiento del sistema
Al finalizar la codificación del sistema es necesario realizar pruebas para verificar el
funcionamiento del sistema, para ello se utilizan datos de muestra para determinar si
el sistema realiza los procesos adecuadamente, posteriormente se utilizan datos
reales para corroborar el buen funcionamiento, ya que es menos costoso verificar el
sistema y corregir errores antes de entregarlo al usuarios finales.
22
2.2.7 Implementación y evaluación del sistema
En la última fase del CVDS, se capacita a los usuarios en el manejo del sistema, el
fabricante imparte capacitación sobre el sistema y la responsabilidad de procurar y
supervisar esta es del analista de sistemas, así como también el supervisar el
cambio del antiguo sistema al nuevo, para evitar problemas con el software.
Para conocer el buen funcionamiento del sistema es necesario que el sistema sea
utilizado realmente por el usuario final.
2.3 PROGRAMACIÓN
La programación se ha convertido en una actividad muy importante en la vida diaria,
a través de ella podemos obtener programas que permiten realizar tareas de manera
eficaz y eficiente, en la actualidad podemos observar que la programación se aplica
en múltiples aparatos como electrodomésticos, robots entre otros. La programación
intenta resolver ciertos problemas que nos surgen todos los días basándose en una
metodología.
2.3.1 Historia de la programación
Para crear un programa, y que la computadora interprete y ejecute las instrucciones
escritas en él, debe usarse un Lenguaje de programación. En sus inicios las
computadoras interpretaban sólo instrucciones en un lenguaje específico, del más
bajo nivel, conocido como código máquina, siendo éste excesivamente complicado
para programar. De hecho sólo consiste en cadenas de números 1 y 0 (Sistema
binario).
Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el
área decidieron remplazar las instrucciones, secuencias de unos y ceros, por
palabras o letras provenientes del inglés; codificándolas así y creando un lenguaje de
mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo,
para sumar se usa la letra A de la palabra inglesa add (sumar).
23
En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo
en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar
y entender que secuencias de números binarios. A medida que la complejidad de las
tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de
un método sencillo para programar.
Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial
como multiplicar dos números puede necesitar un conjunto de instrucciones en
lenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una. Una vez
que se termina de escribir un programa, sea en ensamblador o en un lenguaje de
alto nivel, es necesario compilarlo, es decir, traducirlo a lenguaje máquina.
2.3.2 Definiciones

Un programa de computadora es un conjunto de instrucciones u órdenes
dadas a la máquina que producirán la ejecución de una determinada tarea. A
la persona que escribe programas se le denomina Programador, al proceso de
escribir programas se denomina Programación.

En informática, la programación es un proceso por el cual se escribe (en un
lenguaje de programación), se prueba, se depura y se mantiene el código
fuente de un programa informático.

La Programación es la acción de escribir un conjunto de instrucciones escritas
en un determinado lenguaje, que dirigen a una computadora para la ejecución
de una serie de operaciones, con el objetivo de resolver un problema que se
ha definido previamente.
2.3.3 Objetivos de la programación
La programación debe perseguir la obtención de programas de calidad. Para ello se
establece una serie de factores que determinan la calidad de un programa. Algunos
de los factores de calidad más importantes son los siguientes:
24

Corrección. Un programa es correcto si hace lo que debe hacer tal y como se
estableció en las fases previas a su desarrollo. Para determinar si un
programa hace lo que debe, es muy importante especificar claramente qué
debe hacer el programa antes de desarrollarlo y, una vez acabado,
compararlo con lo que realmente hace.

Claridad. Es muy importante que el programa sea lo más claro y legible
posible, para facilitar así su desarrollo y posterior mantenimiento. Al elaborar
un programa se debe intentar que su estructura sea sencilla y coherente, así
como cuidar el estilo en la edición; de esta forma se ve facilitado el trabajo del
programador, tanto en la fase de creación como en las fases posteriores de
corrección de errores, ampliaciones, modificaciones, entre otros. Fases que
pueden ser realizadas incluso por otro programador, con lo cual la claridad es
aún más necesaria para que otros programadores puedan continuar el trabajo
fácilmente. Algunos programadores llegan incluso a utilizar Arte ASCII para
delimitar secciones de código.

Eficiencia. Se trata de que el programa, además de realizar aquello para lo
que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor
forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia de
un programa, se suele hacer referencia al tiempo que tarda en realizar la tarea
para la que ha sido creado y a la cantidad de memoria que necesita, pero hay
otros recursos que también pueden ser de consideración al obtener la
eficiencia de un programa, dependiendo de su naturaleza (espacio en disco
que utiliza, tráfico de red que genera, entre otros.).

Portabilidad. Un programa es portable cuando tiene la capacidad de poder
ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla
en la que se elaboró. La portabilidad es una característica muy deseable para
un programa, ya que permite, por ejemplo, a un programa que se ha
desarrollado para sistemas GNU/Linux ejecutarse también en la familia de
sistemas operativos Windows.
25
2.4 ESTRUCTURA GENERAL DE UN PROGRAMA
2.4.1 Partes principales de un programa
Un programa puede considerarse como una secuencia de acciones (instrucciones)
que manipulan un conjunto de objetos (datos). Contendrá por tanto dos bloques para
la descripción de los dos aspectos citados:

Bloque de declaraciones: aquí se especifican todos los objetos que utiliza el
programa (constantes, variables, tablas, registros, archivos.).

Bloque de instrucciones: es el conjunto de operaciones que se realizan para
obtener un resultado esperado.
Dentro del bloque de instrucciones de un programa podemos diferenciar tres
partes fundamentales. En algunos casos, estas tres partes están perfectamente
delimitadas, pero en la mayoría sus instrucciones quedan entremezcladas a lo largo
del programa, si bien mantienen una cierta localización geométrica impuesta por la
propia naturaleza de las mismas.

Entrada de datos: Ingresar instrucciones a través de dispositivos externos
(teclado, lector de código de barra, lápiz óptico entre otros), y posteriormente
son cargados en memoria central para ser procesados.

Proceso o algoritmo: conjunto de instrucciones que son evaluados a partir de
la entrada de datos que modifican los objetos a partir de su estado inicial
hasta el estado final, dejando éstos disponibles en la memoria central.

Salida de resultados: es el resultado obtenido al procesar los datos entrada y
se muestran al usuario final a través de dispositivos externos (monitor,
impresora, altavoces entre otros).
26
2.4.2 Clasificación de las instrucciones
Una instrucción se caracteriza por un estado inicial y final del entorno. El estado final
de una instrucción coincide con el inicial de la siguiente. No siempre una instrucción
modifica el entorno, pues su cometido puede limitarse a la observación del mismo o
a un cambio en el orden de ejecución de otras. Las instrucciones pueden ser:
Instrucciones de declaración
Se utilizan en aquellos lenguajes de programación que no tienen declaración
explícita de los objetos. Su misión consiste en indicar al procesador que reserve
espacio en la memoria para un objeto del programa, indicando asimismo su nombre,
tipo y características.
Instrucciones primitivas
Son la que
ejecuta el procesador de modo inmediato. Las tres instrucciones
principales son asignación, entrada y salida.
Instrucción de asignación: consiste en almacenar el valor de una expresión en una
variable.
La sintaxis:
Nombre de la variable= Valor
El valor del “nombre de la variable” puede ser constante o variable o combinar
ambas.

Instrucción de entrada: toma un dato de un dispositivo de entrada y lo almacena
en un objeto. Al programar los datos de entrada pueden no provenir de un
dispositivo externo, sino ser declarados en el mismo dentro del programa.
Ejemplo: IVA=0.16

Instrucción de salida: toma el valor de una expresión u objeto y son mostrados en
dispositivos externos.
Instrucciones compuestas
Son instrucciones que no pueden ser ejecutadas directamente por el procesador,
para ello tienen que realizar una llamada a un subprograma, subrutina o párrafo.
27
Instrucciones de control
Son aquellas de controlar la ejecución de otras instrucciones.

Instrucción alternativa: controla la ejecución de unas u otras instrucciones
según una condición. Puede ser simple o doble (SI y SI NO).

Instrucción de salto incondicional: altera la secuencia normal de ejecución de
un programa, continuando la misma en la línea indicada en la propia
instrucción (IR A).

Instrucción de salto condicional: altera la secuencia normal de ejecución de un
programa únicamente en el caso de cumplimiento de una condición asociada
a la propia instrucción (SI... IR A).

Instrucción repetitiva: hace que se repitan una o varias instrucciones un
número determinado o indeterminado de veces (PARA, MIENTRAS, HASTA e
ITERAR).
2.5 ELEMENTOS AUXILIARES DE UN PROGRAMA
Son variables que realizan funciones específicas dentro de un programa, y por su
gran utilidad, frecuencia de uso y peculiaridades, conviene hacer un estudio
separado de las mismas. Las más importantes son:
2.5.1 Contadores
Un contador es un campo de memoria El valor incrementa en una cantidad definida,
puede ser positiva o negativa, por lo general están asociados a ciclos o bucles. Se
inicializan con un valor antes de empezar a trabajar y cada vez que se ejecuta el
proceso, el valor aumenta. Se utiliza en los siguientes casos:

Para contabilizar el número de veces que es necesario repetir una acción
(variable de control de un bucle).

Para contar un suceso particular solicitado por el enunciado del problema
(asociado a un bucle o independientemente).
28
2.5.2 Acumuladores
Un acumulador es un campo de memoria el valor aumenta de acurdo a la instrucción
que se haya establecido, Se utiliza para obtener el valor acumulado al ejecutar cierta
instrucción, es necesario inicializar en valor en 0 para evitar errores en el programa.
2.6.3 Interruptores (switches)
Un interruptor es un campo de memoria que puede tomar dos valores exclusivos
(0 y 1, -1 y 1). Se utiliza para:

Recordar en un determinado punto de un programa la ocurrencia o no de un
suceso anterior, para salir de un bucle o para decidir en una instrucción
alternativa qué acción realizar.

Para hacer que dos acciones diferentes se ejecuten alternativamente dentro
de un bucle.
2.6 ERRORES
Según el momento fase en que se detectan, los errores se clasifican de la siguiente
manera:

Errores de compilación: Los errores en tiempo de compilación o
sintácticos, corresponden al incumplimiento de las reglas sintácticas del
lenguaje, por ejemplo una palabra reservada del lenguaje mal escrita, una
instrucción incompleta, etc.
Estos errores son los más fáciles de corregir, ya que son detectados por el
compilador, el cual dará información sobe el lugar donde está y la naturaleza
de cada uno de ellos mediante un mensaje de error.

Errores de ejecución: Se deben generalmente a operaciones no
permitidas, como dividir por cero, leer un dato no numérico en una variable
numérica. Se detectan porque se produce una parada anormal del programa
durante su ejecución y se dice entonces que el programa se ha caído o que ha
sido abortado por el sistema. Son más difíciles de detectar corregir que os
errores sintácticos, ya que ocurren o no.
29

Errores de lógica: Corresponden a la obtención por el programa de
resultados que n son correctos, y la única manera de detectarlos es realizando
un número suficiente de ejecuciones de prueba con una gama lo más amplia
posible de juegos de datos de prueba, comparando los datos producidos por
el programa con los obtenidos a mano para esos mismos datos.

Son los más difíciles de corregir, no sólo por la dificultad para detectarlos,
sino porque se deben a la propia concepción y diseño del programa.

Errores de especificación: Es posiblemente el peor tipo de error y el más
costoso de corregir. Se deben a la realización de unas especificaciones
incorrectas motivadas por una mala comunicación entre el programador y
quien plantea en problema. Se detectan normalmente cuando ya ha concluido
e diseño e instalación del programa, por lo que su puede suponer la repetición
de gran parte del trabajo realizado.
2.7 CALIDAD DE LOS PROGRAMAS
Para un determinado problema se pueden construir diferentes algoritmos de
resolución o programas. Las características generales que debe reunir un programa
son las siguientes:
Legibilidad: debe ser claro y sencillo, de tal forma que facilite su lectura y
comprensión.
Fiabilidad: debe ser capaz de recuperarse frente a errores o usos inadecuados.
Portabilidad: Si diseño debe permitir la codificación en diferentes lenguajes de
programación, así como su instalación en diferentes sistemas.
Modificabilidad: debe facilitar su mantenimiento, esto es, las modificaciones y
actualizaciones necesarias para adaptarlo a una nueva situación.
Eficiencia: Se deben aprovechar al máximo los recursos de la computadora,
minimizando la memoria utilizada y el tiempo de proceso o ejecución, siempre que no
sea a costa de los requisitos anteriores.
30
2.8 TIPOS DE PROGRAMAS
Un programa, por lo general, estará compuesto por una secuencia de acciones,
algunas de las cuales serán alternativas o repetitivas. En determinados programas
sencillos, no se da esta mezcla de acciones, en cuyo caso los podemos clasificar
como sigue:

Programas lineales: consisten en una secuencia de acciones primitivas (su
ejecución es lineal en el orden en que han sido escritas).

Programas alternativos: consisten en el anidamiento de acciones
alternativas (las tablas de decisión se realizan mediante programas
alternativos).

Programas cíclicos: son aquellos en los que un conjunto de acciones se
repiten un número determinado o indeterminado de veces (un programa de
este tipo se denomina bucle).
Otra clasificación relativa a la aplicación desarrollada por el programa es:

Programas de gestión: se caracterizan por el manejo de gran cantidad de
datos con pocos cálculos (resuelven problemas de gestión).

Programas técnicos-científicos: al contrario que los anteriores, realizan
gran
cantidad
de
cálculos
con
pocos
datos
(revuelven
problemas
matemáticos, físicos, etc.).

Programas de diseño (CAD): se caracterizan por la utilización de técnicas
gráficas para resolver problemas de diseño.

Programas de simulación: intentan reflejar una situación real, para facilitar
su estudio.

Programas educativos (EAO): utilizan las ventajas de la computadora para
la docencia.

Programas de inteligencia artificial: se utilizan para simular el razonamiento
humano.
31
2.9 LENGUAJES DE PROGRAMACION
Un lenguaje de programación es una notación para escribir programas, es decir, para
describir algoritmos dirigidos a la computadora. Un lenguaje viene dado por una
gramática o conjunto de reglas que se aplican a un alfabeto. El primer lenguaje de
programación que se utilizó fue el lenguaje máquina, el único que entiende
directamente a la computadora, cuyo alfabeto es el binario, formado por los símbolos
0 y 1. El lenguaje ensamblador, resultó de la evolución del lenguaje máquina, al
sustituir las cadenas de símbolos binarios por nemotécnicos.
2.9.1 Evolución de los Lenguajes de Programación

Primera generación: lenguaje máquina.

Segunda generación: se crearon los primeros lenguajes
Ensambladores.

Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C,
Pascal, Cobol, entre otros.

Cuarta generación: Son los lenguajes capaces de generar código por si solos,
son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser
un experto en el lenguaje. Aquí también se encuentran los lenguajes
orientados a objetos, haciendo posible la reutilización d partes del código para
otros programas.

Quinta generación: aquí se encuentran los lenguajes orientados a la
inteligencia artificial. Estos lenguajes todavía están poco desarrollados.
Ejemplo. LISP.
32
2.9.2 Clasificación de los Lenguajes de Programación
2.9.2.1 Según su parecido con el lenguaje natural

Bajo nivel: lenguajes máquina y ensambladores.

Lenguajes de medio nivel: Minoritariamente en algunos textos se
diferencian algunos lenguajes como de medio nivel, como el lenguaje C, ya
que tienen ciertas características que los acercan a los lenguajes de bajo
nivel, como gestión de punteros de memoria y registros, pero con sintaxis,
vocabulario y gramática de alto nivel.

Alto nivel: Los lenguajes de programación de alto nivel se caracterizan por
expresar los algoritmos de una manera adecuada a la capacidad cognitiva
humana, en lugar de estar orientados a su ejecución en las máquinas. Los
lenguajes de alto y bajo nivel requieren de conocimientos específicos de
programación y del lenguaje concreto (vocabulario, gramática y sintaxis) para
realizar las secuencias de instrucciones lógicas.
Evolución de los Lenguajes de alto nivel

1955: FORTRAN.

1960: LISP, ALGOL, COBOL.

1965: APL, SNOBOL, PL/1, BASIC.

1970: PROLOG, ALGOL68, SIMULA67.

1975: C, PASCAL.

1980: MODULA-2, LIS, EUCLID.

1985: ADA.

1986: Aparece CLIPPER AUTUMN'86

1987: CLIPPER SUMMER'87

1990: Aparece el FORTRAN 90

Principios 90:James Gosling y su equipo comienzan a desarrollar JAVA

1993 :Se desarrolla el lenguaje Visual C++

1995 : Aparece, JAVA,PHP

2000:c#
33
2.9.2.2 Según el paradigma de programación
Un paradigma de programación representa un enfoque particular o filosofía para la
construcción del software. Si bien puede seleccionarse la forma pura de estos
paradigmas a la hora de programar, en la práctica es habitual que se mezclen, dando
lugar a la programación multiparadigma. Los diferentes paradigmas de programación
son:

Algorítmico, Imperativo o Por procedimientos. El más común y está
representado, por ejemplo, por C o por BASIC. Describe la programación en
términos del estado del programa y sentencias que cambian dicho estado. Los
programas imperativos son un conjunto de instrucciones que le indican a al
computadora cómo realizar una tarea.
La implementación de hardware de la mayoría de las computadoras es
imperativa ya que el hardware está diseñado para ejecutar código de máquina
que es imperativo.

Declarativo o Predicativo. Basado en la utilización de predicados lógicos
(lógico) o funciones matemáticas (funcional), su objetivo es conseguir
lenguajes expresivos en los que no sea necesario especificar cómo resolver el
problema (programación convencional imperativa), sino qué problema se
desea resolver. Los intérpretes de los lenguajes declarativos tienen
incorporado un motor de inferencia genérico que resuelve los problemas a
partir de su especificación.

Lógico. Un ejemplo es PROLOG. El mecanismo de inferencia genérico se
basa en los procedimientos de deducción de fórmulas válidas en un sistema
axiomático

Funcional. Representado por la familia de lenguajes LISP (en particular
Scheme), ML o Haskell. El mecanismo de inferencia genérico se basa en la
reducción de una expresión funcional a otra equivalente simplificada.

Paradigma estructurado Básicamente el código se divide en bloques,
estructuras, que pueden o no comunicarse entre sí. Este software se controla
con secuencia, selección e interacción. Otorga una mejor comprensión del
código y permite su reutilización de una forma más fácil.
34

Orientado a Objetos. Cada vez más utilizado, sobre todo en combinación
con el imperativo. De hecho los lenguajes orientados a objetos permiten la
programación imperativa. Algunos ejemplos de lenguajes orientados a objetos
son C++, Java, Python. Usa objetos y sus interacciones para diseñar
aplicaciones y programas de computadora. Está basado en varias técnicas,
incluyendo herencia, modularidad, polimorfismo y encapsulamiento.
2.10 HERRAMIENTA NECESARIA
Para codificar el Sistema de control de acceso y de servicios del centro de cómputo
de Sistemas Computacionales Administrativos se utilizó la aplicación Microsoft Visual
Studio 2008.y SQL server 2008 Express Edition.
2.10.1 Microsoft Visual Studio 2008 Professional Edition
Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en
inglés)
para
sistemas
operativos
Windows.
Soporta
varios
lenguajes
de
programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic
.NET, aunque actualmente se han desarrollado las extensiones necesarias para
muchos otros.
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones
web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a
partir de la versión .NET 2002). Así se pueden crear aplicaciones que se
intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles .
35
2.10.1.2 Antecedentes
El lenguaje de programación BASIC (Beginner's Al pulposa Simbolice Instrucción
Coda ) nació en el año 1964 como una herramienta destinado a principiantes La
evolución del BASIC por los años 70 fue escasa, dado el auge que tomaron en
aquella época lenguajes de alto nivel como el FORTRAN y el COBOL.
En 1978 se definió una norma para unificar los BASIC existentes creándose la
normativa BASIC STANDARD Con la popularización del PC, salieron varias
versiones
del
BASIC.
Actualmente
se
está
comercializando
la
versión
VISUALBASIC.NET de este producto. Desde su salida al mercado, cada versión
supera y mejora la anterior.
Microsoft Visual Studio 97 fue la primera versión que salió al mercado, ésta
incluía Visual Basic 5.0 y Visual C++ 5.0 para realizar software para Windows
específicamente, mientras que Visual J++ 1.1 era para Java y Windows. Los otros
lenguajes eran Visual Fox Pro 5.0 para la Bases de Datos y Visual InterDev 1.0 para
crear sitios dinámicos con ASP. Esto, como se puede adivinar por la versión del
producto, se realizó en 1997. Microsoft Visual Studio 6.0 salió al siguiente año, en
1998. Con esto se movieron los números de versión de todos los Lenguajes de
Programación y fue la última versión que Visual J++ y Visual InterDev aparecieron en
una paquetería de Visual Studio.
Microsoft Visual Studio .NET 2002 fue un salto completamente drástico, ya
que se cambia completamente la estructura. Ahora con .NET los programas no se
compilan para generar un ejecutable máquina (un archivo .EXE conocido
comúnmente para el ambiente Microsoft Windows), sino que se genera un archivo
intermedio para poder ser ejecutado en diferentes Plataformas (al decir Plataforma
me refiero a distintas Arquitecturas de Software y Hardware, como GNU/Linux,
Solaris de Sun Microsystems o Mac OS X de Apple Inc.). A esta versión se le
agregan nuevos lenguajes que son: Visual J# (sucesor del desaparecido Visual J++),
Visual C# y Visual Basic .NET. Menciono a Visual Basic .NET porque aunque Visual
36
Basic es parte del paquete de Visual Studio desde su primera versión, ahora se
convirtió en un Lenguaje de Programación Orientado a Objetos, por tal motivo ahora
se le conoce como Visual Basic .NET.
Microsoft Visual Studio .NET 2003 no tuvo un fuerte cambio, lo tuvo la versión
anterior; tan determinante fue el cambio, que internamente se le conoció como la
versión 7.1, mientras que la versión del 2002 era la versión 7.
Microsoft Visual Studio 2005 tuvo un cambio muy importante, ahora es posible
trabajar con el Framework .NET 2.0, compilar hacia aplicaciones de 32 bits y 64 bits
y trabajar con Microsoft SQL Server 2005.
Microsoft Visual Studio 2008 fue publicado (RTM) el 17 de noviembre de 2007
en inglés, mientras que la versión en castellano no fue publicada hasta el 2 de
febrero de 2008, El nuevo framework (.NET 3.5) está diseñado para aprovechar las
ventajas que ofrece el nuevo sistema operativo Windows Vista a través de sus
subsistemas Windows Communication Foundation (WCF) y Windows Presentation
Foundation (WPF) Es el Entorno Integrado de Desarrollo (también conocido como
IDE por sus siglas en inglés, Integrated Development Enviroment), que Microsoft ha
desarrollado para la creación de Software enfocado a su Sistema Operativo Microsoft
Windows Vista y realizar aplicaciones para trabajar con su paquetería Microsoft
Office 2007.
Visual Studio 2010 es la versión más reciente de esta herramienta,
acompañada por .NET Framework 4.0. El lanzamiento de la versión final fue el 12 de
abril de 2010.
37
2.10.1.3 .NET FRAMEWORK

Es el cambio a Visual basic.net. Resaltan las siguientes características:

El desarrollo de un nuevo fundamento de todas las herramientas de
desarrollo.net este fundamento conocido como NET Framework ofrece dos
caras primordiales, el entorno del motor de ejecución básico y un conjunto de
clases fundamentales.

El entorno del motor de ejecución es similar al sistema operático en el sentido
de que ofrece una capa entre su programa y la complejidad del resto del
sistema, con lo que provee de servicios a su aplicación y simplifica el acceso
el acceso a la funcionalidad de las capas inferiores. Las clases fundamentales
ofrecen una gran cantidad de funcionalidad, que envuelven y abstraen a
tecnologías como los protocolos de internet, acceso al sistema de archivos
manejo de XML.
2.10.3 .NET FRAMEWORK 3.5
NET Framework 3.5 agrega de forma incremental las nuevas características de .NET
Framework 3.0. Por ejemplo, los conjuntos de características de Windows Workflow
Foundation
(WF),
Windows
Communication
Foundation
(WCF),
Windows
Presentation Foundation (WPF) y Windows CardSpace. Además, .NET Framework
3.5 contiene una serie de características nuevas en distintas áreas tecnológicas que
se han agregado como nuevos ensamblados para evitar cambios destacados.
Algunas de estas características son:

Integración total de LINQ (Language Integrated Query) y del reconocimiento
de los datos. Esta nueva característica le permitirá escribir código en idiomas
habilitados para LINQ para filtrar, enumerar y crear proyecciones de varios
tipos de datos SQL, colecciones, XML y conjuntos de datos usando la misma
sintaxis.
38

ASP.NET AJAX permite crear experiencias web más eficaces, más
interactivas y con un gran índice de personalización que funcionan con los
exploradores más usados.

Nueva compatibilidad con el protocolo web para generar servicios WCF, como
por ejemplo AJAX, JSON, REST, POX, RSS, ATOM y distintos estándares
WS-* nuevos.

Nuevas clases en la biblioteca de clases base (BCL) de .NET Framework 3.5
que tratan numerosas solicitudes de cliente comunes.
2.11 BASE DE DATOS
Una base de datos es una colección de archivos interrelacionados, con la mínima
redundancia posible con la finalidad de servir a una aplicación de la manera más
eficiente.
Surgen por la necesidad de almacenar grandes cantidades de información a
mediados de los años 60’s con la finalidad de tener la información disponible en el
momento necesario.
2.11.1 Componentes de SQL
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones
de agregado. Estos elementos se combinan en las instrucciones para crear,
actualizar y manipular las bases de datos.
Comandos
Existen dos tipos de comandos SQL:
DLL (LENGUAJE DE DEFINICIÓN DE DATOS) que permiten crear y definir nuevas
bases de datos, campos e índices. La tabla1. Muestra los comandos DLL.
DML (LENGUAJE DE MANIPULACIÓN DE DATOS) que permiten generar
consultas para ordenar, filtrar y extraer datos de la base de datos. La tabla2. Muestra
la descripción de los comandos DML.
39
Comandos DLL
Comando
Descripción
CREATE
Utilizado para crear nuevas tablas, campos e índices
DROP
Empleado para eliminar tablas e índices
ALTER
Utilizado para modificar las tablas agregando campos o
cambiando la definición de los campos
Tabla 1: Comandos DLL (elaboración propia)
Comandos DML
Comando
SELECT
INSERT
UPDATE
DELETE
Descripción
Utilizado para consultar registros de la base de datos.
Utilizado para cargar lotes de datos en la base de datos en una
única operación.
Utilizado para modificar los valores de los campos y registros
especificados.
Utilizado para eliminar registros de los campos de una tabla de
una base de datos.
Tabla 2: Comandos DML (elaboración propia)
Cláusulas
Son condiciones de modificación utilizadas para definir los datos que desea
seleccionar o manipular. La tabla1. Muestra la descripción de las clausulas
40
CLÁUSULAS
Cláusula
FROM
Descripción
Utilizada para especificar la tabla de la cual se van a seleccionar
los registros
Utilizada para especificar las condiciones que deben reunir los
WHERE
GROUP BY
HAVING
ORDER BY
registros que se van a seleccionar.
Utilizada para separar los registros seleccionados en grupos
específicos.
Utilizada para expresar la condición que debe satisfacer cada
grupo.
Utilizada para ordenar los registros seleccionados de acuerdo
con un orden específico.
Tabla 3: Cláusulas (elaboración propia)
Los operadores lógicos
AND y OR se usan para conectar condiciones de búsqueda en las cláusulas
WHERE. NOT invierte el resultado de una condición de búsqueda. La tabla3.
Muestra las la descripción de los operadores lógicos
OPERADORES LÓGICOS
Operador
AND
OR
NOT
Descripción
Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de
verdad sólo si ambas son ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de
verdad si alguna de las dos es cierta.
Negación lógica. Devuelve el valor contrario de la expresión
seleccionados en grupos específicos.
Tabla 4: Operadores Lógicos (elaboración propia)
41
Los operadores de comparación verifican si dos expresiones son iguales. Se
pueden utilizar en todas las expresiones excepto en las de los tipos de datos text,
ntext o image. En la siguiente tabla 5 se presentan los operadores de comparación.
OPERADORES DE COMPARACIÓN
Operador
Descripción
<
Menor que
>
Mayor que
<>
Distinto de
<=
Menor o Igual que
>=
Mayor o Igual que
=
Igual que
Tabla 5: Operadores de Comparación (elaboración propia)
Las funciones de agregado realizan un cálculo sobre un conjunto de valores y
devuelven un solo valor. Si exceptuamos la función COUNT, todas las funciones de
agregado ignoran los valores NULL. En la tabla6. Se describen las funciones de
agregado.
FUNCIONES DE AGREGADO
Operador
AVG
COUNT:
SUM
MAX
MIN
Descripción
Utilizada para calcular el promedio de los valores de un
campo determinado.
Utilizada para devolver el número de registros de la
selección.
Utilizada para devolver la suma de todos los valores de un
campo determinado.
Utilizada para devolver el valor más alto de un campo
especificado.
Utilizada para devolver el valor más bajo de un campo
especificado
Tabla 6: Funciones de agregado (elaboración propia)
42
2.11.2 Sistema Gestor de base de datos (SGBD)
Es un software de sistemas que tiene como propósito general facilitar el proceso de
definir, construir y manipular bases de datos que se utilizan para diferentes tipos de
aplicaciones, se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.
Ejemplos de software: Informix 4GL, Oracle, SQL server.
2.11.3 Objetivos de un SGBD

Independencia lógica y física de los datos: es capacidad de modificar una
definición de esquema en un nivel de la arquitectura sin que esta modificación
afecte al nivel inmediatamente superior. Para ello un registro externo en un
esquema externo no tiene por qué ser igual a su registro correspondiente en el
esquema conceptual.

Redundancia mínima: se trata de usar la base de datos como repositorio
común de datos para distintas aplicaciones.

Acceso concurrente por parte de múltiples usuarios: control de concurrencia
mediante técnicas de bloqueo o cerrado de datos accedidos.

Distribución espacial de los datos: la independencia lógica y física facilita la
posibilidad de sistemas de bases de datos distribuidas. Los datos pueden
encontrarse en otra habitación, otro edificio e incluso otro país. El usuario no
tiene por qué preocuparse de la localización espacial de los datos a los que
accede.

Integridad de los datos: se refiere a las medidas de seguridad que impiden
que se introduzcan datos erróneos. Esto puede suceder tanto por motivos
físicos (defectos de hardware, actualización incompleta debido a causas
externas), como de operación (introducción de datos incoherentes).

Consultas complejas optimizadas: la optimización de consultas permite la
rápida ejecución de las mismas.
43

Seguridad de acceso y auditoría: se refiere al derecho de acceso a los datos
contenidos en la base de datos por parte de personas y organismos. El
sistema de auditoría mantiene el control de acceso a la base de datos, con el
objeto de saber qué o quién realizó una determinada modificación y en qué
momento.

Respaldo y recuperación: se refiere a la capacidad de un sistema de base de
datos de recuperar su estado en un momento previo a la pérdida de datos.

Acceso a través de lenguajes de programación estándar: se refiere a la
posibilidad ya mencionada de acceder a los datos de una base de datos
mediante lenguajes de programación ajenos al sistema de base de datos
propiamente dicho.
2.11.4 SQL server
SQL Server es un sistema gestor de bases de datos (SGBD), es conjunto de objetos
eficientemente almacenados. Los objetos donde se almacena la información se
denominan tablas, y éstas a su vez están compuestas de filas y columnas. En el
centro de SQL Server está el motor de SQL Server, el cual procesa los comandos de
la base de datos. Los procesos se ejecutan dentro del sistema operativo y entienden
únicamente de conexiones y de sentencias SQL.
Microsoft SQL Server es un software producido por Microsoft basado en el
modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL.
Este
SGBD constituye la alternativa de Microsoft a otros potentes sistemas gestores de
bases de datos como son Oracle, PostgreSQL o MySQL
Es común desarrollar completos proyectos complementando Microsoft SQL
Server y Microsoft Access a través de los llamados ADP (Access Data Project). De
esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de
desarrollo (VBA Access), a través de la implementación de aplicaciones de dos
capas mediante el uso de formularios Windows.
44
En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD Para
el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL
Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas
NET, pero el servidor sólo está disponible para Sistemas Operativos Windows.
Ventajas

Soporte de transacciones.

Escalabilidad, estabilidad y seguridad.

Soporta procedimientos almacenados.

Incluye también un potente entorno gráfico de administración, que permite el
uso de comandos DDL y DML gráficamente.

Permite trabajar en modo cliente-servidor, donde la información y datos se
alojan en el servidor y los terminales o clientes de la red sólo acceden a la
información.

Además permite administrar información de otros servidores de datos.
Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de
base de datos pero orientado a proyectos más pequeños, que en sus versiones 2005
y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.
Desventajas

usa Address Windowing Extensión (AWE) para hacer el direccionamiento de
64-bit. Esto le impide usar la administración dinámica de memoria, y sólo le
permite alojar un máximo de 64 GB de memoria compartida.

no maneja compresión de datos (excepto la versión 2008 Enterprise Edition,
que sí lo hace), por lo que las bases de datos pueden llegar a ocupar mucho
espacio en disco.

requiere de un sistema operativo Microsoft Windows, por lo que no puede
instalarse, por ejemplo, en servidores Linux.
45
2.12 EJEMPLOS DE CODIFICACIÓN
INICIO DE SESIÓN
Try
con.Open()
Dim total As Integer
Dim nombre As String = Me.UsernameTextBox.Text
Dim clave As String = Me.PasswordTextBox.Text
Dim sql As String = "select * from Usuarios where nom_us='" + nombre + "'
and cont_us='" + clave + "'"
Dim dausuario As New SqlDataAdapter(sql, con)
Dim dtusuario As New DataTable
dausuario.Fill(dtusuario)
total = Me.BindingContext(dtusuario).Count.ToString
If UsernameTextBox.Text = "Administrador" And PasswordTextBox.Text =
"lscacentrouv" Then
MenuIn.Show()
PARTE A: Código para iniciar sesión en el sistema, el usuario ingresa nombre de
usuario y contraseña, valida si los datos son correctos y si es diferente de
administrador restringe las bajas y modificaciones de usuarios y estudiantes.
46
ElseIf total >= 1 Then
MenuIn.Show()
MenuIn.BajaToolStripMenuItem.Enabled = False
MenuIn.ModificaciónToolStripMenuItem.Enabled = False
MenuIn.BajaToolStripMenuItem1.Enabled = False
MenuIn.ModificaciónToolStripMenuItem1.Enabled = False
MenuIn.HistorialToolStripMenuItem.Enabled = False
Else
MsgBox("Verifique usuario y contraseña",
MsgBoxStyle.Exclamation,"Seguridad")
Me.UsernameTextBox.Text = ""
Me.PasswordTextBox.Text = ""
Me.UsernameTextBox.Focus()
End If
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
End Try
End Sub
PARTE B: Segunda parte del código para iniciar sesión en el sistema.
47
ALTA DE USUARIOS
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Usuarios values('" + cod + "','" + cla_us + "','" +
cont + "','" + nom_us + "','" + ape + "','" + mat_ap + "','" + carr + "','" + sem + "')"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
a = cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Alta de Usuarios (Personas que utilizarán el sistema).A través de este código el
usuario ingresa los datos del nuevo usuario y es dado de alta en la base de Datos.
48
MODIFICACIÓN DE USUARIOS
Public Sub modificar()
Dim cmdmodificar As SqlCommand
Dim sql As String = "update V_Us set nom_us='" + cla_us + "',cont_us='" +
cont + "',nom_alt='" + nom_us + "',ap_alt='" + ape + "',mat_alt='" + mat_ap + "'
where cod_us='" + cod + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdmodificar = New SqlCommand(sql, con)
m2 = cmdmodificar.ExecuteNonQuery()
cmdmodificar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Para modificar los datos del usuario, se ingresan los datos nuevos y son enviados a
la Base de Datos.
49
ELIMINAR USUARIOS
Public Sub eliminar()
Dim cmdmodificar As SqlCommand
Dim sql As String = "delete from Usuarios where cod_us='" + cod + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdmodificar = New SqlCommand(sql, con)
e = cmdmodificar.ExecuteNonQuery()
cmdmodificar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Para eliminar a un usuario, se ingresa el código del usuario y posteriormente es dado
de baja en la Base de Datos.
50
HISTORIAL DE IMPRESÍÓN
Public Sub mostrar()
Dim damostrar As New SqlDataAdapter("select
Matrícula,Nombre,Ap_Paterno as 'appellido paterno',Ap_Materno as 'Apellido
Materno',num_imp as 'número de impresiones' from V_Impresion", cadena)
Dim dtmostrar As New DataTable
damostrar.Fill(dtmostrar)
Me.DataGridView1.DataSource = dtmostrar
Código utilizado para mostrar el historial de impresión de los Estudiantes.
ABONO DE CRÉDITO
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Abono values('" + folio + "','" + fecha + "','" +
cant_ab + "','" + matr + "')"
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Código para guardar el saldo que abona el Estudiante a su cuenta, para ello se
ingresa, el folio, cantidad a abonar y la matrícula para llevar un control sobre abonos.
51
CRÉDITO ACTUAL
Using con = New SqlConnection(cadena)
Dim x As String = Me.TextBox2.Text
con.Open()
Dim sql As String = "select saldo from Estudiantes where Matrícula = '" + x + "'"
Dim cmd As New SqlCommand(sql, con)
Dim sald As Integer = Convert.ToInt32(cmd.ExecuteScalar())
TextBox8.Text = CStr(sald)
con.Close()
End Using
Código utilizado para Mostrar el saldo actual del estudiante.se ingresa matrícula y el
saldo es mostrado en pantalla.
MODIFICAR EL SALDO
Public Sub modificar()
Dim cmdguardar As SqlCommand
Dim sql As String = "update Estudiantes set saldo= (saldo +'" + cant_ab + "')
where Matrícula='" + matr + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
Código para realizar modificaciones al saldo del estudiante (cuando ingresa nuevo
abono a su cuenta.)
52
GUARDAR NÚMERO DE IMPRESIONES
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
llenar()
If TextBox9.Text <= TextBox8.Text Then
oiimpre.guardar()
oiimpre.modificar()
MsgBox("Impresión agregada")
Else
MsgBox("crédito Insuficiente")
End If
limpiar()
End Sub
Código utilizado para guardar en la base de datos las impresiónes que los
estudiantes han realizado.
HISTORIAL DE PRESTAMO
Public Sub mostrar()
Dim damostrar As New SqlDataAdapter("select * from HPrestamo", cadena)
Dim dtmostrar As New DataTable
damostrar.Fill(dtmostrar)
Me.DataGridView1.DataSource = dtmostrar
End Sub
Mostrar el historial de préstamo de equipos. Del centro de Cómputo
53
HISTORIAL DE ABONO
Public Sub mostrar()
Dim damostrar As New SqlDataAdapter("select
Matrícula,Nombre,Ap_Paterno as 'appellido paterno',Ap_Materno as 'Apellido
Materno',cant_ab as 'Cantidad Abonoada' from V_Abono", cadena)
Dim dtmostrar As New DataTable
damostrar.Fill(dtmostrar)
Mostrar el historial de los abonos de saldo que los estudiantes han realizado
HISTORIAL DE IMPRESIÓN
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
If RadioButton1.Checked Then
actualizar()
Else
If RadioButton2.Checked Then
actualiza2()
Else
If RadioButton3.Checked Then
actualiza3()
End If
End If
El botón Aceptar del formulario de Historial de impresión Muestra el historial por
Fecha y Alumno,
54
MODIFICAR SALDO
Public Sub modificar()
Dim cmdguardar As SqlCommand
Dim sql As String = "update Estudiantes set saldo= (saldo - '" + impr + "')
where Matrícula='" + matr + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(Sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
End Class
Código utilizado para Modificar el saldo del estudiante cuando Realiza impresiones.
55
PRESTAMO DE EQUIPO
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Prestamo values('" + num_equipo + "','" +
fecha + "','" + matr + "')"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Código para Realizar el préstamo de equipo del centro de cómputo, se ingresa el
número de equipo la fecha y la matrícula para el control de los equipos.
56
MANTENIMIENTO PC
Private Sub MantenimientoBindingNavigatorSaveItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
MantenimientoBindingNavigatorSaveItem.Click
Me.Validate()
Me.MantenimientoBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.ComputoDataSet)
End Sub
Private Sub Mantenimiento_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
este código carga datos en la tabla
Me.MantenimientoTableAdapter.Fill(Me.ComputoDataSet.Mantenimiento)
End Sub
Código para guardar el estado en que se encuentran las computadoras .
RESERVACIÓN DE AULA
Me.Validate()
Me.ReservacionBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.ComputoDataSet)
' Me.ReservacionTableAdapter.Fill(Me.ComputoDataSet.Reservacion)
Código para guardar el horario de clases en el centro de cómputo.
57
RESERVACIÓN EQUIPO
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BGuardar.Click
If TextBox1.Text = "" Then
MsgBox("ingrese Numero de folio")
ElseIf TextBox8.Text = "" Then
MsgBox("ingrese Numero de Equipo")
ElseIf TextBox8.Text > 0 And TextBox8.Text < 31 Then
If TextBox8.Text = "1" Then
RadioButton1.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "2" Then
RadioButton2.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "3" Then
RadioButton3.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "4" Then
RadioButton4.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
Código que Permite Visualizar el equipo utilizado por el estudiante .
58
LIBERAR EQUIPO
Private Sub LiberarToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles LiberarToolStripMenuItem.Click
If RadioButton1.Checked Then
RadioButton1.BackColor = Color.Transparent
End If
If RadioButton2.Checked Then
RadioButton2.BackColor = Color.Transparent
End If
If RadioButton3.Checked Then
RadioButton3.BackColor = Color.Transparent
End If
If RadioButton4.Checked Then
RadioButton4.BackColor = Color.Transparent
End If
If RadioButton5.Checked Then
RadioButton5.BackColor = Color.Transparent
End If
If RadioButton6.Checked Then
RadioButton6.BackColor = Color.Transparent
End If
If RadioButton7.Checked Then
RadioButton7.BackColor = Color.Transparent
End If
If RadioButton8.Checked Then
RadioButton8.BackColor = Color.Transparent
Código utilizado para indicar que un equipo se encuentra disponible después de
haber sido utilizado.
59
BOTÓN GUARDAR USUARIO.
If RadioMaestro.Checked Then
llenar2()
oalta.guardar2()
If oalta.a2 = True Then
MsgBox("Usurio Agregado", MessageBoxIcon.Information)
Else
MsgBox("error al guardar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
If RadioSsocial.Checked Then
llenar()
oalta.guardar()
If oalta.a = True Then
MsgBox("Usurio Agregado", MessageBoxIcon.Information)
Else
MsgBox("error al guardar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
End Sub
Código del Botón Guardar del formulario de Usuarios (Maestro y Servicio Social)
60
BOTÓN BUSCAR ESTUDIANTE
con = New SqlConnection(cadena)
con.Open()
Dim x As String = Me.TextBox1.Text
Dim sql As String = "SELECT * FROM Estudiantes WHERE Matrícula =
'" + x + "'"
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
TextBox2.Text = CStr(reader("Matrícula"))
TextBox3.Text = CStr(reader("Nombre"))
TextBox4.Text = CStr(reader("Ap_Paterno"))
TextBox5.Text = CStr(reader("Ap_Materno"))
TextBox6.Text = CStr(reader("semestre"))
TextBox7.Text = CStr(reader("carrera"))
Else
MsgBox("Ingrese Matrícula", MessageBoxIcon.Information)
End If
con.Close()
Código utilizado para mostrar datos del estudiante al ingresar su matrícula.
61
HISTORIAL POR FECHA
Public Sub actualizar()
Dim x As Date = Me.DateTimePicker1.Value.Date
Dim daprestam As New SqlDataAdapter("select
Matrícula,Nombre,Ap_Paterno as 'appellido paterno',Ap_Materno as 'Apellido
Materno',cant_ab as 'Cantidad Abonoada' from V_Abono WHERE fecha = '" +
x + "'", cadena)
Dim dtprestam As New DataTable
daprestam.Fill(dtprestam)
Me.DataGridView1.DataSource = dtprestam
End Sub
Código utilizado para mostrar información sobre los equipos que se utilizaron en
determinada fecha.
HISTORIAL POR ESTUDIANTE
Public Sub actualiza2()
Dim x As String = Me.TextBox1.Text
Dim daprestamo As New SqlDataAdapter("select
Matrícula,Nombre,Ap_Paterno as 'Apellido Paterno',Ap_Materno as 'Apellido
Materno',carrera,fecha,num_equipo as 'Número de Equipo' from V_Eprestamo
WHERE Matrícula = '" + x + "'", cadena)
Dim dtprestamo As New DataTable
daprestamo.Fill(dtprestamo)
Me.DataGridView1.DataSource = dtprestamo
End Sub
Código utilizado para mostrar información sobre los equipos que el estudiante ha
utilizado.
62
BOTÓN GUARDAR LAS MODIFICACIONES
PRIVATE SUB BUTTON5_CLICK(BYVAL SENDER AS SYSTEM.OBJECT,
BYVAL E AS SYSTEM.EVENTARGS) HANDLES BUTTON5.CLICK
LLENAR()
OESTUDIANTES.MODIFICAR()
LIMPIAR()
IF OESTUDIANTES.M = TRUE THEN
MSGBOX("DATOS MODIFICADO",
MESSAGEBOXICON.INFORMATION)
ELSE
MSGBOX("ERROR AL MODIFICAR DATOS",
MSGBOXSTYLE.INFORMATION)
END IF
Código del botón Modificar: actualiza los datos del Estudiante
BOTÓN ELIMINAR AL ESTUDIANTE
Private Sub BEliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BEliminar.Click
llenar()
oestudiantes.eliminar()
limpiar()
If oestudiantes.A = True Then
MsgBox("Estudiante Eliminado", MessageBoxIcon.Information)
Else
MsgBox("error al eliminar Estudiante", MsgBoxStyle.Information)
End If
End Sub
Código del botón Eliminar: Elimina al Estudiante seleccionado de la BD.
63
BOTÓN ACEPTAR.
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
If RFecha.Checked Then
actualizar()
End If
If RAlumno.Checked Then
actualiza2()
End If
If RCarrera.Checked Then
actualiza3()
End If
Código que Muestra la Consulta de Abonos por Fecha, Alumno y Carrera.
LLENAR DATOS
Public Sub llenar()
oprestamo.cadena = cadena
oprestamo.cod = Me.TextBox9.Text
oprestamo.num_equipo = Me.TextBox8.Text
oprestamo.fecha = DateTimePicker1.Value
oprestamo.matr = Me.TextBox1.Text
End Sub
End Sub
Código utilizado para indicar los datos que se almacenaran en la BD,
64
VALIDAR
Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Código que permite ingresar solo datos de tipo cadena, en los cuadros de texto.
Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Código que permite ingresar solo datos de tipo numérico, en los cuadros de texto
65
REPORTES
Me.V_AbonoTableAdapter.Fill(Me.ComputoDataSet.V_Abono)
Dim rpt As New CrystalReport4()
rpt.SetDataSource(ComputoDataSet)
CrystalReportViewer1.ReportSource = rpt
Código utilizado para mostrar los reportes de la información generada en el sistema.
66
CAPÍTULO III
3.-CONCLUSIONES Y RECOMENDACIONES
INTRODUCCIÓN
El desarrollo de software y la programación es uno de las actividades que requieren de
concentración y al cual se le dedica tiempo y esfuerzo para poder obtener al final buenos
resultados. Con
la evolución de los lenguajes de programación y la variedad de
herramientas que existen, se busca que el desarrollar software sea menos agotador, y que
el resultado sea lo que el usuario espera. Este es uno de los objetivos de la programación
orientadas a objetos o los compiladores basados en máquinas virtuales, que también han
influenciado de manera positiva en la programación.
En esta tercera unidad se muestran las conclusiones y los resultados obtenidos Al
finalizar la investigación y el desarrollo del sistema para el centro de cómputo, al
igual que las recomendaciones necesarias para que le usuario final utilice
adecuadamente el producto obtenido
68
3.1 CONCLUSIONES
La información es poder, es por eso que las organizaciones competitivas buscan que
la información se encuentre siempre en tiempo y forma para evitar pérdidas, por tal
motivo los sistemas de información son
de gran ayuda para administrar
la
información que genera a diario en los centros de trabajo para tomar decisiones
importantes sobre la organización, evitando de esta manera quedar fuera del
mercado competitivo.
Para poder desarrollar sistemas que cumplan con las exigencias de los clientes o
usuarios existen lenguajes de programación como Java, C, C++, PHP, C#, (Visual)
Basic entre otros. Al desarrollar un software es necesario definir el paradigma de
programación, EL paradigma orientado a objetos es Cada vez más utilizado, los
desarrolladores en ocasiones lo combinan con el imperativo. Ya que los lenguajes
orientados a objetos permiten la programación imperativa. Algunos ejemplos de
lenguajes orientados a objetos son C++, Java, Python. Usa objetos y sus
interacciones para diseñar aplicaciones y programas de computadora. Está basado
en
varias
técnicas,
incluyendo
herencia,
modularidad,
polimorfismo
y
encapsulamiento.
La implantación del sistema desarrollado, será de gran utilidad para el centro de
cómputo, porque mejorara la eficacia de las actividades que se realizan en el centro
de cómputo.
69
3.2 RECOMENDACIONES
1. Darle el uso adecuado al sistema, se recomienda leer los manuales
proporcionados conocer correctamente el funcionamiento y los requisitos
necesarios para operar el sistema.
2. El sistema debe ser operado solo por el personal autorizado, con el fin de
mantener la integridad de los datos y evitar perdida o filtrado de información.
3. El sistema debe recibir mantenimiento preventivo y de actualización de software y
hardware, de esta manera el software cumplirá con el objetivo para el cual fue
creado.
4. Se recomienda no compartir la clave de Administrador para evitar alteraciones en
el sistema.
5. Cuando el software presente errores no dejar pasar los errores, es necesario
notificarle al Técnico del centro de cómputo para monitorear el error y evitar daños
mayores en el sistema.
6. Verificar que el equipo en el que se encuentra instalado el sistema este
actualizado (Antivirus, Actualizaciones del sistema operativo entre otros.)
70
3.3 PROPUESTAS
Es natural que en los software se realicen cambios, dependiendo de las
modificaciones en las actividades que los usuarios realicen en sus centros de trabajo,
o añadir nuevas funciones al sistema, Por tal motivo es necesario darle
mantenimiento y evaluar el sistema, dependiendo del resultado el responsable del
sistema para el control de acceso y de servicios del centro de cómputo de sistemas
computacionales administrativos
decidirá si es necesario
realizar cambios al
sistema para ello propongo que al planear los cambios que requiera el software
revise el código proporcionado, y también el análisis del sistema.
71
BIBLIOGRAFÍA
Páginas web

Behrens Kurt J. (2011). SQL Server. Consultado en 11-14-2011 en
http://sitioit.com/sqlserver.aspx.

Casares Claudio (2004). Tutorial SQL. Consultado en 10-4-2011 en
http://www.devjoker.com/contenidos/catss/122/NET-FrameWork.aspx.

Elías
G.
(2009).
Tutorial
SQL.
Consultado
en
107-2011
en
http://paratupagina.com/topic/136-microsoft-visual-studio/.

Forma Select Grupo Empresarial (2006). Introducción a SQL Server.
Consultado en 10-20-2011 en http://www.formaselect.com/curso/experto-ensql-server2000/Introduccion-a-SQL-Server%202000.pdf.

Gonzales T. Luis (). Introducción a la informática. Consultado en 10/12/2011
en http://es.scribd.com/doc/55324138/21/clasificacion-de-las-instrucciones.

González Seco José Antonio (29/09/2006). .NET FrameWork. Consultado en
10-4-2011
en
http://www.devjoker.com/contenidos/catss/122/NET-
FrameWork.aspx.

http://msdn.microsoft.com/eses/library/s9ek7a19(v=vs.80).aspx.

Microsoft Corporation (2011). Conozca sus errores: tres tipos de errores de
programación. Consultado en 11/10/2011 en http://msdn.microsoft.com/eses/library/s9ek7a19%28v=vs.90%29.aspx

Microsoft Corporation (2011). Microsoft .NET Framework 3.5. Consultado en
11-14-2011
en
http://www.microsoft.com/downloads/
eses/
details
.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6.

Moreno Ortiz Antonio (2000). Características y objetivos, Bases de datos.
Consultado en 11-14-2011 en http://elies.rediris.es/elies9/4-1-2.htm.
72
Libros

Duncan Mackenzie, Kent sharkey (). Aprendiendo Visual Basic.Net en 21
Lecciones Avanzadas. : Pearson Educación.

Fernández Alarcón Vicenç (2006). Desarrollo de sistemas de información
una metodología basada en el modelado. : Edicions UPC.

Kendall E., Kenneth & Kendall E., Julie (2005). Análisis y diseño de sistemas.
: Pearson Education.

Pressman S.R (2005) Ingeniería de software, un enfoque práctico. Madrid:
Mc Graw-Hill

Silberschatz Abraham, Henry F. Korth, S. Sudarshan (2002). Fundamentos
De
Bases
De
Datos.
Cuarta
edición.
Hill/Interamericana de España, S. A. U.
73
Aravaca
(Madrid):
McGraw-
GLOSARIO
Algoritmo: Método que describe cómo se resuelve un problema en término de las
acciones que se ejecutan y especifica el orden en que se ejecutan estas acciones.
Los algoritmos ayudan al programador a planificar un programa antes de su escritura
en un lenguaje de programación.
Análisis: Proceso de identificación, modelado y descripción de lo que hace un
sistema y de cómo trabaja.
Biblioteca de clases: Colección organizada de clases que proporciona un conjunto
de componentes y abstracciones reutilizables.
Clase: Colección encapsulada de datos y operaciones que actúan sobre los datos. El
concepto de clase es fundamental en programación orientada a objetos. Una clase
consta de métodos y datos. Los métodos de una clase definen el conjunto de
operaciones permitidas sobre los datos de una clase (sus atributos). Una clase
puede tener muchas instancias de la clase u objetos.
Comando: es una instrucción u orden que el usuario proporciona a un sistema
informático, desde la línea de comandos (como una Shell) o desde una llamada de
programación.
Compilación: Proceso de traducción de un lenguaje de programación. Normalmente
este proceso implica la traducción de un lenguaje de programación de alto nivel a
lenguaje de programación de bajo nivel, o el formato binario de un conjunto de
instrucciones específicas.
Ejecutar: Hacer funcionar un programa instrucción a instrucción.
74
Expresión: Conjunto de variables, constantes, funciones y símbolos de operación
que expresan un cálculo a realizar. Proporcionan un valor que será del tipo
(aritmético, alfanumérico o lógico) de las variables y constantes que contiene.
Fuente: Origen. Se dice que un programa está en lenguaje fuente cuando aún no ha
sido traducido por ningún compilador.
75
ANEXOS
BIBLIOTECA DE CLASES
ABONO
Imports System.Data.SqlClient
Public Class Abono
Public cadena As String
Public matr As String
Public fecha As String
Public folio As String
Public cant_ab As String
Public Sub guardar()
Try
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Abono values('" + folio + "','" + fecha + "','" +
cant_ab + "','" + matr + "')"
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub modificar()
Dim cmdguardar As SqlCommand
Dim sql As String = "update Estudiantes set saldo= (saldo +'" + cant_ab + "')
where Matrícula='" + matr + "'"
Try
76
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
End Class
ALTA
ublic Class Alta
Public cod As String
Public cla_us As String
Public cont As String
Public nom_us As String
Public ape As String
Public mat_ap As String
Public carr As String
Public sem As String
Public cadena As String
Public a As Object
Public a2 As Object
Public m As Object
Public m2 As Object
Public e As Object
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Usuarios values('" + cod + "','" + cla_us + "','" +
cont + "','" + nom_us + "','" + ape + "','" + mat_ap + "','" + carr + "','" + sem + "')"
77
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
a = cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub guardar2()
Dim cmdguardar2 As SqlCommand
Dim sql As String = "insert into V_Us values('" + cod + "','" + cla_us + "','" + cont
+ "','" + nom_us + "','" + ape + "','" + mat_ap + "')"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar2 = New SqlCommand(sql, con)
a2 = cmdguardar2.ExecuteNonQuery()
cmdguardar2.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub Mofidicar()
Dim cmdguardar As SqlCommand
Dim sql As String = "update Usuarios set nom_us='" + cla_us + "',cont_us='" +
cont + "',nom_alt='" + nom_us + "',ap_alt='" + ape + "',mat_alt='" + mat_ap +
"',car_us'" + carr + "',sem_us'" + sem + "' where cod_us='" + cod + "'"
78
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
m = cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub modificar2()
Dim cmdmodificar As SqlCommand
Dim sql As String = "update V_Us set nom_us='" + cla_us + "',cont_us='" + cont
+ "',nom_alt='" + nom_us + "',ap_alt='" + ape + "',mat_alt='" + mat_ap + "' where
cod_us='" + cod + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdmodificar = New SqlCommand(sql, con)
m2 = cmdmodificar.ExecuteNonQuery()
cmdmodificar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub eliminar()
Dim cmdmodificar As SqlCommand
Dim sql As String = "delete from Usuarios where cod_us='" + cod + "'"
Try
79
con = New SqlConnection(cadena)
con.Open()
cmdmodificar = New SqlCommand(sql, con)
e = cmdmodificar.ExecuteNonQuery()
cmdmodificar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
End Class
ESTUDIANTES
Imports System.Data.SqlClient
Public Class Estudiantes
Public matr As String
Public nom_es As String
Public ape As String
Public mat_es As String
Public carr As String
Public sem As String
Public cadena As String
Public A As Object
Public m As Object
Public G As Object
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into V_Est values('" + matr + "','" + nom_es + "','" +
ape + "','" + mat_es + "','" + sem + "','" + carr + "')"
Try
con = New SqlConnection(cadena)
80
con.Open()
cmdguardar = New SqlCommand(sql, con)
G = cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub modificar()
Dim cmdmodificar As SqlCommand
Dim sql As String = "update Estudiantes set Nombre='" + nom_es +
"',Ap_Paterno='" + ape + "',Ap_Materno='" + mat_es + "',semestre='" + sem +
"',carrera='" + carr + "' where matrícula='" + matr + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdmodificar = New SqlCommand(sql, con)
m = cmdmodificar.ExecuteNonQuery()
cmdmodificar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub eliminar()
Dim cmdeliminar As SqlCommand
Dim sql As String = "delete from Estudiantes where matrícula='" + matr + "'"
Try
con = New SqlConnection(cadena)
con.Open()
81
cmdeliminar = New SqlCommand(sql, con)
A = cmdeliminar.ExecuteNonQuery()
cmdeliminar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
End Class
IMPRESIÓN
Imports System.Data.SqlClient
Public Class Impresion
Public cod_imp As String
Public matr As String
Public impr As String
Public cadena As String
Public fecha As String
Public Function mostrar()
mostrar = New DataTable
Dim damostrar As New SqlDataAdapter("select * from Usuarios", con)
damostrar.Fill(mostrar)
End Function
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Impresion values('" + impr + "','" + fecha + "','" +
matr + "')"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
82
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
Public Sub modificar()
Dim cmdguardar As SqlCommand
Dim sql As String = "update Estudiantes set saldo= (saldo - '" + impr + "') where
Matrícula='" + matr + "'"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(Sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
End Class
Imports System.Data.SqlClient
Public Class Prestamo
Public cod As String
Public num_equipo As String
Public fecha As String
Public matr As String
Public cadena As String
83
Public Sub guardar()
Dim cmdguardar As SqlCommand
Dim sql As String = "insert into Prestamo values('" + num_equipo + "','" + fecha +
"','" + matr + "')"
Try
con = New SqlConnection(cadena)
con.Open()
cmdguardar = New SqlCommand(sql, con)
cmdguardar.ExecuteNonQuery()
cmdguardar.Dispose()
con.Close()
MsgBox("Equipo asignado")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error")
End Try
End Sub
End Class
FORMULARIO ALTA USUARIOS
Imports System.Data.SqlClient
Public Class Alta
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oalta = New Centro_Clases.Alta
Public Sub actualizar()
Dim daUsuarios As New SqlDataAdapter("select * from Usuarios", cadena)
Dim dtUsuarios As New DataTable
daUsuarios.Fill(dtUsuarios)
End Sub
Public Sub limpiar()
84
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
Me.TextBox8.Text = ""
End Sub
Public Sub llenar()
oalta.cadena = cadena
oalta.cod = Me.TextBox1.Text
oalta.cla_us = Me.TextBox2.Text
oalta.cont = Me.TextBox3.Text
oalta.nom_us = Me.TextBox4.Text
oalta.ape = Me.TextBox5.Text
oalta.mat_ap = Me.TextBox6.Text
oalta.carr = Me.TextBox7.Text
oalta.sem = Me.TextBox8.Text
End Sub
Public Sub llenar2()
oalta.cadena = cadena
oalta.cod = Me.TextBox1.Text
oalta.cla_us = Me.TextBox2.Text
oalta.cont = Me.TextBox3.Text
oalta.nom_us = Me.TextBox4.Text
oalta.ape = Me.TextBox5.Text
oalta.mat_ap = Me.TextBox6.Text
End Sub
85
Private Sub Alta_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Show()
actualizar()
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioSsocial.CheckedChanged
Label7.Show()
Label8.Show()
TextBox7.Show()
TextBox8.Show()
End Sub
Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label7.Click
Label7.Show()
End Sub
Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label5.Click
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioMaestro.CheckedChanged
Label7.Hide()
Label8.Hide()
TextBox7.Hide()
TextBox8.Hide()
End Sub
Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
86
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
limpiar()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Hide()
MenuIn.Show()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If RadioMaestro.Checked Then
llenar2()
oalta.guardar2()
If oalta.a2 = True Then
MsgBox("Usurio Agregado", MessageBoxIcon.Information)
Else
MsgBox("error al guardar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
If RadioSsocial.Checked Then
llenar()
oalta.guardar()
If oalta.a = True Then
87
MsgBox("Usurio Agregado", MessageBoxIcon.Information)
Else
MsgBox("error al guardar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
End Sub
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox8_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox8.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
88
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox7_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox7.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
89
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox3.TextChanged
End Sub
End Class
FORMULARIO MODIFICACIÓN Y BAJA DE USUARIOS
Imports System.Data.SqlClient
Public Class BSSocial
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oalta = New Centro_Clases.Alta
Public con = New SqlConnection(cadena)
Public Sub limpiar()
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
Me.TextBox8.Text = ""
Me.TextBox9.Text = ""
90
End Sub
Public Sub llenar() 'estudiantes
oalta.cadena = cadena
oalta.cod = Me.TextBox2.Text
oalta.cla_us = Me.TextBox3.Text
oalta.cont = Me.TextBox4.Text
oalta.nom_us = Me.TextBox5.Text
oalta.ape = Me.TextBox6.Text
oalta.mat_ap = Me.TextBox7.Text
oalta.carr = Me.TextBox7.Text
oalta.sem = Me.TextBox9.Text
End Sub
Public Sub llenar2() 'maestros
oalta.cadena = cadena
oalta.cod = Me.TextBox2.Text
oalta.cla_us = Me.TextBox3.Text
oalta.cont = Me.TextBox4.Text
oalta.nom_us = Me.TextBox5.Text
oalta.ape = Me.TextBox6.Text
oalta.mat_ap = Me.TextBox7.Text
End Sub
Private Sub BMaestro_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Show()
If RadioButton1.Checked Then
limpiar()
ElseIf RadioButton1.Checked Then
limpiar()
End If
End Sub
91
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
oalta.modificar()
limpiar()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
oalta.eliminar()
limpiar()
End Sub
Private Sub RsdioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs)
HistorialAbono.Show()
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Me.Show()
End Sub
Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label6.Click
End Sub
Private Sub RadioButton2_CheckedChanged_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
Label7.Show()
Label8.Show()
TextBox8.Show()
TextBox9.Show()
End Sub
92
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
Label7.Hide()
Label8.Hide()
TextBox8.Hide()
TextBox9.Hide()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
If RadioButton1.Checked Then
con.Open()
Dim x As String = Me.TextBox1.Text
Dim sql As String = "SELECT * FROM V_Us WHERE cod_us = '" + x + "' "
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader()
If reader.Read() Then
TextBox2.Text = CStr(reader("cod_us"))
TextBox3.Text = CStr(reader("nom_us"))
TextBox4.Text = CStr(reader("cont_us"))
TextBox5.Text = CStr(reader("nom_alt"))
TextBox6.Text = CStr(reader("ap_alt"))
TextBox7.Text = CStr(reader("mat_alt"))
Else
MsgBox("ingrese ID del usuario", MessageBoxIcon.Exclamation)
End If
con.close()
End If
If RadioButton2.Checked Then
con.Open()
Dim x As String = Me.TextBox1.Text
Dim sql As String = "SELECT * FROM Usuarios WHERE cod_us ='" + x + "'"
93
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
TextBox2.Text = CStr(reader("cod_us"))
TextBox3.Text = CStr(reader("nom_us"))
TextBox4.Text = CStr(reader("cont_us"))
TextBox5.Text = CStr(reader("nom_alt"))
TextBox6.Text = CStr(reader("ap_alt"))
TextBox7.Text = CStr(reader("mat_alt"))
TextBox8.Text = CStr(reader("car_us"))
TextBox9.Text = CStr(reader("sem_us "))
Else
MsgBox("ingrese ID usuario", MessageBoxIcon.Exclamation)
End If
con.close()
End If
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
limpiar()
End Sub
Private Sub Button5_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
If RadioButton1.Checked Then
llenar2()
oalta.eliminar2()
If oalta.a2 = True Then
MsgBox("Usurio Eliminado", MessageBoxIcon.Information)
Else
MsgBox("error al eliminar usuario", MsgBoxStyle.Information)
End If
94
limpiar()
End If
If RadioButton2.Checked Then
llenar()
oalta.guardar()
If oalta.a = True Then
MsgBox("Usurio Eliminado", MessageBoxIcon.Information)
Else
MsgBox("error al eliminar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If RadioButton1.Checked Then
llenar2()
oalta.modificar2()
If oalta.m2 = True Then
MsgBox("Usurio Modificado", MessageBoxIcon.Information)
Else
MsgBox("error al Modificar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
If RadioButton2.Checked Then
llenar()
oalta.modificar()
If oalta.m = True Then
MsgBox("Usurio Modificado", MessageBoxIcon.Information)
95
Else
MsgBox("error al modificar usuario", MsgBoxStyle.Information)
End If
limpiar()
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Hide()
MenuIn.Show()
End Sub
Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox9.TextChanged
End Sub
End Class
ALTA DE ESTUDIANTES
Imports System.Data.SqlClient
Public Class AltaEs
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oestudiantes = New Centro_Clases.Estudiantes
Public Sub limpiar()
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
96
End Sub
Public Sub llenar()
oestudiantes.cadena = cadena
oestudiantes.matr = Me.TextBox1.Text
oestudiantes.nom_es = Me.TextBox2.Text
oestudiantes.ape = Me.TextBox3.Text
oestudiantes.mat_es = Me.TextBox4.Text
oestudiantes.sem = Me.TextBox5.Text
oestudiantes.carr = Me.TextBox6.Text
End Sub
Private Sub AltaEs_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Show()
Me.TextBox1.Focus()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
llenar()
oestudiantes.guardar()
If oestudiantes.G = True Then
MsgBox("Estudiante Agregado", MessageBoxIcon.Information)
Else
MsgBox("error al guardar Estudiante", MsgBoxStyle.Information)
End If
limpiar()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Hide()
MenuIn.Show()
End Sub
97
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
limpiar()
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
98
e.Handled = True
End If
End Sub
Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox6_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox6.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox6.TextChanged
End Sub
End Class
99
FORMULARIO DE BAJA Y MODIFICACIÓN DE ESTUDIANTES
Imports System.Data.SqlClient
Public Class BajaMod
Private dv As New DataView
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oestudiantes = New Centro_Clases.Estudiantes
Public Sub limpiar()
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
End Sub
Public Sub llenar()
oestudiantes.cadena = cadena
oestudiantes.matr = Me.TextBox2.Text
oestudiantes.nom_es = Me.TextBox3.Text
oestudiantes.ape = Me.TextBox4.Text
oestudiantes.mat_es = Me.TextBox5.Text
oestudiantes.sem = Me.TextBox6.Text
oestudiantes.carr = Me.TextBox7.Text
End Sub
Private Sub BajaMod_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
100
llenar()
oestudiantes.modificar()
limpiar()
If oestudiantes.m = True Then
MsgBox("Datos Modificado", MessageBoxIcon.Information)
Else
MsgBox("error al modificar Datos", MsgBoxStyle.Information)
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Hide()
MenuIn.Show()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
End Sub
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buscar.Click
con = New SqlConnection(cadena)
con.Open()
Dim x As String = Me.TextBox1.Text
Dim sql As String = "SELECT * FROM Estudiantes WHERE Matrícula ='" + x +
"'"
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
TextBox2.Text = CStr(reader("Matrícula"))
TextBox3.Text = CStr(reader("Nombre"))
TextBox4.Text = CStr(reader("Ap_Paterno"))
101
TextBox5.Text = CStr(reader("Ap_Materno"))
TextBox6.Text = CStr(reader("semestre"))
TextBox7.Text = CStr(reader("carrera"))
Else
MsgBox("Ingrese Matrícula", MessageBoxIcon.Information)
End If
con.Close()
Private Sub BEliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BEliminar.Click
llenar()
oestudiantes.eliminar()
limpiar()
If oestudiantes.A = True Then
MsgBox("Estudiante Eliminado", MessageBoxIcon.Information)
Else
MsgBox("error al eliminar Estudiante", MsgBoxStyle.Information)
End If
End Sub
End Class
FORMULARIO PRESTAMO DE EQUIPO
Imports System.Data.SqlClient
Public Class Prestamo
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oprestamo = New Centro_Clases.Prestamo
Public Sub limpiar()
For Each control As Windows.Forms.Control In Me.Controls
If TypeOf control Is GroupBox Then
For Each controlText As Windows.Forms.Control In
Me.GroupBox1.Controls
102
If TypeOf controlText Is TextBox Then
CType(controlText, TextBox).Clear()
End If
Next
ElseIf TypeOf control Is TextBox Then
CType(control, TextBox).Clear()
End If
Next
End Sub
Public Sub llenar()
oprestamo.cadena = cadena
oprestamo.cod = Me.TextBox9.Text
oprestamo.num_equipo = Me.TextBox8.Text
oprestamo.fecha = DateTimePicker1.Value
oprestamo.matr = Me.TextBox1.Text
End Sub
Private Sub Prestamo_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Show()
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs)
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BGuardar.Click
If TextBox1.Text = "" Then
MsgBox("ingrese Numero de fo")
ElseIf TextBox8.Text = "" Then
MsgBox("ingrese Numero de Equipo")
ElseIf TextBox8.Text > 0 And TextBox8.Text < 31 Then
If TextBox8.Text = "1" Then
103
RadioButton1.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "2" Then
RadioButton2.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "3" Then
RadioButton3.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "4" Then
RadioButton4.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "5" Then
RadioButton5.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "6" Then
RadioButton6.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "7" Then
RadioButton7.BackColor = Color.Red
104
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "8" Then
RadioButton8.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "9" Then
RadioButton9.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "10" Then
RadioButton10.BackColor = Color.Red
End If
If TextBox8.Text = "11" Then
RadioButton11.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "12" Then
RadioButton12.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "13" Then
RadioButton13.BackColor = Color.Red
RadioButton13.Enabled = True
llenar()
oprestamo.guardar()
105
ElseIf TextBox8.Text = "14" Then
RadioButton14.BackColor = Color.Red
End If
If TextBox8.Text = "15" Then
RadioButton15.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "16" Then
llenar()
oprestamo.guardar()
RadioButton16.BackColor = Color.Red
End If
If TextBox8.Text = "17" Then
RadioButton17.BackColor = Color.Red
End If
If TextBox8.Text = "18" Then
RadioButton18.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "19" Then
RadioButton19.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "20" Then
RadioButton20.BackColor = Color.Red
End If
If TextBox8.Text = "21" Then
RadioButton21.BackColor = Color.Red
106
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "22" Then
RadioButton22.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "23" Then
RadioButton23.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "24" Then
RadioButton24.BackColor = Color.Red
End If
If TextBox8.Text = "25" Then
RadioButton25.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "26" Then
RadioButton26.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "27" Then
RadioButton27.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
107
If TextBox8.Text = "28" Then
RadioButton28.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
If TextBox8.Text = "29" Then
RadioButton29.BackColor = Color.Red
End If
If TextBox8.Text = "30" Then
RadioButton30.BackColor = Color.Red
llenar()
oprestamo.guardar()
End If
Else
MsgBox("El equipo no existe")
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Hide()
MenuIn.Show()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
limpiar()
End Sub
Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs)
108
End Sub
Private Sub Label3_rightClick(ByVal sender As System.Object, ByVal e As
System.EventArgs)
End Sub
Private Sub RadioButton8_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton8.CheckedChanged
End Sub
Private Sub LiberarToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles LiberarToolStripMenuItem.Click
If RadioButton1.Checked Then
RadioButton1.BackColor = Color.Transparent
End If
If RadioButton2.Checked Then
Me.Enabled = True
RadioButton2.BackColor = Color.Transparent
End If
If RadioButton3.Checked Then
RadioButton3.BackColor = Color.Transparent
End If
If RadioButton4.Checked Then
RadioButton4.BackColor = Color.Transparent
End If
If RadioButton5.Checked Then
RadioButton5.BackColor = Color.Transparent
End If
109
If RadioButton6.Checked Then
RadioButton6.BackColor = Color.Transparent
End If
If RadioButton7.Checked Then
RadioButton7.BackColor = Color.Transparent
End If
If RadioButton8.Checked Then
RadioButton8.BackColor = Color.Transparent
End If
If RadioButton9.Checked Then
Me.Show()
RadioButton9.BackColor = Color.Transparent
End If
If RadioButton10.Checked Then
RadioButton10.BackColor = Color.Transparent
End If
If RadioButton11.Checked Then
RadioButton11.BackColor = Color.Transparent
End If
If RadioButton12.Checked Then
RadioButton12.BackColor = Color.Transparent
End If
If RadioButton13.Checked Then
RadioButton13.BackColor = Color.Transparent
End If
If RadioButton14.Checked Then
RadioButton14.BackColor = Color.Transparent
End If
If RadioButton15.Checked Then
RadioButton15.BackColor = Color.Transparent
End If
110
If RadioButton16.Checked Then
RadioButton16.BackColor = Color.Transparent
End If
If RadioButton17.Checked Then
RadioButton17.BackColor = Color.Transparent
End If
If RadioButton18.Checked Then
RadioButton18.BackColor = Color.Transparent
End If
If RadioButton19.Checked Then
RadioButton19.BackColor = Color.Transparent
End If
If RadioButton20.Checked Then
RadioButton20.BackColor = Color.Transparent
End If
If RadioButton21.Checked Then
RadioButton21.BackColor = Color.Transparent
End If
If RadioButton22.Checked Then
RadioButton22.BackColor = Color.Transparent
End If
If RadioButton23.Checked Then
RadioButton23.BackColor = Color.Transparent
End If
If RadioButton24.Checked Then
RadioButton24.BackColor = Color.Transparent
End If
If RadioButton25.Checked Then
RadioButton25.BackColor = Color.Transparent
End If
If RadioButton26.Checked Then
111
RadioButton26.BackColor = Color.Transparent
End If
If RadioButton27.Checked Then
RadioButton27.BackColor = Color.Transparent
End If
If RadioButton28.Checked Then
RadioButton28.BackColor = Color.Transparent
End If
If RadioButton29.Checked Then
RadioButton29.BackColor = Color.Transparent
End If
If RadioButton30.Checked Then
RadioButton30.BackColor = Color.Transparent
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
con = New SqlConnection(cadena)
con.Open()
Dim x As String = Me.TextBox1.Text
Dim sql As String = "SELECT * FROM Estudiantes WHERE Matrícula ='" + x + "'
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
TextBox2.Text = CStr(reader("Matrícula"))
TextBox3.Text = CStr(reader("Nombre"))
TextBox4.Text = CStr(reader("Ap_Paterno"))
112
TextBox5.Text = CStr(reader("Ap_Materno"))
TextBox6.Text = CStr(reader("semestre"))
TextBox7.Text = CStr(reader("carrera"))
Else
MsgBox("Ingrese Matrícula Valída", MessageBoxIcon.Exclamation)
End If
con.Close()
End Sub
End class
FORMULARIO DE HISTORIAL
Imports System.Data.SqlClient
Public Class Historial
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public Sub mostrar()
Dim damostrar As New SqlDataAdapter("select * from HPrestamo", cadena)
Dim dtmostrar As New DataTable
damostrar.Fill(dtmostrar)
Me.DataGridView1.DataSource = dtmostrar
End Sub
Public Sub actualizar()
Dim x As Date = Me.DateTimePicker1.Value.Date
Dim daprestamo As New SqlDataAdapter("select Matrícula,Nombre,Ap_Paterno
as 'Apellido Paterno',Ap_Materno as 'Apellido Materno',num_equipo as 'Numero de
Equipo' from V_EPrestamo WHERE fecha = '" + x + "'", cadena)
Dim dtprestamo As New DataTable
daprestamo.Fill(dtprestamo)
Me.DataGridView1.DataSource = dtprestamo
End Sub
113
Public Sub actualiza2()
Dim x As String = Me.TextBox1.Text
Dim daprestamo As New SqlDataAdapter("select Matrícula,Nombre,Ap_Paterno
as 'Apellido Paterno',Ap_Materno as 'Apellido Materno',carrera,fecha,num_equipo as
'Número de Equipo' from V_Eprestamo WHERE Matrícula = '" + x + "'", cadena)
Dim dtprestamo As New DataTable
daprestamo.Fill(dtprestamo)
Me.DataGridView1.DataSource = dtprestamo
End Sub
Private Sub Historial_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If RadioButton1.Checked Then
Me.DateTimePicker1.Show()
Me.Label4.Show()
End If
actualizar()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Me.Hide()
MenuIn.Show()
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
Me.DateTimePicker1.Show()
Me.Label4.Show()
Me.Label2.Hide()
Me.TextBox1.Hide()
End Sub
114
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
If RadioButton1.Checked Then
actualizar()
End If
If RadioButton2.Checked Then
actualiza2()
End If
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
Label2.Show()
TextBox1.Show()
DateTimePicker1.Hide()
Label4.Hide()
End Sub
Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Me.Label2.Show()
Me.TextBox1.Show()
Me.DateTimePicker1.Hide()
End Sub
115
FORMULARIO DE IMPRESIÓN
Imports System.Data.SqlClient
Public Class Impresion
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oiimpre = New Centro_Clases.Impresion
Public Sub actualizar()
Dim daUsuarios As New SqlDataAdapter("select * from Impresion", cadena)
Dim dtUsuarios As New DataTable
daUsuarios.Fill(dtUsuarios)
End Sub
Public Sub limpiar()
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
Me.TextBox8.Text = ""
Me.TextBox9.Text = ""
End Sub
Public Sub llenar()
oiimpre.cadena = cadena
oiimpre.impr = Me.TextBox9.Text
oiimpre.fecha = DateTimePicker1.Value
oiimpre.matr = Me.TextBox2.Text
End Sub
Private Sub Impresion_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Show()
End Sub
116
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Me.Hide()
MenuIn.Show()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
llenar()
If TextBox9.Text <= TextBox8.Text Then
oiimpre.guardar()
oiimpre.modificar()
MsgBox("Impresión agregada")
Else
MsgBox("crédito Insuficiente")
End If
limpiar()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Using con = New SqlConnection(cadena)
Dim x As String = Me.TextBox2.Text
con.Open()
Dim sql As String = "select saldo from Estudiantes where Matrícula = '" + x +
"'"
Dim cmd As New SqlCommand(sql, con)
Dim sald As Integer = Convert.ToInt32(cmd.ExecuteScalar())
TextBox8.Text = CStr(sald)
con.Close()
End Using
117
Using con = New SqlConnection(cadena)
Dim x As String = Me.TextBox2.Text
con.Open()
Dim sql As String = "SELECT * FROM Estudiantes WHERE Matrícula ='" + x
+ "'"
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
TextBox3.Text = CStr(reader("Nombre"))
TextBox4.Text = CStr(reader("Ap_Paterno"))
TextBox5.Text = CStr(reader("Ap_Materno"))
TextBox6.Text = CStr(reader("semestre"))
TextBox7.Text = CStr(reader("carrera"))
Else
MsgBox("Ingrese Matrícula válida", MessageBoxIcon.Information)
End If
End Using
End Sub
Private Sub TextBox9_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox9.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
End class
118
FORMULARIO DE ABONO
Imports System.Data.SqlClient
Public Class Abono
Public Const cadena As String = "Data Source=SOFY-PC\SQLEXPRESS1;Initial
Catalog=Computo;User ID=sa;Password=uv"
Public oabono = New Centro_Clases.Abono
Public Sub limpiar()
Me.TextBox2.Text = ""
Me.TextBox3.Text = ""
Me.TextBox4.Text = ""
Me.TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
Me.TextBox8.Text = ""
Me.TextBox9.Text = ""
End Sub
Public Sub llenar()
oabono.cadena = cadena
oabono.folio = Me.TextBox8.Text
oabono.fecha = Me.DateTimePicker1.Value
oabono.cant_ab = Me.TextBox9.Text
oabono.matr = Me.TextBox2.Text
End Sub
Public Sub llen()
oabono.cadena = cadena
TextBox2 = oabono.folio
End Sub
Private Sub Abono_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Show()
End Sub
119
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
llenar()
oabono.modificar()
oabono.guardar()
limpiar()
End Sub
Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles GroupBox1.Enter
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
llen()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
MenuIn.Show()
Me.Close()
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
con = New SqlConnection(cadena)
con.Open()
Dim x As String = Me.TextBox2.Text
Dim sql As String = "SELECT * FROM Estudiantes WHERE Matrícula ='" + x +
"'"
Dim cmd As New SqlCommand(sql, con)
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
120
TextBox3.Text = CStr(reader("Nombre"))
TextBox4.Text = CStr(reader("Ap_Paterno"))
TextBox5.Text = CStr(reader("Ap_Materno"))
TextBox6.Text = CStr(reader("semestre"))
TextBox7.Text = CStr(reader("carrera"))
Else
MsgBox("Ingrese Matrícula Válida", MessageBoxIcon.Information)
End If
con.Close()
End Sub
End Class
121
Descargar