Sie sind auf Seite 1von 50

Instituto Tecnolgico de Ciudad Jurez

Taller de Investigacin II.


Protocolo de Investigacin.
Software para el control de actividades de conferencias (Check
Cardex System, CCS).
Profesor: Ing. Edgardo Cervantes
Integrantes:
Garca Terrazas Jos Luis
Terrazas Cardona Pamela Yesenia.



Cd. Jurez, Chih., a 10 de Marzo de 2014



1
Contenido
Captulo 1 .................................................................................................................................................... 3
Introduccin ............................................................................................................................................. 3
Antecedentes .......................................................................................................................................... 4
Planteamiento del problema ................................................................................................................. 5
Justificacin ............................................................................................................................................. 6
Hiptesis .................................................................................................................................................. 7
Objetivos .................................................................................................................................................. 8
Objetivos generales ........................................................................................................................... 8
Objetivos Especficos ........................................................................................................................ 8
Metas ........................................................................................................................................................ 9
Supuesto .................................................................................................................................................. 9
Captulo 2 .................................................................................................................................................. 10
Marco terico ........................................................................................................................................ 10
Funciones .......................................................................................................................................... 10
Tecnologas utilizadas ............................................................................................................................. 12
Visual Studio 2008 ............................................................................................................................... 12
Visual C# ............................................................................................................................................... 15
MySQL ................................................................................................................................................... 17
Heidi SQL .............................................................................................................................................. 19
Microsoft .Net Framework ................................................................................................................... 20
Metodologa de software. ........................................................................................................................ 23
Diagramas de clases ............................................................................................................................... 24
Diagramas de Casos de Uso ................................................................................................................. 25
Interfaz del Usuario .................................................................................................................................. 27
Capturas ................................................................................................................................................ 27
Cdigo fuente ............................................................................................................................................ 33
Clase Conexin MySql ........................................................................................................................ 33
Forma FR_RegistrarActividad ............................................................................................................ 38
Stored Procedure ................................................................................................................................. 45
Captulo 3 .................................................................................................................................................. 46



2
Diseo del esquema ............................................................................................................................ 46
Cronograma ...................................................................................................................................... 47
Captulo 4 .................................................................................................................................................. 48
Resultado ................................................................................................................................................ 48
Conclusiones ........................................................................................................................................... 48
Fuentes de informacin ....................................................................................................................... 49
Enlaces y bibliografa. ......................................................................................................................... 49





3
Captulo 1
Introduccin
Uno de los problemas cotidianos en nuestra institucin, es que cuando se presentan los das de
conferencias, talleres y ponencias, tanto el alumnado como los docentes presentan problemas
al registrar las actividades y las asistencias a estas o no siempre estn muy enterados de estos
por lo que hay inasistencia y adems los alumnos muchas veces mienten diciendo que van a
las conferencias cuando en realidad no lo hacen, por lo que se cree que es importante llevar un
control de las actividades realizadas (conferencias, talleres y ponencias), como cundo, dnde
y de que trataran cada una de ellas as como tambin el control de asistencias de los alumnos.




4
Antecedentes
Actualmente este control se hace mediante carnets impresos, en los cuales vienen columnas
que describen ciertas caractersticas de las actividades a las que asistieron, para esto los
docentes deben imprimir uno para cada alumno, y estos a su vez debern registrar
manualmente las actividades a las que asisten por lo que se ven implicados ciertos problemas,
como la gramtica y ortografa, legibilidad del texto, datos correctos e incluso actividades a las
que no asistieron.
La captura la realizaban manualmente, ya que todo era a mano al final se tena que contabilizar
de la misma manera, as que por eso se vieron forzados a buscar un nuevo sistema, uno que
en realidad fuera eficiente con lo que trabajan.




5
Planteamiento del problema
El problema que se presenta, es que generalmente en las conferencias no se cuenta con un
medio eficaz con el cual podamos verificar quienes asisten a ellas, aunque el verdadero
problema no se presenta en la inasistencia del alumnado, sino que en ocasiones se presenta
que las usan de pretexto para faltar a sus clases, es ah donde se requiere saber quines
fueron a dichas actividades que se ofrecen para as poder determinar las asistencias del
alumnado as como para saber las actividades que se realizan.
Adems de que estas son obligatorias para los alumnos ya que cuentan como parte de sus
crditos y por tal motivo es necesario mantener una integridad de estas actividades, ya que
estas forman parte de su carrera y son un elemento importante para institucin.
Nuestro planteamiento determina el desarrollo de un software con el cual los usuarios podrn
llevar un control de la asistencia, las actividades y conferencias enviando as una notificacin
por correo electrnico a los alumnos de su asistencia a dicha actividad y guardando un registro
a los encargados de administrar tales actividades, esto con el fin de poder ofrecer un servicio
ms rpido y cmodo posible.
El problema principal que se tena era tener que contabilizar todos estos datos manualmente,
esto lleva tiempo y comnmente se cometen errores de diversos tipos, ya que el personal
generalmente se le van las lneas, se pierde en el texto o simplemente por hacerle favores a los
dems, se pretende que con el sistema todo este tipo de errores se eliminen y en caso de que
alguien quiera favorecer a alguien ms se registre quien fue el que hizo tal modificacin a la
informacin, as como cuando lo hizo.




6
Justificacin
La razn por la cual creemos que es importante realizar este proyecto, es porque muchos de
los alumnos no se interesan por las conferencias que se realizan, con el fin de ayudarlos en
muchas cuestiones no slo para su carrera, sino tambin para su persona.
As que debido a la necesidad que surge para que se solucione dicho problema, se crear este
software para llevar el control de quien asiste a las actividades, dando as la conveniencia no
slo para el plantel, sino tambin para los alumnos ya que as no tendrn pretexto alguno para
faltar a clases diciendo que van a las conferencias, estos a su vez les ayudara ya que ser ms
rpido registrar las actividades y asistencias, y as no podrn poner de pretexto que siempre es
un problema poder comprobar y registrar su asistencia a dicha actividad.




7
Hiptesis
El software a desarrollar, ayudar al plantel a tener un mayor control de las actividades,
manteniendo informado al personal de que actividades se realizan, cuando y donde; as como
tambin de la asistencia del alumnado, ayudando a que estos no tengan que solicitar una firma
al trmino de esta sino que el sistema los respalde.
Ya no ser necesario darle a cada alumno un carnet impreso ya que el registro se guardara en
una base de datos ubicada en el edificio de sistemas, ayudando a reducir costos y mejorando
el tiempo de respuesta de los registros.




8
Objetivos
Desarrollar un software para tener el control de las asistencias de todo el alumnado a las
conferencias y talleres que se ofrecen en la institucin, que permita notificar esta informacin a
los responsables y brindar la opcin de imprimir la informacin necesaria.
El objetivo principal, es enviar una alerta de quienes son los que estn participando y asistiendo
a las actividades, ya sea conferencias o talleres.
Con esto pretendemos agilizar tanto el tiempo al momento de registrar una asistencia o una
actividad, como tambin hacer todo ms rpido al momento de hacer un reporte, o tener que
proporcionarle informacin a un alumno o a un docente, con el fin de poder esclarecer
situaciones ms rpidamente.
Objetivos generales
Poder lograr tener registros sin errores, que el alumno se vea beneficiado por la rapidez y
fiabilidad del registro y que los docentes se vean favorecidos por no batallar al tener que sacar
un estatus del alumno para ver sus asistencias al final del ciclo de actividades.
Objetivos Especficos
Lograr tener un sistema que funcione con solo escanear su credencial para leer su nmero de
control y as poder tener un registro rpido y sencillo.




9
Metas
La principal meta es poder asegurar que el sistema tenga un sentido responsable con lo que se
tiene planeado que este haga, ya que se le confiaran datos importantes y la informacin ser
meramente confidencial, por ende tendremos que lograr un trabajo limpio
Supuesto
Este programa tiene como supuesto el poder notificar a los alumnos su asistencia a los
eventos, dando el nombre y la hora de inicio y fin, adems se dar una breve nota de lo que
tratar el evento as como tambin, quien est a cargo de llevar a cabo dicho evento.
Con esto pretendemos tener una mejor consistencia en los datos al no haber dichos errores de
dedo o humanos, el supuesto es que ser de ayuda en la legibilidad y que se reducirn tambin
los problemas que se puedan presentar con los horarios de clase y eventos.
Este proyecto no slo ser de gran ayuda para la institucin, sino tambin para el alumnado,
que podrn presentarse a las conferencias y talleres que les ayudarn en su carrera y vida.




10
Captulo 2
Marco terico
Esta investigacin trata de un software llamado Software para el control de actividades de
conferencias (Check Cardex System, CCS). El problema en el cual nos basamos, es que no se
tiene un control de asistencia y alertas de quienes ingresan a las conferencias y talleres que se
llevan a cabo en la institucin por lo que este software ayudar al plantel a tener un mayor
control de las actividades, manteniendo informado al personal de que actividades se realizan,
cuando y tambin de la asistencia del alumnado, ayudando a que estos no tengan que solicitar
una firma al trmino de esta sino para que el sistema los respalde; siendo el objetivo principal
que se lance una alerta de quienes asisten a las actividades antes mencionadas.

Funciones
El principal objetivo de la investigacin es para saber si el sistema que se tiene pensado
desarrollar en verdad ser factible para dicho escenario, ya que el objetivo es poder solucionar
un problema y no hacerlo ms grande, adems de que lo que queremos es beneficiar a la
institucin brindndole un sistema fcil de manejar y suficientemente apto para la carga
requerida.
Los elementos esenciales a considerar, son registrar las asistencias, dar de alta las actividades
(conferencias, ponencias y talleres) que se ofrezcan en la institucin, poder mandar una alerta
por correo cada que se suscite una asistencia para que el alumno pueda saber que se registr
su asistencia, poder generar reportes para que el administrador o usuario del sistema pueda
mostrar rpidamente un registro o registros a la persona que lo solicite, que al final del ciclo de
actividades se le pueda entregar rpidamente un carnet impreso con todas sus asistencias y
as evitar largas filas.
Una funcin importante es no cometer errores en la alta de los registros, ya que se le tendr
confianza al sistema y el no registrar una alta es un error grave, ya que nadie quiere asistir y
que no se le contabilice su entrada, otra cuestin importante es que se validara que si haya
entrado en realidad.



11
En nuestro caso la investigacin ser interna a la institucin, posteriormente se quiere que el
sistema pueda ser utilizado en cualquier institucin de enseanza pero por el momento se
requiere que solo trabaje en el ITCJ.
Nuestros antecedentes nos dicen que hay que mejorar el tiempo de respuesta de las
solicitudes, mantener una integridad alta en los datos, y que no cualquiera pueda acceder a
dichos datos, ya que son datos sensibles y confidenciales.
Y ms que nada queremos comprobar que nuestras hiptesis resultaran ciertas al termino de
dicho trabajo. En este caso nuestro valuador de nuestro trabajo ser la misma institucin, esta
dir si dicho software resulto apto o no para el trabajo requerido.




12
Tecnologas utilizadas
Visual Studio 2008
Introduccin al desarrollo en Visual Studio 2008
Visual Studio 2008 nos provee una serie de herramientas para desarrollo, as como
caractersticas de debugging, funcionalidad en base de datos y caractersticas
innovadoras para la creacin de aplicaciones en una variedad de plataformas.
Visual Studio 2008 incluye realces como un diseador visual para desarrollo rpido con
el .NET Framework 3.5, esto nos ayuda mucho a los que desarrollan en web por que se
incluyen las caractersticas de Microsoft Expression Web, que la verdad en mi punto de
vista esta excelente, Visual Studio 2008 provee a desarrolladores con todas las
herramientas y el framework el poder crear aplicaciones web con el soporte de AJAX.
Visual Studio 2008 nos provee un nuevo lenguaje de consultas integrado para el manejo
de la informacin, el cual se llama Microsoft Language Integrated Query (LINQ), que es
lo nos har la vida ms fcil para programadores individuales para poder construir
soluciones que analicen y acten sobre la informacin.
Visual Studio 2008 tambin nos provee a desarrolladores la habilidad de poder escoger
entre mltiples versiones del Framework con el mismo entorno de desarrollo, as
nosotros podemos desarrollar en la versin que queramos ya sea en .NET Framework
2.0, 3.0 o 3.5, entiendo as que soporta un gran variedad de proyectos en la versin X
en el mismo entorno de desarrollo.
Visual Studio 2008 ofrece a desarrolladores nuevas herramientas para la fcil creacin
de aplicaciones conectadas en las ultimas plataformas incluyendo web, Windows Vista,
Office 2007, SQL Server 2008 y Windows Server 2008. Para la web,
tenemos ASP.NET, AJAX y otras tecnologas como Silverlight, WPF, etc. que nos dar
la posibilidad de crear aplicaciones con rica interfaz de usuario, para poder dar una
experiencia de usuario sin precedentes.




13

Realmente la colaboracin en equipo!
Visual Studio 2008 nos entrega las ofertas para poder tener la colaboracin en equipos de
desarrollo mediante la nueva visin que tiene Microsoft, incluyendo herramientas que nos
ayudan a integrar manejadores de base de datos (DBAs) y diseadores grficos en este
proceso del desarrollo de software.
Usando la versin de Microsoft .NET Framework 3.5
Se han incluido libreras con este nuevo Framework de Trabajo, recordemos que en la versin
3.0, tenamos 4 tecnologas clave, las de Windows Presentation Foundation, Windows
Workflow, Windows Cardspace, Windows Communication Foundation, ahora tenemos las
mismas tecnologas solo que se aaden ms como LINQ, ASP.NET 3.5, Libreras y
funcionamientos para el CRL, y ms.








14
En resumen se puede comentar, que Visual Studio tiene muchas caractersticas nuevas como:
Soporte para Office 2007 incluyendo el ClickOnce Y VSTO para la versin de Tools 3.0
Integracin con Workflow & Microsoft SharePoint
Manejo de informacin en controles de Word
Plugins para las 2 versiones( 2003 & 2007)
Aditamentos para Excel & Word 2007
Soporte de MFC para controles de Vista
Ya checamos las mejoras para desarrolladores Web
Diseador HTML / CSS
Soporte AJAX y JavaScript.





15
Visual C#
C# es un lenguaje de programacin que se ha diseado para compilar diversas aplicaciones
que se ejecutan en .NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a
objetos. Las numerosas innovaciones de C# permiten desarrollar aplicaciones rpidamente y
mantener la expresividad y elegancia de los lenguajes de estilo de C.
Visual C# es una implementacin del lenguaje C# de Microsoft. Visual Studio admite Visual
C# con un editor de cdigo con caractersticas ms completas, compilador, plantillas de
proyecto, diseadores, asistentes de cdigo, un depurador eficaz y fcil de usar, y otras
herramientas. La biblioteca de clases de .NET Framework ofrece acceso a numerosos servicios
de sistema operativo y a otras clases tiles y adecuadamente diseadas que aceleran el ciclo
de desarrollo de manera significativa.
Caractersticas
Su sintaxis bsica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET el cual
es similar al de Java aunque incluye mejoras derivadas de otros lenguajes (entre ellos Delphi).
La creacin del nombre del lenguaje, C, proviene de dibujar dos signos positivos encima de
los dos signos positivos de "C++", queriendo dar una imagen de salto evolutivo del mismo
modo que ocurri con el paso de C a C++.
C, como parte de la plataforma.NET, est normalizado por ECMA desde diciembre de 2001
(C# Language Specification "Especificacin del lenguaje C"). El 7 de noviembre de 2005 sali
la versin 2.0 del lenguaje que inclua mejoras tales como tipos genricos, mtodos annimos,
iteradores, tipos parciales y tipos anulables. El 19 de noviembre de 2007 sali la versin 3.0 de
C# destacando entre las mejoras los tipos implcitos, tipos annimos y LINQ (Language
Integrated Query -consulta integrada en el lenguaje).
Aunque C forma parte de la plataforma.NET, sta es una interfaz de programacin de
aplicaciones (API); mientras que C es un lenguaje de programacin independiente diseado
para generar programas sobre dicha plataforma. Ya existe un compilador implementado que
provee el marco de DotGNU - Mono que genera programas para distintas plataformas como
Win32, UNIX y Linux.




16
Historia
Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron escritas
originalmente en el lenguaje compilador Simple Managed C. En enero de 1999, Anders
Hejlsberg form un equipo con la misin de desarrollar un nuevo lenguaje de programacin
llamado Cool (C Orientado a Objetos). Este nombre tuvo que ser cambiado debido a problemas
de marca pasando a llamarse C aunque habitualmente se escribe C#. [1] La biblioteca de
clases de la plataforma .NET fue migrada entonces al nuevo lenguaje.
Hejlsberg lider el proyecto de desarrollo de C. Anteriormente, ya particip en el desarrollo de
otros lenguajes como Turbo Pascal, J++ y Borland Delphi




17
MySQL

MySQL es el servidor de bases de datos relacionales ms popular, desarrollado y
proporcionado por MySQL AB. MySQL AB es una empresa cuyo negocio consiste en
proporcionar servicios en torno al servidor de bases de datos.

MySQL es un sistema de administracin de bases de datos

Una base de datos es una coleccin estructurada de datos. La informacin que puede
almacenar una base de datos puede ser tan simple como la de una agenda, un contador, o un
libro de visitas, o tan vasta como la de una tienda en lnea, un sistema de noticias, un portal, o
la informacin generada en una red corporativa. Para agregar, accesar, y procesar los datos
almacenados en una base de datos, se necesita un sistema de administracin de bases de
datos, tal como MySQL.


MySQL es un sistema de administracin de bases de datos relacionales

Una base de datos relacional almacena los datos en tablas separadas en lugar de poner todos
los datos en un solo lugar. Esto agrega velocidad y flexibilidad. Las tablas son enlazadas al
definir relaciones que hacen posible combinar datos de varias tablas cuando se necesitan
consultar datos. La parte SQL de "MySQL" significa "Lenguaje Estructurado de Consulta", y es
el lenguaje ms usado y estandarizado para accesar a bases de datos relacionales.


MySQL es Open Source

Open Source significa que la persona que quiera puede usar y modificar MySQL. Cualquiera
puede descargar el software de MySQL de Internet y usarlo sin pagar por ello. Inclusive,
cualquiera que lo necesite puede estudiar el cdigo fuente y cambiarlo de acuerdo a sus
necesidades. MySQL usa la licencia GPL (Licencia Pblica General GNU), para definir qu es
lo que se puede y no se puede hacer con el software para diferentes situaciones. Sin embargo,
si uno est incmodo con la licencia GPL o tiene la necesidad de incorporar cdigo de MySQL
en una aplicacin comercial es posible comprar una versin de MySQL con una licencia
comercial. Para mayor informacin, ver la pgina oficial de MySQL en la cual se proporciona
mayor informacin acerca de los tipos de licencias.



18


Por qu usar MySQL?

El servidor de bases de datos MySQL es muy rpido, seguro, y fcil de usar. Si eso es lo que
se est buscando, se le debe dar una oportunidad a MySQL. Se pueden encontrar
comparaciones de desempeo con algunos otros manejadores de bases de datos en la pgina
de MySQL.

El servidor MySQL fue desarrollado originalmente para manejar grandes bases de datos mucho
ms rpido que las soluciones existentes y ha estado siendo usado exitosamente en ambientes
de produccin sumamente exigentes por varios aos. Aunque se encuentra en desarrollo
constante, el servidor MySQL ofrece hoy un conjunto rico y til de funciones. Su conectividad,
velocidad, y seguridad hacen de MySQL un servidor bastante apropiado para accesar a bases
de datos en Internet.

Algunos detalles tcnicos de MySQL

El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone
de un servidor SQL multihilo, varios programas clientes y bibliotecas, herramientas
administrativas, y una gran variedad de interfaces de programacin (APIs). Se puede obtener
tambin como una biblioteca multihilo que se puede enlazar dentro de otras aplicaciones para
obtener un producto ms pequeo, ms rpido, y ms fcil de manejar. Para obtener
informacin tcnica ms detallada, es necesario consultar la gua de referencia de MySQL.


Cul es la manera de pronunciar MySQL?
La manera oficial de pronunciar MySQL es "my ess que ell" (no "my sequel"), pero no existe
ningn inconveniente en pronunciarlo como "my sequel", o de alguna otra manera.





19
Heidi SQL
Qu es Heidi SQL?
MySQL es una de las bases de datos relacionales ms utilizadas en Internet. Potente, rpida y
con poco gasto de recursos, esta herramienta, que se distribuye bajo licencia GLP, es un
imprescindible para muchos diseadores web. Aunque es recomendable aprender a trabajar
SQL desde la lnea de comandos, los no expertos tienen alternativas para trabajar con sus
bases de datos a golpe de clic.
Heidi SQL es una interfaz grfica opens urce para la gestin simplificada de tus bases de datos
MySQL locales y/o remotas. Esta ligera aplicacin gratuita ofrece una gran cantidad de
funcionalidades para que la gestin de tus bases de datos se convierta en una tarea asequible.
Entre otras muchas funciones, Heidi SQL te permite:
La gestin y consulta de tus bases y tablas de datos a partir de una interfaz Windows
ergonmica.
La importacin de datos desde archivos de texto.
La exportacin de tablas de datos CSV, HTML y XML.
La sincronizacin de tablas entre dos bases de datos.
La gestin de los distintos usuarios y sus privilegios.
La edicin sencilla de tablas de datos.
La escritura de quieres con sintaxis coloreada.
Heidi SQL, se le conoci originalmente como MySQL-Front, como un cliente gratuito y de
cdigo abierto, desarrollado por el programador alemn Ansgar Becker (con contribuciones de
otros) en Delphi. Actualmente est licenciado bajo GPLv2 y viene incluido el instalador de
Windows de MariaDB. Corre tambin en Linux va Wine (Windows Emulator, pues). La ventaja
de trabajar con este sistema visual es que no es necesario acordarse de los nombres de las
columnas y de las tablas. Su ambiente grfico hace las cosas realmente muy sencillas.
Se puede usar Heidi SQL para conectarse a mltiples servidores de bases de datos y pueden
transferirse datos entre servidores incluso. Hay tambin opciones para manejar los privilegios
de los usuarios, editar ver y detener incluso procesos que estn corriendo. La ltima versin
incluye la capacidad de manejar usuarios, poner lmites a cada cuenta, etc.



20
Microsoft .Net Framework
El Microsoft .NET Framework, es un componente de software que puede ser o es incluido en
los sistemas operativos Microsoft Windows. Provee soluciones pre-codificadas para
requerimientos comunes de los programas y gestiona la ejecucin de programas escritos
especficamente para este framework.
Microsoft desea que todas las aplicaciones creadas para la plataforma Windows, sean
basadas en el .NET Framework. Su objetivo es crear un marco de desarrollo de software
sencillo, reduciendo las vulnerabilidades y aumentando la seguridad de los programas
desarrollados.
Las soluciones pre-codificadas que forman la biblioteca .NET, cubren un gran rango de
necesidades de la programacin de programas. Los programadores las emplean y combinan
con sus propios cdigos en sus programas. El framework incluye soluciones en reas como: la
interfaz de usuario, acceso a datos, conectividad a bases de datos, criptografa, desarrollo de
aplicaciones web, algoritmos numricos y comunicacin de redes.
Con esta plataforma Microsoft incursiona de lleno en el campo de los servicios web y establece
al XML como norma en el transporte de informacin en sus productos y lo promociona como tal
en los sistemas desarrollados utilizando sus herramientas.
.NET Framework es un componente integral de Windows que admite la creacin y la ejecucin
de la siguiente generacin de aplicaciones y servicios Web XML. El diseo de .NET Framework
est enfocado a cumplir los objetivos siguientes:
Proporcionar un entorno coherente de programacin orientada a objetos, en el que el
cdigo de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma
local pero distribuida en Internet o ejecutar de forma remota.
Proporcionar un entorno de ejecucin de cdigo que reduzca lo mximo posible la
implementacin de software y los conflictos de versiones.
Ofrecer un entorno de ejecucin de cdigo que fomente la ejecucin segura del mismo,
incluso del creado por terceras personas desconocidas o que no son de plena
confianza.
Proporcionar un entorno de ejecucin de cdigo que elimine los problemas de
rendimiento de los entornos en los que se utilizan secuencias de comandos o
intrpretes de comandos.



21
Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy
diferentes, como las basadas en Windows o en el Web.
Basar toda la comunicacin en estndares del sector para asegurar que el cdigo de
.NET Framework se puede integrar con otros tipos de cdigo.
.NET Framework contiene dos componentes principales: Common Language Runtime y la
biblioteca de clases de .NET Framework. Common Language Runtime es el fundamento de
.NET Framework. El motor en tiempo de ejecucin se puede considerar como un agente que
administra el cdigo en tiempo de ejecucin y proporciona servicios centrales, como la
administracin de memoria, la administracin de subprocesos y la interaccin remota, al tiempo
que aplica una seguridad estricta a los tipos y otras formas de especificacin del cdigo que
fomentan su seguridad y solidez. De hecho, el concepto de administracin de cdigo es un
principio bsico del motor en tiempo de ejecucin. El cdigo destinado al motor en tiempo de
ejecucin se denomina cdigo administrado, a diferencia del resto de cdigo, que se conoce
como cdigo no administrado. La biblioteca de clases, el otro componente principal de .NET
Framework, es una completa coleccin orientada a objetos de tipos reutilizables que se pueden
emplear para desarrollar aplicaciones que abarcan desde las tradicionales herramientas de
interfaz grfica de usuario (GUI) o de lnea de comandos hasta las aplicaciones basadas en las
innovaciones ms recientes proporcionadas por ASP.NET, como los formularios Web Forms y
los servicios Web XML.
.NET Framework puede alojarse en componentes no administrados que cargan Common
Language Runtime en sus procesos e inician la ejecucin de cdigo administrado, con lo que
se crea un entorno de software en el que se pueden utilizar caractersticas administradas y no
administradas. En .NET Framework no slo se ofrecen varios hosts de motor en tiempo de
ejecucin, sino que tambin se admite el desarrollo de estos hosts por parte de terceros.
Por ejemplo, ASP.NET aloja el motor en tiempo de ejecucin para proporcionar un entorno de
servidor escalable para el cdigo administrado. ASP.NET trabaja directamente con el motor en
tiempo de ejecucin para habilitar aplicaciones de ASP.NET y servicios Web XML, que se
tratan ms adelante en este tema.
Internet Explorer es un ejemplo de aplicacin no administrada que aloja el motor en tiempo de
ejecucin (en forma de una extensin de tipo MIME). Al usar Internet Explorer para alojar el
motor en tiempo de ejecucin, puede incrustar componentes administrados o controles de
Windows Forms en documentos HTML. Al alojar el motor en tiempo de ejecucin de esta



22
manera se hace posible el uso de cdigo mvil administrado (similar a los controles de
Microsoft ActiveX), pero con mejoras significativas que slo el cdigo administrado puede
ofrecer, como la ejecucin con confianza parcial y el almacenamiento aislado de archivos.
En la ilustracin siguiente se muestra la relacin de Common Language Runtime y la biblioteca
de clases con las aplicaciones y el sistema en su conjunto. En la ilustracin se representa
igualmente cmo funciona el cdigo administrado dentro de una arquitectura mayor.
.NET Framework en context.






23
Metodologa de software.
Cuando se habla de desarrollo de software se habla del desarrollo de programas y por lo tanto
se considera como una tarea de ingeniera, en el cul se debe ejecutar una serie de fases,
etapas para obtener un programa que funcione de acuerdo con mtodos ya establecidos.

Las
actividades que se realizan se encuentran asociadas a un proceso de software donde
intervienen diferentes elementos (fases, actividades, producto, roles, agentes) que permiten la
definicin del software a producir, el desarrollo o el diseo del software, la validacin del
software tanto lo interno como lo externo, y la evolucin del software donde se modifica para
adaptarlo a los cambios.
Nosotros elegimos el ciclo de vida en cascada, ya que se adecua ms a nuestro software y por
lo tanto tenemos que seguir rigurosamente cada paso, para poder continuar al siguiente y as
sucesivamente.






24
Diagramas de clases




25
Diagramas de Casos de Uso





26




27
Interfaz del Usuario
Capturas

Esta es la primera ventana que se mostrara, contiene un men en el cual el usuario podr
realizar las tareas esenciales del programa, en esta forma se anclaran todas las dems
ventanas para mantener una mejor relacin en la vista del programa.




28

Aqu podremos apreciar el despliegue del men de Actividad donde podremos visualizar el
registro de las Actividades y Visualizar los reportes o un detalle de estos mismos.

Esta es la ventana de Registro de Actividades, en la cual podemos dar de alta, modificar y
eliminar las actividades que agreguemos o necesitemos modificar para su posterior uso, en
esta misma forma contamos con:




29
Validacin de controles
Checar errores y mostrarlos
Validar la fecha
Agregar una descripcin (Opcional)
Limpiar controles
No degradar la integridad de su informacin


Aqu podemos visualizar el men donde podremos dar altas, bajas y modificaciones de
nuestros usuarios (alumnos).




30


Esta es la ventana de Registro de Usuarios, en la cual podemos dar de alta, modificar y
eliminar a los alumnos que agreguemos o necesitemos modificar para su posterior uso, en esta
misma forma contamos con:
Validacin de controles
Checar errores y mostrarlos
Validar la fecha
Agregar una descripcin (Opcional)
Limpiar controles
No degradar la integridad de su informacin
Contendremos controles que se precargaran de la base de datos para un uso dinmico
El nmero de control aceptara solo nmeros para mantener la integridad
El correo se validara de ser valido




31

Registro de asistencia:
Daremos de alta la asistencia
El escaneo de la credencial permitir la captura rpida
Tambin se podr hacer manual aceptando solo nmeros
Al completar los 8 dgitos se har el proceso automtico
Se capturara la actividad a la que asistir, fecha y la hora de entrada




32

Bsqueda: Esta seccin abrir una nueva interfaz con la cual el usuario podr realizar
bsquedas de dos tipos:
Bsqueda por alumno: El sistema pedir al usuario ingresar el nmero de control del
alumno para generar una lista de los eventos a los que ha asistido y si cumpli o no con
el mismo.
Bsqueda por Actividad: El sistema generar una lista de los alumnos que asistieron a
una actividad en especfico.




33
Cdigo fuente
Clase Conexin MySql
using MySql.Data.MySqlClient;
using System.Data;


namespace CCS_v1._0
{
class ConexionMySql
{
#region Varibles

private string cadena;
private MySqlConnection cnn;
private MySqlCommand cmd;
private MySqlDataAdapter da;
private DataTable tabla;

private string error;

#endregion

#region SetGet
public string Error
{
get { return error; }
set { error = value; }
}


public DataTable Tabla
{
get { return tabla; }
set { tabla = value; }
}
#endregion

#region StringConexion
public ConexionMySql()
{
cadena = "Server=localhost; Database=css; Pwd='';
Uid=root";
}
#endregion

#region ConexionBD
private bool abrir()
{
try
{



34
cnn = new MySqlConnection(cadena);
if(cnn.State == System.Data.ConnectionState.Closed)
{
cnn.Open();
return true;
}
}
catch
{

}
return false;
}

private bool cerrar()
{
if (cnn.State == System.Data.ConnectionState.Open)
{
cnn.Close();
return true;
}
return false;
}
#endregion

#region AccionesBD
public bool LeerTabla(string SP_Select_Actividad)
{
try
{
abrir();
cmd = new MySqlCommand();
cmd.Connection = cnn;
cmd.CommandText = SP_Select_Actividad;
cmd.CommandType = CommandType.StoredProcedure;
da = new MySqlDataAdapter(cmd);
tabla = new DataTable();
da.Fill(tabla);
return true;
}
catch(MySqlException ex)
{
error = ex.Message;
return false;
}
}

public bool LeerTablaUsuario(string SP_Select_Usuario)
{
try
{
abrir();



35
cmd = new MySqlCommand();
cmd.Connection = cnn;
cmd.CommandText = SP_Select_Usuario;
cmd.CommandType = CommandType.StoredProcedure;
da = new MySqlDataAdapter(cmd);
tabla = new DataTable();
da.Fill(tabla);
return true;
}
catch (MySqlException ex)
{
error = ex.Message;
return false;
}
}

public bool LeerTablaActividad(string SP_Rellenar)
{
try
{
abrir();
cmd = new MySqlCommand();
cmd.Connection = cnn;
cmd.CommandText = SP_Rellenar;
cmd.CommandType = CommandType.StoredProcedure;
da = new MySqlDataAdapter(cmd);
tabla = new DataTable();
da.Fill(tabla);
return true;
}
catch(MySqlException ex)
{
error = ex.Message;
return false;
}
}

public bool EjecutarStoreProcedure(string SP_Select_Actividad,
Parametros[] datos)
{
try
{
abrir();
cmd = new MySqlCommand();
cmd.Connection = cnn;
cmd.CommandText = SP_Select_Actividad;
cmd.CommandType = CommandType.StoredProcedure;

for (int i = 0; i < datos.Length; i++)
{
// Valor del Set/Get



36
cmd.Parameters.Add(datos[i].NombrePara,
datos[i].ValorPara);
}

da = new MySqlDataAdapter(cmd);
tabla = new DataTable();
da.Fill(tabla);
return true;
}
catch (MySqlException ex)
{
error = ex.Message;
return false;
}
}

public bool EjecutarStoreProcedureRellenar(string SP_Rellenar,
Parametros[] datos)
{
try
{
abrir();
cmd = new MySqlCommand();
cmd.Connection = cnn;
cmd.CommandText = SP_Rellenar;
cmd.CommandType = CommandType.StoredProcedure;

for (int i = 0; i < datos.Length; i++)
{
// Valor del Set/Get
cmd.Parameters.Add(datos[i].NombrePara,
datos[i].ValorPara);
}

da = new MySqlDataAdapter(cmd);
tabla = new DataTable();
da.Fill(tabla);
return true;
}
catch (MySqlException ex)
{
error = ex.Message;
return false;
}
}

public bool EjecutarStoreProcedureUsuario(string
SP_Select_Usuario, Parametros[] datos)
{
try
{
abrir();



37
cmd = new MySqlCommand();
cmd.Connection = cnn;
cmd.CommandText = SP_Select_Usuario;
cmd.CommandType = CommandType.StoredProcedure;

for (int i = 0; i < datos.Length; i++)
{
// Valor del Set/Get
cmd.Parameters.Add(datos[i].NombrePara,
datos[i].ValorPara);
}

da = new MySqlDataAdapter(cmd);
tabla = new DataTable();
da.Fill(tabla);
return true;
}
catch (MySqlException ex)
{
error = ex.Message;
return false;
}
}
#endregion
}
}





38
Forma FR_RegistrarActividad
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;


namespace CCS_v1._0
{
public partial class FR_RegistrarActividad : Form
{
#region Variables

ClassActividades SP_Act;
string ErrorM = "Campo Requerido";
int IDval = 0;

#endregion

#region MetodosDeRutina

public bool Validacion()
{
if (tbNombre.Text == "")
{
errProMSG.SetError(tbNombre, ErrorM);
return false;
}
if (cbActividad.Text == "")
{
errProMSG.SetError(cbActividad, ErrorM);
return false;
}
if (tbPresentador.Text == "")
{
errProMSG.SetError(tbPresentador, ErrorM);
return false;
}
if (tbAula.Text == "")
{
errProMSG.SetError(tbAula, ErrorM);
return false;
}
//if (rtbDescripcion.Text == "")
//{
// errProMSG.SetError(rtbDescripcion, ErrorM);



39
// return false;
//}
return true;
}

public void RefrescarDGrid()
{
SP_Act = new ClassActividades();
if (SP_Act.Read())
{
dgvActividades.DataSource = SP_Act.Tabla;
}
else
{
MessageBox.Show(SP_Act.Error);
}
}

public void LimpiarControles()
{
lblIDBorrar.Text = "ID: ";
tbNombre.Text = string.Empty;
cbActividad.Text = string.Empty;
tbPresentador.Text = string.Empty;
tbAula.Text = string.Empty;
dtpFecha.ResetText();
dtpHoraInicio.ResetText();
dtpHoraFin.ResetText();
rtbDescripcion.Text = string.Empty;
//this.cbActividad.SelectedIndex = 0;
}
#endregion

#region LoadForm
public FR_RegistrarActividad()
{
InitializeComponent();
}

private void FR_RegistrarActividad_Load(object sender,
EventArgs e)
{
RefrescarDGrid();
}
#endregion

#region EventosBotones
private void btAgregar_Click(object sender, EventArgs e)
{
if (IDval != 0)
{



40
MessageBox.Show("Es un registro en proceso de
edicion");
}
else
{
if (Validacion() == true)
{
SP_Act = new ClassActividades(null, tbNombre.Text,
cbActividad.Text, tbPresentador.Text, tbAula.Text, dtpFecha.Text,
dtpHoraInicio.Text, dtpHoraFin.Text, rtbDescripcion.Text, null);
SP_Act.Add();

RefrescarDGrid();
LimpiarControles();
}
}
}

private void btBorrar_Click(object sender, EventArgs e)
{
SP_Act = new ClassActividades();
SP_Act.Id = IDval.ToString();
SP_Act.Delete();

RefrescarDGrid();
LimpiarControles();
}

private void btModificar_Click(object sender, EventArgs e)
{
if (IDval == 0)
{
MessageBox.Show("Valor ID = 0");
}
else
{
Validacion();

SP_Act = new ClassActividades(IDval.ToString(),
tbNombre.Text, cbActividad.Text, tbPresentador.Text, tbAula.Text,
dtpFecha.Text, dtpHoraInicio.Text, dtpHoraFin.Text,
rtbDescripcion.Text, null);
SP_Act.Modify();

RefrescarDGrid();
LimpiarControles();
IDval = 0;
lblIDBorrar.Text = "ID = 0";
}
}




41
private void btLimpiar_Click(object sender, EventArgs e)
{
LimpiarControles();
}

private void btSalir_Click(object sender, EventArgs e)
{
Application.Exit();
}
#endregion

#region MetodosControles
//Al seleccionar elementos del datagrid se cargan a sus
respectivos elementos
public void RellenarCampos()
{
IDval =
int.Parse(Convert.ToString(dgvActividades.CurrentRow.Cells[0].Value));
tbNombre.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[1].Value);
cbActividad.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[2].Value);
tbPresentador.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[3].Value);
tbAula.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[4].Value);
dtpFecha.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[5].Value);
dtpHoraInicio.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[6].Value);
dtpHoraFin.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[7].Value);
rtbDescripcion.Text =
Convert.ToString(dgvActividades.CurrentRow.Cells[8].Value);
}

#endregion

#region KeyPress Controles
private void tbNombre_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (tbNombre.Text == string.Empty)
{
tbNombre.Focus();
}
else
cbActividad.Focus();
}
}



42

private void cbActividad_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (cbActividad.Text == string.Empty)
{
cbActividad.Focus();
}
else
tbPresentador.Focus();
}
}

private void tbPresentador_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (tbPresentador.Text == string.Empty)
{
tbPresentador.Focus();
}
else
tbAula.Focus();
}
}

private void tbAula_KeyPress(object sender, KeyPressEventArgs
e)
{
if (e.KeyChar == 13)
{
if (tbAula.Text == string.Empty)
{
tbAula.Focus();
}
else
dtpFecha.Focus();
}
}

private void dtpFecha_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (dtpFecha.Text == string.Empty)
{
dtpFecha.Focus();
}



43
else
dtpHoraInicio.Focus();
}
}

private void dtpHoraInicio_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (dtpHoraInicio.Text == string.Empty)
{
dtpHoraInicio.Focus();
}
else
dtpHoraFin.Focus();
}
}

private void dtpHoraFin_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (dtpHoraFin.Text == string.Empty)
{
dtpHoraFin.Focus();
}
else
rtbDescripcion.Focus();
}
}

private void rtbDescripcion_KeyPress(object sender,
KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
btAgregar.Focus();
}
}
#endregion

private void dgvActividades_CellClick(object sender,
DataGridViewCellEventArgs e)
{
LimpiarControles();
RellenarCampos();
lblIDBorrar.Text = "ID = " + IDval;
}

private void tbNombre_TextChanged(object sender, EventArgs e)



44
{
Validacion();
}
}
}




45
Stored Procedure
tbdactividad
CREATE TABLE `tbdactividad` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(50) NOT NULL,
`tipo_actividad` VARCHAR(50) NOT NULL,
`presentador` VARCHAR(50) NOT NULL,
`aula` VARCHAR(50) NOT NULL,
`fecha` VARCHAR(50) NOT NULL,
`hora_inicio` VARCHAR(50) NOT NULL,
`hora_fin` VARCHAR(50) NOT NULL,
`descripcion` VARCHAR(50) NULL DEFAULT NULL,
`bandera` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=46;

SP_Select_Actividad
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_Select_Actividad`()
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
select SP_Act.id as 'ID', SP_Act.nombre as 'NOMBRE',
SP_Act.tipo_actividad as 'TIPO_ACTIVIDAD',
SP_Act.presentador as 'PRESENTADOR', SP_Act.aula as 'AULA',
SP_Act.fecha as 'FECHA',
SP_Act.hora_inicio as 'HORA_INICIO', SP_Act.hora_fin as 'HORA_FIN',
SP_Act.descripcion as 'DESCRIPCION',
SP_Act.bandera as 'BANDERA' from tbdactividad SP_Act;
END






46
Captulo 3
Diseo del esquema
Tema: Software para el control de actividades de conferencias (Check Cardex System, CCS).
Captulo 1.
Introduccin.
Antecedentes.
Planteamiento del problema.
Justificacin.
Hiptesis.
Objetivos.
Generales.
Especficos.
Metas.
Supuestos.
Captulo 2.
Marco terico.
Funciones.
Captulo 3.
Diseo del esquema.
Cronograma.
Captulo 4.
Resultado.
Conclusiones.




47
Cronograma




48
Captulo 4
Resultado
Este proyecto, es de gran ayuda tanto para los alumnos como para los docentes de esta
institucin, ya que es de suma importancia tener el control de la asistencia a las conferencias y
talleres que se llevan a cabo; adems de mantener informado a los docentes mediante una
alerta que es la que indica quienes son los que entran a las actividades antes mencionadas.

Conclusiones
Gracias a todo lo visto en esta clase y lo aprendido alrededor de todo el curso podemos
presentar este proyecto, el cual nos dej como aprendizaje como documentar y presentar de
manera formal lo que es un proyecto de software.
Pudimos obtener un software para tomar la captura de los registros de asistencias a las
actividades que realiza el Tecnolgico de Ciudad Jurez en su semana de conferencias. Con
esto podremos tener un mejor control sobre este clase de situaciones, nosotros destacamos de
nuestro software el poder tomar el registro de actividades, la visualizacin e impresin de
reportes y la alerta por correo electrnico al realizar algo con un usuario en el sistema, as
como al darlo de alta o tomar un registro nuevo en alguna de nuestras reas del sistema.
Nos llevamos lo mejor de la clase destacando que aprendimos a cmo desarrollar un protocolo
de investigacin y saber y conocer todo lo que esta implica y debe contener, esto nos ser de
mucha ayuda cuando presentemos nuestras residencias profesionales ya que sabremos cmo
realizar la documentacin de nuestro software y a como presentarla en un documento de
investigacin para presentarla ante un jurado.




49
Fuentes de informacin
Primarias: Se realizaran sondeos a la comunidad estudiantil y a los docentes encargados de
realizar dichas actividades, para ver si el software en realidad les ayudara a hacer el trabajo
ms rpido y sin errores, o si lo ven como un estorbo para las labores.
Secundarias: Se tomara el ejemplo del pasado mtodo de registro para saber que hay que
mejorar y como lo podemos hacer.
Terciarias: De registros previamente existentes, esto nos ayudara a saber cmo se mantena
en papel esta informacin y en que carece de formalidad y legibilidad, con esto podremos
contemplar ciertas mejoras al sistema que manejaban de registro, que no era muy favorable ya
que todo se haca de manera manual, cosa que involucra prdida de tiempo y errores de
transcripcin.
Enlaces y bibliografa.
http://ejemplosde.info/ejemplo-de-marco-teorico/
www.mysql-hispano.org
Gua para la elaboracin del protocolo de investigacin.
Mtra. Teresa de Jess Valds Snchez
Dr. Alfonso C. Garca Reynoso
M.I. Alberto P. Lorandi Medina
Dr. Ricardo Galvn Martnez
Dr. Alejandro Vargas Colorado
Boca del Ro, Veracruz, a 11 de febrero de 2010

Das könnte Ihnen auch gefallen