martes, 29 de noviembre de 2011

TITULO: DESARROLLO DE UNA APLICACIÓN WEB PARA EL CONTROL DE AVANCES ACADÉMICOS Y ASISTENCIA DE DOCENTES





                                                                               



AUTOR
JOSÉ LUIS TUBAY VERGARA



OBJETIVO
General



Desarrollar una aplicación Web que permita llevar el control de Avances


Académicos y asistencia de Docentes, acorde con las necesidades y requerimientos de las autoridades de la Escuela de Informática, garantizando la confiabilidad, seguridad e integridad de datos.



Específicos


Analizar información del sistema manual del control de avances académicos y asistencia docente.


Determinar la mejor herramienta de desarrollo de aplicaciones web.


Establece la mejor herramienta para el almacenamiento de los datos.


Determinar una técnica eficaz y segura para el respaldo y seguridad de la información.


Diseñar un sistema Web de fácil manipulación.


Establecer la mejor técnica para la generación y personalización de toda clase de informes necesarios para llevar el control de los Docentes.



MARCO TEÓRICO
 ¿QUÉ ES UNA PÁGINA WEB?





Una página web, también conocida como página de Internet, es un documento adaptado para la Web y que normalmente forma parte de un sitio web. Su principal característica son los hiperenlaces a otras páginas, siendo esto el fundamento de la


Web.


Una página web está compuesta principalmente por información (sólo texto o multimedia) e hiperenlaces; además puede contener o asociar datos de estilo para especificar cómo debe visualizarse, o aplicaciones embebidas para hacerla interactiva.


Las páginas web son escritas en un lenguaje de marcado que provea la capacidad de insertar hiperenlaces, generalmente HTML.





El contenido de la página puede ser predeterminado ("página web estática") o generado al momento de visualizarla o solicitarla a un servidor web ("página web dinámica"). Las páginas dinámicas que se generan al momento de la visualización se hacen a través de lenguajes interpretados, generalmente JavaScript, y la aplicación encargada de visualizar el contenido es la que debe generarlo. Las páginas dinámicas que se generan al ser solicitadas son creadas por una aplicación en el servidor web que alberga las mismas.





Respecto a la estructura de las páginas web algunos organismos, en especial el W3C, suelen establecer directivas con la intención de normalizar el diseño para facilitar y simplificar la visualización e interpretación del contenido.

 DESARROLLO


En la etapa de construcción el equipo de desarrolladores trabajando de cerca con los usuarios finaliza el diseño y la construcción del sistema. La construcción de la aplicación consiste de una serie de pasos donde los usuarios tienen la oportunidad de afirmar los requisitos y repasar los resultados. Las pruebas al sistema se llevan a cabo durante esta etapa. También se crea la documentación y las instrucciones necesarias para manejar la nueva aplicación, rutinas y procedimientos para operar el sistema.





Implementación:


Esta etapa envuelve la implementación del nuevo producto y el manejo del cambio del viejo al nuevo sistema. Se hacen pruebas comprensivas y se adiestran los usuarios. Los cambios organizacionales y la operación del nuevo sistema se hacen en paralelo con el viejo sistema hasta que el nuevo se establezca completamente.





HERRAMIENTAS PARA DISEÑO DE PÁGINAS WEB


Adobe Photoshop


Adobe Photoshop es una aplicación informática de edición y retoque de imágenes, elaborada por la compañía de software Adobe inicialmente para computadores Apple pero posteriormente también para plataformas PC con sistema operativo Windows.


Photoshop se ha convertido, casi desde sus comienzos, en el estándar mundial en retoque fotográfico, pero también se usa extensivamente en multitud de disciplinas del campo del diseño y fotografía, como diseño web, composición de imágenes bitmap, estilismo digital, fotocomposición, edición y grafismos de vídeo y básicamente en cualquier actividad que requiera el tratamiento de imágenes digitales.


Photoshop ha dejado de ser una herramienta únicamente usada por diseñadores /


maquetadores, ahora Photoshop es una herramienta muy usada también por fotógrafos profesionales de todo el mundo, que lo usan para realizar el proceso de


"positivado y ampliación" digital, no teniendo que pasar ya por un laboratorio más que para la impresión del material.


Photoshop soporta muchos tipos de archivos de imágenes, como BMP, JPG, PNG,


GIF, entre otros, pero tiene ciertos formatos de imagen propios como lo son:


PSD (Photoshop Document): Es un formato que guarda una imagen como un grupo de capas, métodos de fusión, colores, textos, máscaras, canales de color, canales alfa, trazados, formas, configuración de tonos, entre otras. Éste es un formato muy popular que incluso es soportado por programas de la competencia. Este formato te permite trabajar con distintas capas después de haber cerrado el programa, al contrario que el JPEG, sin embargo, ocupa mucho más espacio y no se puede abrir con programas como el visor de imágenes y fax de Windows, luego es necesario tener un programa que lea más formatos de imagen si no tienes Photoshop.


PSB: Es una nueva versión del formato PSD, diseñado especialmente para archivos mayores a 2 GB.


PDD: Es una versión del PSD que solo soporta las opciones del programa descontinuado PhotoDeluxe.





HERRAMIENTAS PARA DESARROLLO DE PÁGINAS WEB


 ASP.NET


Las siglas ASP corresponden a las palabras Active Server Pagés (Páginas Activas en el servidor). ASP es una tecnología desarrollada por Microsoft para crear páginas web de contenido dinámico apoyándose en scripts ejecutados en el servidor. Su funcionamiento se basa, principalmente, sobre servidores Microsoft con Internet Information Server para Windows NT o 2000, y en caso de contar con un sistema operativo Windows 95 o 98 se utiliza un servidor web personal, especialmente el





Personal Web Server.


 Una página ASP es una mezcla entre una página HTML y un programa que da como resultado una página HTML que es enviada al cliente (navegador).Estos scripts o programas pueden en ASP ser escritos en uno de estos dos lenguajes de programación VBScript o JavaScript, pero el más extendido es VBScript.


ASP es una tecnología dinámica funcionando del lado del servidor, lo que significa que cuando el usuario solicita un documento ASP, las instrucciones de programación dentro del script son ejecutadas para enviar al navegador únicamente el código


HTML resultante. La ventaja principal de las tecnologías dependientes del servidor radica en la seguridad que tiene el programador sobre su código, ya que éste se encuentra inicialmente en los archivos del servidor que al ser solicitado a través del web, es ejecutado, por lo que los usuario no tienen acceso más que a la página resultante en su navegador.


Para explicar mejor el funcionamiento del ASP se presenta la siguiente gráfica:





PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas 
Qt o GTK+.


Es un acrónimo de "PHP: Hypertext Preprocessor", la mayor parte de su sintaxis es similar a C, Java y Perl, y es fácil de aprender. La meta de este lenguaje es permitir escribir a los creadores de páginas web, páginas dinámicas de una manera rápida y fácil, aunque se pueda hacer mucho más con PHP.


Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal.








SELECCIÓN DE HERRAMIENTA DE DESARROLLO  ASP.NET


Es necesario mencionar que no se puede afirmar tajantemente que una herramientasea mejor que la otra; según la revista publicada en la biblioteca virtual EBSCO, del departamento de ingeniería & desarrollo de la Universidad del Norte del vecino país  Colombia nos damos cuenta que cada una posee fortalezas y debilidades ante determinadas circunstancias. Por ejemplo, JSP presentó los mejores tiempos de respuesta y tuvo la mejor calidad de detección y ubicación de errores, con el tipo de error, pero PHP mantuvo la integridad en base de datos, con mayor frecuencia, en los  dos sistemas operativos, y en ASP se obtuvo el mayor promedio de consultas de listado tanto en Windows como en Linux.


ASP tiene un mejor desempeño en Windows, por ser una herramienta exclusiva


Microsoft. Por otro lado, hay que destacar que JSP requiere una memoria más


grande, debido a que está basado en JAVA, por lo cual consume gran cantidad de


recursos de memoria. Sin embargo, así como se presentan estas diferencias, también es sumamente rescatable que las tres herramientas pueden migrar de Windows a Linux y viceversa, sin realizar cambios en el código, y que ninguna muestra el código del lado del cliente, brindando de esta manera mayor seguridad.





Por cada uno de los motivos mencionados anteriormente se ha seleccionado


ASP.NET además a esto hay que agregar que la UTEQ cuenta con el software y no se tendrá que gastar en la compra de la licencia.





SELECCIÓN DE HERRAMIENTA DE ALMACENAMIENTO DE


LA INFORMACIÓN


Microsoft SQL server 2005


Se seleccionó esta herramienta pensando en la seguridad del sistema web y entre las principales razones estarían:


-Disponibilidad de la licencia con la que cuenta la Universidad.


-Integración a otros sistemas de información.


-Costo.

Código fuente


Procedimientos utilizados al iniciar de la ejecución del sitio web
'Establece la conexión con la base de datos y obtiene la
información que se requiere para la ejecución del sistema ***
Public cadConexion As String = "Data Source=SAC;Initial
Catalog=SAC;Persist Security Info=false;User ID=;Integrated
Security=SSPI"
Public sEstado, sDataBAse, sIP, sMAC, sPC As String
Public fechaServer As Date
Public strFacultad As String
Public enlace As SqlClient.SqlConnection
'obtiene informacion sobre la red ***
Private Sub ObtenerDatosRed()
Dim i As Byte
Dim hostInfo As System.Net.IPHostEntry =
System.Net.Dns.GetHostEntry(sPC)
Dim netinter() As NetworkInterface =
NetworkInterface.GetAllNetworkInterfaces
For Each aux As NetworkInterface In netinter
Dim dirmac As Byte() =
aux.GetPhysicalAddress.GetAddressBytes
While i < dirmac.Length

sMAC += dirmac(i).ToString("X2")
If (i <> dirmac.Length - 1) Then sMAC += "-"
i += 1
End While
If sMAC = "" Then sMAC =
aux.GetPhysicalAddress().ToString().Trim()
Next
sPC = hostInfo.HostName.ToString
For Each ip As System.Net.IPAddress In hostInfo.AddressList
sIP = ip.ToString.Trim
Next
End Sub
'Valida y obtiene los datos del usuario ***
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "validaclaveusuario"
sqlcmd.Parameters.Add("@Usuario", SqlDbType.VarChar, 10)
sqlcmd.Parameters.Add("@Clave", SqlDbType.VarChar, 50)
sqlcmd.Parameters.Add("@Tipo", SqlDbType.VarChar, 1)
sqlcmd.Parameters.Item(0).Value = Trim(Usuario)
sqlcmd.Parameters.Item(1).Value = generarClaveSHA1(clave)
sqlcmd.Parameters.Item(2).Value = Trim(tipo)
sqlcmd.Connection = clase.Conectar()
reader = sqlcmd.ExecuteReader()


'cambia clave de los usurios***
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "CambiarClave"
sqlcmd.Parameters.Add("@Usuario", SqlDbType.VarChar, 10)
sqlcmd.Parameters.Add("@Tipo", SqlDbType.VarChar, 1)
sqlcmd.Parameters.Add("@clave", SqlDbType.VarChar, 50)
sqlcmd.Parameters.Item(0).Value = Trim(Usuario)
sqlcmd.Parameters.Item(1).Value = tipo
sqlcmd.Parameters.Item(2).Value = clave
reader = sqlcmd.ExecuteReader()
reader.Close()
'obtiene los Docentes de la Escuela del periodo y semestre indicado***
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "Docentes"
sqlcmd.Parameters.Add("@codigoescuela", SqlDbType.VarChar, 5)
sqlcmd.Parameters.Add("@periodo", SqlDbType.VarChar, 10)
sqlcmd.Parameters.Add("@semestre", SqlDbType.Char, 1)
sqlcmd.Parameters.Item(0).Value = codigoescuela
sqlcmd.Parameters.Item(1).Value = periodo
sqlcmd.Parameters.Item(2).Value = semestre
reader = sqlcmd.ExecuteReader()
'obtiene las materias distrbuidas para el usuario en el periodo y
semestre actual***
sqlcmd.CommandType = CommandType.StoredProcedure
sqlcmd.CommandText = "materias"
sqlcmd.Parameters.Add("@Usuario", SqlDbType.VarChar, 5)
sqlcmd.Parameters.Item(0).Value = Usuario
reader = sqlcmd.ExecuteReader()


CONCLUSIONES
EL DESARROLLO DE UNA APLICACIÓN WEB PARA EL CONTROL DE AVANCES ACADÉMICOS Y ASISTENCIA DE DOCENTES
Cuando  una institución abre paso  a la renovación  en cuanto a nueva  tecnología  en el manejo de  sus  datos , está permitiendo   el acceso  generalizado a su información, logrando  así aportar  mayor seguridad  y confiabilidad   a sus  docentes  y alumnos  para que estos  hagan un uso adecuado de su información.
Los sistemas en línea hoy en día son de  gran ayuda, entre los beneficios que podemos obtener esta en que nos ahorran tiempo  en  la  realización de  una consulta de calificaciones, realizar algún reporte a la institución, entre muchas otras cosas  que son de gran apoyo para mantenernos comunicados entre el ambiente relacionado .
Brindara la facilidad de poder  aprovechar  mucho más  los  beneficios que otorga el uso  de la consulta o solicitud de ayuda sobre algún tema  con alguno de los docentes de la institución, de la misma manera se tendrá acceso a la  realización de  reportes por medio de un sitio web seguro con una gran calidad en código fuente, capacidad en la base de datos, y  con una gran interfaz  grafica para una navegación segura y la confianza en la consulta y actualización  de datos personales  de  docentes y principalmente de  alumnos  que estos datos serán almacenados  con una gran seguridad y precisión puesto que los mismos  docentes que laboran  en la institución  se convierten en alimentadores directos del sistema y la información se almacena en la base de datos,  y que está impida la posibilidad de que la información sea modificada o adulterada por terceras personas.
En consecuencia  la institución adquirirá  un  estatus innovador  que se verá reflejado en beneficio de la misma  y de su entorno.
 





 

No hay comentarios:

Publicar un comentario