PROYECTO SISTEMA DE CONSULTAS DE MATERIAL HEMEROGRÁFICO NOMBRE DE LA EMPRESA UNIVERSIDAD TECNOLÓGICA DE SAN JUAN DEL RÍO QUERÉTARO PRESENTA: Mauro Pérez García TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS ASESORAN: Dora Lilia López Ángeles Miguel Ángel González Pacheco SAN JUAN DEL RÍO, QRO. 13 de Abril de 2010 ÍNDICE Capítulo 1 Generalidades de la Empresa 1.1 Nombre de la empresa ......................................................................................... 6 1.2 Logotipo ................................................................................................................ 6 1.3 Antecedentes históricos ....................................................................................... 6 1.4 Giro........................................................................................................................ 6 1.5 Misión de la empresa ........................................................................................... 7 1.6 Visión de la empresa ............................................................................................ 7 1.7 Filosofía ................................................................................................................ 7 1.8 Políticas ................................................................................................................ 7 1.9 Objetivos .............................................................................................................. 8 1.10 Ubicación ............................................................................................................ 8 1.11 Organigrama ...................................................................................................... 8 Capítulo 2 Análisis 2.1 Nombre del proyecto .......................................................................................... 10 2.2 Descripción del problema ................................................................................... 10 2.3 Planteamiento del Proyecto ................................................................................ 10 2.4 Objetivos del proyecto ........................................................................................ 10 -Generales -Específico 2.5 Alcance del proyecto .......................................................................................... 11 2.6 Beneficios y valor ............................................................................................... 11 2.7 Propuesta Mejora ............................................................................................... 11 2.8 Objetivos de la continuación ............................................................................... 11 2.9 Análisis FODA .................................................................................................... 12 2.10 Análisis de factibilidad ...................................................................................... 13 - Operacional 2 - Económico - Técnico 2.11 Presupuesto ..................................................................................................... 16 2.12 Planeación o diagrama de Gantt ...................................................................... 16 Capítulo 3 3.1 Modelo de proceso a utilizar ............................................................................... 20 3.2 Tipo de sistema a realizar .................................................................................. 20 3.3 Actividades del desarrollo de software ............................................................... 20 -En general -Particular 3.4 Moldeado orientado a objetos ............................................................................. 21 -Modelo de requisitos...................................................................................... 21 -Modelo de casos de uso ................................................................................ 21 -Modelo de análisis.......................................................................................... 25 -Modelo de diseño ........................................................................................... 27 Implementación ........................................................................................ 29 -Modelo de pruebas......................................................................................... 43 4.1 Reportes de minutas con firmas de cada reunión que se tuvo ............................ 49 4.2 Reportes de cómo funciona el sistema en la vida real ........................................ 53 4.3 Conclusiones con el usuario final ........................................................................ 54 4.4 Conclusiones personales .................................................................................... 55 Glosario ..................................................................................................................... 56 Bibliografía 3 INTRODUCCIÓN En el presente proyecto se pretende analizar en conjunto con el cliente al que se le va a realizar el software cuales son sus necesidades. Se recaudará la información necesaria para llevar a cabo este con las reglas adecuadas. Como estudiante y viviente de las necesidades que llegase a tener la escuela se realizara el estudio para la realización de este software en la biblioteca donde se presta el servicio del internet, así mismo este les ayudara a tener la información en orden y dentro de una base de datos la cual les indicara que porcentaje de alumnos asiste de cada carrera. Este programa ayudará al personal encargado de su manejo que se tenga un mejor control de los alumnos que tienen acceso a los diferentes servicios que este departamento ofrece, sin tener complicaciones al prestar ni recaudar información acerca de los datos de correspondientes. Dentro de esta documentación se toman en cuanta todos los pasos a seguir para lograr que un proyecto como lo es este logre un buen funcionamiento, ya que todas las herramientas aquí presentes son necesarias y de fundamental implementación. Así mismo encontramos todos los datos relevantes de la institución o bien empresa a al que se le realiza dicho proyecto, se incluyen dentro el porque se realizo este, en que circunstancias se realiza, a que área. 4 Capítulo I Antecedentes de la Empresa 5 1.1 Nombre de la empresa Universidad Tecnológica de San Juan del Río Qro. 1.2 Logo de la empresa Fig.1 logo 2010 de la utsjr 1.3 Antecedentes históricos La Universidad Tecnológica de San Juan del Río, es una Institución de Educación Superior creada en agosto de 1998, que ofrece a los jóvenes egresados del bachillerato, carreras universitarias estrechamente vinculadas con el sector productivo para que en un corto plazo se incorporen al trabajo profesional de la región. Su principal objetivo es lograr una educación integral de calidad, de acuerdo a su Sistema de Gestión de la Calidad, de tal modo que dichos alumnos cuenten con conocimientos sólidos, experiencia práctica, actitudes y valores. 1.4 Giro Brindar servicios de educación a nivel superior a alumnos egresados del nivel medio superior (bachillerato, preparatoria). 6 1.5 Misión Ofrecer educación superior de calidad para formar personas con valores que respondan a las necesidades y expectativas de la sociedad y competitivas a través de la generación de conocimiento aplicado a través de la estrecha vinculación con sectores productivo y social. 1.6 Visión Ser una institución reconocida por su excelencia académica por la calidad y competitividad de su personal, de sus egresados y de los servicios que ofrece a la sociedad. 1.7 Filosofía Calidad Pertinencia Intensidad Continuidad Polivalencia Exigibilidad 1.8 Políticas Los integrantes de la Universidad Tecnológica de San Juan del Río Querétaro se comprometen a formar personas en el nivel de Educación superior, que satisfagan las necesidades y expectativas, de la sociedad, salvaguardando su integridad; a través de una mística de servicio, trabajo en equipo, inmensos en espíritu de respeto al medio ambiente y sustentados en la valoración del amplio universo de nuestras formas de pensar, que propicien la mejora continua. 7 1.9 Objetivos Brindar servicios educativos de calidad Formar egresados de calidad, competitivos, en su campo profesional Ofrecer al sector productivo y a la comunidad, servicios tecnológicos de excelencia. Generar una cultura en el personal y en el alumnado para cuidar y salvaguardar el medio ambiente y proteger la integridad de las personas. 1.10 Ubicación Colonia Vista hermosa, Av. La Palma, San Juan del Río Qro. 1.11 Organigrama Figura 2. Se muestra el organigrama de la institución donde se marca con una línea donde se realizara el sistema. 8 Capítulo II Análisis 9 2.1 Nombre del Proyecto Servicios bibliotecarios 2.2 Descripción del problema En este departamento se tiene gran iniciativa por parte del cliente ya que de verdad le interesa que se pueda concluir satisfactoriamente con este proyecto, lo que me hace como alumno comprometido al igual cumplir, de esta se puede cumplir con todos los requerimientos ya que si este tiene de toda la disponibilidad será fácil cumplir con las materias incorporadas en este proyecto. El problema se encuentra situado en la búsqueda de información en cuanto a discos para la consulta para lo que se requiere que este software tenga un buscador donde diga cual es su ubicación, existencias y nombre del libro. 2.3 Planteamiento del proyecto El proyecto se desarrollara debido a que existe una deficiencia en el área de servicios bibliotecarios a la hora de buscar algún proyecto desarrollado por algún alumno y tardan en encontrarlo, este proyecto traerá consigo una gran ayuda tanto para el personal que se encarga de la búsqueda como para los alumnos que los quieran consultar. 2.4 Objetivo u objetivos Mi objetivo personal es concluir satisfactoriamente con este proyecto como cumplir con todas las expectativas del cliente y que así pueda quedar totalmente satisfecho de la misma manera hacerme saber que puedo realizar lo que me proponga. Así mismo el objetivo mas cercano del cliente es tener un mejor control en los datos que se manejan ya que así se podrán tener almacenados en una sola parte y no tener documentos guardados en todas partes que es lo que ellos no quieren. 10 2.5 Alcance del proyecto Con este programa se pretende tener un mejor rendimiento como control del sistema de alumnado que entra al servicio de internet que la biblioteca ofrece, así mismo el personal encargado tendrá un control por carrera de quienes son los que mas hacen uso de ese que es lo que a ellos les interesa. 2.6 Beneficios y valor Al cliente le traerá un beneficio de gran ayuda, ya que cuando realizaban alguna consulta para búsqueda de información ya sea en Cd, Dvd o video tenían que revisar de carpeta en carpeta hasta encontrar lo que requerían, ahora solo bastara con teclear el nombre de lo que se necesita e indicara el sistema cuantas unidades existen, nombre, y formato. 2.7 Propuesta de mejora Se pretende comenzar nuevo proyecto ya que se tuvo problemas en cuanto a las reuniones con el cliente como conflictos dentro del mismo equipo de trabajo anterior. 2.8 Objetivos para la continuación Poner en marcha la planeación de cada día, ya que tomando en cuenta todos los aspectos que requiere este sistema dentro de este habrá una mejor organización en cuanto a tiempo, y situaciones que salgan día a día. Por otra parte el objetivo más cercano es el satisfacer favorablemente al cliente, ya que esa es la razón de la realización de este proyecto. 11 2.9 Análisis de FODA proyecto Fortalezas En cuestión de la creación del Software, será desarrollado en un lenguaje de programación ya visto anteriormente en clase lo que veo como una fortaleza ya que en el aspecto de su creación creo tener un 80% de conocimiento acerca de la materia, por esto mismo el cliente ha dejado que como su proveedor yo decida el lenguaje de programación que mas se me asimile. En cuestión de la recaudación de información para la entrega de capítulos a los profesores de las materias incorporadas al dicho proyecto se toma de la página web o se realiza una visita dentro de la misma escuela a la área de biblioteca o edificio de servicios escolares. Al tener dentro de esta institución mi cliente tengo muchas oportunidades y un porcentaje bajo acerca de situaciones como conflictos en cuanto a desarrollo. Oportunidades Por parte del cliente se me ha ofrecido todo el apoyo necesario para desarrollar las actividades necesarias en cuanto al proyecto, como este surgió dentro de la escuela no es problema para asistir a ver los requerimientos o situaciones que se desencadenen en el lapso de desarrollo del software. Debilidades Creo que seria de alguna forma el tiempo ya que se llevaran cerca de 3 o más proyectos juntos, entonces cada uno necesita de tiempo para poder desarrollarse, claro siendo este el más ambicioso. 12 Amenazas Algunos obstáculos probables en el proyecto desde mi punto de vista están el tiempo, ya que particularmente yo inicie desde el principio del proyecto y no es solo implementación si no comenzar desde cero. 2.10 Análisis de factibilidad Operacional Gracias a las oportunidades que se prestaron al elaborar este proyecto el cliente ha tenido un buen trato y se me han facilitado todos los materiales que necesito en cuanto a datos para realizar el software como datos de la institución, por lo cual al momento no se han detectado problemas que sean de gran molestia en cuanto a el avance de este, se ha visitado de una a dos veces al cliente en una semana lo que favorece el buen desarrollo de este. Económico Traslados En el transcurso de los días hábiles de la escuela no hay problema para contactar al cliente, ya que yo como alumno y el como encargado de la biblioteca de esta institución no tendremos menor problema. Comidas La comida será normalmente a la hora de almuerzo entre clases por lo que no se contempla que no habrá gastos extras. Teléfono Si es muy urgente llamar y por cada vez serán 20 pesos a lo máximo. 13 Sin embargo gracias a la excelente comunicación que se tiene con el cliente y el fácil contacto se considera que no habrá gastos extras. Papelería, Engargolados, Copias. Alrededor de 200 ó 300 pesos. Se considera que se imprimirán manuales, formatos, borradores, acuerdos, minutas, se compraran discos, copias. Se contempla al igual que se imprimirá una carpeta final lo que involucra varias impresiones como la compra de la carpeta. Tiempo Intervenido Alrededor de 245 horas A la semana será trabajaran alrededor de 16 a 20 horas. Horas Intervenidas Por día se trabajaran alrededor de 4 horas. Salario Mínimo 47.50 Moneda Nacional Región Querétaro, Distrito Federal. Salario Mínimo Profesional 100.00 Moneda Nacional Región Querétaro, Distrito Federal. 14 Costo del software igual o parecido $2000.00 Moneda Nacional Cuanto gana actualmente un TSU en TIC 52.50 Moneda Nacional Pagina del gobierno Federal Técnico El cliente cuenta con una computadora de escritorio como equipo de trabajo, estas se encuentran en buen estado y contando con los requerimientos que dicho software exige como mínimo: 3 Gg Libres en disco duro 256 Mb mínimo en memoria RAM Sistema operativo xp vista o win7 Instalación El programa se instalara en una máquina ya que solo será una persona la encargada que dicho proceso que se realizará con el software Infraestructura El área de la institución cuenta con 1 computadora en la cual se contempla la instalación del software. Software En el aspecto de antivirus se tiene instalado el Kaspersky que es el que contemplan todas las maquinas de la institución por lo que no se contempla ninguna instalación de antivirus. 15 Se necesita otro software que las maquinas con s.o Windows xp traen por default pero si no lo llega a tener en automático de la instalación marcara que hace falta y se conectara a internet para descargarlo e instalarlo. Se le planteo al cliente las necesidades en cuanto a hardware que necesita el programa para correrlo al 100%, nos proporciono la ficha técnica de la maquina donde se va a instalar y correr y coincide en lo que se necesita, por lo cual ya no contemplo la compra de una nueva. 2.11 Presupuesto El cliente cuenta con una computadora con todos los requisitos para el software como memoria RAM memoria en disco, y procesador, se pensó en plantear la idea al cliente de comprar una nueva pero como esta que tenia funcionaba correctamente ya no se concreto nada. 2.12 Planeación o diagrama de Gantt 16 17 18 Capítulo III 19 3.1 Modelo de Proceso a Usar Se usara el modelo tradicional o de cascada, ya que como es el más utilizado de todos brinda cierta confianza para realizar el sistema, se pretende llegar al fondo y completar con todas las etapas que se requiere que se realicen, de otra manera el sistema quedara incompleto. 3.2 Tipo de Sistema a Realizar Primero en su tipo. Se realizara el sistema de primero en su tipo, este sistema empieza desde cero, no es como los demás ya que este comienza con ideas primarias o principales con la idea de ayudar a que el cliente tenga un proceso de información que es la que se va a manejar mas ameno y con menos problemas, en este sistema se tiene como objetivo sobresaliente el satisfacer las necesidades del cliente, los con este se obtendrá experiencia la cual nos va a llevar a tener errores que como creadores de software vamos a tomar como ventajas para poder mejorar este sistema. 3.3 Actividades de Proceso de Desarrollo de Software Análisis En el Análisis se recauda toda la información necesaria de la empresa, se busca el problema, se estudia y se llega a fondo, se plantean ideas o soluciones que le hagan un bien a esta empresa o institución, se analizan los pros y los contras que se puedan tener al crear el sistema, y se toman prevenciones. Diseño En el diseño del sistema se realiza lo que es nuestras pantallas del sistema, la presentación al cliente a ver como le parecen o bien realizar cambios, realizar lo menos posible en cuanto a espacio dentro de las pantallas es decir la organización con los campos, botones, etc. 20 Codificación En la parte de la codificación se integra lo que es el código del sistema en que lenguaje de programación fue hecho, para que sirve cada parte de de este y como funciona dentro del sistema. Pruebas y puesta en marcha Esta es la ultima parte del sistema donde se pone a prueba con el cliente, a ver si funciona que posibles errores tiene para ser corregidos, que fue lo que no le pareció al cliente y se puede cambiar, y la puesta en marcha que consiste en que nuestro sistema esta listo para ser usado correctamente. 3.4 Moldeado orientado a objetos Modelo de requisitos Introducción El modelo de requisitos tiene como objetivo delimitar el sistema y capturar la funcionalidad que debe ofrecer desde la perspectiva del usuario. Descripción del Problema Encontramos que no se cuenta con ningún tipo de sistema solo con una hoja de Excel donde se capturan los datos necesarios para tener los registros, por lo cual están expuestos a alteraciones, y claro no es fácil la consulta de estos. Modelo de casos de uso Validación de Datos 21 Insertar Usuarios Modificar Registro Eliminar Registro Consulta de Registros 22 Actor Usuario Casos de Uso Registro de usuario, Alta de proyecto, modificación de proyectos, bajas de proyectos, y consultas de proyectos. Tipo Primario Descripción Cualquier persona que dese interactuar con el sistema. Actor Usuario Casos de Uso Registro de usuario, Alta de material de consulta, modificación de material de consulta, baja de material de consulta, y consulta de material de consulta. Tipo Primario Descripción Cualquier persona que dese interactuar con el sistema. Actor Base de datos del sistema Casos de Uso Validar registro del usuario y registrar usuario. Tipo Secundario Descripción Un actor secundario es aquella base de datos donde se guarda toda la información necesaria para el funcionamiento del sistema 23 Actor Base de datos del sistema Casos de Uso Validar registro del usuario y registrar usuario. Tipo Secundario Descripción Un actor secundario es aquella base de datos donde se guarda toda la información necesaria para el funcionamiento del sistema Diagrama de clases Clases Atributos Registro Folio, nombre, carrera, proyecto. Carrera Nombre de la carrera. Folio Clave de registros. Palabra Teclear cualquier palabra para consultar registros. Diccionario de clases Registro: El registro de material hemerografico y de proyectos de estadía implica información acerca de de este como folio, nombre, carrera, o del material como autor, tipo de material, edición, etc. Carrera: Todo alumno que presente proyecto de estadía tiene una carrera que se utiliza como búsqueda de dicho material. Folio: El folio es otra forma de búsqueda de material el cual siendo tecleado muestra los registros dentro de la base de datos. 24 Palabra: Forma de búsqueda de registros donde se teclea cualquier palabra y muestra los registros que la contengan. Módulos Registro de Registro de proyectos de material estadía hemerografico Folio 1 No_cd 1 Nombre Tema Carrera Titulo Proyecto Autor Edición Observaciones Modelo de Análisis Introducción Es una representación conceptual correspondiente al problema y modelo de requisitos, en término de clase de objetos, cada una de estas clases contribuye de manera especial a lograr la arquitectura deseada. Clases según casos de uso Interface Usuario Interface BD Registro BD Validacion de Registro (from Use Case Vi ew) Usuario (from Use Case Vi ew) 25 Casos de uso Actores Clases borde Validar Usuario Usuario, Base de Datos Interface Usuario, Pantalla Principal, Registros Interface BD Registro. Interface Usuario Pantalla Alta de Registro Usuario Casos de uso Actores Clases borde Registrar Usuario, Base de Datos Interface Usuario, Pantalla Crear Registro, Pantalla Obtener Registro, Interface BD Registro. Registros Interface Usuario Pantalla Modificar Registro Usuario Casos de uso Actores Clases borde Modificar Usuario, Base de Datos Interface Usuario, Pantalla Modificar Modificar Registro, Pantalla Obtener Modificación, Interface BD Registro. Registros 26 Interface Usuario Pantalla Eliminar Registro Usuario Casos de uso Actores Clases borde Eliminar Usuario, Base de Datos Interface Usuario, Pantalla eliminar, Eliminar Registro, Pantalla Obtener Eliminación, Interface BD Registro. Registros Interface Usuario Pantalla Consultar Registros Usuario Casos de uso Actores Clases borde Consultar Usuario, Base de Datos Interface Usuario, Pantalla consultar, Consultar Registros, Pantalla Obtener Consulta, Interface BD Registro. Registros Modelo de Diseño Introducción Es un refinamiento y formalización adicional del modelo de análisis. Se necesita un modelo de diseño, ya que el modelo de análisis no es lo suficientemente formal para alcanzar el código fuente. 27 Tarjetas de clases Tabla 1. Tarjeta para la clase Interface Usuario con responsabilidades y colaboración, es identificada a partir de los casos de uso Validar Usuario, Registrar, Modificar, Eliminar, y Consultar. Clase: Interface Usuario. Descripción: Toda la interacción con el usuario se hace por medio de la interface de usuario. Módulo: Interface Usuario. Estereotipo: Borde. Atributos: Despliega Pantalla Principal Envía el evento “Menú principal” Manejador Principal Envía el evento “Ejemplares de titulación” Manejador Principal Despliega Pantalla Registro de ejemplar Envía el evento “Guardar Registro” Alta de registro Despliega el evento “Salir” Alta de registro Envía el evento “Ejemplares de titulación” Manejador Principal Despliega Pantalla Modificar ejemplar Envía el evento “Guardar Modificación” Modificar registro Despliega el evento “Salir” Modificar registro Envía el evento “Ejemplares de titulación” Manejador Principal Despliega Pantalla Eliminar ejemplar Envía el evento “Eliminar registro” Eliminar registro Despliega el evento “Salir” Eliminar registro Envía el evento “Ejemplares de titulación” Manejador Principal Tabla 2. Tarjeta para la clase Interface Usuario con responsabilidades y colaboración, es identificada a partir de los casos de uso Validar Usuario, Registrar, Modificar, Eliminar, y Consultar. Clase: Manejador Principal Descripción: el Manejador Principales es el encargado de desplegar la pantalla principal de interacción con el usuario, y después delegar las diferentes funciones a los manejadores especializados apropiados. Módulo: Principal Estereotipo: Control 28 Atributos: Solicita desplegar Pantalla Principal (Interface Usuario) Maneja el evento “Registrar” Solicita Crear Registro “Alta de registro” Maneja el evento “Guardar registro” Maneja el evento “Salir” Sale del sistema Implementación Registrar ejemplar Imports System.Data Imports System.Data.OleDb Public Class Form3 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conexion As OleDbConnection Dim orden As OleDbCommand 29 Dim q As String If TextBox1.Text = "" Then MsgBox("Introduce el Folio del Alumno", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox1.Focus() ElseIf TextBox2.Text = "" Then MsgBox("Introduce el Nombre del Alumno", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox2.Focus() ElseIf ComboBox1.Text = "" Then MsgBox("Introduce la Carrera", MsgBoxStyle.OkOnly, "ATENCIÓN") ComboBox1.Focus() ElseIf TextBox4.Text = "" Then MsgBox("Introduce el Nombre del Proyecto", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox4.Focus() conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\\Proyecto.mdb") ElseIf TextBox1.Text = "Folio" Then MsgBox("El ejemplar ya existe", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox1.Focus() Else conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\\Proyectos.mdb") q = "insert into Titulacion(Folio,Nombre,Carrera,Nombre_del_proyecto) values(@FOLIO, @NOMBRE, @CARRERA, @NOMBRE_DEL_PROYECTO)" orden = New OleDbCommand(q, conexion) orden.Parameters.Add(New OleDbParameter("@FOLIO", OleDbType.VarWChar, 100)) orden.Parameters("@FOLIO").Value = TextBox1.Text orden.Parameters.Add(New OleDbParameter("@NOMBRE", OleDbType.VarWChar, 100)) orden.Parameters("@NOMBRE").Value = TextBox2.Text orden.Parameters.Add(New OleDbParameter("@CARRERA", OleDbType.VarWChar, 255)) orden.Parameters("@CARRERA").Value = ComboBox1.Text orden.Parameters.Add(New OleDbParameter("@NOMBRE_DEL_PROYECTO", OleDbType.VarWChar, 255)) orden.Parameters("@NOMBRE_DEL_PROYECTO").Value = TextBox4.Text orden.Connection.Open() orden.ExecuteNonQuery() orden.Connection.Close() MsgBox("= REGISTRO INSERTADO CORRECTAMENTE =") TextBox1.Text = "" TextBox2.Text = "" 30 TextBox4.Text = "" ComboBox1.Text = "" TextBox1.Focus() End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True End If End Sub End Class 31 Modificar ejemplar Imports System.Data Imports System.Data.OleDb Public Class Form4 Dim fila As Integer Dim conexion As OleDbConnection Dim orden As OleDbDataAdapter Dim tabla As DataTable Dim cb As OleDbCommandBuilder Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Then MsgBox("Introduce el Folio del Alumno", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox1.Focus() ElseIf TextBox2.Text = "" Then MsgBox("Introduce el Nombre del Alumno", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox2.Focus() ElseIf TextBox4.Text = "" Then MsgBox("Introduce el Nombre del Proyecto", MsgBoxStyle.OkOnly, "ATENCIÓN") 32 TextBox4.Focus() ElseIf ComboBox1.Text = "" Then MsgBox("Introduce la Carrera", MsgBoxStyle.OkOnly, "ATENCIÓN") ComboBox1.Focus() Else If (fila < 0 Or fila > tabla.Rows.Count - 1) Then Return End If Dim dr As DataRow dr = tabla.Rows(fila) asignarDatos(dr) orden.Update(tabla) tabla.AcceptChanges() MsgBox("= REGISTRO MODIFICADO =") End If End Sub Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\\Proyectos.mdb") orden = New OleDbDataAdapter("select * from Titulacion", conexion) cb = New OleDbCommandBuilder(orden) orden.UpdateCommand = cb.GetUpdateCommand() tabla = New DataTable() orden.Fill(tabla) If (tabla.Rows.Count > 0) Then Button3_Click(Nothing, Nothing) Else fila = -1 Button1.Enabled = False End If End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click fila = 0 mostrarDatos(fila) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click fila = fila - 1 If (fila < 0) Then fila = 0 End If mostrarDatos(fila) 33 End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim uf As Integer uf = tabla.Rows.Count - 1 fila = fila + 1 If (fila > uf) Then fila = uf End If mostrarDatos(fila) End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click fila = tabla.Rows.Count - 1 mostrarDatos(fila) End Sub Private Sub mostrarDatos(ByVal f As Integer) Dim uf As Integer uf = tabla.Rows.Count - 1 If (f < 0 Or uf < 0) Then Return End If Dim dr As DataRow dr = tabla.Rows(f) TextBox1.Text = dr("FOLIO").ToString() TextBox2.Text = dr("NOMBRE").ToString() ComboBox1.Text = dr("CARRERA").ToString() TextBox4.Text = dr("NOMBRE_DEL_PROYECTO").ToString() Button1.Enabled = True End Sub Private Sub asignarDatos(ByVal dr As DataRow) dr("FOLIO") = TextBox1.Text dr("NOMBRE") = TextBox2.Text dr("CARRERA") = ComboBox1.Text dr("NOMBRE_DEL_PROYECTO") = TextBox4.Text End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) 34 If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True End If End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub End Class 35 Eliminar ejemplar Imports System.Data Imports System.Data.OleDb Public Class Form5 Dim fila As Integer Dim conexion As OleDbConnection Dim orden As OleDbDataAdapter Dim tabla As DataTable Dim cb As OleDbCommandBuilder Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Then MsgBox("Introduce el Folio del Alumno", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox1.Focus() ElseIf TextBox2.Text = "" Then MsgBox("Introduce el Nombre del Alumno", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox2.Focus() ElseIf TextBox4.Text = "" Then 36 MsgBox("Introduce el Nombre del Proyecto", MsgBoxStyle.OkOnly, "ATENCIÓN") TextBox4.Focus() ElseIf ComboBox1.Text = "" Then MsgBox("Introduce la Carrera", MsgBoxStyle.OkOnly, "ATENCIÓN") ComboBox1.Focus() Else Dim orden2 As OleDbCommand Dim q As String q = "delete from Titulacion where FOLIO=@Folio" orden2 = New OleDbCommand(q, conexion) orden2.Parameters.Add(New OleDbParameter("@Folio", OleDbType.VarChar)) orden2.Parameters("@Folio").Value = TextBox1.Text orden2.Connection.Open() orden2.ExecuteNonQuery() orden2.Connection.Close() tabla.Rows.Clear() orden.Fill(tabla) MsgBox("= REGISTRO ELIMINADO =") If (tabla.Rows.Count > 0) Then Button4_Click(Nothing, Nothing) Else fila = -1 Button1.Enabled = False End If End If End Sub Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\\Proyectos.mdb") orden = New OleDbDataAdapter("select * from Titulacion", conexion) cb = New OleDbCommandBuilder(orden) orden.UpdateCommand = cb.GetUpdateCommand() tabla = New DataTable() orden.Fill(tabla) If (tabla.Rows.Count > 0) Then Button4_Click(Nothing, Nothing) Else fila = -1 Button1.Enabled = False End If End Sub 37 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click fila = 0 mostrarDatos(fila) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click fila = fila - 1 If (fila < 0) Then fila = 0 End If mostrarDatos(fila) End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim uf As Integer uf = tabla.Rows.Count - 1 fila = fila + 1 If (fila > uf) Then fila = uf End If mostrarDatos(fila) End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click fila = tabla.Rows.Count - 1 mostrarDatos(fila) End Sub Private Sub mostrarDatos(ByVal f As Integer) Dim uf As Integer uf = tabla.Rows.Count - 1 If (f < 0 Or uf < 0) Then Return End If Dim dr As DataRow dr = tabla.Rows(f) TextBox1.Text = dr("FOLIO").ToString() TextBox2.Text = dr("NOMBRE").ToString() ComboBox1.Text = dr("CARRERA").ToString() TextBox4.Text = dr("NOMBRE_DEL_PROYECTO").ToString() Button1.Enabled = True End Sub Private Sub asignarDatos(ByVal dr As DataRow) dr("FOLIO") = TextBox1.Text 38 dr("NOMBRE") = TextBox2.Text dr("CARRERA") = ComboBox1.Text dr("NOMBRE_DEL_PROYECTO") = ComboBox1.Text End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True End If End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress Dim KeyAscii As Short = CShort(Asc(e.KeyChar)) If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0010 0000", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then e.Handled = True 39 End If End Sub End Class Consultar registros Imports System.Data Imports System.Data.OleDb Public Class Form6 Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 40 Dim conexion As OleDbConnection Dim canal As OleDbDataAdapter Dim tabla As DataSet Dim CARRERA As String CARRERA = ComboBox1.Text If ComboBox1.Text = "" Then MsgBox("Introduce la Carrera", MsgBoxStyle.OkOnly, "ATENCIÓN") ComboBox1.Focus() Else conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=J:\Proyectos.mdb") canal = New OleDbDataAdapter("select * from Titulacion where CARRERA='" & CARRERA & "'", conexion) tabla = New DataSet() canal.Fill(tabla, "Titulacion") DataGridView1.DataSource = tabla DataGridView1.DataMember = "Titulacion" End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim conexion As OleDbConnection Dim canal As OleDbDataAdapter Dim tabla As DataSet Dim proy As String proy = TextBox1.Text conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=J:\Proyectos.mdb") canal = New OleDbDataAdapter("select Folio, Nombre, Carrera, Nombre_del_proyecto from Titulacion where Folio & Nombre & Carrera & Nombre_del_proyecto Like '%" + TextBox1.Text + "%' ", conexion) tabla = New DataSet() canal.Fill(tabla, "Proyecto") DataGridView1.DataSource = tabla DataGridView1.DataMember = "Proyecto" End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conexion As OleDbConnection Dim canal As OleDbDataAdapter Dim tabla As DataSet conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=J:\Proyectos.mdb") canal = New OleDbDataAdapter("select * from Titulacion", conexion) tabla = New DataSet() 41 canal.Fill(tabla, "Titulacion") DataGridView1.DataSource = tabla DataGridView1.DataMember = "Titulacion" End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click TextBox1.Text = "" ComboBox1.Text = "" End Sub End Class 42 Modelo de pruebas Se realizaron las pruebas necesarias para poder realizar cambios en el sistema para que este pudiese llegar a quedar conforme se quería ya que sin el consentimiento del cliente no se podía realizar ningún cambio. Se realizaron cambios desde el diseño de las pantallas tanto en la codificación. Inicio Fig. 3 Se muestra la pantalla de inicio que se tuvo desde un principio, posteriormente fue cambiada tanto en el diseño como en la codificación. Menú de opciones Fig. 4 Encontramos el menú de opciones que fue remplazado en el diseño a otro menú con más opciones. 43 Registro de Proyecto Fig. 5 Registro del proyecto donde se quitaron opciones y se modificó el diseño. Modificación de Registros Fig. 5 Modificación de registros donde al igual se quitaron opciones y se modificó el diseño. 44 Bajas de Registros Fig. 5 Eliminación de registros donde al igual se quitaron opciones y se modificó el diseño. Consultas de Proyectos Fig. 5 En las consultas se agregaron más opciones y más características en los casos del diseño y del código. 45 Si se puede observar y comparar las pantallas, que se muestran anteriormente y si se observan las actuales hay una gran diferencia ya que las que se plasmaron en un principio eran del software sin correcciones, y en el de ahora encontramos el resultado de un software con las modificaciones requeridas por el cliente. 46 Capítulo IV IMPLEMENTACIÓN Y PUESTA EN MARCHA DEL SISTEMA 47 4.1 Reportes de minutas con firmas de cada reunión que se tuvo Minuta 1. Se comento acerca de lo que se iba a realizar y se mostraron los datos de la base de datos 48 Minuta 2. Se entrego parte de los datos de la base de datos para comenzar con el desarrollo del sistema. 49 Minuta 3. Se entregaron completos los datos para el sistema. 50 Minuta 4. Se llevo a cabo la revisión del sistema. 51 4.2 Reportes de cómo funciona el sistema en la vida real. REPORTE DE FUNCIONAMIENTO DEL SISTEMA REALIZADA A LAS 14:00 HORAS EL DÍA 31 DE MARZO DE 2010, EN LA BIBLIOTECA DE LA UTSJR, ÁREA SERVICIOS BIBLIOTECARIOS, SAN JUAN DEL RÍO QUERÉTARO. Asistiendo a la reunión el equipo de trabajo integrado por Mauro Pérez García, y el encargado de manejar el software (cliente) Eudaldo Lara García. FUNCIONAMIENTO El presente software se utiliza para realizar las especificaciones ya mencionadas (altas, modificaciones, bajas y consultas), de dicho material, como para consultas específicamente de alumnos, y profesores, ya que se tendrá instalado en diferentes maquinas y con distintas especificaciones. 1. En una máquina solo para personal autorizado donde se podrán realizar todas las características que este el programa contenga. 2. En otra máquina se instalaran solo las consultas para que el alumno pueda utilizar el material disponible. 52 4.3 Conclusiones con el usuario final. El usuario final quedo conforme con el software ya que cuando según al parecer el desarrollador (en este caso yo) creía que estaba listo en ciertas cuestiones, claro aclarando que se revisaba lo que anteriormente se había pactado este me indicaba que no le parecía, lo que quería que se le fuera implementado o simplemente lo que se quería quitar. El resultado fue satisfactorio ya que es menor el trabajo que se tiene al realizar estas actividades, a nivel de seguridad es más confiable y al consultar el material es de muy fácil acceso. 53 4.4 Conclusiones personales Como alumno realizando este software creo que se ha presentado una gran oportunidad para poner en práctica todos los conocimientos adquiridos en todo el rango de estudios que se tiene en cuanto a la materia además es un proyecto de gran ventaja ya que nos acerca a lo que va a ser nuestro campo laboral y a lo que nos vamos a dedicar en cuanto terminemos los estudios. Así mismo aprovecho al dar las gracias a los profesores que tuvieron el tiempo necesario para resolver las dudas que surgían en el transcurso del desarrollo de este proyecto. 54 Glosario Antivirus: Un antivirus es un programa de computadora cuyo propósito es combatir y erradicar los virus informáticos. Base de Datos: Conjunto exhaustivo no redundante de datos estructurados organizados independientemente de su utilización y su implementación en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable en tiempo. CD: El disco compacto (conocido popularmente como CD por las siglas en inglés de Compact Disc) es un soporte digital óptico utilizado para almacenar cualquier tipo de información (audio, imágenes, vídeo, documentos y otros datos). Computadora: Una computadora (del inglés computer, y éste del latín computare calcular-), también denominada ordenador o computador, es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Disco duro: Un disco duro o disco rígido (en inglés hard disk drive) es un dispositivo no volátil, que conserva la información aun con la pérdida de energía, que emplea un sistema de grabación magnética digital. DVD: El DVD, cuyas siglas corresponden a digital versátil disc o disco versátil digital, es un dispositivo de almacenamiento óptico. Hardware: Corresponde a todas las partes físicas y tangibles de una computadora: sus componentes eléctricos, electrónicos, electromecánicos y mecánicos; y sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente al soporte lógico e intangible que es llamado software. 55 Kaspersky: Es una empresa especializada en productos para la seguridad informática, que ofrece firewall, anti-spam y en particular antivirus. Lenguaje de programación: Un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Memoria RAM: La memoria de acceso aleatorio (en inglés: random-access memory cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados. Es el área de trabajo para la mayor parte del software de un computador. Software: Se refiere al equipamiento lógico o soporte lógico de una computadora digital, y comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de tareas específicas; en contraposición a los componentes físicos del sistema, llamados hardware. 56 Bibliografía Biblioteca de Consulta Microsoft Encarta 2004 http://www.monografias.com/trabajos5/virusinf/virusinf2.shtml http://www.lafacu.com/apuntes/informatica/base_datos/default.htm#Introducción Stallings, William SISTEMAS OPERATIVOS. Prentice Hall, 2da edición. Piattini Mario, Adoración de Miguel, Marcos Esperanza. DISEÑO DE BASES DE DATOS RELACIONALES. Ed. Alfa omega Real Academia Española Etimología de la palabra ordenador (en francés) Ben-Amram, Amir M. (2005) «The Church-Turing thesis and its look-alikes» SIGACT News. Vol. 36. n. º 3. pp. 113-114. Toshiba America Electronic Components, Inc. «Solid State Drives Memory Products http:http://wiki.answers.com/Q/Who_was_the_inventor_of_the_DVD Hennessy, John L.; Patterson, David A. (1995). Organización y diseño de computadores: la interfaz hardware/software, traducción al español por Juan Manuel Sánchez, revisión técnica Antonio Vaquero., 2a. ed. edición, Madrid - Buenos Aires: McGraw-Hill, pp. 756 http://www.kaspersky.com/sp/avupdates Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition. Addison-Wesley, pp. 75. http://download.micron.com/pdf/datasheets/modules/ddr2/HTJ_S36C512_1Gx72.pdf JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James (2000). El Proceso Unificado de Desarrollo de Software (en Español). Pearson Addisson-Wesley. Pressman, Roger S. (2003). Ingeniería del Software, un enfoque Práctico, Quinta edición (en Español), Mc Graw Hill. 57