lunes, 20 de agosto de 2012

Introducción:



Desarrollado por alumnas de la Universidad Tecnológica del Norte de Coahuila, cursando y terminando el Tercer Cuatrimestre de la carrera de Tecnologías de la Información y la Comunicación en el Área de Sistemas Informáticos le presentamos a usted Ciber Counting System.

Bienvenido y gracias de antemano por utilizar nuestro programa administrativo nuestro objetivo como desarrolladores de software y sobre todo el objetivo de éste nuestro proyecto, es el de mejorar la calidad en la agilización de la administración de los Ciber Café y hacerla así de una forma más dinámica y agradable para el usuario, así también como el llevar el control de las ventas que se han realizado.

Diagrama de Gantt:

Para tener una mayor organización en nuestro proyecto, utilizamos diagramas de Gantt como el siguiente para tener un mayor control del tiempo utilizado:


Pantalla Principal (Menú):

Pantalla de Menú

Pantalla "Empleados" (Catálogos):

Catálogo de Empleados

Pantalla "Detalle de las Ventas":

Detalle de las Ventas

Estudio de Factibilidad:


Después de definir la problemática presente y establecer las causas que ameritan de un nuevo sistema, es permitente realizar un estudio de factibilidad para determinar la infraestructura tecnológica y la capacidad técnica que implica la planeación del sistema en cuestión, asi como los costos, beneficios y el grado de aceptación que la propuesta genera en el instituto. Este análisis permitió determinar las posibilidades de diseñar el sistema propuesto y su puesta en marcha, los tomados en cuenta para este estudio fueron clasificados en tres áreas, las cuales se describen a continuación:

Factibilidad Técnica:


La factibilidad técnica consistió en realizar una evaluación de la tecnología existente en la organización, este estudio estuvo destinado a recolectar información sobre los componentes técnicos que posee la organización y la posibilidad de hacer uso de los mismos en el desarrollo  e implementación  del sistema deben ser adquiridos para el desarrollo y puesta en marcha del sistema en cuestión

De acuerdo a la tecnología necesaria para la implantación del Sistema de Seguimiento y Control de las Investigaciones Científicas de la Universidad Tecnológica del Norte de Coahuila, se evaluó bojo dos enfoques: hardware y software: en cuanto a hardware, específicamente el servidor donde debe estar instalado el sistema propuesto, este debe cubrir con los siguientes requerimientos mínimos:

·         Procesador Celeron de 500 Mhz o Superior.
·         128 Mb en RAM o superior.
·         40 Mb de espacio libre en disco duro (va a necesitar más conforme trabaje con el programa y acumule información)
·         Sistema operativo Windows XP, 2000, Vista o Windows 7

Diagrama de la Base de Datos CCS:

Ciber Counting System

Métodos de la Clase:

Aquí mostramos el pedazo de código de Registrar o dar de alta a un registro dentro de la Base de Datos.


Es un método público para que pueda ser utilizado con mayor facilidad dentro de los formularios y en cada parte de estos. En él se abre y se cierra la conexión con la Base de Datos, así como también se declaran las variables que utilizamos, como por ejemplo "l_cadena" en la cual van incluidos todos los datos que se le agregaron al registro para que este pase a almacenarse dentro de la Base de Datos en la tabla correspondiente dependiendo del módulo que se esté utilizando.


Éste otro trozo de código sirve para Eliminar o dar de baja un registro.



De nueva cuenta, aquí también se hace una conexión con la Base de Datos y se cierra al final de la ejecución; al igual que en los demás métodos utilizados, aquí también se declara el "l_cadena" o cadena de caracteres que estaremos utilizando, la diferencia aquí es que éste método lo que hace es eliminar un registro.

A continuación se muestra el método de Modificar, tal y como su nombre lo dice éste fragmento de código nos sirve para cambiar los datos de un registro, bien sea que nos hayamos equivocado al escribir o queramos actualizar la información dentro de él.



De nuevo podemos observar el Abre/Cierra de conexiones con la Base de datos, así como la declaración de las variables que utilizamos para éste método.

Autonumérico:


La segunda función sirve para llevar un conteo de los auto numéricos que deberían de ir en los formularios, así, éste solo los carga dentro del TextBox que deben de ir para llevar un mejor ordenamiento de estos.

El código es el siguiente:


FORMULARIOS: Insertar/Registrar:

Ahora comencemos con los formularios. Todos tienen la misma logística en cuanto al código, sin embargo se van cambiando los datos según los campos de la Base de Datos que se vayan utilizando.

Como ejemplo tomaremos el Módulo de Empleados, comenzando por la función de Insertar o Registrar.


Dim l_nss As String = Txt_nss.Text
        Dim l_nombre As String = Trim(UCase(Txt_nombre.Text))
        Dim l_paterno As String = Trim(UCase(Txt_paterno.Text))
        Dim l_materno As String = Trim(UCase(Txt_materno.Text))
        Dim l_direccion As String = Trim(UCase(Txt_direccion.Text))
        Dim l_telefono As String = Txt_telefono.Text

        Dim bd As Class1
        bd = New Class1()

        Dim l_cadena As String = "Insert into Empleados (NSS, Nombre, Ap_Paterno, Ap_Materno, Direccion, Telefono)" & _
                               "Values ('" & l_nss & "','" & l_nombre & "','" & l_paterno & "','" & l_materno & "','" & l_direccion & "','" & l_telefono & "')"
'Validaciones
        If Trim(Me.Txt_nss.Text) = "" Or Trim(Me.Txt_nombre.Text) = "" Or Trim(Me.Txt_paterno.Text) = "" Or Trim(Me.Txt_materno.Text) = "" Or Trim(Me.Txt_direccion.Text) = "" Or _
        Trim(Me.Txt_telefono.Text) = "" Or IsNumeric(Me.Txt_nss.Text) = False Or IsNumeric(Me.Txt_nombre.Text) = True Or _
        IsNumeric(Me.Txt_paterno.Text) = True Or IsNumeric(Me.Txt_materno.Text) = True Or _
        IsNumeric(Me.Txt_direccion.Text) = True Or IsNumeric(Me.Txt_telefono.Text) = False Or IsDate(Me.Txt_nss.Text) = True Or IsDate(Me.Txt_nombre.Text) = True Or _
        IsDate(Me.Txt_paterno.Text) = True Or IsDate(Me.Txt_materno.Text) = True Or IsDate(Me.Txt_direccion.Text) = True Or IsDate(Me.Txt_telefono.Text) = True Or _
        Len(Me.Txt_direccion.Text) >= 150 Or Len(Me.Txt_nombre.Text) >= 50 Or Len(Me.Txt_paterno.Text) >= 50 Then

            MsgBox("Rellene los datos correctamente")

        Else
            bd.Registra(l_cadena)
            Lbl_mensaje.Text = Txt_nombre.Text & " " & Txt_paterno.Text & " " & Txt_materno.Text & " Se ha registrado satisfactoriamente "
            Call refresca_grid(l_where)
        End If
    End Sub


Aquí tenemos las declaraciones de todas las variables que estemos utilizando, en este caso son cinco, sin embargo como ya se mencionó, todos los módulos utilizan la misma logística en estos procedimientos.

En ésta parte de código es dónde se hace la inserción de información en la base de datos, en otras palabras sirve para registrar, en él se puede ver la cadena de los campos que hay en la Base de Datos y la forma en la que van a ser acomodados los datos dentro de la misma.

También se puede observar una condición en dónde comienzan a aparecer las validaciones para proteger nuestro programa, por otra parte, ya tenemos en la parte de abajo dónde se está mandando llamar al método en la clase para que éste haga su función.

Eliminar:

Continuando con las funciones de los botones, aquí tenemos el botón de "Eliminar" en el que como su nombre lo indica, borra la información de la Base de Datos.

En él podemos observar que para eliminar un registro hacemos uso de la llave principal de la tabla dónde se eliminará dicha información, en este caso en la tabla de Empleados, utilizamos la llave principal que es el NSS (Número de Seguro Social), declarando primero la variable que se utilizaría para la cadena de información que se eliminará, en este caso "l_nss", después se escribe la consulta para la Base de Datos del registro que se eliminará. Por consiguiente tenemos todas las validaciones del programa y como último paso, el letrero que nos dice si el registro fué o no eliminado correctamente.

Actualizar:

Luego tenemos el botón de "Actualizar" cuya función es modificar la información de la Base de Datos, en caso de que ésta sea errónea o simplemente haya cambiado.

    Private Sub btn_actualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_actualizar.Click
        Dim l_nss As String = UCase(Txt_nss.Text)
        Dim l_nombre As String = Trim(UCase(Txt_nombre.Text))
        Dim l_paterno As String = Trim(UCase(Txt_paterno.Text))
        Dim l_materno As String = Trim(UCase(Txt_materno.Text))
        Dim l_direccion As String = UCase(Txt_direccion.Text)
        Dim l_telefono As String = Txt_telefono.Text

        Dim bd As Class1
        bd = New Class1()

        Dim l_cadena As String = "update Empleados set " & _
                                " Nombre = '" & l_nombre & "'" & _
                                ", Ap_Paterno = '" & l_paterno & "'" & _
                                ", Ap_Materno = '" & l_materno & "'" & _
                                ", Direccion = '" & l_direccion & "'" & _
                                ", Telefono = '" & l_telefono & "'" & _
                                " where NSS = '" & l_nss & "'"

        'Validaciones
        If Trim(Me.Txt_nss.Text) = "" Or Trim(Me.Txt_nombre.Text) = "" Or Trim(Me.Txt_paterno.Text) = "" Or Trim(Me.Txt_materno.Text) = "" Or _
        Trim(Me.Txt_direccion.Text) = "" Or Trim(Me.Txt_telefono.Text) = "" Or IsNumeric(Me.Txt_nss.Text) = False Or IsNumeric(Me.Txt_telefono.Text) = False Or _
        IsNumeric(Me.Txt_nombre.Text) = True Or IsNumeric(Me.Txt_paterno.Text) = True Or IsNumeric(Me.Txt_materno.Text) = True Or IsDate(Me.Txt_nss.Text) = True Or _
        IsDate(Me.Txt_nombre.Text) = True Or IsDate(Me.Txt_paterno.Text) = True Or IsDate(Me.Txt_materno.Text) = True Or IsDate(Me.Txt_direccion.Text) = True Or _
        IsDate(Me.Txt_telefono.Text) = True Then

            MsgBox("No se puede modificar el registro")

        Else
            bd.Modifica(l_cadena)
            Me.Lbl_mensaje.Text = "El registro se modificó correctamente"
            Call refresca_grid(l_where)

        End If
    End Sub


En el caso de este botón, primero que nada tenemos la declaración de todas las variables que utilizamos (muy similar al código de "Insertar/Agregar") y después tenemos el uso de la clase en dónde se encuentra el método antes mencionado; por último tenemos la conexión con la Base de Datos y los campos que esta posee, en este caso, los campos de la tabla de Empleados.
Luego, tenemos lo que son las validaciones del programa y por último el letrero que nos avisa si el registro fué o no modificado correctamente.

Buscar:


Continuemos ahora con la función de "Buscar". Esta parte de código es parte o complemento de la función de búsqueda de nuestro programa, pertenece al ComboBox de criterios por los cuales el usuario puede realizar su consulta.
Código en el ComboBox
Cada cambio de la Base de Datos se encuentra en un nivel del ComboBox, así que fueron puestos en esta parte de código para saber en qué nivel quedaría cada uno.

Después ya tenemos la función del botón "Buscar" en el siguiente código:
Código del botón


Cargar Datos:


También dentro del formulario tenemos el código que se utiliza para que se carguen los datos de un DataGrid a los TextBox para hacer más sencilla la manera en que se pueden modificar los datos de este.

Éste nos ayuda en que en el momento en el que se dé clic en la información mostrada en el DataGrid, los datos se cargaran en los TextBox para tener un manejo más sencillo de los datos y así poder cambiarlos si es necesario.

Refrescar:


También dentro del mismo DataGrid se encuentra el código para "refrescar" o actualizar la información que se cambió y se muestre nuevamente en él, el código es el siguiente:


En este caso, se escriben los campos de la tabla y se les cambia el nombre, se hace la conexión con la Base de Datos y de igual manera, ésta se cierra y termina la ejecución del método.


Módulo


También contamos con un módulo creado para declarar variables globales y poner el proveedor de la Base de Datos y la dirección de ésta dentro de la computadora.